Added tweaks to GH actions workflow, refactored strings

This commit is contained in:
Arty Bishop committed 2026-01-11 17:33:16 +00:00
1 parent 1a69822d3f
commit 7add81e8b6
22 files changed
+728 -857

No files matched your search

@@ -1,26 +1,34 @@
name: Look4Sat CI name: release
on: on:
push: push:
tags: tags:
- v** - v**
jobs: env:
deploy: TAG_NAME: ${{ github.ref_name }}
runs-on: ubuntu-latest GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
steps:
- name: Checkout Latest Commit
uses: actions/checkout@v4
- name: Setup java environment jobs:
uses: actions/setup-java@v4 release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Setup Java
uses: actions/setup-java@v5
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: '17' java-version: '21'
- name: Assemble APK and Bundle - name: Setup Gradle
uses: gradle/actions/setup-gradle@v5
- name: Assemble Artifacts
run: | run: |
chmod +x ./gradlew
./gradlew assembleRelease ./gradlew assembleRelease
./gradlew bundleRelease ./gradlew bundleRelease
@@ -34,7 +42,7 @@ jobs:
alias: ${{ secrets.KEY_ALIAS }} alias: ${{ secrets.KEY_ALIAS }}
keyPassword: ${{ secrets.KEY_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }}
env: env:
BUILD_TOOLS_VERSION: "35.0.1" BUILD_TOOLS_VERSION: "36.0.0"
- name: Sign Bundle - name: Sign Bundle
uses: r0adkll/sign-android-release@v1 uses: r0adkll/sign-android-release@v1
@@ -46,14 +54,14 @@ jobs:
alias: ${{ secrets.KEY_ALIAS }} alias: ${{ secrets.KEY_ALIAS }}
keyPassword: ${{ secrets.KEY_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }}
env: env:
BUILD_TOOLS_VERSION: "35.0.1" BUILD_TOOLS_VERSION: "36.0.0"
- name: Rename APK and Bundle - name: Rename Artifacts
run: | run: |
mv ${{steps.sign_apk.outputs.signedReleaseFile}} app/build/outputs/apk/release/look4sat.apk mv ${{steps.sign_apk.outputs.signedReleaseFile}} app/build/outputs/apk/release/look4sat.apk
mv ${{steps.sign_bundle.outputs.signedReleaseFile}} app/build/outputs/apk/release/look4sat.aab mv ${{steps.sign_bundle.outputs.signedReleaseFile}} app/build/outputs/apk/release/look4sat.aab
- name: Deploy Bundle to Play Store - name: Deploy Bundle
uses: r0adkll/upload-google-play@v1 uses: r0adkll/upload-google-play@v1
with: with:
serviceAccountJsonPlainText: ${{secrets.SERVICE_ACCOUNT_JSON}} serviceAccountJsonPlainText: ${{secrets.SERVICE_ACCOUNT_JSON}}
@@ -62,9 +70,7 @@ jobs:
track: beta track: beta
whatsNewDirectory: fastlane/metadata/android/en-US/whatsnew whatsNewDirectory: fastlane/metadata/android/en-US/whatsnew
- name: Create release - name: Create Release
uses: ncipollo/release-action@v1 run: |
with: gh release create $TAG_NAME --title=$TAG_NAME --generate-notes
artifacts: "app/build/outputs/apk/release/look4sat.apk,app/build/outputs/apk/release/look4sat.aab" gh release upload $TAG_NAME app/build/outputs/apk/release/look4sat.apk
bodyFile: fastlane/metadata/android/en-US/whatsnew/whatsnew-en-US
token: ${{ secrets.RELEASE_TOKEN }}
+1 -1
View File
@@ -1,6 +1,6 @@
# Look4Sat: Satellite tracker # Look4Sat: Satellite tracker
[![Look4Sat CI](https://github.com/rt-bishop/Look4Sat/actions/workflows/main.yml/badge.svg)](https://github.com/rt-bishop/Look4Sat/actions/workflows/main.yml) [![Look4Sat CI](https://github.com/rt-bishop/Look4Sat/actions/workflows/release.yml/badge.svg)](https://github.com/rt-bishop/Look4Sat/actions/workflows/release.yml)
[<img src="https://play.google.com/intl/en_gb/badges/static/images/badges/en_badge_web_generic.png" alt="Get it on Google Play" height="80">](https://play.google.com/store/apps/details?id=com.rtbishop.look4sat) [<img src="https://play.google.com/intl/en_gb/badges/static/images/badges/en_badge_web_generic.png" alt="Get it on Google Play" height="80">](https://play.google.com/store/apps/details?id=com.rtbishop.look4sat)
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">](https://f-droid.org/packages/com.rtbishop.look4sat/) [<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">](https://f-droid.org/packages/com.rtbishop.look4sat/)
@@ -83,7 +83,7 @@ class MainContainer(private val context: Context) {
} }
private fun provideLocalSource(): ILocalSource { private fun provideLocalSource(): ILocalSource {
val builder = Room.databaseBuilder(context, Look4SatDb::class.java, "Look4SatDBv313") val builder = Room.databaseBuilder(context, Look4SatDb::class.java, "Look4SatDBv400")
val database = builder.apply { fallbackToDestructiveMigration(false) }.build() val database = builder.apply { fallbackToDestructiveMigration(false) }.build()
return LocalSource(database.look4SatDao()) return LocalSource(database.look4SatDao())
} }
@@ -108,7 +108,7 @@ fun RowScope.NextPassRow(pass: OrbitalPass, modifier: Modifier = Modifier) {
// .background(color = MaterialTheme.colorScheme.background) // .background(color = MaterialTheme.colorScheme.background)
.padding(start = 6.dp, top = 1.dp, end = 6.dp, bottom = 0.dp) .padding(start = 6.dp, top = 1.dp, end = 6.dp, bottom = 0.dp)
) { ) {
val passSatId = stringResource(id = R.string.pass_satId, pass.catNum) val passSatId = stringResource(id = R.string.passes_satId, pass.catNum)
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
Text( Text(
text = "$passSatId - ", text = "$passSatId - ",
@@ -175,7 +175,7 @@ fun RowScope.NextPassRow(pass: OrbitalPass, modifier: Modifier = Modifier) {
) { ) {
Text( Text(
text = stringResource( text = stringResource(
id = R.string.pass_aosLos, id = R.string.passes_aosLos,
pass.aosAzimuth.toInt(), pass.aosAzimuth.toInt(),
pass.losAzimuth.toInt() pass.losAzimuth.toInt()
), ),
@@ -235,7 +235,7 @@ fun EmptyListCard(message: String) {
verticalArrangement = Arrangement.spacedBy(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp),
modifier = Modifier.padding(32.dp) modifier = Modifier.padding(32.dp)
) { ) {
Text(text = stringResource(R.string.empty_list_title), 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)
} }
} }
@@ -302,7 +302,7 @@ fun InfoDialog(title: String, text: String, onDismiss: () -> Unit) {
Spacer(modifier = Modifier.weight(1f)) Spacer(modifier = Modifier.weight(1f))
CardButton( CardButton(
onClick = onDismiss, onClick = onDismiss,
text = stringResource(id = R.string.btn_understand) text = stringResource(id = R.string.btn_accept)
) )
} }
} }
@@ -144,7 +144,7 @@ private fun MapDataCard(data: MapData) {
val textColor = MaterialTheme.colorScheme.primary val textColor = MaterialTheme.colorScheme.primary
val cardColors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surfaceContainerLowest) val cardColors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surfaceContainerLowest)
Column(horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.SpaceBetween) { Column(horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.SpaceBetween) {
Text(text = "© OpenStreetMap contributors", fontSize = 14.sp) Text(text = stringResource(R.string.map_copyright), fontSize = 14.sp)
Card(colors = cardColors) { Card(colors = cardColors) {
Column(modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp)) { Column(modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp)) {
Row(horizontalArrangement = Arrangement.SpaceBetween, modifier = Modifier.fillMaxWidth()) { Row(horizontalArrangement = Arrangement.SpaceBetween, modifier = Modifier.fillMaxWidth()) {
@@ -172,7 +172,7 @@ private fun MapDataCard(data: MapData) {
private fun MapDataCards(data: MapData) { private fun MapDataCards(data: MapData) {
val cardColors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surfaceContainerLowest) val cardColors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surfaceContainerLowest)
val paddingMod = Modifier.padding(horizontal = 8.dp, vertical = 4.dp).width(160.dp) val paddingMod = Modifier.padding(horizontal = 8.dp, vertical = 4.dp).width(160.dp)
val osmText = "© OpenStreetMap contributors" val osmText = stringResource(R.string.map_copyright)
val textColor = MaterialTheme.colorScheme.primary val textColor = MaterialTheme.colorScheme.primary
Box(modifier = Modifier.fillMaxSize()) { Box(modifier = Modifier.fillMaxSize()) {
Card(colors = cardColors, modifier = Modifier.align(Alignment.TopStart)) { Card(colors = cardColors, modifier = Modifier.align(Alignment.TopStart)) {
@@ -42,6 +42,7 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
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.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
@@ -73,16 +74,16 @@ fun PassesDialog(hours: Int, elevation: Double, cancel: () -> Unit, accept: (Int
val onAccept = { val onAccept = {
accept(hoursValue.intValue, elevationValueNew.doubleValue).also { cancel() } accept(hoursValue.intValue, elevationValueNew.doubleValue).also { cancel() }
} }
SharedDialog(title = "Passes", onCancel = cancel, onAccept = onAccept) { SharedDialog(title = stringResource(R.string.passes_filter_passes), onCancel = cancel, onAccept = onAccept) {
SliderRow( SliderRow(
title = "Show passes above", title = stringResource(R.string.passes_filter_above),
value = elevationValueNew.doubleValue, value = elevationValueNew.doubleValue,
valuePostfix = "°", valuePostfix = "°",
valueResId = R.drawable.ic_elevation, valueResId = R.drawable.ic_elevation,
valueRange = 0f..60f valueRange = 0f..60f
) { elevationValueNew.doubleValue = it.toDouble() } ) { elevationValueNew.doubleValue = it.toDouble() }
SliderRow( SliderRow(
title = "Show passes within", title = stringResource(R.string.passes_filter_within),
value = hoursValue.intValue.toDouble(), value = hoursValue.intValue.toDouble(),
valuePostfix = "h", valuePostfix = "h",
valueResId = R.drawable.ic_clock, valueResId = R.drawable.ic_clock,
@@ -145,7 +146,7 @@ fun RadiosDialog(modes: List<String>, cancel: () -> Unit, accept: (List<String>)
if (selected.contains(mode)) selected.remove(mode) else selected.add(mode) if (selected.contains(mode)) selected.remove(mode) else selected.add(mode)
} }
val onAccept = { accept(selected.toList()).also { cancel() } } val onAccept = { accept(selected.toList()).also { cancel() } }
SharedDialog(title = "Radios", onCancel = cancel, onAccept = onAccept) { SharedDialog(title = stringResource(R.string.passes_filter_modes), onCancel = cancel, onAccept = onAccept) {
LazyVerticalGrid( LazyVerticalGrid(
columns = GridCells.Adaptive(240.dp), columns = GridCells.Adaptive(240.dp),
modifier = Modifier modifier = Modifier
@@ -204,7 +204,7 @@ private fun NearEarthPass(
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
isVerticalLayout: Boolean = true isVerticalLayout: Boolean = true
) { ) {
val passSatId = stringResource(id = R.string.pass_satId, pass.catNum) val passSatId = stringResource(id = R.string.passes_satId, pass.catNum)
val horizontalPadding = if (isVerticalLayout) 6.dp else 10.dp val horizontalPadding = if (isVerticalLayout) 6.dp else 10.dp
Surface(color = MaterialTheme.colorScheme.background, modifier = modifier) { Surface(color = MaterialTheme.colorScheme.background, modifier = modifier) {
Surface(modifier = Modifier Surface(modifier = Modifier
@@ -254,7 +254,7 @@ private fun NearEarthPass(
verticalAlignment = Alignment.CenterVertically verticalAlignment = Alignment.CenterVertically
) { ) {
if (pass.isDeepSpace) { if (pass.isDeepSpace) {
Text(text = "DeepSpace", fontSize = 15.sp) Text(text = stringResource(R.string.passes_deep_space), fontSize = 15.sp)
} else { } else {
Text( Text(
text = sdfDate.format(Date(pass.aosTime)), text = sdfDate.format(Date(pass.aosTime)),
@@ -285,7 +285,7 @@ private fun NearEarthPass(
) { ) {
Text( Text(
text = stringResource( text = stringResource(
id = R.string.pass_aosLos, id = R.string.passes_aosLos,
pass.aosAzimuth.toInt(), pass.aosAzimuth.toInt(),
pass.losAzimuth.toInt() pass.losAzimuth.toInt()
), ),
@@ -32,6 +32,8 @@ import androidx.compose.ui.draw.alpha
import androidx.compose.ui.draw.rotate import androidx.compose.ui.draw.rotate
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.semantics.contentDescription
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
@@ -333,7 +335,7 @@ private fun EclipsedIndicator() {
contentAlignment = Alignment.Center contentAlignment = Alignment.Center
) { ) {
Text( Text(
text = "Eclipsed!", text = stringResource(R.string.radar_eclipsed),
fontSize = 18.sp, fontSize = 18.sp,
fontWeight = FontWeight.Medium, fontWeight = FontWeight.Medium,
color = MaterialTheme.colorScheme.background, color = MaterialTheme.colorScheme.background,
@@ -387,12 +389,13 @@ private fun FrequencyRow(radio: SatRadio, isDownlink: Boolean, modifier: Modifie
Row(verticalAlignment = Alignment.CenterVertically, modifier = modifier.fillMaxWidth()) { Row(verticalAlignment = Alignment.CenterVertically, modifier = modifier.fillMaxWidth()) {
val rotateMod = Modifier.rotate(if (isDownlink) 90f else -90f) val rotateMod = Modifier.rotate(if (isDownlink) 90f else -90f)
val weightMod = Modifier.weight(1f) val weightMod = Modifier.weight(1f)
val desc = if (isDownlink) stringResource(R.string.radar_downlink) else stringResource(R.string.radar_uplink)
Text( Text(
text = if (isDownlink) "D:" else "U:", text = if (isDownlink) "D:" else "U:",
textAlign = TextAlign.Center, textAlign = TextAlign.Center,
fontSize = 18.sp, fontSize = 18.sp,
color = MaterialTheme.colorScheme.onSurface, color = MaterialTheme.colorScheme.onSurface,
modifier = modifier.size(width = 24.dp, height = 24.dp) modifier = modifier.size(width = 24.dp, height = 24.dp).semantics { contentDescription = desc }
) )
FrequencyText(if (isDownlink) radio.downlinkLow else radio.uplinkLow, weightMod) FrequencyText(if (isDownlink) radio.downlinkLow else radio.uplinkLow, weightMod)
Text( Text(
@@ -407,7 +410,7 @@ private fun FrequencyRow(radio: SatRadio, isDownlink: Boolean, modifier: Modifie
Icon( Icon(
painter = painterResource(id = R.drawable.ic_arrow), painter = painterResource(id = R.drawable.ic_arrow),
tint = MaterialTheme.colorScheme.onSurface, tint = MaterialTheme.colorScheme.onSurface,
contentDescription = if (isDownlink) "Downlink" else "Uplink", contentDescription = null,
modifier = rotateMod.size(width = 24.dp, height = 24.dp) modifier = rotateMod.size(width = 24.dp, height = 24.dp)
) )
} }
@@ -415,10 +418,10 @@ private fun FrequencyRow(radio: SatRadio, isDownlink: Boolean, modifier: Modifie
@Composable @Composable
private fun FrequencyText(frequency: Long?, modifier: Modifier = Modifier) { private fun FrequencyText(frequency: Long?, modifier: Modifier = Modifier) {
val noLinkText = stringResource(R.string.radio_no_link) val noLinkText = stringResource(R.string.radar_no_link)
val freqValue = frequency?.let { it / 1000000f } val freqValue = frequency?.let { it / 1000000f }
Text( Text(
text = freqValue?.let { stringResource(id = R.string.radio_link_low, it) } ?: noLinkText, text = freqValue?.let { stringResource(id = R.string.radar_link_low, it) } ?: noLinkText,
textAlign = TextAlign.Center, textAlign = TextAlign.Center,
fontSize = 21.sp, fontSize = 21.sp,
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
@@ -17,10 +17,12 @@ import androidx.compose.runtime.mutableStateListOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
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.TextOverflow import androidx.compose.ui.text.style.TextOverflow
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 com.rtbishop.look4sat.R
import com.rtbishop.look4sat.presentation.MainTheme import com.rtbishop.look4sat.presentation.MainTheme
import com.rtbishop.look4sat.presentation.common.SharedDialog import com.rtbishop.look4sat.presentation.common.SharedDialog
@@ -40,7 +42,7 @@ fun MultiTypesDialog(
if (selected.contains(type)) selected.remove(type) else selected.add(type) if (selected.contains(type)) selected.remove(type) else selected.add(type)
} }
val onAccept = { accept(selected.toList()) } val onAccept = { accept(selected.toList()) }
SharedDialog(title = "Select category", onCancel = cancel, onAccept = onAccept) { SharedDialog(title = stringResource(R.string.satellites_select_type), onCancel = cancel, onAccept = onAccept) {
LazyVerticalGrid( LazyVerticalGrid(
columns = GridCells.Adaptive(240.dp), columns = GridCells.Adaptive(240.dp),
modifier = Modifier modifier = Modifier
@@ -143,7 +143,7 @@ private fun SearchBar(setQuery: (String) -> Unit, modifier: Modifier = Modifier)
decorationBox = { innerTextField -> decorationBox = { innerTextField ->
if (currentQuery.value.isEmpty()) { if (currentQuery.value.isEmpty()) {
Text( Text(
text = stringResource(id = R.string.entries_search_hint), text = stringResource(id = R.string.satellites_search_hint),
fontSize = 16.sp, fontSize = 16.sp,
lineHeight = 20.sp, lineHeight = 20.sp,
fontWeight = FontWeight.Medium, fontWeight = FontWeight.Medium,
@@ -178,7 +178,7 @@ private fun TypeCard(types: List<String>, onClick: () -> Unit, modifier: Modifie
tint = MaterialTheme.colorScheme.primary tint = MaterialTheme.colorScheme.primary
) )
Text( Text(
text = "Tags: $typesText", text = stringResource(R.string.satellites_type, typesText),
fontSize = 16.sp, fontSize = 16.sp,
fontWeight = FontWeight.Medium, fontWeight = FontWeight.Medium,
modifier = Modifier modifier = Modifier
@@ -199,7 +199,7 @@ private fun SatellitePreview() {
@Composable @Composable
private fun Satellite(item: SatItem, onSelected: (Int, Boolean) -> Unit, modifier: Modifier) { private fun Satellite(item: SatItem, onSelected: (Int, Boolean) -> Unit, modifier: Modifier) {
val passSatId = stringResource(id = R.string.pass_satId, item.catnum) val passSatId = stringResource(id = R.string.passes_satId, item.catnum)
Surface( Surface(
color = MaterialTheme.colorScheme.background, color = MaterialTheme.colorScheme.background,
modifier = modifier.clickable { onSelected(item.catnum, item.isSelected) }) { modifier = modifier.clickable { onSelected(item.catnum, item.isSelected) }) {
@@ -21,12 +21,12 @@ private fun PositionDialogPreview() {
fun PositionDialog(lat: Double, lon: Double, dismiss: () -> Unit, save: (Double, Double) -> Unit) { fun PositionDialog(lat: Double, lon: Double, dismiss: () -> Unit, save: (Double, Double) -> Unit) {
val latValue = rememberSaveable { mutableStateOf(lat.toString()) } val latValue = rememberSaveable { mutableStateOf(lat.toString()) }
val lonValue = rememberSaveable { mutableStateOf(lon.toString()) } val lonValue = rememberSaveable { mutableStateOf(lon.toString()) }
val titleText = stringResource(id = R.string.position_title) val titleText = stringResource(id = R.string.settings_position_title)
val onAccept = { saveValues(latValue.value, lonValue.value, save).also { dismiss() } } val onAccept = { saveValues(latValue.value, lonValue.value, save).also { dismiss() } }
SharedDialog(title = titleText, onCancel = dismiss, onAccept = onAccept) { SharedDialog(title = titleText, onCancel = dismiss, onAccept = onAccept) {
Text(text = stringResource(id = R.string.position_lat_text)) Text(text = stringResource(id = R.string.settings_position_lat_text))
OutlinedTextField(value = latValue.value, onValueChange = { latValue.value = it }) OutlinedTextField(value = latValue.value, onValueChange = { latValue.value = it })
Text(text = stringResource(id = R.string.position_lon_text)) Text(text = stringResource(id = R.string.settings_position_lon_text))
OutlinedTextField(value = lonValue.value, onValueChange = { lonValue.value = it }) OutlinedTextField(value = lonValue.value, onValueChange = { lonValue.value = it })
} }
} }
@@ -49,8 +49,8 @@ private fun LocatorDialogPreview() {
fun LocatorDialog(qthLocator: String, dismiss: () -> Unit, save: (String) -> Unit) { fun LocatorDialog(qthLocator: String, dismiss: () -> Unit, save: (String) -> Unit) {
val locator = rememberSaveable { mutableStateOf(qthLocator) } val locator = rememberSaveable { mutableStateOf(qthLocator) }
val onAccept = { save(locator.value).also { dismiss() } } val onAccept = { save(locator.value).also { dismiss() } }
SharedDialog(title = "Radios", onCancel = dismiss, onAccept = onAccept) { SharedDialog(title = stringResource(R.string.settings_locator_title), onCancel = dismiss, onAccept = onAccept) {
Text(text = stringResource(id = R.string.locator_text)) Text(text = stringResource(id = R.string.settings_locator_text))
OutlinedTextField(value = locator.value, onValueChange = { locator.value = it }) OutlinedTextField(value = locator.value, onValueChange = { locator.value = it })
} }
} }
@@ -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.BTremote_perm_error) val bluetoothError = stringResource(R.string.settings_BTremote_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
@@ -84,7 +84,7 @@ private fun SettingsScreen(uiState: SettingsState) {
} }
} }
val locationContract = ActivityResultContracts.RequestMultiplePermissions() val locationContract = ActivityResultContracts.RequestMultiplePermissions()
val locationError = stringResource(R.string.location_gps_error) val locationError = stringResource(R.string.settings_location_gps_error)
val locationPermCoarse = Manifest.permission.ACCESS_COARSE_LOCATION val locationPermCoarse = Manifest.permission.ACCESS_COARSE_LOCATION
val locationPermFine = Manifest.permission.ACCESS_FINE_LOCATION val locationPermFine = Manifest.permission.ACCESS_FINE_LOCATION
val locationRequest = rememberLauncherForActivityResult(locationContract) { permissions -> val locationRequest = rememberLauncherForActivityResult(locationContract) { permissions ->
@@ -233,7 +233,7 @@ private fun LocationCard(
) { ) {
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
Text( Text(
text = stringResource(id = R.string.location_title), text = stringResource(id = R.string.settings_location_title),
color = MaterialTheme.colorScheme.primary color = MaterialTheme.colorScheme.primary
) )
UpdateIndicator(isUpdating = settings.isUpdating, Modifier.weight(1f)) UpdateIndicator(isUpdating = settings.isUpdating, Modifier.weight(1f))
@@ -262,19 +262,19 @@ private fun LocationCard(
Row(horizontalArrangement = Arrangement.SpaceEvenly) { Row(horizontalArrangement = Arrangement.SpaceEvenly) {
CardButton( CardButton(
onClick = setGpsPos, onClick = setGpsPos,
text = stringResource(id = R.string.btn_gps), text = stringResource(id = R.string.settings_station_gps),
modifier = Modifier.weight(1f) modifier = Modifier.weight(1f)
) )
Spacer(modifier = Modifier.width(6.dp)) Spacer(modifier = Modifier.width(6.dp))
CardButton( CardButton(
onClick = showPosDialog, onClick = showPosDialog,
text = stringResource(id = R.string.btn_manual), text = stringResource(id = R.string.settings_station_manual),
modifier = Modifier.weight(1f) modifier = Modifier.weight(1f)
) )
Spacer(modifier = Modifier.width(6.dp)) Spacer(modifier = Modifier.width(6.dp))
CardButton( CardButton(
onClick = showLocDialog, onClick = showLocDialog,
text = stringResource(id = R.string.btn_qth), text = stringResource(id = R.string.settings_station_qth),
modifier = Modifier.weight(1f) modifier = Modifier.weight(1f)
) )
} }
@@ -310,7 +310,7 @@ private fun DataCard(
) { ) {
Row(verticalAlignment = Alignment.CenterVertically) { Row(verticalAlignment = Alignment.CenterVertically) {
Text( Text(
text = stringResource(id = R.string.data_title), text = stringResource(id = R.string.settings_data_title),
color = MaterialTheme.colorScheme.primary color = MaterialTheme.colorScheme.primary
) )
UpdateIndicator(isUpdating = settings.isUpdating, Modifier.weight(1f)) UpdateIndicator(isUpdating = settings.isUpdating, Modifier.weight(1f))
@@ -327,19 +327,19 @@ private fun DataCard(
Row(horizontalArrangement = Arrangement.SpaceEvenly) { Row(horizontalArrangement = Arrangement.SpaceEvenly) {
CardButton( CardButton(
onClick = { updateFromWeb() }, onClick = { updateFromWeb() },
text = stringResource(id = R.string.btn_web), text = stringResource(id = R.string.settings_data_online),
modifier = Modifier.weight(1f) modifier = Modifier.weight(1f)
) )
Spacer(modifier = Modifier.width(6.dp)) Spacer(modifier = Modifier.width(6.dp))
CardButton( CardButton(
onClick = { updateFromFile() }, onClick = { updateFromFile() },
text = stringResource(id = R.string.btn_import), text = stringResource(id = R.string.settings_data_import),
modifier = Modifier.weight(1f) modifier = Modifier.weight(1f)
) )
Spacer(modifier = Modifier.width(6.dp)) Spacer(modifier = Modifier.width(6.dp))
CardButton( CardButton(
onClick = { clearAllData() }, onClick = { clearAllData() },
text = stringResource(id = R.string.btn_clear), text = stringResource(id = R.string.settings_data_clear),
modifier = Modifier.weight(1f) modifier = Modifier.weight(1f)
) )
} }
@@ -372,7 +372,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.remote_title), text = stringResource(id = R.string.settings_remote_title),
color = MaterialTheme.colorScheme.primary color = MaterialTheme.colorScheme.primary
) )
Row( Row(
@@ -380,7 +380,7 @@ private fun NetworkOutputCard(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth() modifier = Modifier.fillMaxWidth()
) { ) {
Text(text = stringResource(R.string.remote_switch)) Text(text = stringResource(R.string.settings_remote_switch))
Switch(checked = settings.rotatorState, onCheckedChange = { setRotatorState(it) }) Switch(checked = settings.rotatorState, onCheckedChange = { setRotatorState(it) })
} }
Row( Row(
@@ -391,7 +391,7 @@ private fun NetworkOutputCard(
OutlinedTextField( OutlinedTextField(
value = settings.rotatorAddress, value = settings.rotatorAddress,
singleLine = true, singleLine = true,
label = { Text(text = stringResource(R.string.remote_ip_hint)) }, label = { Text(text = stringResource(R.string.settings_remote_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 +399,7 @@ private fun NetworkOutputCard(
OutlinedTextField( OutlinedTextField(
value = settings.rotatorPort, value = settings.rotatorPort,
onValueChange = { setRotatorPort(it) }, onValueChange = { setRotatorPort(it) },
label = { Text(text = stringResource(R.string.remote_port_hint)) }, label = { Text(text = stringResource(R.string.settings_remote_port_hint)) },
singleLine = true, singleLine = true,
modifier = Modifier.weight(1f), modifier = Modifier.weight(1f),
enabled = settings.rotatorState enabled = settings.rotatorState
@@ -435,7 +435,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.BTremote_title), text = stringResource(id = R.string.settings_BTremote_title),
color = MaterialTheme.colorScheme.primary color = MaterialTheme.colorScheme.primary
) )
Row( Row(
@@ -443,7 +443,7 @@ private fun BluetoothOutputCard(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth() modifier = Modifier.fillMaxWidth()
) { ) {
Text(text = stringResource(R.string.BTremote_switch)) Text(text = stringResource(R.string.settings_BTremote_switch))
Switch(checked = settings.bluetoothState, onCheckedChange = { setBluetoothState(it) }) Switch(checked = settings.bluetoothState, onCheckedChange = { setBluetoothState(it) })
} }
Row( Row(
@@ -454,7 +454,7 @@ private fun BluetoothOutputCard(
OutlinedTextField( OutlinedTextField(
value = settings.bluetoothAddress, value = settings.bluetoothAddress,
singleLine = true, singleLine = true,
label = { Text(text = stringResource(R.string.BTremote_device_hint)) }, label = { Text(text = stringResource(R.string.settings_BTremote_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 +462,7 @@ private fun BluetoothOutputCard(
OutlinedTextField( OutlinedTextField(
value = settings.bluetoothFormat, value = settings.bluetoothFormat,
onValueChange = { setBluetoothFormat(it) }, onValueChange = { setBluetoothFormat(it) },
label = { Text(text = stringResource(R.string.BTremote_output_hint)) }, label = { Text(text = stringResource(R.string.settings_BTremote_output_hint)) },
singleLine = true, singleLine = true,
modifier = Modifier.weight(1f), modifier = Modifier.weight(1f),
enabled = settings.bluetoothState enabled = settings.bluetoothState
@@ -503,7 +503,7 @@ private fun OtherCard(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth() modifier = Modifier.fillMaxWidth()
) { ) {
Text(text = stringResource(id = R.string.other_switch_utc)) Text(text = stringResource(id = R.string.settings_other_switch_utc))
Switch(checked = settings.stateOfUtc, onCheckedChange = { toggleUtc(it) }) Switch(checked = settings.stateOfUtc, onCheckedChange = { toggleUtc(it) })
} }
Row( Row(
@@ -511,7 +511,7 @@ private fun OtherCard(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth() modifier = Modifier.fillMaxWidth()
) { ) {
Text(text = stringResource(id = R.string.other_switch_update)) Text(text = stringResource(id = R.string.settings_other_switch_update))
Switch(checked = settings.stateOfAutoUpdate, onCheckedChange = { toggleUpdate(it) }) Switch(checked = settings.stateOfAutoUpdate, onCheckedChange = { toggleUpdate(it) })
} }
Row( Row(
@@ -519,7 +519,7 @@ private fun OtherCard(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth() modifier = Modifier.fillMaxWidth()
) { ) {
Text(text = stringResource(id = R.string.other_switch_sweep)) Text(text = stringResource(id = R.string.settings_other_switch_sweep))
Switch(checked = settings.stateOfSweep, onCheckedChange = { toggleSweep(it) }) Switch(checked = settings.stateOfSweep, onCheckedChange = { toggleSweep(it) })
} }
Row( Row(
@@ -527,7 +527,7 @@ private fun OtherCard(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.fillMaxWidth() modifier = Modifier.fillMaxWidth()
) { ) {
Text(text = stringResource(id = R.string.other_switch_sensors)) Text(text = stringResource(id = R.string.settings_other_switch_sensors))
Switch(checked = settings.stateOfSensors, onCheckedChange = { toggleSensor(it) }) Switch(checked = settings.stateOfSensors, onCheckedChange = { toggleSensor(it) })
} }
} }
@@ -537,12 +537,12 @@ private fun OtherCard(
@Composable @Composable
private fun setUpdateTime(updateTime: Long): String { private fun setUpdateTime(updateTime: Long): String {
val updateDate = if (updateTime != 0L) { val updateDate = if (updateTime != 0L) {
val timePattern = stringResource(id = R.string.last_updated_pattern) val timePattern = stringResource(id = R.string.settings_last_updated_pattern)
SimpleDateFormat(timePattern, Locale.getDefault()).format(Date(updateTime)) SimpleDateFormat(timePattern, Locale.getDefault()).format(Date(updateTime))
} else { } else {
stringResource(id = R.string.pass_placeholder) stringResource(id = R.string.passes_placeholder)
} }
return stringResource(id = R.string.data_update, updateDate) return stringResource(id = R.string.settings_data_update, updateDate)
} }
@Composable @Composable
@@ -568,7 +568,7 @@ private fun CardCredits(modifier: Modifier = Modifier) {
modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp) modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp)
) { ) {
Text( Text(
text = stringResource(id = R.string.outro_title), text = stringResource(id = R.string.settings_outro_title),
fontSize = 18.sp, fontSize = 18.sp,
fontWeight = FontWeight.Medium, fontWeight = FontWeight.Medium,
color = MaterialTheme.colorScheme.primary, color = MaterialTheme.colorScheme.primary,
@@ -576,11 +576,11 @@ private fun CardCredits(modifier: Modifier = Modifier) {
) )
Text( Text(
text = stringResource( text = stringResource(
id = R.string.outro_thanks id = R.string.settings_outro_thanks
), fontSize = 16.sp, textAlign = TextAlign.Center ), fontSize = 16.sp, textAlign = TextAlign.Center
) )
Text( Text(
text = stringResource(id = R.string.outro_license), text = stringResource(id = R.string.settings_outro_license),
fontSize = 18.sp, fontSize = 18.sp,
fontWeight = FontWeight.Medium, fontWeight = FontWeight.Medium,
color = MaterialTheme.colorScheme.primary, color = MaterialTheme.colorScheme.primary,
@@ -152,13 +152,13 @@ class SettingsViewModel(
private fun setGpsPosition() { private fun setGpsPosition() {
if (settingsRepo.setStationPosition()) { if (settingsRepo.setStationPosition()) {
val messageResId = R.string.location_success val messageResId = R.string.settings_location_success
val newPosSettings = _uiState.value.positionSettings.copy( val newPosSettings = _uiState.value.positionSettings.copy(
isUpdating = true, messageResId = messageResId isUpdating = true, messageResId = messageResId
) )
_uiState.update { it.copy(positionSettings = newPosSettings) } _uiState.update { it.copy(positionSettings = newPosSettings) }
} else { } else {
val errorResId = R.string.location_gps_error val errorResId = R.string.settings_location_gps_error
val newPosSettings = _uiState.value.positionSettings.copy( val newPosSettings = _uiState.value.positionSettings.copy(
isUpdating = false, messageResId = errorResId isUpdating = false, messageResId = errorResId
) )
@@ -168,13 +168,13 @@ class SettingsViewModel(
private fun setGeoPosition(latitude: Double, longitude: Double) { private fun setGeoPosition(latitude: Double, longitude: Double) {
if (settingsRepo.setStationPosition(latitude, longitude, 0.0)) { if (settingsRepo.setStationPosition(latitude, longitude, 0.0)) {
val messageResId = R.string.location_success val messageResId = R.string.settings_location_success
val newPosSettings = _uiState.value.positionSettings.copy( val newPosSettings = _uiState.value.positionSettings.copy(
isUpdating = false, messageResId = messageResId isUpdating = false, messageResId = messageResId
) )
_uiState.update { it.copy(positionSettings = newPosSettings) } _uiState.update { it.copy(positionSettings = newPosSettings) }
} else { } else {
val errorResId = R.string.location_manual_error val errorResId = R.string.settings_location_manual_error
val newPosSettings = _uiState.value.positionSettings.copy( val newPosSettings = _uiState.value.positionSettings.copy(
isUpdating = false, messageResId = errorResId isUpdating = false, messageResId = errorResId
) )
@@ -184,13 +184,13 @@ class SettingsViewModel(
private fun setQthPosition(locator: String) { private fun setQthPosition(locator: String) {
if (settingsRepo.setStationPosition(locator)) { if (settingsRepo.setStationPosition(locator)) {
val messageResId = R.string.location_success val messageResId = R.string.settings_location_success
val newPosSettings = _uiState.value.positionSettings.copy( val newPosSettings = _uiState.value.positionSettings.copy(
isUpdating = false, messageResId = messageResId isUpdating = false, messageResId = messageResId
) )
_uiState.update { it.copy(positionSettings = newPosSettings) } _uiState.update { it.copy(positionSettings = newPosSettings) }
} else { } else {
val errorResId = R.string.location_qth_error val errorResId = R.string.settings_location_qth_error
val newPosSettings = _uiState.value.positionSettings.copy( val newPosSettings = _uiState.value.positionSettings.copy(
isUpdating = false, messageResId = errorResId isUpdating = false, messageResId = errorResId
) )
+107 -121
View File
@@ -1,107 +1,74 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Look4Sat</string> <!-- Commmon -->
<string name="app_timer">00:00:00</string>
<string name="app_version">Versión: %s</string>
<string name="app_subtitle">Rastreador y predictor de satélites</string>
<!--Buttons-->
<string name="btn_add">Añadir</string>
<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="btn_back">Atrás</string> <string name="empty_list_message">No items to display</string>
<string name="btn_modes">Modos</string>
<string name="btn_select">Seleccionar todo</string>
<string name="btn_done">OK</string>
<string name="btn_clear">Vaciar</string>
<string name="btn_clear_all">Vaciar todo</string>
<string name="btn_refresh">Recargar</string>
<string name="btn_map">Mapa</string>
<string name="btn_filter">Filtro</string>
<string name="btn_satellites">Satélites</string>
<string name="btn_settings">Ajustes</string>
<string name="btn_prev">Anterior</string>
<string name="btn_next">Siguiente</string>
<string name="btn_notify">Notificar</string>
<string name="btn_gps">GPS</string>
<string name="btn_manual">Manual</string>
<string name="btn_qth">QTH</string>
<string name="btn_web">Online</string>
<string name="btn_import">Importar</string>
<string name="btn_github">GitHub</string>
<string name="btn_support">Soporte</string>
<string name="btn_fdroid">F-Droid</string>
<!--Dialogs--> <!-- Navigation -->
<string name="nav_satellites">Satélites</string>
<string name="nav_passes">Passes</string>
<string name="nav_radar">Radar</string>
<string name="nav_map">Mapa</string>
<string name="nav_settings">Ajustes</string>
<string name="filter_title">Filtrar pases</string> <!-- Satellites screen -->
<string name="filter_hours_hint">Horas por delante</string> <string name="satellites_select_all">Seleccionar todo</string>
<string name="filter_hours_text">Mostrar pases que ocurrirán en X horas</string> <string name="satellites_clear_all">Vaciar todo</string>
<string name="filter_elev_hint">Elevación mínima</string> <string name="satellites_select_type">Seleccionar tipo de satélite</string>
<string name="filter_elev_text">Mostar primero pases con elevación máxima</string> <string name="satellites_type">Tipo: %s</string>
<string name="satellites_search_hint">Buscar por Nombre / Id</string>
<string name="locator_title">Ajustes ubicación QTH</string> <string name="satellites_empty_list_message">
<string name="locator_text">Ajustar posición de la estación con tu ubicación</string> Make sure your search query is correct and the DB is updated</string>
<string name="locator_hint">QTH</string> <string name="satellites_warning_title">Warning\!</string>
<string name="satellites_warning_message">
<string name="modes_title">Tipo de modulación</string> There are over 9000 satellites listed in this app.
It makes no sense to track them all at the same time.
<string name="position_title">Ajustar ubicaicón de la estación</string> \n\nAlways try to narrow down the list to only the ones
<string name="position_lat_text">Latitud de tu estación terrestre</string> you\'re interested in vía search and types selector.</string>
<string name="position_lat_hint">Latitud</string>
<string name="position_lon_text">Longitud de tu estación terrestre</string>
<string name="position_lon_hint">Longitud</string>
<string name="sources_title">Gestionar fuentes de datos</string>
<string name="sources_hint">Fuente HTTPS</string>
<string name="types_title">Seleccionar tipo de satélite</string>
<string name="types_message">Tipo: %s</string>
<!--Fragments-->
<string name="entries_search_hint">Buscar por Nombre / Id</string>
<!-- Passes screen -->
<string name="passes_error">No hay pases de satélite próximos para mostrar</string> <string name="passes_error">No hay pases de satélite próximos para mostrar</string>
<string name="passes_empty_db">No hay datos para mostrar. Por favor, actualiza la base de datos a través del menú Ajustes.</string> <string name="passes_empty_db">No hay datos para mostrar. Por favor, actualiza la base de datos a través del menú Ajustes.</string>
<string name="passes_deep_space">DeepSpace</string>
<string name="passes_filter_passes">Filtrar pases</string>
<string name="passes_filter_within">Horas por delante</string>
<string name="passes_filter_above">Elevación mínima</string>
<string name="passes_filter_modes">Tipo de modulación</string>
<string name="passes_elevation">ELEV: %.1f°</string>
<string name="passes_altitude">ALT: %.0f km</string>
<string name="passes_placeholder"> - - : - - </string>
<string name="passes_empty_list_message">
Make sure your filters are correct and you have selected satellites</string>
<string name="passes_welcome_title">Welcome to Look4Sat\!</string>
<string name="passes_welcome_message">
Make sure to set your position vía GPS, Lat/Lon or QTH in Settings.
\n\nPlease update the database at least weekly to get accurate predictions.</string>
<string name="pass_satName">%s</string> <!-- Radar screen -->
<string name="pass_satId">Id:%d</string>
<string name="pass_aosAz">AOS - %.1f°</string>
<string name="pass_elevation">ELEV: %.1f°</string>
<string name="pass_los">%.1f° - LOS</string>
<string name="pass_altitude">ALT: %.0f km</string>
<string name="pass_placeholder"> - - : - - </string>
<string name="pass_startTime">HH:mm:ss - MMM dd</string>
<string name="pass_endTime">dd MMM - HH:mm:ss</string>
<string name="radar_az_text">Ácimut</string> <string name="radar_az_text">Ácimut</string>
<string name="radar_az_value">%.1f°</string>
<string name="radar_el_text">Elevación</string> <string name="radar_el_text">Elevación</string>
<string name="radar_el_value">%.1f°</string>
<string name="radar_alt_text">Altitud</string> <string name="radar_alt_text">Altitud</string>
<string name="radar_alt_value">%.0f km</string>
<string name="radar_dist_text">Distancia</string> <string name="radar_dist_text">Distancia</string>
<string name="radar_dist_value">%.0f km</string>
<string name="radar_visible">Visible</string> <string name="radar_visible">Visible</string>
<string name="radar_eclipsed">Eclipsado</string> <string name="radar_eclipsed">Eclipsado</string>
<string name="radar_sat_name">%s</string> <string name="radar_mode">Modo: %s</string>
<string name="radar_sat_id">Id:%d</string> <string name="radar_inverted">Invertido: %s</string>
<string name="radar_info">%s</string>
<string name="radio_mode">Modo: %s</string> <string name="radar_no_link">- - . - -</string>
<string name="radio_inverted">Invertido: %s</string> <string name="radar_link_low">%.4f</string>
<string name="radio_info">%s</string> <string name="radar_link_lowHigh">%.4f - %.4f</string>
<string name="radio_no_link">- - . - -</string> <string name="radar_data">Transmisores satélite:</string>
<string name="radio_link_low">%.4f</string> <string name="radar_no_data">Este satélite no lleva transmisores</string>
<string name="radio_link_lowHigh">%.4f - %.4f</string> <string name="radar_string_yes">Si</string>
<string name="radio_data">Transmisores satélite:</string> <string name="radar_string_no">No</string>
<string name="radio_no_data">Este satélite no lleva transmisores</string> <string name="radar_downlink">Downlink</string>
<string name="radio_string_yes">Si</string> <string name="radar_uplink">Uplink</string>
<string name="radio_string_no">No</string> <string name="radar_add">Añadir</string>
<string name="radio_downlink">Downlink</string> <string name="radar_back">Atrás</string>
<string name="radio_uplink">Uplink</string> <string name="radar_notify">Notificar</string>
<!-- Map screen -->
<string name="map_title">Mapa mundo</string> <string name="map_title">Mapa mundo</string>
<string name="map_sat_name">%s</string> <string name="map_sat_name">%s</string>
<string name="map_sat_id">Id:%d</string> <string name="map_sat_id">Id:%d</string>
@@ -109,7 +76,6 @@
<string name="map_elevation">Elevación: %.1f°</string> <string name="map_elevation">Elevación: %.1f°</string>
<string name="map_latitude">Latitud: %.1f°</string> <string name="map_latitude">Latitud: %.1f°</string>
<string name="map_longitude">Longitud: %.1f°</string> <string name="map_longitude">Longitud: %.1f°</string>
<string name="map_qth">Ubicación QTH: %s</string>
<string name="map_visible">Visible</string> <string name="map_visible">Visible</string>
<string name="map_eclipsed">Eclipsado</string> <string name="map_eclipsed">Eclipsado</string>
<string name="map_visibility">Visibilidad: %s</string> <string name="map_visibility">Visibilidad: %s</string>
@@ -119,45 +85,64 @@
<string name="map_distance">Distancia: %.0f km</string> <string name="map_distance">Distancia: %.0f km</string>
<string name="map_velocity">Velocidad: %.2f km/s</string> <string name="map_velocity">Velocidad: %.2f km/s</string>
<string name="map_copyright">Wikimedia maps | Map data © OpenStreetMap contributors</string> <string name="map_copyright">Wikimedia maps | Map data © OpenStreetMap contributors</string>
<string name="map_prev">Anterior</string>
<string name="map_next">Siguiente</string>
<!--Cards--> <!-- Settings screen -->
<string name="settings_location_title">Ubicación estación</string>
<string name="settings_location_lat">Latitud: %.4f°</string>
<string name="settings_location_lon">Longitud: %.4f°</string>
<string name="settings_location_null">Sin datos de geolocalización</string>
<string name="settings_location_gps_error">Revisa los permisos de ubicación</string>
<string name="settings_location_manual_error">Ubicación no válida</string>
<string name="settings_location_qth_error">Ubicación QTH no válida</string>
<string name="settings_location_success">Ubicación actualizada con éxito</string>
<string name="location_title">Ubicación estación</string> <string name="settings_data_title">Actualizar datos de satélites</string>
<string name="location_lat">Latitud: %.4f°</string> <string name="settings_data_error">Actualización completada con errores</string>
<string name="location_lon">Longitud: %.4f°</string> <string name="settings_data_update">Última actualización: %s</string>
<string name="location_null">Sin datos de geolocalización</string> <string name="settings_data_entries">Satélites: %s</string>
<string name="location_gps_error">Revisa los permisos de ubicación</string> <string name="settings_data_radios">Transmisores: %s</string>
<string name="location_manual_error">Ubicación no válida</string> <string name="settings_data_success">Actualización completada con éxito</string>
<string name="location_qth_error">Ubicación QTH no válida</string> <string name="settings_data_clear_success">Datos eliminados con éxito</string>
<string name="location_success">Ubicación actualizada con éxito</string>
<string name="data_title">Actualizar datos de satélites</string> <string name="settings_remote_title">Preferencias Rotator</string>
<string name="data_error">Actualización completada con errores</string> <string name="settings_remote_switch">Habilitar control remoto</string>
<string name="data_update">Última actualización: %s</string> <string name="settings_remote_ip_hint">Dirección IP</string>
<string name="data_entries">Satélites: %s</string> <string name="settings_remote_port_hint">Puerto</string>
<string name="data_radios">Transmisores: %s</string>
<string name="data_success">Actualización completada con éxito</string>
<string name="data_clear_success">Datos eliminados con éxito</string>
<string name="remote_title">Preferencias Rotator</string> <string name="settings_BTremote_title">Salida por Bluetooth</string>
<string name="remote_switch">Habilitar control remoto</string> <string name="settings_BTremote_switch">Habilitar salida</string>
<string name="remote_ip_hint">Dirección IP</string> <string name="settings_BTremote_device_hint">Id dispositivo</string>
<string name="remote_port_hint">Puerto</string> <string name="settings_BTremote_output_hint">Formato de datos</string>
<string name="settings_BTremote_perm_error">Revisa los permisos de Bluetooth</string>
<string name="BTremote_title">Salida por Bluetooth</string> <string name="settings_other_switch_utc">Mostrar tiempos de pase en UTC</string>
<string name="BTremote_switch">Habilitar salida</string> <string name="settings_other_switch_update">Habilitar auto actualización de datos</string>
<string name="BTremote_device_hint">Id dispositivo</string> <string name="settings_other_switch_sweep">Habilitar animaciones radar</string>
<string name="BTremote_output_hint">Formato de datos</string> <string name="settings_other_switch_sensors">Usar sensores para rotar vista de radar</string>
<string name="BTremote_perm_error">Revisa los permisos de Bluetooth</string>
<string name="other_title">Otras preferencias</string> <string name="settings_station_gps">GPS</string>
<string name="other_switch_utc">Mostrar tiempos de pase en UTC</string> <string name="settings_station_manual">Manual</string>
<string name="other_switch_update">Habilitar auto actualización de datos</string> <string name="settings_station_qth">QTH</string>
<string name="other_switch_sweep">Habilitar animaciones radar</string> <string name="settings_data_online">Online</string>
<string name="other_switch_sensors">Usar sensores para rotar vista de radar</string> <string name="settings_data_import">Importar</string>
<string name="settings_github">GitHub</string>
<string name="settings_donate">Soporte</string>
<string name="settings_fdroid">F-Droid</string>
<string name="settings_license">GPLv3 Licence</string>
<string name="settings_privacy">Privacy Policy</string>
<string name="settings_locator_title">Ajustes ubicación QTH</string>
<string name="settings_locator_text">Ajustar posición de la estación con tu ubicación</string>
<string name="settings_data_clear">Vaciar</string>
<string name="settings_position_title">Ajustar ubicaicón de la estación</string>
<string name="settings_position_lat_text">Latitud de tu estación terrestre</string>
<string name="settings_position_lon_text">Longitud de tu estación terrestre</string>
<string name="outro_title">Me gustaría dar las gracias a:</string> <string name="settings_last_updated_pattern">d MMM yyyy - HH:mm:ss</string>
<string name="outro_thanks"> • tí por descargar y usar Look4Sat! \nQue tengas cielos despejados!
<string name="settings_outro_title">Me gustaría dar las gracias a:</string>
<string name="settings_outro_thanks"> • ti por descargar y usar Look4Sat! \nQue tengas cielos despejados!
\n • <a href="https://github.com/g4dpz">David A. B. Johnson</a> \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 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>. bajo <a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a>.
@@ -170,7 +155,8 @@
\n • <a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a> \n • <a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a>
por su interés en la app y la entrevista publicada. por su interés en la app y la entrevista publicada.
</string> </string>
<string name="outro_license"><a href="https://sites.google.com/view/look4sat-privacy-policy/home">Política de privacidad.</a> <string name="settings_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>. 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>
</resources> </resources>
+105 -125
View File
@@ -1,115 +1,74 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Look4Sat</string> <!-- Commmon -->
<string name="app_timer">00:00:00</string> <string name="btn_accept">Принять</string>
<string name="app_version">Версия: %s</string> <string name="btn_cancel">Отменить</string>
<string name="app_subtitle">Трекер спутников для Android</string> <string name="empty_list_message">No items to display</string>
<!-- Navigation -->
<string name="nav_satellites">Спутники</string> <string name="nav_satellites">Спутники</string>
<string name="nav_passes">Пролеты</string> <string name="nav_passes">Пролеты</string>
<string name="nav_radar">Radar</string> <string name="nav_radar">Radar</string>
<string name="nav_map">Карта</string> <string name="nav_map">Карта</string>
<string name="nav_settings">Настройки</string> <string name="nav_settings">Настройки</string>
<!--Buttons--> <!-- Satellites screen -->
<string name="satellites_select_all">Выбрать</string>
<string name="btn_add">Добавить</string> <string name="satellites_clear_all">Очистить</string>
<string name="btn_accept">Принять</string> <string name="satellites_select_type">Выберите тип спутника</string>
<string name="btn_cancel">Отменить</string> <string name="satellites_type">Выбран тип: %s</string>
<string name="btn_back">Назад</string> <string name="satellites_search_hint">Имя / Id</string>
<string name="btn_modes">Режимы</string> <string name="satellites_empty_list_message">
<string name="btn_select">Выбрать</string> Make sure your search query is correct and the DB is updated</string>
<string name="btn_done">Готово</string> <string name="satellites_warning_title">Warning\!</string>
<string name="btn_clear">Очистить</string> <string name="satellites_warning_message">
<string name="btn_clear_all">Очистить</string> There are over 9000 satellites listed in this app.
<string name="btn_refresh">Обновить</string> It makes no sense to track them all at the same time.
<string name="btn_map">Карта</string> \n\nAlways try to narrow down the list to only the ones
<string name="btn_filter">Фильтр</string> you\'re interested in via search and types selector.</string>
<string name="btn_satellites">Спутники</string>
<string name="btn_settings">Настройки</string>
<string name="btn_prev">Пред</string>
<string name="btn_next">След</string>
<string name="btn_notify">Уведомить</string>
<string name="btn_gps">GPS</string>
<string name="btn_manual">Ввести</string>
<string name="btn_qth">QTH</string>
<string name="btn_web">Онлайн</string>
<string name="btn_import">Импорт</string>
<string name="btn_github">GitHub</string>
<string name="btn_donate">Поддержать</string>
<string name="btn_fdroid">F-Droid</string>
<string name="btn_license">Лицензия</string>
<string name="btn_privacy">Конфиденц.</string>
<!--Dialogs-->
<string name="filter_title">Фильтровать пролеты</string>
<string name="filter_hours_hint">Количество часов</string>
<string name="filter_hours_text">Показать пролеты за след. Х часов</string>
<string name="filter_elev_hint">Минимальная элевация</string>
<string name="filter_elev_text">Показать пролеты с элевацией более</string>
<string name="locator_title">Настройки локатора QTH</string>
<string name="locator_text">Установить позицию используя локатор</string>
<string name="locator_hint">QTH</string>
<string name="modes_title">Выберите тип модуляции</string>
<string name="position_title">Настройки местоположения</string>
<string name="position_lat_text">Установите широту наземной станции</string>
<string name="position_lat_hint">Широта</string>
<string name="position_lon_text">Установите долготу наземной станции</string>
<string name="position_lon_hint">Долгота</string>
<string name="sources_title">Источники данных</string>
<string name="sources_hint">Протокол HTTPS</string>
<string name="types_title">Выберите тип спутника</string>
<string name="types_message">Выбран тип: %s</string>
<!--Fragments-->
<string name="entries_search_hint">Имя / Id</string>
<!-- Passes screen -->
<string name="passes_filter_modes">Выберите тип модуляции</string>
<string name="passes_filter_passes">Фильтровать пролеты</string>
<string name="passes_filter_within">Количество часов</string>
<string name="passes_filter_above">Минимальная элевация</string>
<string name="passes_deep_space">DeepSpace</string>
<string name="passes_error">Нет предстоящих пролётов спутников</string> <string name="passes_error">Нет предстоящих пролётов спутников</string>
<string name="passes_empty_db">Пожалуйста, обновите базу данных спутников через меню Настроек</string> <string name="passes_empty_db">Пожалуйста, обновите базу данных спутников через меню Настроек</string>
<string name="passes_elevation">Элевация: %.1f°</string>
<string name="passes_altitude">Высота: %d км</string>
<string name="passes_placeholder"> -- : -- : -- </string>
<string name="passes_empty_list_message">
Make sure your filters are correct and you have selected satellites</string>
<string name="passes_welcome_title">Welcome to Look4Sat\!</string>
<string name="passes_welcome_message">
Make sure to set your position via GPS, Lat/Lon or QTH in Settings.
\n\nPlease update the database at least weekly to get accurate predictions.</string>
<string name="pass_satName">%s</string> <!-- Radar screen -->
<string name="pass_satId">Id:%d</string>
<string name="pass_aosAz">НПС - %.1f°</string>
<string name="pass_elevation">Элевация: %.1f°</string>
<string name="pass_losAz">%.1f° - КПС</string>
<string name="pass_altitude">Высота: %d км</string>
<string name="pass_placeholder"> -- : -- : -- </string>
<string name="pass_startTime">HH:mm:ss - EEE</string>
<string name="pass_endTime">EEE - HH:mm:ss</string>
<string name="radar_az_text">Азим.</string> <string name="radar_az_text">Азим.</string>
<string name="radar_az_value">%.1f°</string>
<string name="radar_el_text">Элев.</string> <string name="radar_el_text">Элев.</string>
<string name="radar_el_value">%.1f°</string>
<string name="radar_alt_text">Выс.</string> <string name="radar_alt_text">Выс.</string>
<string name="radar_alt_value">%.0f km</string>
<string name="radar_dist_text">Дальн.</string> <string name="radar_dist_text">Дальн.</string>
<string name="radar_dist_value">%.0f km</string>
<string name="radar_visible">Видимый</string> <string name="radar_visible">Видимый</string>
<string name="radar_eclipsed">В тени</string> <string name="radar_eclipsed">В тени</string>
<string name="radar_sat_name">%s</string> <string name="radar_mode">Модуляция: %s</string>
<string name="radar_sat_id">Id:%d</string> <string name="radar_inverted">Инверсия: %s</string>
<string name="radar_info">%s</string>
<string name="radio_mode">Модуляция: %s</string> <string name="radar_no_link">- - . - -</string>
<string name="radio_inverted">Инверсия: %s</string> <string name="radar_link_low">%.4f</string>
<string name="radio_info">%s</string> <string name="radar_link_lowHigh">%.4f - %.4f</string>
<string name="radio_no_link">- - . - -</string> <string name="radar_data">Трансиверы спутника:</string>
<string name="radio_link_low">%.4f</string> <string name="radar_no_data">У этого спутника нет трансиверов</string>
<string name="radio_link_lowHigh">%.4f - %.4f</string> <string name="radar_string_yes">Да</string>
<string name="radio_data">Трансиверы спутника:</string> <string name="radar_string_no">Нет</string>
<string name="radio_no_data">У этого спутника нет трансиверов</string> <string name="radar_downlink">Даунлинк</string>
<string name="radio_string_yes">Да</string> <string name="radar_uplink">Аплинк</string>
<string name="radio_string_no">Нет</string> <string name="radar_add">Добавить</string>
<string name="radio_downlink">Даунлинк</string> <string name="radar_back">Назад</string>
<string name="radio_uplink">Аплинк</string> <string name="radar_notify">Уведомить</string>
<!-- Map screen -->
<string name="map_title">Карта Мира</string> <string name="map_title">Карта Мира</string>
<string name="map_sat_name">%s</string> <string name="map_sat_name">%s</string>
<string name="map_sat_id">Id:%d</string> <string name="map_sat_id">Id:%d</string>
@@ -126,45 +85,65 @@
<string name="map_distance">Дистанция: %.0fкм</string> <string name="map_distance">Дистанция: %.0fкм</string>
<string name="map_velocity">Скорость: %.2fкм/с</string> <string name="map_velocity">Скорость: %.2fкм/с</string>
<string name="map_copyright">Wikimedia maps | Map data © OpenStreetMap contributors</string> <string name="map_copyright">Wikimedia maps | Map data © OpenStreetMap contributors</string>
<string name="map_prev">Пред</string>
<string name="map_next">След</string>
<!--Cards--> <!-- Settings screen -->
<string name="settings_location_title">Местоположение</string>
<string name="settings_location_lat">Широта: %.4f°</string>
<string name="settings_location_lon">Долгота: %.4f°</string>
<string name="settings_location_null">Нет данных геолокации</string>
<string name="settings_location_gps_error">Нет разрешения использовать геоданные</string>
<string name="settings_location_manual_error">Введены неверные данные</string>
<string name="settings_location_qth_error">Неправильный локатор QTH</string>
<string name="settings_location_success">Позиция успешно обновлена</string>
<string name="location_title">Местоположение</string> <string name="settings_data_title">Обновление данных</string>
<string name="location_lat">Широта: %.4f°</string> <string name="settings_data_error">При обновлении возникли ошибки</string>
<string name="location_lon">Долгота: %.4f°</string> <string name="settings_data_update">Обновлено: %s</string>
<string name="location_null">Нет данных геолокации</string> <string name="settings_data_entries">Спутников: %s</string>
<string name="location_gps_error">Нет разрешения использовать геоданные</string> <string name="settings_data_radios">Трансиверов: %s</string>
<string name="location_manual_error">Введены неверные данные</string> <string name="settings_data_success">Обновление прошло успешно</string>
<string name="location_qth_error">Неправильный локатор QTH</string> <string name="settings_data_clear_success">Очистка прошла успешно</string>
<string name="location_success">Позиция успешно обновлена</string>
<string name="data_title">Обновление данных</string> <string name="settings_remote_title">Настройки ротатора</string>
<string name="data_error">При обновлении возникли ошибки</string> <string name="settings_remote_switch">Удаленное управление</string>
<string name="data_update">Обновлено: %s</string> <string name="settings_remote_ip_hint">IP адрес</string>
<string name="data_entries">Спутников: %s</string> <string name="settings_remote_port_hint">Порт</string>
<string name="data_radios">Трансиверов: %s</string>
<string name="data_success">Обновление прошло успешно</string>
<string name="data_clear_success">Очистка прошла успешно</string>
<string name="remote_title">Настройки ротатора</string> <string name="settings_BTremote_title">Передача данных по Bluetooth</string>
<string name="remote_switch">Удаленное управление</string> <string name="settings_BTremote_switch">Включить передачу</string>
<string name="remote_ip_hint">IP адрес</string> <string name="settings_BTremote_device_hint">Id устройства</string>
<string name="remote_port_hint">Порт</string> <string name="settings_BTremote_output_hint">Формат данных</string>
<string name="settings_BTremote_perm_error">Нет разрешения использовать bluetooth</string>
<string name="BTremote_title">Передача данных по Bluetooth</string> <string name="settings_other_switch_utc">Показывать время по UTC</string>
<string name="BTremote_switch">Включить передачу</string> <string name="settings_other_switch_update">Обновлять данные автоматически</string>
<string name="BTremote_device_hint">Id устройства</string> <string name="settings_other_switch_sweep">Показывать анимацию радара</string>
<string name="BTremote_output_hint">Формат данных</string> <string name="settings_other_switch_sensors">Использовать сенсоры устройства</string>
<string name="BTremote_perm_error">Нет разрешения использовать bluetooth</string>
<string name="other_switch_utc">Показывать время по UTC</string> <string name="settings_station_gps">GPS</string>
<string name="other_switch_update">Обновлять данные автоматически</string> <string name="settings_station_manual">Ввести</string>
<string name="other_switch_sweep">Показывать анимацию радара</string> <string name="settings_station_qth">QTH</string>
<string name="other_switch_sensors">Использовать сенсоры устройства</string> <string name="settings_data_online">Онлайн</string>
<string name="other_switch_light_theme">Использовать светлую тему</string> <string name="settings_data_import">Импорт</string>
<string name="settings_github">GitHub</string>
<string name="settings_donate">Поддержать</string>
<string name="settings_fdroid">F-Droid</string>
<string name="settings_license">Лицензия</string>
<string name="settings_privacy">Конфиденц.</string>
<string name="outro_title">Я хотел бы сказать спасибо:</string> <string name="settings_last_updated_pattern">d MMM yyyy - HH:mm:ss</string>
<string name="outro_thanks">Вам за использование этого приложения! \nЖелаю всегда чистого неба над головой!
<string name="settings_data_clear">Очистить</string>
<string name="settings_locator_title">Настройки локатора QTH</string>
<string name="settings_locator_text">Установить позицию используя локатор</string>
<string name="settings_position_title">Настройки местоположения</string>
<string name="settings_position_lat_text">Установите широту наземной станции</string>
<string name="settings_position_lon_text">Установите долготу наземной станции</string>
<string name="settings_outro_title">Я хотел бы сказать спасибо:</string>
<string name="settings_outro_thanks">Вам за использование этого приложения! \nЖелаю всегда чистого неба над головой!
\n<a href="https://github.com/g4dpz">David A. B. Johnson</a> и \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://github.com/davidmoten">Dave Moten</a> за работу над predict4java и доступ
к ней по <a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a> к ней по <a href="https://gnu.org/licenses/old-licenses/gpl-2.0.en.html">GNU GPLv2</a>
@@ -177,5 +156,6 @@
\n<a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a> \n<a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a>
за интерес к приложению и публикацию интервью на сайте. за интерес к приложению и публикацию интервью на сайте.
</string> </string>
<string name="outro_license">Это ПО поставляется без гарантий.</string> <string name="settings_outro_license">Это ПО поставляется без гарантий.</string>
</resources> </resources>
+106 -126
View File
@@ -1,115 +1,74 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Look4Sat</string> <!-- Commmon -->
<string name="app_timer">00:00:00</string> <string name="btn_accept">පිළිගන්න</string>
<string name="app_version">අනුවාදය: %s</string> <string name="btn_cancel">අවලංගු ක°</string>
<string name="app_subtitle">චන්ද්‍රිකා tracker හා නිසැක පෙරැයින්නා</string> <string name="empty_list_message">No items to display</string>
<!-- Navigation -->
<string name="nav_satellites">චන්ද්‍රිකා</string> <string name="nav_satellites">චන්ද්‍රිකා</string>
<string name="nav_passes">පසුකර යෑම්</string> <string name="nav_passes">පසුකර යෑම්</string>
<string name="nav_radar">Radar</string> <string name="nav_radar">Radar</string>
<string name="nav_map">ලෝක සිතියම</string> <string name="nav_map">සිතියම</string>
<string name="nav_settings">පසුතල</string> <string name="nav_settings">පසුතල</string>
<!--Buttons--> <!-- Satellites screen -->
<string name="satellites_select_type">චන්ද්‍රිකා ආකාරය තෝරන්න</string>
<string name="btn_add">එකතු ක°</string> <string name="satellites_type">තේරූ ආකාර: %s</string>
<string name="btn_accept">පිළිගන්න</string> <string name="satellites_select_all">සියල්ල තෝරන්න</string>
<string name="btn_cancel">අවලංගු ක°</string> <string name="satellites_clear_all">සියල්ල පිරිසිදු ක°</string>
<string name="btn_back">ආපසු</string> <string name="satellites_search_hint">Name / Id</string>
<string name="btn_modes">ප්‍රාකාර</string> <string name="satellites_empty_list_message">
<string name="btn_select">සියල්ල තෝරන්න</string> Make sure your search query is correct and the DB is updated</string>
<string name="btn_done">කළා</string> <string name="satellites_warning_title">Warning\!</string>
<string name="btn_clear">පිරිසිදු ක°</string> <string name="satellites_warning_message">
<string name="btn_clear_all">සියල්ල පිරිසිදු ක°</string> There are over 9000 satellites listed in this app.
<string name="btn_refresh">පූරණය</string> It makes no sense to track them all at the same time.
<string name="btn_map">සිතියම</string> \n\nAlways try to narrow down the list to only the ones
<string name="btn_filter">පිරිපහදුව</string> you\'re interested in via search and types selector.</string>
<string name="btn_satellites">චන්ද්‍රිකා</string>
<string name="btn_settings">පසුතල</string>
<string name="btn_prev">පසුපස</string>
<string name="btn_next">ඊළග</string>
<string name="btn_notify">දන්වනවා</string>
<string name="btn_gps">GPS</string>
<string name="btn_manual">අතින්</string>
<string name="btn_qth">QTH</string>
<string name="btn_web">මාර්ගගතව</string>
<string name="btn_import">Import</string>
<string name="btn_github">GitHub</string>
<string name="btn_donate">දායකත්ව</string>
<string name="btn_fdroid">F-Droid</string>
<string name="btn_license">GPLv3 බලපත්‍රය</string>
<string name="btn_privacy">Privacy Policy</string>
<!--Dialogs-->
<string name="filter_title">පසුකිරිම් පිරිපහදුව</string>
<string name="filter_hours_hint">ඉදිරි පැය</string>
<string name="filter_hours_text">පැය X ඇතුළත සිදුවන අවසරපත් පෙන්වන්න</string>
<string name="filter_elev_hint">අවම උත්තෝලනය</string>
<string name="filter_elev_text">ඉහත උපරිම උත්තෝලනයක් සහිත අවසරපත් පෙන්වන්න</string>
<string name="locator_title">QTH locator පසුතල</string>
<string name="locator_text"> ඔබගේ locator භාවිතා කර පොළහි පිහිටීම සකසන්න</string>
<string name="locator_hint">QTH</string>
<string name="modes_title">මූර්ජන ආකාරය තෝරන්න</string>
<string name="position_title">පොළෙහි පිහිටීම් පසුතල</string>
<string name="position_lat_text">ඔබගේ පොළෙහි අක්‍ෂාංශය සකසන්න</string>
<string name="position_lat_hint">අක්‍ෂාංශය</string>
<string name="position_lon_text">ඔබගේ පොළෙහි දේශාංශය සකසන්න</string>
<string name="position_lon_hint">දේශාංශය</string>
<string name="sources_title">දත්ත මූලාශ්‍ර කළමනාකරණය කරන්න</string>
<string name="sources_hint">HTTPS මූලාශ්‍ර</string>
<string name="types_title">චන්ද්‍රිකා ආකාරය තෝරන්න</string>
<string name="types_message">තේරූ ආකාර: %s</string>
<!--Fragments-->
<string name="entries_search_hint">Name / Id</string>
<!-- Passes screen -->
<string name="passes_filter_passes">පසුකිරිම් පිරිපහදුව</string>
<string name="passes_filter_within">ඉදිරි පැය</string>
<string name="passes_filter_above">අවම උත්තෝලනය</string>
<string name="passes_filter_modes">මූර්ජන ආකාරය තෝරන්න</string>
<string name="passes_deep_space">DeepSpace</string>
<string name="passes_error">ප්‍රදර්ශනය කිරීමට ඉදිරියට එන චන්ද්‍රිකා පසුකර යෑම් නැත.</string> <string name="passes_error">ප්‍රදර්ශනය කිරීමට ඉදිරියට එන චන්ද්‍රිකා පසුකර යෑම් නැත.</string>
<string name="passes_empty_db">පෙන්වීමට දත්ත නැත. කරුණාකර දත්ත සමුදාය යාවත්කාලීන කරන්න.</string> <string name="passes_empty_db">පෙන්වීමට දත්ත නැත. කරුණාකර දත්ත සමුදාය යාවත්කාලීන කරන්න.</string>
<string name="passes_elevation">උත්තෝලනය: %.1f°</string>
<string name="passes_altitude">උන්නතාශය: %d km</string>
<string name="passes_placeholder"> -- : -- : -- </string>
<string name="passes_empty_list_message">
Make sure your filters are correct and you have selected satellites</string>
<string name="passes_welcome_title">Welcome to Look4Sat\!</string>
<string name="passes_welcome_message">
Make sure to set your position via GPS, Lat/Lon or QTH in Settings.
\n\nPlease update the database at least weekly to get accurate predictions.</string>
<string name="pass_satName">%s</string> <!-- Radar screen -->
<string name="pass_satId">Id:%d</string>
<string name="pass_aosAz">AOS - %.1f°</string>
<string name="pass_elevation">උත්තෝලනය: %.1f°</string>
<string name="pass_losAz">%.1f° - LOS</string>
<string name="pass_altitude">උන්නතාශය: %d km</string>
<string name="pass_placeholder"> -- : -- : -- </string>
<string name="pass_startTime">HH:mm:ss - EEE</string>
<string name="pass_endTime">EEE - HH:mm:ss</string>
<string name="radar_az_text">දිගංශය</string> <string name="radar_az_text">දිගංශය</string>
<string name="radar_az_value">%.1f°</string>
<string name="radar_el_text">උත්තෝලනය</string> <string name="radar_el_text">උත්තෝලනය</string>
<string name="radar_el_value">%.1f°</string>
<string name="radar_alt_text">උන්නතාශය</string> <string name="radar_alt_text">උන්නතාශය</string>
<string name="radar_alt_value">%.0f km</string>
<string name="radar_dist_text">පරතරය</string> <string name="radar_dist_text">පරතරය</string>
<string name="radar_dist_value">%.0f km</string>
<string name="radar_visible">දෘශ්‍යමාන</string> <string name="radar_visible">දෘශ්‍යමාන</string>
<string name="radar_eclipsed">අදෘශ්‍ය</string> <string name="radar_eclipsed">අදෘශ්‍ය</string>
<string name="radar_sat_name">%s</string> <string name="radar_mode">ප්‍රාකාරය: %s</string>
<string name="radar_sat_id">Id:%d</string> <string name="radar_inverted">Inverted: %s</string>
<string name="radar_info">%s</string>
<string name="radio_mode">ප්‍රාකාරය: %s</string> <string name="radar_no_link">- - . - -</string>
<string name="radio_inverted">Inverted: %s</string> <string name="radar_link_low">%.4f</string>
<string name="radio_info">%s</string> <string name="radar_link_lowHigh">%.4f - %.4f</string>
<string name="radio_no_link">- - . - -</string> <string name="radar_data">චන්ද්‍රිකා සම්ප්‍රේෂණයන්:</string>
<string name="radio_link_low">%.4f</string> <string name="radar_no_data">මෙම චන්ද්‍රිකාව සම්ප්‍රෙෂණය නොකරයි</string>
<string name="radio_link_lowHigh">%.4f - %.4f</string> <string name="radar_string_yes">ඔව්</string>
<string name="radio_data">චන්ද්‍රිකා සම්ප්‍රේෂණයන්:</string> <string name="radar_string_no">නෑ</string>
<string name="radio_no_data">මෙම චන්ද්‍රිකාව සම්ප්‍රෙෂණය නොකරයි</string> <string name="radar_downlink">Downlink</string>
<string name="radio_string_yes">ඔව්</string> <string name="radar_uplink">Uplink</string>
<string name="radio_string_no">නෑ</string> <string name="radar_add">එකතු ක°</string>
<string name="radio_downlink">Downlink</string> <string name="radar_back">ආපසු</string>
<string name="radio_uplink">Uplink</string> <string name="radar_notify">දන්වනවා</string>
<!-- Map screen -->
<string name="map_title">ලෝක සිතියම</string> <string name="map_title">ලෝක සිතියම</string>
<string name="map_sat_name">%s</string> <string name="map_sat_name">%s</string>
<string name="map_sat_id">Id:%d</string> <string name="map_sat_id">Id:%d</string>
@@ -126,45 +85,65 @@
<string name="map_distance">පරතරය: %.0f km</string> <string name="map_distance">පරතරය: %.0f km</string>
<string name="map_velocity">ප්‍රවේශය: %.2f km/s</string> <string name="map_velocity">ප්‍රවේශය: %.2f km/s</string>
<string name="map_copyright">Wikimedia maps | සිතියම් දත්ත © OpenStreetMap බෙදාහැරීම</string> <string name="map_copyright">Wikimedia maps | සිතියම් දත්ත © OpenStreetMap බෙදාහැරීම</string>
<string name="map_prev">පසුපස</string>
<string name="map_next">ඊළග</string>
<!--Cards--> <!-- Settings screen -->
<string name="settings_location_title">පොළෙහි පිහිටීම</string>
<string name="settings_location_lat">අක්‍ෂාංශ: %.4f°</string>
<string name="settings_location_lon">දේශාංශ: %.4f°</string>
<string name="settings_location_null">භූ ස්ථාන දත්ත නොමැත</string>
<string name="settings_location_gps_error">ඔබගේ location අවසර පරීක්ෂා ක°</string>
<string name="settings_location_manual_error">ඇතුළත් කළ ස්ථානය වලංගු නොවේ</string>
<string name="settings_location_qth_error">QTH locator වලංගු නොවේ</string>
<string name="settings_location_success">පිහිටීම යාවත්කාලීනය සාර්ථකයි</string>
<string name="location_title">පොළෙහි පිහිටීම</string> <string name="settings_data_title">චන්ද්‍රිකා දත්ත යාවත්කාලීනයි</string>
<string name="location_lat">අක්‍ෂාංශ: %.4f°</string> <string name="settings_data_error">දෝෂ සහිතව යාවත්කාලීනය සම්පූර්ණයි</string>
<string name="location_lon">දේශාංශ: %.4f°</string> <string name="settings_data_update">අවසන් යාවත්කාලීනය: %s</string>
<string name="location_null">භූ ස්ථාන දත්ත නොමැත</string> <string name="settings_data_entries">චන්ද්‍රිකා: %s</string>
<string name="location_gps_error">ඔබගේ location අවසර පරීක්ෂා ක°</string> <string name="settings_data_radios">සම්ප්‍රෙේෂණය: %s</string>
<string name="location_manual_error">ඇතුළත් කළ ස්ථානය වලංගු නොවේ</string> <string name="settings_data_success">යාවත්කාලීනය සම්පූර්ණ කිරීම සාර්ථකයි</string>
<string name="location_qth_error">QTH locator වලංගු නොවේ</string> <string name="settings_data_clear_success">දත්ත ඉවත් කිරීම සාර්ථකයි</string>
<string name="location_success">පිහිටීම යාවත්කාලීනය සාර්ථකයි</string>
<string name="data_title">චන්ද්‍රිකා දත්ත යාවත්කාලීනයි</string> <string name="settings_remote_title">භ්‍රමක මනාප</string>
<string name="data_error">දෝෂ සහිතව යාවත්කාලීනය සම්පූර්ණයි</string> <string name="settings_remote_switch">දුරස්ථ පාලනය සබල ක°</string>
<string name="data_update">අවසන් යාවත්කාලීනය: %s</string> <string name="settings_remote_ip_hint">IP ලිපිනය</string>
<string name="data_entries">චන්ද්‍රිකා: %s</string> <string name="settings_remote_port_hint">Port</string>
<string name="data_radios">සම්ප්‍රෙේෂණය: %s</string>
<string name="data_success">යාවත්කාලීනය සම්පූර්ණ කිරීම සාර්ථකයි</string>
<string name="data_clear_success">දත්ත ඉවත් කිරීම සාර්ථකයි</string>
<string name="remote_title">භ්‍රමක මනාප</string> <string name="settings_BTremote_title">Bluetooth දත්ත ප්‍රතිදානය</string>
<string name="remote_switch">දුරස්ථ පාලනය සබල ක°</string> <string name="settings_BTremote_switch">ප්‍රතිදානය සබල ක°</string>
<string name="remote_ip_hint">IP ලිපිනය</string> <string name="settings_BTremote_device_hint">උපාංග id</string>
<string name="remote_port_hint">Port</string> <string name="settings_BTremote_output_hint">දත්ත අකාරය</string>
<string name="settings_BTremote_perm_error">Bluetooth අවසර පරික්‍ෂා ක°</string>
<string name="BTremote_title">Bluetooth දත්ත ප්‍රතිදානය</string> <string name="settings_other_switch_utc">පසුකර වේලාවන් UTC මගින්</string>
<string name="BTremote_switch">ප්‍රතිදානය සබල ක°</string> <string name="settings_other_switch_update">ස්වයං දත්ත යාවත්කාලීනය</string>
<string name="BTremote_device_hint">උපාංග id</string> <string name="settings_other_switch_sweep">radar sweep සජීවිකරණය සබල කරන්න</string>
<string name="BTremote_output_hint">දත්ත අකාරය</string> <string name="settings_other_switch_sensors">Radar දර්ශනය කරකැවීමට සංවේදක භාවිතා කරන්න </string>
<string name="BTremote_perm_error">Bluetooth අවසර පරික්‍ෂා ක°</string>
<string name="other_switch_utc">පසුකර වේලාවන් UTC මගින්</string> <string name="settings_station_gps">GPS</string>
<string name="other_switch_update">ස්වයං දත්ත යාවත්කාලීනය</string> <string name="settings_station_manual">අතින්</string>
<string name="other_switch_sweep">radar sweep සජීවිකරණය සබල කරන්න</string> <string name="settings_station_qth">QTH</string>
<string name="other_switch_sensors">Radar දර්ශනය කරකැවීමට සංවේදක භාවිතා කරන්න </string> <string name="settings_data_online">මාර්ගගතව</string>
<string name="other_switch_light_theme">සැහැල්ලු තේමාව භාවිතා කරන්න</string> <string name="settings_data_import">Import</string>
<string name="settings_github">GitHub</string>
<string name="settings_donate">දායකත්ව</string>
<string name="settings_fdroid">F-Droid</string>
<string name="settings_license">GPLv3 බලපත්‍රය</string>
<string name="settings_privacy">Privacy Policy</string>
<string name="settings_data_clear">පිරිසිදු ක°</string>
<string name="outro_title">මම ස්තුති කිරීමට කැමති:</string> <string name="settings_last_updated_pattern">d MMM yyyy - HH:mm:ss</string>
<string name="outro_thanks">බාගෙන භාවිතා කළ ඔබට! \nඅහස සදා ඔබ වෙනුවෙන් පැහැදිලියි!
<string name="settings_locator_title">QTH locator පසුතල</string>
<string name="settings_locator_text"> ඔබගේ locator භාවිතා කර පොළහි පිහිටීම සකසන්න</string>
<string name="settings_position_title">පොළෙහි පිහිටීම් පසුතල</string>
<string name="settings_position_lat_text">ඔබගේ පොළෙහි අක්‍ෂාංශය සකසන්න</string>
<string name="settings_position_lon_text">ඔබගේ පොළෙහි දේශාංශය සකසන්න</string>
<string name="settings_outro_title">මම ස්තුති කිරීමට කැමති:</string>
<string name="settings_outro_thanks">බාගෙන භාවිතා කළ ඔබට! \nඅහස සදා ඔබ වෙනුවෙන් පැහැදිලියි!
\n<a href="https://github.com/g4dpz">David A. B. Johnson</a> \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://github.com/davidmoten">Dave Moten</a>ඔවුනට ප්‍රයෝජනවත් predict4java පුස්තකාලය නිර්මාණයට.
\nසහ <a href="https://github.com/csete">Alexandru Csete</a> සඳහා Gpredict නිර්මාණයට සහ \nසහ <a href="https://github.com/csete">Alexandru Csete</a> සඳහා Gpredict නිර්මාණයට සහ
@@ -174,5 +153,6 @@
\n<a href="https://libre.space/">Libre Space Foundation</a>ට ඔවුන්ගේ \n<a href="https://libre.space/">Libre Space Foundation</a>ට ඔවුන්ගේ
<a href="https://db.satnogs.org/">SatNOGS</a>Web අඩවියට API හා DB විශාල දත්ත ප්‍රමාණයක් ලබාදීම සඳහා. <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> \n<a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a> කණ්ඩායමට යෙදුම පිළිබඳ ඔවුන්ගේ උනන්දුව සහ කැපවීම ලැබිම සම්බන්ධයෙන්.</string>
<string name="outro_license">මෘදුකාංගය වගකීමක් සමග නොලැබේ</string> <string name="settings_outro_license">මෘදුකාංගය වගකීමක් සමග නොලැබේ</string>
</resources> </resources>
+107 -123
View File
@@ -1,112 +1,74 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Look4Sat</string> <!-- Commmon -->
<string name="app_timer">00:00:00</string> <string name="btn_accept">Прийняти</string>
<string name="app_version">Версія: %s</string> <string name="btn_cancel">Скасувати</string>
<string name="app_subtitle">Трекер супутників та прогноз прольотів</string> <string name="empty_list_message">No items to display</string>
<!-- Navigation -->
<string name="nav_satellites">Супутники</string> <string name="nav_satellites">Супутники</string>
<string name="nav_passes">Прольоти</string> <string name="nav_passes">Прольоти</string>
<string name="nav_radar">Radar</string> <string name="nav_radar">Radar</string>
<string name="nav_map">Мапа</string> <string name="nav_map">Карта</string>
<string name="nav_settings">Налаштування</string> <string name="nav_settings">Налаштування</string>
<!--Buttons--> <!-- Satellites screen -->
<string name="btn_add">Додати</string> <string name="satellites_select_all">Вибрати всі</string>
<string name="btn_accept">Прийняти</string> <string name="satellites_clear_all">Очистити</string>
<string name="btn_cancel">Скасувати</string> <string name="satellites_select_type">Виберіть тип супутника</string>
<string name="btn_back">Назад</string> <string name="satellites_type">Вибраний тип: %s</string>
<string name="btn_modes">Режими</string> <string name="satellites_search_hint">Пошук за Назвою / Id</string>
<string name="btn_select">Вибрати всі</string> <string name="satellites_empty_list_message">
<string name="btn_done">Готово</string> Make sure your search query is correct and the DB is updated</string>
<string name="btn_clear">Очистити</string> <string name="satellites_warning_title">Warning\!</string>
<string name="btn_clear_all">Очистити</string> <string name="satellites_warning_message">
<string name="btn_refresh">Оновити</string> There are over 9000 satellites listed in this app.
<string name="btn_map">Карта</string> It makes no sense to track them all at the same time.
<string name="btn_filter">Фільтр</string> \n\nAlways try to narrow down the list to only the ones
<string name="btn_satellites">Супутники</string> you\'re interested in via search and types selector.</string>
<string name="btn_settings">Налаштування</string>
<string name="btn_prev">Попередній</string>
<string name="btn_next">Наступний</string>
<string name="btn_notify">Сповістити</string>
<string name="btn_gps">GPS</string>
<string name="btn_manual">Вручну</string>
<string name="btn_qth">QTH</string>
<string name="btn_web">Онлайн</string>
<string name="btn_import">Імпорт</string>
<string name="btn_github">GitHub</string>
<string name="btn_donate">Підтримати</string>
<string name="btn_fdroid">F-Droid</string>
<string name="btn_license">Ліцензія GPLv3</string>
<string name="btn_privacy">Конфіденційність</string>
<!--Dialogs-->
<string name="filter_title">Фільтр прольотів</string>
<string name="filter_hours_hint">Кількість годин</string>
<string name="filter_hours_text">Показати за наступні X годин</string>
<string name="filter_elev_hint">Мінімальне піднесення</string>
<string name="filter_elev_text">Показати з піднесенням понад</string>
<string name="locator_title">Налаштування QTH локатора</string>
<string name="locator_text">Задати позицію за QTH локатором</string>
<string name="locator_hint">QTH</string>
<string name="modes_title">Виберіть тип модуляції</string>
<string name="position_title">Налаштування місцезнаходження станції</string>
<string name="position_lat_text">Задайте широту станції</string>
<string name="position_lat_hint">Широта</string>
<string name="position_lon_text">Задайте довготу станції</string>
<string name="position_lon_hint">Довгота</string>
<string name="sources_title">Джерела даних</string>
<string name="sources_hint">Джерело HTTPS</string>
<string name="types_title">Виберіть тип супутника</string>
<string name="types_message">Вибраний тип: %s</string>
<!--Fragments-->
<string name="entries_search_hint">Пошук за Назвою / Id</string>
<!-- Passes screen -->
<string name="passes_filter_passes">Фільтр прольотів</string>
<string name="passes_filter_within">Кількість годин</string>
<string name="passes_filter_above">Мінімальне піднесення</string>
<string name="passes_filter_modes">Виберіть тип модуляції</string>
<string name="passes_deep_space">DeepSpace</string>
<string name="passes_error">Немає майбутніх прольотів супутників</string> <string name="passes_error">Немає майбутніх прольотів супутників</string>
<string name="passes_empty_db">Немає даних для відображення. Будь ласка, оновіть базу даних через меню Налаштування</string> <string name="passes_empty_db">Немає даних для відображення. Будь ласка, оновіть базу даних через меню Налаштування</string>
<string name="passes_elevation">Піднес.: %.1f°</string>
<string name="passes_altitude">Висота: %.0f км</string>
<string name="passes_placeholder"> - - : - - </string>
<string name="passes_empty_list_message">
Make sure your filters are correct and you have selected satellites</string>
<string name="passes_welcome_title">Welcome to Look4Sat\!</string>
<string name="passes_welcome_message">
Make sure to set your position via GPS, Lat/Lon or QTH in Settings.
\n\nPlease update the database at least weekly to get accurate predictions.</string>
<string name="pass_satName">%s</string> <!-- Radar screen -->
<string name="pass_satId">Id:%05d</string>
<string name="pass_aosAz">Початок - %.1f°</string>
<string name="pass_elevation">Піднес.: %.1f°</string>
<string name="pass_losAz">%.1f° - кінець</string>
<string name="pass_altitude">Висота: %.0f км</string>
<string name="pass_placeholder"> - - : - - </string>
<string name="pass_startTime">HH:mm:ss - EEE</string>
<string name="pass_endTime">EEE - HH:mm:ss</string>
<string name="radar_az_text">Азимут</string> <string name="radar_az_text">Азимут</string>
<string name="radar_az_value">%.1f°</string>
<string name="radar_el_text">Піднес.</string> <string name="radar_el_text">Піднес.</string>
<string name="radar_el_value">%.1f°</string>
<string name="radar_alt_text">Висота</string> <string name="radar_alt_text">Висота</string>
<string name="radar_alt_value">%.0f km</string>
<string name="radar_dist_text">Відстань</string> <string name="radar_dist_text">Відстань</string>
<string name="radar_dist_value">%.0f км</string>
<string name="radar_visible">Видимий</string> <string name="radar_visible">Видимий</string>
<string name="radar_eclipsed">В тіні</string> <string name="radar_eclipsed">В тіні</string>
<string name="radar_sat_name">%s</string> <string name="radar_mode">Модуляція: %s</string>
<string name="radar_sat_id">Id:%d</string> <string name="radar_inverted">Інверсія: %s</string>
<string name="radar_info">%s</string>
<string name="radio_mode">Модуляція: %s</string> <string name="radar_no_link">- - . - -</string>
<string name="radio_inverted">Інверсія: %s</string> <string name="radar_link_low">%.4f</string>
<string name="radio_info">%s</string> <string name="radar_link_lowHigh">%.4f - %.4f</string>
<string name="radio_no_link">- - . - -</string> <string name="radar_data">Супутникові трансивери:</string>
<string name="radio_link_low">%.4f</string> <string name="radar_no_data">Цей супутник не має трансиверів</string>
<string name="radio_link_lowHigh">%.4f - %.4f</string> <string name="radar_string_yes">Так</string>
<string name="radio_data">Супутникові трансивери:</string> <string name="radar_string_no">Ні</string>
<string name="radio_no_data">Цей супутник не має трансиверів</string> <string name="radar_downlink">Downlink</string>
<string name="radio_string_yes">Так</string> <string name="radar_uplink">Uplink</string>
<string name="radio_string_no">Ні</string> <string name="radar_add">Додати</string>
<string name="radio_downlink">Downlink</string> <string name="radar_notify">Сповістити</string>
<string name="radio_uplink">Uplink</string> <string name="radar_back">Назад</string>
<!-- Map screen -->
<string name="map_title">Карта світу</string> <string name="map_title">Карта світу</string>
<string name="map_sat_name">%s</string> <string name="map_sat_name">%s</string>
<string name="map_sat_id">Id:%d</string> <string name="map_sat_id">Id:%d</string>
@@ -123,44 +85,65 @@
<string name="map_distance">Дистанція: %.0f км</string> <string name="map_distance">Дистанція: %.0f км</string>
<string name="map_velocity">Швидкість: %.2f км/с</string> <string name="map_velocity">Швидкість: %.2f км/с</string>
<string name="map_copyright">Wikimedia maps | Map data © OpenStreetMap contributors</string> <string name="map_copyright">Wikimedia maps | Map data © OpenStreetMap contributors</string>
<string name="map_prev">Попередній</string>
<string name="map_next">Наступний</string>
<!--Cards--> <!-- Settings screen -->
<string name="location_title">Місцезнаходження</string> <string name="settings_location_title">Місцезнаходження</string>
<string name="location_lat">Широта: %.4f°</string> <string name="settings_location_lat">Широта: %.4f°</string>
<string name="location_lon">Довгота: %.4f°</string> <string name="settings_location_lon">Довгота: %.4f°</string>
<string name="location_null">Немає даних геолокації</string> <string name="settings_location_null">Немає даних геолокації</string>
<string name="location_gps_error">Перевірте дозволи на визначення місця</string> <string name="settings_location_gps_error">Перевірте дозволи на визначення місця</string>
<string name="location_manual_error">Введені некоректні дані</string> <string name="settings_location_manual_error">Введені некоректні дані</string>
<string name="location_qth_error">Некоректний локатор QTH</string> <string name="settings_location_qth_error">Некоректний локатор QTH</string>
<string name="location_success">Позицію успішно оновлено</string> <string name="settings_location_success">Позицію успішно оновлено</string>
<string name="data_title">Оновлення даних</string> <string name="settings_data_title">Оновлення даних</string>
<string name="data_error">Помилка при оновлені даних</string> <string name="settings_data_error">Помилка при оновлені даних</string>
<string name="data_update">Останнє оновлення: %s</string> <string name="settings_data_update">Останнє оновлення: %s</string>
<string name="data_entries">Супутників: %s</string> <string name="settings_data_entries">Супутників: %s</string>
<string name="data_radios">Трансиверів: %s</string> <string name="settings_data_radios">Трансиверів: %s</string>
<string name="data_success">Оновлення успішне</string> <string name="settings_data_success">Оновлення успішне</string>
<string name="data_clear_success">Дані успішно очищено</string> <string name="settings_data_clear_success">Дані успішно очищено</string>
<string name="remote_title">Налаштування ротатора</string> <string name="settings_remote_title">Налаштування ротатора</string>
<string name="remote_switch">Віддалене керування</string> <string name="settings_remote_switch">Віддалене керування</string>
<string name="remote_ip_hint">IP адреса</string> <string name="settings_remote_ip_hint">IP адреса</string>
<string name="remote_port_hint">Порт</string> <string name="settings_remote_port_hint">Порт</string>
<string name="BTremote_title">Передача даних через Bluetooth</string> <string name="settings_BTremote_title">Передача даних через Bluetooth</string>
<string name="BTremote_switch">Увімкнути передачу</string> <string name="settings_BTremote_switch">Увімкнути передачу</string>
<string name="BTremote_device_hint">Id пристрою</string> <string name="settings_BTremote_device_hint">Id пристрою</string>
<string name="BTremote_output_hint">Формат даних</string> <string name="settings_BTremote_output_hint">Формат даних</string>
<string name="BTremote_perm_error">Перевірте дозвіл Bluetooth</string> <string name="settings_BTremote_perm_error">Перевірте дозвіл Bluetooth</string>
<string name="other_switch_utc">Показувати час в UTC</string> <string name="settings_other_switch_utc">Показувати час в UTC</string>
<string name="other_switch_update">Автоматичне оновлення даних</string> <string name="settings_other_switch_update">Автоматичне оновлення даних</string>
<string name="other_switch_sweep">Показувати анімацію радара</string> <string name="settings_other_switch_sweep">Показувати анімацію радара</string>
<string name="other_switch_sensors">Використовувати сенсори пристрою</string> <string name="settings_other_switch_sensors">Використовувати сенсори пристрою</string>
<string name="other_switch_light_theme">Використовувати світлу тему</string>
<string name="outro_title">Я хотів би подякувати:</string> <string name="settings_data_clear">Очистити</string>
<string name="outro_thanks">Вам за завантаження та використання Look4Sat! <string name="settings_station_gps">GPS</string>
<string name="settings_station_manual">Вручну</string>
<string name="settings_station_qth">QTH</string>
<string name="settings_data_online">Онлайн</string>
<string name="settings_data_import">Імпорт</string>
<string name="settings_github">GitHub</string>
<string name="settings_donate">Підтримати</string>
<string name="settings_fdroid">F-Droid</string>
<string name="settings_license">Ліцензія GPLv3</string>
<string name="settings_privacy">Конфіденційність</string>
<string name="settings_last_updated_pattern">d MMM yyyy - HH:mm:ss</string>
<string name="settings_locator_title">Налаштування QTH локатора</string>
<string name="settings_locator_text">Задати позицію за QTH локатором</string>
<string name="settings_position_title">Налаштування місцезнаходження станції</string>
<string name="settings_position_lat_text">Задайте широту станції</string>
<string name="settings_position_lon_text">Задайте довготу станції</string>
<string name="settings_outro_title">Я хотів би подякувати:</string>
<string name="settings_outro_thanks">Вам за завантаження та використання Look4Sat!
\nБажаю завжди чистого неба над головою! \nБажаю завжди чистого неба над головою!
\n<a href="https://github.com/g4dpz">David A. B. Johnson</a> \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://github.com/davidmoten">Dave Moten</a> за створення бібліотеки predict4java.
@@ -172,5 +155,6 @@
\nКоманді <a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a> \nКоманді <a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a>
за інтерес до застосунку та публікацію інтерв\'ю на сайті. за інтерес до застосунку та публікацію інтерв\'ю на сайті.
</string> </string>
<string name="outro_license">Це ПЗ поставляється без жодних гарантій.</string> <string name="settings_outro_license">Це ПЗ поставляється без жодних гарантій.</string>
</resources> </resources>
+97 -136
View File
@@ -1,117 +1,66 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Look4Sat</string> <!-- Commmon -->
<string name="app_timer">00:00:00</string> <string name="btn_accept">确定</string>
<string name="app_version">版本:%s</string> <string name="btn_cancel">取消</string>
<string name="app_subtitle">人造卫星追踪和过境预测</string> <string name="empty_list_message">没有可显示的内容</string>
<!-- Navigation -->
<string name="nav_satellites">卫星</string> <string name="nav_satellites">卫星</string>
<string name="nav_passes">过境</string> <string name="nav_passes">过境</string>
<string name="nav_radar">Radar</string> <string name="nav_radar">Radar</string>
<string name="nav_map">世界地图</string> <string name="nav_map">地图</string>
<string name="nav_settings">设置</string> <string name="nav_settings">设置</string>
<!--Buttons--> <!-- Satellites screen -->
<string name="satellites_select_all">全选</string>
<string name="btn_add">添加</string> <string name="satellites_clear_all">全部清空</string>
<string name="btn_accept">确定</string> <string name="satellites_select_type">选择卫星类型</string>
<string name="btn_understand">了解</string> <string name="satellites_type">选择类型:%s</string>
<string name="btn_cancel">取消</string> <string name="satellites_search_hint">Name / Id</string>
<string name="btn_back">后退</string> <string name="satellites_empty_list_message">请确保您的搜素无误并且卫星数据已更新</string>
<string name="btn_modes">模式</string> <string name="satellites_warning_title">警告!</string>
<string name="btn_select">全选</string> <string name="satellites_warning_message">此应用收录了超过9000颗卫星信息\n同时追踪所有卫星并不现实\n建议始终通过搜索和分类筛选功能仅勾选您感兴趣的卫星</string>
<string name="btn_done">完毕</string>
<string name="btn_clear">清空</string>
<string name="btn_clear_all">全部清空</string>
<string name="btn_refresh">刷新</string>
<string name="btn_map">地图</string>
<string name="btn_filter">筛选</string>
<string name="btn_satellites">卫星</string>
<string name="btn_settings">设置</string>
<string name="btn_prev">上一个</string>
<string name="btn_next">下一个</string>
<string name="btn_notify">通知</string>
<string name="btn_gps">GPS 定位</string>
<string name="btn_manual">手动输入</string>
<string name="btn_qth">QTH 网格</string>
<string name="btn_web">在线更新</string>
<string name="btn_import">导入文件</string>
<string name="btn_github">GitHub</string>
<string name="btn_donate">支持</string>
<string name="btn_fdroid">F-Droid</string>
<string name="btn_license">GNU GPLv3</string>
<string name="btn_privacy">隐私政策</string>
<!--Dialogs-->
<string name="passes_welcome_message">请务必在设置中通过GPS、经纬度或QTH定位您的位置\n建议至少每周更新一次数据库,以确保预测结果的准确性</string>
<string name="filter_title">筛选过境</string>
<string name="filter_hours_hint">小时数</string>
<string name="filter_hours_text">显示未来 X 小时内的过境</string>
<string name="filter_elev_hint">仰角值</string>
<string name="filter_elev_text">显示最高仰角超过该值的过境</string>
<string name="locator_title">QTH 网格</string>
<string name="locator_text">使用梅登黑德网格设置站位</string>
<string name="locator_hint">6 位网格代码</string>
<string name="modes_title">选择调制类型</string>
<string name="position_title">站位设置</string>
<string name="position_lat_text">输入站位的纬度</string>
<string name="position_lat_hint">纬度</string>
<string name="position_lon_text">输入站位的经度</string>
<string name="position_lon_hint">经度</string>
<string name="sources_title">管理数据源</string>
<string name="sources_hint">HTTPS 来源</string>
<string name="types_title">选择卫星类型</string>
<string name="types_message">选择类型:%s</string>
<!--Fragments-->
<string name="entries_search_hint">Name / Id</string>
<!-- Passes screen -->
<string name="passes_filter_passes">筛选过境</string>
<string name="passes_filter_within">小时数</string>
<string name="passes_filter_above">仰角值</string>
<string name="passes_filter_modes">选择调制类型</string>
<string name="passes_error">没有即将过境的卫星</string> <string name="passes_error">没有即将过境的卫星</string>
<string name="passes_empty_db">没有数据可显示,请通过设置菜单更新卫星数据。</string> <string name="passes_empty_db">没有数据可显示,请通过设置菜单更新卫星数据。</string>
<string name="passes_deep_space">DeepSpace</string>
<string name="passes_elevation">仰角:%.1f°</string>
<string name="passes_altitude">高度:%d km</string>
<string name="passes_placeholder"> -- : -- : -- </string>
<string name="passes_empty_list_message">请确保您的筛选设置正确并且已勾选卫星</string>
<string name="passes_welcome_title">欢迎使用Look4Sat!</string>
<string name="passes_welcome_message">请务必在设置中通过GPS、经纬度或QTH定位您的位置\n建议至少每周更新一次数据库,以确保预测结果的准确性</string>
<string name="pass_satName">%s</string> <!-- Radar screen -->
<string name="pass_satId">Id:%d</string>
<string name="pass_aosAz">入境 - %.1f°</string>
<string name="pass_elevation">仰角:%.1f°</string>
<string name="pass_losAz">%.1f° - 出境</string>
<string name="pass_altitude">高度:%d km</string>
<string name="pass_placeholder"> -- : -- : -- </string>
<string name="pass_startTime">HH:mm:ss - EEE</string>
<string name="pass_endTime">EEE - HH:mm:ss</string>
<string name="radar_az_text">方位角</string> <string name="radar_az_text">方位角</string>
<string name="radar_az_value">%.1f°</string>
<string name="radar_el_text">仰角</string> <string name="radar_el_text">仰角</string>
<string name="radar_el_value">%.1f°</string>
<string name="radar_alt_text">高度</string> <string name="radar_alt_text">高度</string>
<string name="radar_alt_value">%.0f km</string>
<string name="radar_dist_text">距离</string> <string name="radar_dist_text">距离</string>
<string name="radar_dist_value">%.0f km</string>
<string name="radar_visible">日照中</string> <string name="radar_visible">日照中</string>
<string name="radar_eclipsed">地影中</string> <string name="radar_eclipsed">地影中</string>
<string name="radar_sat_name">%s</string> <string name="radar_mode">调制:%s</string>
<string name="radar_sat_id">Id:%d</string> <string name="radar_inverted">倒置:%s</string>
<string name="radar_info">%s</string>
<string name="radio_mode">调制:%s</string> <string name="radar_no_link">- - . - -</string>
<string name="radio_inverted">倒置:%s</string> <string name="radar_link_low">%.4f</string>
<string name="radio_info">%s</string> <string name="radar_link_lowHigh">%.4f - %.4f</string>
<string name="radio_no_link">- - . - -</string> <string name="radar_data">卫星收发器:</string>
<string name="radio_link_low">%.4f</string> <string name="radar_no_data">这颗卫星没有收发器</string>
<string name="radio_link_lowHigh">%.4f - %.4f</string> <string name="radar_string_yes">是</string>
<string name="radio_data">卫星收发器:</string> <string name="radar_string_no">否</string>
<string name="radio_no_data">这颗卫星没有收发器</string> <string name="radar_downlink">下行链路</string>
<string name="radio_string_yes">是</string> <string name="radar_uplink">上行链路</string>
<string name="radio_string_no">否</string> <string name="radar_add">添加</string>
<string name="radio_downlink">下行链路</string> <string name="radar_back">后退</string>
<string name="radio_uplink">上行链路</string> <string name="radar_notify">通知</string>
<!-- Map screen -->
<string name="map_title">世界地图</string> <string name="map_title">世界地图</string>
<string name="map_sat_name">%s</string> <string name="map_sat_name">%s</string>
<string name="map_sat_id">Id:%d</string> <string name="map_sat_id">Id:%d</string>
@@ -128,46 +77,64 @@
<string name="map_distance">距离:%.0f km</string> <string name="map_distance">距离:%.0f km</string>
<string name="map_velocity">速度:%.2f km/s</string> <string name="map_velocity">速度:%.2f km/s</string>
<string name="map_copyright">维基媒体地图 | 地图数据 贡献者 © OpenStreetMap</string> <string name="map_copyright">维基媒体地图 | 地图数据 贡献者 © OpenStreetMap</string>
<string name="map_prev">上一个</string>
<string name="map_next">下一个</string>
<!--Cards--> <!-- Settings screen -->
<string name="settings_location_title">站位</string>
<string name="settings_location_lat">纬度:%.4f°</string>
<string name="settings_location_lon">经度:%.4f°</string>
<string name="settings_location_null">没有地理位置数据</string>
<string name="settings_location_gps_error">检查您的位置权限</string>
<string name="settings_location_manual_error">输入的位置无效</string>
<string name="settings_location_qth_error">无效的 QTH 网格</string>
<string name="settings_location_success">位置更新成功</string>
<string name="location_title">站位</string> <string name="settings_data_title">卫星数据更新</string>
<string name="location_lat">纬度:%.4f°</string> <string name="settings_data_error">更新完成但出现错误</string>
<string name="location_lon">经度:%.4f°</string> <string name="settings_data_update">最后更新时间:%s</string>
<string name="location_null">没有地理位置数据</string> <string name="settings_data_entries">卫星:%s</string>
<string name="location_gps_error">检查您的位置权限</string> <string name="settings_data_radios">收发器:%s</string>
<string name="location_manual_error">输入的位置无效</string> <string name="settings_data_success">更新成功</string>
<string name="location_qth_error">无效的 QTH 网格</string> <string name="settings_data_clear_success">数据清空成功</string>
<string name="location_success">位置更新成功</string>
<string name="data_title">卫星数据更新</string> <string name="settings_last_updated_pattern">yyyy MMM d - HH:mm:ss</string>
<string name="data_error">更新完成但出现错误</string> <string name="settings_remote_title">旋转器首选项</string>
<string name="data_update">最后更新时间:%s</string> <string name="settings_remote_switch">启用远程控制</string>
<string name="data_entries">卫星:%s</string> <string name="settings_remote_ip_hint">IP地址</string>
<string name="data_radios">收发器:%s</string> <string name="settings_remote_port_hint">端口</string>
<string name="data_success">更新成功</string>
<string name="data_clear_success">数据清空成功</string>
<string name="last_updated_pattern">yyyy MMM d - HH:mm:ss</string> <string name="settings_BTremote_title">蓝牙数据输出</string>
<string name="remote_title">旋转器首选项</string> <string name="settings_BTremote_switch">启用输出</string>
<string name="remote_switch">启用远程控制</string> <string name="settings_BTremote_device_hint">蓝牙设备 ID</string>
<string name="remote_ip_hint">IP地址</string> <string name="settings_BTremote_output_hint">数据格式</string>
<string name="remote_port_hint">端口</string> <string name="settings_BTremote_perm_error">请检查蓝牙权限</string>
<string name="BTremote_title">蓝牙数据输出</string> <string name="settings_other_switch_utc">以 UTC 时间显示</string>
<string name="BTremote_switch">启用输出</string> <string name="settings_other_switch_update">启用卫星数据自动更新</string>
<string name="BTremote_device_hint">蓝牙设备 ID</string> <string name="settings_other_switch_sweep">启用雷达扫描动画</string>
<string name="BTremote_output_hint">数据格式</string> <string name="settings_other_switch_sensors">使用传感器旋转雷达视图</string>
<string name="BTremote_perm_error">请检查蓝牙权限</string>
<string name="other_switch_utc">以 UTC 时间显示</string> <string name="settings_data_clear">清空</string>
<string name="other_switch_update">启用卫星数据自动更新</string> <string name="settings_station_gps">GPS 定位</string>
<string name="other_switch_sweep">启用雷达扫描动画</string> <string name="settings_station_manual">手动输入</string>
<string name="other_switch_sensors">使用传感器旋转雷达视图</string> <string name="settings_station_qth">QTH 网格</string>
<string name="other_switch_light_theme">使用旧版配色方案</string> <string name="settings_data_online">在线更新</string>
<string name="settings_data_import">导入文件</string>
<string name="settings_github">GitHub</string>
<string name="settings_donate">支持</string>
<string name="settings_fdroid">F-Droid</string>
<string name="settings_license">GNU GPLv3</string>
<string name="settings_privacy">隐私政策</string>
<string name="outro_title">我要感谢:</string> <string name="settings_locator_title">QTH 网格</string>
<string name="outro_thanks">感谢下载和使用 Look4Sat!愿你的天空永远晴朗! <string name="settings_locator_text">使用梅登黑德网格设置站位</string>
<string name="settings_position_title">站位设置</string>
<string name="settings_position_lat_text">输入站位的纬度</string>
<string name="settings_position_lon_text">输入站位的经度</string>
<string name="settings_outro_title">我要感谢:</string>
<string name="settings_outro_thanks">感谢下载和使用 Look4Sat!愿你的天空永远晴朗!
\n简体中文版翻译由 <a href="https://github.com/BA7LWN">BA7LWN</a> 于 2022.5.10 创建。 \n简体中文版翻译由 <a href="https://github.com/BA7LWN">BA7LWN</a> 于 2022.5.10 创建。
\n<a href="https://github.com/g4dpz">David A. B. Johnson</a> \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 and <a href="https://github.com/davidmoten">Dave Moten</a> for creating predict4java lib
@@ -181,12 +148,6 @@
\n<a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a> \n<a href="https://appoftheday.downloadastro.com/app/look4sat-satellite-tracker/">DownloadAstro</a>
team for their interest to the app and the interview published. team for their interest to the app and the interview published.
</string> </string>
<string name="outro_license">该应用程序不提供任何保修.</string> <string name="settings_outro_license">该应用程序不提供任何保修.</string>
<string name="empty_list_title">没有可显示的内容</string>
<string name="satellites_empty_list_message">请确保您的搜素无误并且卫星数据已更新</string>
<string name="satellites_warning_title">警告!</string>
<string name="satellites_warning_message">此应用收录了超过9000颗卫星信息\n同时追踪所有卫星并不现实\n建议始终通过搜索和分类筛选功能仅勾选您感兴趣的卫星</string>
<string name="passes_empty_list_message">请确保您的筛选设置正确并且已勾选卫星</string>
<string name="passes_welcome_title">欢迎使用Look4Sat!</string>
</resources>
</resources>
+108 -138
View File
@@ -1,132 +1,81 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name">Look4Sat</string> <!-- Commmon -->
<string name="app_timer">00:00:00</string> <string name="app_name" translatable="false">Look4Sat</string>
<string name="app_version">Version: %s</string> <string name="btn_accept">Accept</string>
<string name="app_subtitle">Satellite tracker and pass predictor</string> <string name="btn_cancel">Cancel</string>
<string name="empty_list_message">No items to display</string>
<!-- Navigation -->
<string name="nav_satellites">Satellites</string> <string name="nav_satellites">Satellites</string>
<string name="nav_passes">Passes</string> <string name="nav_passes">Passes</string>
<string name="nav_radar">Radar</string> <string name="nav_radar">Radar</string>
<string name="nav_map">Map</string> <string name="nav_map">Map</string>
<string name="nav_settings">Settings</string> <string name="nav_settings">Settings</string>
<!--Buttons--> <!-- Satellites screen -->
<string name="btn_add">Add</string> <string name="satellites_type">Selected type: %s</string>
<string name="btn_accept">Accept</string> <string name="satellites_search_hint">Id - Name</string>
<string name="btn_understand" translatable="false">I Understand</string> <string name="satellites_clear_all">Clear all</string>
<string name="btn_cancel">Cancel</string> <string name="satellites_select_all">Select all</string>
<string name="btn_back">Back</string> <string name="satellites_select_type">Select satellite type</string>
<string name="btn_modes">Modes</string> <string name="satellites_empty_list_message">
<string name="btn_select">Select all</string>
<string name="btn_done">Done</string>
<string name="btn_clear">Clear</string>
<string name="btn_clear_all">Clear all</string>
<string name="btn_refresh">Refresh</string>
<string name="btn_map">Map</string>
<string name="btn_filter">Filter</string>
<string name="btn_satellites">Satellites</string>
<string name="btn_settings">Settings</string>
<string name="btn_prev">Prev</string>
<string name="btn_next">Next</string>
<string name="btn_notify">Notify</string>
<string name="btn_gps">GPS</string>
<string name="btn_manual">Manual</string>
<string name="btn_qth">QTH</string>
<string name="btn_web">Online</string>
<string name="btn_import">Import</string>
<string name="btn_github">GitHub</string>
<string name="btn_donate">Donate</string>
<string name="btn_fdroid">F-Droid</string>
<string name="btn_license">GPLv3 Licence</string>
<string name="btn_privacy">Privacy Policy</string>
<!--Commmon-->
<string name="empty_list_title" translatable="false">No items to display</string>
<!--Dialogs-->
<string name="satellites_empty_list_message" translatable="false">
Make sure your search query is correct and the DB is updated</string> Make sure your search query is correct and the DB is updated</string>
<string name="satellites_warning_title" translatable="false">Warning\!</string> <string name="satellites_warning_title">Warning\!</string>
<string name="satellites_warning_message" translatable="false"> <string name="satellites_warning_message">
There are over 9000 satellites listed in this app. There are over 9000 satellites listed in this app.
It makes no sense to track them all at the same time. It makes no sense to track them all at the same time.
\n\nAlways try to narrow down the list to only the ones \n\nAlways try to narrow down the list to only the ones
you\'re interested in via search and types selector.</string> you\'re interested in via search and types selector.</string>
<string name="passes_empty_list_message" translatable="false">
<!-- Passes screen -->
<string name="passes_filter_passes">Filter passes</string>
<string name="passes_filter_above">Minimal elevation</string>
<string name="passes_filter_within">Hours ahead</string>
<string name="passes_filter_modes">Select modulation type</string>
<string name="passes_error">There are no upcoming satellite passes to display</string>
<string name="passes_empty_db">No data to show. Please update the database via Settings menu.</string>
<string name="passes_deep_space">DeepSpace</string>
<string name="passes_satId" translatable="false">%05d</string>
<string name="passes_aosLos" translatable="false">%03d° - %03d°</string>
<string name="passes_elevation">Elevation: %.1f°</string>
<string name="passes_altitude">Altitude: %d km</string>
<string name="passes_placeholder"> -- : -- : -- </string>
<string name="passes_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="passes_welcome_title" translatable="false">Welcome to Look4Sat\!</string> <string name="passes_welcome_title">Welcome to Look4Sat\!</string>
<string name="passes_welcome_message" translatable="false"> <string name="passes_welcome_message">
Make sure to set your position via GPS, Lat/Lon or QTH in Settings. Make sure to set your position via GPS, Lat/Lon or QTH in Settings.
\n\nPlease update the database at least weekly to get accurate predictions.</string> \n\nPlease update the database at least weekly to get accurate predictions.</string>
<string name="filter_title">Filter passes</string> <!-- Radar screen -->
<string name="filter_hours_hint">Hours ahead</string>
<string name="filter_hours_text">Show passes that occur within X hours</string>
<string name="filter_elev_hint">Minimal elevation</string>
<string name="filter_elev_text">Show passes with max elevation above</string>
<string name="locator_title">QTH locator settings</string>
<string name="locator_text">Set station\'s position using locator</string>
<string name="locator_hint">QTH</string>
<string name="modes_title">Select modulation type</string>
<string name="position_title">Station position settings</string>
<string name="position_lat_text">Set your ground station\'s latitude</string>
<string name="position_lat_hint">Latitude</string>
<string name="position_lon_text">Set your ground station\'s longitude</string>
<string name="position_lon_hint">Longitude</string>
<string name="sources_title">Manage data sources</string>
<string name="sources_hint">HTTPS Source</string>
<string name="types_title">Select satellite type</string>
<string name="types_message">Selected type: %s</string>
<!--Fragments-->
<string name="entries_search_hint">Id - Name</string>
<string name="passes_error">There are no upcoming satellite passes to display</string>
<string name="passes_empty_db">No data to show. Please update the database via Settings menu.</string>
<string name="pass_satName">%s</string>
<string name="pass_satId">Id:%05d</string>
<string name="pass_aosAz">AOS - %.1f°</string>
<string name="pass_aosLos" translatable="false">%03d° - %03d°</string>
<string name="pass_elevation">Elevation: %.1f°</string>
<string name="pass_losAz">%.1f° - LOS</string>
<string name="pass_altitude">Altitude: %d km</string>
<string name="pass_placeholder"> -- : -- : -- </string>
<string name="pass_startTime">HH:mm:ss - EEE</string>
<string name="pass_endTime">EEE - HH:mm:ss</string>
<string name="radar_az_text">Azimuth</string> <string name="radar_az_text">Azimuth</string>
<string name="radar_az_value">%.1f°</string> <string name="radar_az_value" translatable="false">%.1f°</string>
<string name="radar_el_text">Elevation</string> <string name="radar_el_text">Elevation</string>
<string name="radar_el_value">%.1f°</string> <string name="radar_el_value" translatable="false">%.1f°</string>
<string name="radar_alt_text">Altitude</string> <string name="radar_alt_text">Altitude</string>
<string name="radar_alt_value">%.0f km</string> <string name="radar_alt_value" translatable="false">%.0f km</string>
<string name="radar_dist_text">Distance</string> <string name="radar_dist_text">Distance</string>
<string name="radar_dist_value">%.0f km</string> <string name="radar_dist_value" translatable="false">%.0f km</string>
<string name="radar_visible">Visible</string> <string name="radar_visible">Visible</string>
<string name="radar_eclipsed">Eclipsed</string> <string name="radar_eclipsed">Eclipsed</string>
<string name="radar_sat_name">%s</string> <string name="radar_notify">Notify</string>
<string name="radar_sat_id">Id:%d</string> <string name="radar_mode">Mode: %s</string>
<string name="radar_inverted">Inverted: %s</string>
<string name="radio_mode">Mode: %s</string> <string name="radar_info">%s</string>
<string name="radio_inverted">Inverted: %s</string> <string name="radar_no_link">- - . - -</string>
<string name="radio_info">%s</string> <string name="radar_link_low">%.4f</string>
<string name="radio_no_link">- - . - -</string> <string name="radar_link_lowHigh">%.4f - %.4f</string>
<string name="radio_link_low">%.4f</string> <string name="radar_data">Satellite transceivers:</string>
<string name="radio_link_lowHigh">%.4f - %.4f</string> <string name="radar_no_data">This satellite has no transceivers</string>
<string name="radio_data">Satellite transceivers:</string> <string name="radar_string_yes">Yes</string>
<string name="radio_no_data">This satellite has no transceivers</string> <string name="radar_string_no">No</string>
<string name="radio_string_yes">Yes</string> <string name="radar_downlink">Downlink</string>
<string name="radio_string_no">No</string> <string name="radar_uplink">Uplink</string>
<string name="radio_downlink">Downlink</string> <string name="radar_back">Back</string>
<string name="radio_uplink">Uplink</string> <string name="radar_add">Add</string>
<!-- Map screen -->
<string name="map_title">World Map</string> <string name="map_title">World Map</string>
<string name="map_sat_name">%s</string> <string name="map_sat_name">%s</string>
<string name="map_sat_id">Id:%d</string> <string name="map_sat_id">Id:%d</string>
@@ -144,46 +93,66 @@
<string name="map_distance">Distance: %.0f km</string> <string name="map_distance">Distance: %.0f km</string>
<string name="map_velocity">Velocity: %.2f km/s</string> <string name="map_velocity">Velocity: %.2f km/s</string>
<string name="map_copyright">Wikimedia maps | Map data © OpenStreetMap contributors</string> <string name="map_copyright">Wikimedia maps | Map data © OpenStreetMap contributors</string>
<string name="map_prev">Prev</string>
<string name="map_next">Next</string>
<!--Cards--> <!-- Settings screen -->
<string name="location_title">Station position</string> <string name="settings_location_title">Station position</string>
<string name="location_lat">Latitude: %.4f°</string> <string name="settings_location_lat">Latitude: %.4f°</string>
<string name="location_lon">Longitude: %.4f°</string> <string name="settings_location_lon">Longitude: %.4f°</string>
<string name="location_null">No geolocation data</string> <string name="settings_location_null">No geolocation data</string>
<string name="location_gps_error">Check your location permissions</string> <string name="settings_location_gps_error">Check your location permissions</string>
<string name="location_manual_error">Invalid location entered</string> <string name="settings_location_manual_error">Invalid location entered</string>
<string name="location_qth_error">Invalid QTH locator</string> <string name="settings_location_qth_error">Invalid QTH locator</string>
<string name="location_success">Position updated successfully</string> <string name="settings_location_success">Position updated successfully</string>
<string name="data_title">Satellite data update</string> <string name="settings_data_clear">Clear</string>
<string name="data_error">Update completed with errors</string> <string name="settings_station_gps">GPS</string>
<string name="data_update">Last updated: %s</string> <string name="settings_station_manual">Manual</string>
<string name="data_entries">Satellites: %s</string> <string name="settings_station_qth">QTH</string>
<string name="data_radios">Transceivers: %s</string> <string name="settings_data_online">Online</string>
<string name="data_success">Update completed successfully</string> <string name="settings_data_import">Import</string>
<string name="data_clear_success">Data was cleared successfully</string> <string name="settings_github">GitHub</string>
<string name="settings_donate">Donate</string>
<string name="settings_fdroid">F-Droid</string>
<string name="settings_license">GPLv3 Licence</string>
<string name="settings_privacy">Privacy Policy</string>
<string name="last_updated_pattern" translatable="false">d MMM yyyy - HH:mm:ss</string> <string name="settings_position_title">Station position settings</string>
<string name="settings_position_lat_text">Set your ground station\'s latitude</string>
<string name="settings_position_lon_text">Set your ground station\'s longitude</string>
<string name="remote_title">Rotator preferences</string> <string name="settings_locator_title">QTH locator settings</string>
<string name="remote_switch">Enable remote control</string> <string name="settings_locator_text">Set station\'s position using locator</string>
<string name="remote_ip_hint">IP address</string>
<string name="remote_port_hint">Port</string>
<string name="BTremote_title">Bluetooth data output</string> <string name="settings_data_title">Satellite data update</string>
<string name="BTremote_switch">Enable output</string> <string name="settings_data_error">Update completed with errors</string>
<string name="BTremote_device_hint">Device id</string> <string name="settings_data_update">Last updated: %s</string>
<string name="BTremote_output_hint">Data format</string> <string name="settings_data_entries">Satellites: %s</string>
<string name="BTremote_perm_error">Check your bluetooth permission</string> <string name="settings_data_radios">Transceivers: %s</string>
<string name="settings_data_success">Update completed successfully</string>
<string name="settings_data_clear_success">Data was cleared successfully</string>
<string name="other_switch_utc">Show pass time in UTC</string> <string name="settings_last_updated_pattern">d MMM yyyy - HH:mm:ss</string>
<string name="other_switch_update">Enable automatic data update</string>
<string name="other_switch_sweep">Enable radar sweep animation</string>
<string name="other_switch_sensors">Use sensors to rotate radar view</string>
<string name="other_switch_light_theme">Use light theme</string>
<string name="outro_title">I would like to say thanks to:</string> <string name="settings_remote_title">Rotator preferences</string>
<string name="outro_thanks">You for downloading and using Look4Sat! \nMay your sky always be clear! <string name="settings_remote_switch">Enable remote control</string>
<string name="settings_remote_ip_hint">IP address</string>
<string name="settings_remote_port_hint">Port</string>
<string name="settings_BTremote_title">Bluetooth data output</string>
<string name="settings_BTremote_switch">Enable output</string>
<string name="settings_BTremote_device_hint">Device id</string>
<string name="settings_BTremote_output_hint">Data format</string>
<string name="settings_BTremote_perm_error">Check your bluetooth permission</string>
<string name="settings_other_switch_utc">Show pass time in UTC</string>
<string name="settings_other_switch_update">Enable automatic data update</string>
<string name="settings_other_switch_sweep">Enable radar sweep animation</string>
<string name="settings_other_switch_sensors">Use sensors to rotate radar view</string>
<string name="settings_outro_title">I would like to say thanks to:</string>
<string name="settings_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> \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. 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 \n<a href="https://github.com/csete">Alexandru Csete</a> for creating Gpredict
@@ -193,5 +162,6 @@
\n<a href="https://libre.space/">Libre Space Foundation</a> for their \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. <a href="https://db.satnogs.org/">SatNOGS</a> API and DB providing a huge amount of data.
</string> </string>
<string name="outro_license">The app comes with no warranty.</string> <string name="settings_outro_license">The app comes with no warranty.</string>
</resources> </resources>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

-2
View File
@@ -1,6 +1,4 @@
# Configure your build environment: http://www.gradle.org/docs/current/userguide/build_environment.html # Configure your build environment: http://www.gradle.org/docs/current/userguide/build_environment.html
android.experimental.enableScreenshotTest=true
android.r8.optimizedResourceShrinking=true
android.useAndroidX=true android.useAndroidX=true
kotlin.code.style=official kotlin.code.style=official
org.gradle.caching=true org.gradle.caching=true
+1 -1
View File
@@ -13,7 +13,7 @@ compose-lifecycle = "2.10.0"
compose-navigation = "2.9.6" compose-navigation = "2.9.6"
other-coroutines = "1.10.2" other-coroutines = "1.10.2"
other-json = "20250517" other-json = "20251224"
other-okhttp = "5.3.2" other-okhttp = "5.3.2"
other-osmdroid = "6.1.20" other-osmdroid = "6.1.20"