mirror of
https://github.com/d4rken-org/capod.git
synced 2026-09-14 18:26:11 -04:00
Compare commits
24
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d30844fa8 | ||
|
|
af1b1b4249 | ||
|
|
2cce9ae56c | ||
|
|
4bab7c61a9 | ||
|
|
81e2bc1dba | ||
|
|
df2783d8a1 | ||
|
|
20a6953b54 | ||
|
|
fdd4f69247 | ||
|
|
5ee777b196 | ||
|
|
dd827af3cd | ||
|
|
948205667b | ||
|
|
dbbfa75429 | ||
|
|
78790f73df | ||
|
|
2950d8b3f9 | ||
|
|
4d3a9bc165 | ||
|
|
7d57845502 | ||
|
|
83ef111599 | ||
|
|
0e6848d886 | ||
|
|
1eeeb63a76 | ||
|
|
a4ba302223 | ||
|
|
8c9094d85a | ||
|
|
4529b107dd | ||
|
|
17663bc759 | ||
|
|
278257998b |
Binary file not shown.
|
Before Width: | Height: | Size: 332 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 760 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 761 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 605 KiB |
@@ -81,8 +81,7 @@ Currently supported models:
|
||||
|
||||
## Screenshots
|
||||
|
||||
<img src="https://github.com/d4rken-org/capod/raw/main/.assets/screenshots/1.png" width="200"><img src="https://github.com/d4rken-org/capod/raw/main/.assets/screenshots/2.png" width="200"><img src="https://github.com/d4rken-org/capod/raw/main/.assets/screenshots/3.png" width="200"><img src="https://github.com/d4rken-org/capod/raw/main/.assets/screenshots/4.png" width="200">
|
||||
<img src="https://raw.githubusercontent.com/d4rken-org/capod/main/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png" width="200">
|
||||
<img src="https://github.com/d4rken-org/capod/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/1_dashboard_light.png" width="100"><img src="https://github.com/d4rken-org/capod/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/2_dashboard_dark.png" width="100"><img src="https://github.com/d4rken-org/capod/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/3_case_popup.png" width="100"><img src="https://github.com/d4rken-org/capod/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/4_widget_configuration.png" width="100"><img src="https://github.com/d4rken-org/capod/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/5_device_profiles.png" width="100"><img src="https://github.com/d4rken-org/capod/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/6_add_profile.png" width="100"><img src="https://github.com/d4rken-org/capod/raw/main/fastlane/metadata/android/en-US/images/phoneScreenshots/7_device_settings_reactions.png" width="100">
|
||||
|
||||
## Thanks to
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 20 KiB |
@@ -57,7 +57,7 @@ internal fun DashboardContent(showAap: Boolean = false) = PreviewWrapper {
|
||||
now = MOCK_NOW,
|
||||
permissions = emptySet(),
|
||||
devices = devices,
|
||||
isDebugMode = false,
|
||||
isDebug = false,
|
||||
isBluetoothEnabled = true,
|
||||
profiles = listOf(
|
||||
MockPodDataProvider.profile("My AirPods Pro", PodModel.AIRPODS_PRO2),
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="foss_upgrade_donate_label">تبرُّع</string>
|
||||
<string name="foss_upgrade_alreadydonated_label">أنا متبرع بالفعل</string>
|
||||
<string name="foss_upgrade_no_money_label">أُنفق كل أموالي على AirPods</string>
|
||||
<string name="upgrade_foss_preamble">CAPod FOSS مجاني ومفتوح المصدر. إذا وجدته مفيداً، فكر في دعم التطوير للمساعدة في استمرار المشروع.</string>
|
||||
<string name="upgrade_foss_sponsor_action">ادعم التطوير</string>
|
||||
<string name="upgrade_foss_sponsor_subtitle">لا إعلانات. لا تتبع. لا قيود على Google Play.</string>
|
||||
<string name="upgrade_foss_sponsor_returned_early">عدت بسرعة؟ دعمك يبقي CAPod حياً.</string>
|
||||
<string name="foss_upgrade_donate_label">تبرع</string>
|
||||
<string name="foss_upgrade_alreadydonated_label">أنا متبرّع فعلًا</string>
|
||||
<string name="foss_upgrade_no_money_label">أنفق كل أموالي على AirPods</string>
|
||||
<string name="upgrade_foss_preamble">CAPod FOSS مجاني ومفتوح المصدر. إذا وجدته مفيدًا، ففكّر في دعم تطويره للمساعدة في استمرار المشروع.</string>
|
||||
<string name="upgrade_foss_sponsor_action">دعم المشروع</string>
|
||||
<string name="upgrade_foss_sponsor_subtitle">لا إعلانات. لا تتبع. لا قيود من Google Play.</string>
|
||||
<string name="upgrade_foss_sponsor_returned_early">هل عدت فعلًا؟ دعمكم يُبقي CAPod حيًا.</string>
|
||||
<string name="upgrade_badge_label">البرمجيات الحرة (FOSS)</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="upgrades_gplay_unavailable_error">خدمات Google Play غير متاحة.</string>
|
||||
<string name="upgrades_gplay_unavailable_error">خدمات Google Play غير متوفّرة.</string>
|
||||
<string name="upgrades_no_purchases_found_check_account">لم يتم العثور على أي مشتريات. هل تستخدم الحساب الصحيح؟</string>
|
||||
<string name="upgrades_gplay_billing_error_label">خطأ في Google Play</string>
|
||||
<string name="upgrades_gplay_billing_error_description">حدث خطأ في Google Play. يرجى المحاولة مرة أخرى لاحقًا أو إعادة تشغيل هاتفك.\n\nخطأ: %s</string>
|
||||
<string name="upgrades_gplay_billing_error_description">حدث خطأ في Google Play. يُرجى المحاولة لاحقًا أو إعادة تشغيل هاتفك.\n\nخطأ: %s</string>
|
||||
<string name="upgrades_gplay_billing_result_error_label">خطأ في فوترة Google Play</string>
|
||||
<string name="upgrades_gplay_billing_result_error_description">حدث خطأ عند طلب تفاصيل الشراء من Google Play. امسح ذاكرة التخزين المؤقت لـ Google Play وأعد تشغيل هاتفك.\n\nخطأ %s</string>
|
||||
<string name="upgrade_restore_action">استعادة المُشتَرَى</string>
|
||||
<string name="upgrade_badge_label">احترافي</string>
|
||||
<string name="upgrades_gplay_billing_result_error_description">حدث خطأ أثناء طلب تفاصيل عملية الشراء من Google Play. يُرجى مسح ذاكرة التخزين المؤقّت لـ Google Play وإعادة تشغيل هاتفك.\n\nخطأ %s</string>
|
||||
<string name="upgrade_restore_action">استعادة المشتريات</string>
|
||||
<string name="upgrade_badge_label">النسخة الاحترافية</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
package eu.darken.capod.common
|
||||
|
||||
import android.media.AudioManager
|
||||
import android.media.AudioPlaybackConfiguration
|
||||
import android.os.Build
|
||||
import android.view.KeyEvent
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.INFO
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import kotlinx.coroutines.delay
|
||||
@@ -14,48 +17,103 @@ class MediaControl @Inject constructor(
|
||||
private val audioManager: AudioManager,
|
||||
private val timeSource: TimeSource,
|
||||
) {
|
||||
private var capPauseExpiryElapsedRealtime: Long = 0L
|
||||
/**
|
||||
* Set when [sendPause] dispatches a pause we expect to take effect, cleared when [sendPlay]
|
||||
* dispatches a resume or when music transitions inactive→active from any source. Read by
|
||||
* [PlayPause] to gate auto-resume on pod-in: only resume if we're the ones who paused.
|
||||
*
|
||||
* "Sticky" — no time-based expiry. The original 15-second window was too short for typical
|
||||
* pod-out conversations and had a known race where music starting again via another source
|
||||
* (e.g. user manually resumed) could trigger a stray play-key dispatch on the next pod-in.
|
||||
*/
|
||||
@Volatile private var capPaused: Boolean = false
|
||||
@Volatile private var lastKnownMusicActive: Boolean = false
|
||||
|
||||
private val playbackCallback = object : AudioManager.AudioPlaybackCallback() {
|
||||
override fun onPlaybackConfigChanged(configs: List<AudioPlaybackConfiguration>) {
|
||||
val nowActive = audioManager.isMusicActive
|
||||
if (!lastKnownMusicActive && nowActive) {
|
||||
// Music started by some source (could be us via sendPlay or someone else).
|
||||
// Either way, our pause memory is stale — drop it so a future pod-in doesn't
|
||||
// re-fire a play key over already-active music.
|
||||
capPaused = false
|
||||
}
|
||||
lastKnownMusicActive = nowActive
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
// Seed the active flag from current state so we won't miss the next inactive→active
|
||||
// transition if music is already playing when MediaControl is constructed.
|
||||
lastKnownMusicActive = audioManager.isMusicActive
|
||||
audioManager.registerAudioPlaybackCallback(playbackCallback, null)
|
||||
}
|
||||
|
||||
val isPlaying: Boolean
|
||||
get() = audioManager.isMusicActive
|
||||
|
||||
val wasRecentlyPausedByCap: Boolean
|
||||
get() = capPauseExpiryElapsedRealtime > timeSource.elapsedRealtime()
|
||||
get() = capPaused
|
||||
|
||||
suspend fun sendPlay() {
|
||||
log(TAG, INFO) { "sendPlay()" }
|
||||
if (audioManager.isMusicActive && !wasRecentlyPausedByCap) {
|
||||
if (audioManager.isMusicActive && !capPaused) {
|
||||
log(TAG, INFO) { "Music is already playing, not sending play" }
|
||||
return
|
||||
}
|
||||
sendKey(KeyEvent.KEYCODE_MEDIA_PLAY)
|
||||
clearRecentCapPause()
|
||||
capPaused = false
|
||||
}
|
||||
|
||||
/**
|
||||
* Dispatches a MEDIA_PAUSE key event if music is currently playing.
|
||||
*
|
||||
* Returns `true` when a key event was actually dispatched (and the 15-second
|
||||
* [wasRecentlyPausedByCap] window was set), `false` when the call was a no-op because
|
||||
* nothing was playing. Callers that need to distinguish "we actually paused" from "there
|
||||
* was nothing to pause" — e.g. the sleep reaction, which gates its notification and
|
||||
* cooldown on a real pause — should branch on the return value rather than checking
|
||||
* [isPlaying] themselves to avoid a check-then-act race with the audio system.
|
||||
* @param rememberForResume When `true`, arms [wasRecentlyPausedByCap] so a subsequent
|
||||
* pod-in transition can auto-resume — set this only from the auto-pause / ear-detection
|
||||
* flow. When `false` (default), the dispatched pause clears any pending auto-resume —
|
||||
* this is the path for stem-press play/pause, sleep detection, and anywhere else CAPod
|
||||
* is relaying an explicit user choice to stop playback. Matches Apple's iOS/macOS
|
||||
* behavior where only ear-removal auto-pauses are eligible for auto-resume.
|
||||
*
|
||||
* Returns `true` when a key event was actually dispatched, `false` when the call was a
|
||||
* no-op because nothing was playing. A no-op leaves the existing flag state untouched
|
||||
* (so a sleep-reaction firing while music is already paused doesn't accidentally cancel
|
||||
* a pending auto-resume from a recent ear-removal pause). Callers that need to
|
||||
* distinguish "we actually paused" from "there was nothing to pause" — e.g. the sleep
|
||||
* reaction, which gates its notification and cooldown on a real pause — should branch
|
||||
* on the return value rather than checking [isPlaying] themselves to avoid a
|
||||
* check-then-act race with the audio system.
|
||||
*/
|
||||
suspend fun sendPause(): Boolean {
|
||||
log(TAG, INFO) { "sendPause()" }
|
||||
suspend fun sendPause(rememberForResume: Boolean = false): Boolean {
|
||||
log(TAG, INFO) { "sendPause(rememberForResume=$rememberForResume)" }
|
||||
if (!audioManager.isMusicActive) {
|
||||
log(TAG, INFO) { "Music is not playing, not sending pause" }
|
||||
return false
|
||||
}
|
||||
// Set BEFORE the suspending sendKey() call. If we set after, an inactive→active
|
||||
// playback callback that fires during the dispatch (e.g. a fast user resume on the
|
||||
// phone, or another app grabbing audio focus and immediately starting) could clear
|
||||
// capPaused mid-dispatch and we'd then overwrite it back to true on a stale pause.
|
||||
// This single explicit assignment also covers the contract that an explicit user
|
||||
// pause cancels a pending auto-resume.
|
||||
capPaused = rememberForResume
|
||||
sendKey(KeyEvent.KEYCODE_MEDIA_PAUSE)
|
||||
markRecentCapPause()
|
||||
return true
|
||||
}
|
||||
|
||||
/**
|
||||
* Dispatches MEDIA_STOP and clears any pending auto-resume — Stop is an explicit user
|
||||
* "stay stopped" action, so a later pod-in must not auto-resume from a prior auto-pause.
|
||||
*/
|
||||
suspend fun sendStop() {
|
||||
log(TAG, INFO) { "sendStop()" }
|
||||
capPaused = false
|
||||
sendKey(KeyEvent.KEYCODE_MEDIA_STOP)
|
||||
}
|
||||
|
||||
suspend fun sendPlayPause() {
|
||||
log(TAG) { "sendPlayPause()" }
|
||||
if (wasRecentlyPausedByCap) {
|
||||
if (capPaused) {
|
||||
sendPlay()
|
||||
return
|
||||
}
|
||||
@@ -101,16 +159,71 @@ class MediaControl @Inject constructor(
|
||||
)
|
||||
}
|
||||
|
||||
private fun markRecentCapPause() {
|
||||
capPauseExpiryElapsedRealtime = timeSource.elapsedRealtime() + RECENT_CAP_PAUSE_WINDOW_MS
|
||||
/** Current STREAM_MUSIC volume index. Used to detect user-initiated volume changes after a duck. */
|
||||
fun currentMusicVolume(): Int = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
|
||||
|
||||
/**
|
||||
* Lowers STREAM_MUSIC volume by [reductionPercent] (relative to the current level) and returns
|
||||
* the prior + the volume actually applied, so the caller can later restore it and detect whether
|
||||
* the user changed the volume in the meantime.
|
||||
*
|
||||
* Returns `null` (no-op) when nothing is playing, the device has fixed volume, or the computed
|
||||
* target wouldn't actually lower the volume. No [AudioManager.FLAG_SHOW_UI] — this fires on a
|
||||
* frequent push event and the volume panel flashing would be noisy. The applied target is read
|
||||
* back from the system because Bluetooth absolute-volume routes can quantize the requested value.
|
||||
*/
|
||||
fun duckMusicVolume(reductionPercent: Int): VolumeDuck? {
|
||||
if (!audioManager.isMusicActive) {
|
||||
log(TAG, INFO) { "duckMusicVolume: nothing playing, skipping" }
|
||||
return null
|
||||
}
|
||||
if (audioManager.isVolumeFixed) {
|
||||
log(TAG, INFO) { "duckMusicVolume: device has fixed volume, skipping" }
|
||||
return null
|
||||
}
|
||||
val percent = reductionPercent.coerceIn(0, 100)
|
||||
val max = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
|
||||
val min = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
audioManager.getStreamMinVolume(AudioManager.STREAM_MUSIC)
|
||||
} else {
|
||||
0
|
||||
}
|
||||
val prior = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
|
||||
val target = (prior * (100 - percent) / 100).coerceIn(min, max)
|
||||
if (target >= prior) {
|
||||
log(TAG, INFO) { "duckMusicVolume: target $target >= current $prior, skipping" }
|
||||
return null
|
||||
}
|
||||
return try {
|
||||
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, target, 0)
|
||||
val applied = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
|
||||
log(TAG, INFO) { "duckMusicVolume($percent%): $prior -> $applied (requested $target)" }
|
||||
VolumeDuck(priorVolume = prior, appliedVolume = applied)
|
||||
} catch (e: SecurityException) {
|
||||
// setStreamVolume throws under Do-Not-Disturb without notification policy access.
|
||||
log(TAG, WARN) { "duckMusicVolume: setStreamVolume denied: ${e.message}" }
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
private fun clearRecentCapPause() {
|
||||
capPauseExpiryElapsedRealtime = 0L
|
||||
/** Restores STREAM_MUSIC to [priorVolume]. No-op on fixed-volume devices; denials are logged. */
|
||||
fun restoreMusicVolume(priorVolume: Int) {
|
||||
if (audioManager.isVolumeFixed) return
|
||||
try {
|
||||
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, priorVolume, 0)
|
||||
log(TAG, INFO) { "restoreMusicVolume($priorVolume)" }
|
||||
} catch (e: SecurityException) {
|
||||
log(TAG, WARN) { "restoreMusicVolume: setStreamVolume denied: ${e.message}" }
|
||||
}
|
||||
}
|
||||
|
||||
/** Snapshot of a volume duck so the caller can restore the prior level and detect user changes. */
|
||||
data class VolumeDuck(
|
||||
val priorVolume: Int,
|
||||
val appliedVolume: Int,
|
||||
)
|
||||
|
||||
companion object {
|
||||
private val TAG = logTag("MediaControl")
|
||||
private const val RECENT_CAP_PAUSE_WINDOW_MS = 15_000L
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@ import javax.inject.Singleton
|
||||
class BleScanner @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val bluetoothManager: BluetoothManager2,
|
||||
private val fakeBleData: FakeBleData,
|
||||
private val scanResultForwarder: BleScanResultForwarder,
|
||||
private val timeSource: TimeSource,
|
||||
) {
|
||||
@@ -206,7 +205,6 @@ class BleScanner @Inject constructor(
|
||||
log(TAG) { "BleScanner stopped" }
|
||||
}
|
||||
}
|
||||
.map { fakeBleData.maybeAddfakeData(it) }
|
||||
|
||||
private val receiverIntent by lazy {
|
||||
Intent(context, BleScanResultReceiver::class.java).apply {
|
||||
|
||||
@@ -10,6 +10,7 @@ import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.os.Build
|
||||
import android.os.Handler
|
||||
import android.os.HandlerThread
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
@@ -23,6 +24,7 @@ import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.flow.setupCommonEventHandlers
|
||||
import eu.darken.capod.common.permissions.Permission
|
||||
import eu.darken.capod.pods.core.apple.ble.protocol.ContinuityProtocol
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.channels.awaitClose
|
||||
@@ -390,9 +392,6 @@ class BluetoothManager2 @Inject constructor(
|
||||
initialValue = emptySet(),
|
||||
)
|
||||
|
||||
private var _isNudgeAvailable: Boolean = true
|
||||
val isNudgeAvailable: Boolean get() = _isNudgeAvailable
|
||||
|
||||
/**
|
||||
* Set the Android-local alias for a bonded [device]. Updates what Android's system Bluetooth
|
||||
* settings display without touching the AirPods firmware itself. Uses reflection on the hidden
|
||||
@@ -425,29 +424,42 @@ class BluetoothManager2 @Inject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun nudgeConnection(device: BluetoothDevice2): Boolean = getBluetoothProfile().map { bluetoothProfile ->
|
||||
try {
|
||||
log(TAG) { "Nudging Android connection to $device" }
|
||||
suspend fun nudgeConnection(device: BluetoothDevice2): NudgeAttemptResult =
|
||||
getBluetoothProfile().map { bluetoothProfile ->
|
||||
try {
|
||||
log(TAG) { "Nudging Android connection to $device" }
|
||||
|
||||
val target = device.internal ?: return@map false
|
||||
val connectMethod = BluetoothHeadset::class.java.getDeclaredMethod(
|
||||
"connect", BluetoothDevice::class.java
|
||||
).apply { isAccessible = true }
|
||||
val target = device.internal ?: return@map NudgeAttemptResult.Rejected
|
||||
val connectMethod = BluetoothHeadset::class.java.getDeclaredMethod(
|
||||
"connect", BluetoothDevice::class.java
|
||||
).apply { isAccessible = true }
|
||||
|
||||
val accepted = connectMethod.invoke(bluetoothProfile.proxy, target) as? Boolean ?: false
|
||||
log(TAG) { "Nudged connection to $device — accepted=$accepted" }
|
||||
accepted
|
||||
} catch (e: Exception) {
|
||||
val isSecurityException = e is SecurityException ||
|
||||
(e is java.lang.reflect.InvocationTargetException && e.cause is SecurityException)
|
||||
if (isSecurityException) {
|
||||
log(TAG, ERROR) { "nudgeConnection is permanently unavailable: missing MODIFY_PHONE_STATE permission" }
|
||||
_isNudgeAvailable = false
|
||||
val accepted = connectMethod.invoke(bluetoothProfile.proxy, target) as? Boolean ?: false
|
||||
log(TAG) { "Nudged connection to $device — accepted=$accepted" }
|
||||
if (accepted) NudgeAttemptResult.Accepted else NudgeAttemptResult.Rejected
|
||||
} catch (e: Exception) {
|
||||
val isSecurityException = e is SecurityException ||
|
||||
(e is java.lang.reflect.InvocationTargetException && e.cause is SecurityException)
|
||||
if (!isSecurityException) {
|
||||
Bugs.report(tag = TAG, "BluetoothHeadset.connect(device) is unavailable", exception = e)
|
||||
return@map NudgeAttemptResult.Rejected
|
||||
}
|
||||
// BLUETOOTH_CONNECT is only a runtime permission on Android 12+. On older
|
||||
// versions a SecurityException can't be a missing-permission failure for that
|
||||
// permission — it's hidden-API enforcement (e.g. MODIFY_PHONE_STATE) and we
|
||||
// should persist BROKEN.
|
||||
val missingBtConnect = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S &&
|
||||
!Permission.BLUETOOTH_CONNECT.isGranted(context)
|
||||
if (missingBtConnect) {
|
||||
log(TAG, WARN) { "nudgeConnection failed because BLUETOOTH_CONNECT is not granted" }
|
||||
NudgeAttemptResult.UnavailableMissingPermission
|
||||
} else {
|
||||
log(TAG, ERROR) { "nudgeConnection is permanently unavailable on this device: $e" }
|
||||
Bugs.report(tag = TAG, "BluetoothHeadset.connect(device) is unavailable", exception = e)
|
||||
NudgeAttemptResult.UnavailableHiddenApi
|
||||
}
|
||||
}
|
||||
Bugs.report(tag = TAG, "BluetoothHeadset.connect(device) is unavailable", exception = e)
|
||||
false
|
||||
}
|
||||
}.first()
|
||||
}.first()
|
||||
|
||||
companion object {
|
||||
private val TAG = logTag("Bluetooth", "Manager2")
|
||||
|
||||
@@ -1,103 +0,0 @@
|
||||
package eu.darken.capod.common.bluetooth
|
||||
|
||||
import dagger.Reusable
|
||||
import eu.darken.capod.common.TimeSource
|
||||
import eu.darken.capod.common.debug.DebugSettings
|
||||
import eu.darken.capod.common.fromHex
|
||||
import javax.inject.Inject
|
||||
import kotlin.random.Random
|
||||
import eu.darken.capod.common.datastore.valueBlocking
|
||||
|
||||
@Reusable
|
||||
class FakeBleData @Inject constructor(
|
||||
private val debugSettings: DebugSettings,
|
||||
private val timeSource: TimeSource,
|
||||
) {
|
||||
|
||||
fun maybeAddfakeData(originals: Collection<BleScanResult>): Collection<BleScanResult> {
|
||||
if (!debugSettings.showFakeData.valueBlocking) return originals
|
||||
return originals + getFakeData()
|
||||
}
|
||||
|
||||
fun getFakeData(): Collection<BleScanResult> {
|
||||
val fakeDevices = mutableListOf<BleScanResult>()
|
||||
val now = timeSource.now()
|
||||
val generatedAt = timeSource.elapsedRealtimeNanos()
|
||||
// AirPods Gen1
|
||||
BleScanResult(
|
||||
receivedAt = now,
|
||||
address = "78:73:AF:B4:85:22",
|
||||
rssi = Random.nextInt(100) * -1,
|
||||
generatedAtNanos = generatedAt + 100,
|
||||
manufacturerSpecificData = mapOf(76 to "07 19 01 02 20 75 AA B6 31 00 05 9C 5A A4 5D C0 2C A0 B4 6F B9 ED 8E CE 03 97 CA".fromHex())
|
||||
).run {
|
||||
fakeDevices.add(this)
|
||||
}
|
||||
|
||||
// AirPods Gen2
|
||||
BleScanResult(
|
||||
receivedAt = now,
|
||||
address = "78:73:FF:B4:85:5E",
|
||||
rssi = Random.nextInt(100) * -1,
|
||||
generatedAtNanos = generatedAt + 100,
|
||||
manufacturerSpecificData = mapOf(76 to "07 19 01 0F 20 75 AA B6 31 00 05 9C 5A A4 5D C0 2C A0 B4 6F B9 ED 8E CE 03 97 CA".fromHex())
|
||||
).run {
|
||||
fakeDevices.add(this)
|
||||
}
|
||||
|
||||
// AirPods Gen3
|
||||
BleScanResult(
|
||||
receivedAt = now,
|
||||
address = "4E:9E:D1:49:D2:6D",
|
||||
rssi = Random.nextInt(15, 75) * -1,
|
||||
generatedAtNanos = generatedAt + 200,
|
||||
manufacturerSpecificData = mapOf(76 to "07 19 01 13 20 55 AF 56 31 00 06 6F E4 DF 10 AF 10 60 81 03 3B 76 D9 C7 11 22 88".fromHex())
|
||||
).run {
|
||||
fakeDevices.add(this)
|
||||
}
|
||||
// AirPods Max
|
||||
BleScanResult(
|
||||
receivedAt = now,
|
||||
address = "7E:E5:C7:65:D2:B5",
|
||||
rssi = Random.nextInt(15, 75) * -1,
|
||||
generatedAtNanos = generatedAt + 300,
|
||||
manufacturerSpecificData = mapOf(76 to "07 19 01 0A 20 02 05 80 04 0F 44 A7 60 9B F8 3C FD B1 D8 1C 61 EA 82 60 A3 2C 4E".fromHex())
|
||||
).run {
|
||||
fakeDevices.add(this)
|
||||
}
|
||||
// BeatsFlex
|
||||
BleScanResult(
|
||||
receivedAt = now,
|
||||
address = "5E:9E:D1:49:D2:6D",
|
||||
rssi = Random.nextInt(15, 75) * -1,
|
||||
generatedAtNanos = generatedAt + 400,
|
||||
manufacturerSpecificData = mapOf(76 to "07 19 01 10 20 0A F4 8F 00 01 00 C4 71 9F 9C EF A2 E3 BA 66 FE 1D 45 9F C9 2F A0".fromHex())
|
||||
).run {
|
||||
fakeDevices.add(this)
|
||||
}
|
||||
|
||||
// Tws i99999
|
||||
BleScanResult(
|
||||
receivedAt = now,
|
||||
address = "5E:9E:D1:29:D2:6D",
|
||||
rssi = Random.nextInt(15, 75) * -1,
|
||||
generatedAtNanos = generatedAt + 400,
|
||||
manufacturerSpecificData = mapOf(76 to "07 13 01 02 20 71 AA 37 32 00 10 00 64 64 FF 00 00 00 00 00 00".fromHex())
|
||||
).run {
|
||||
fakeDevices.add(this)
|
||||
}
|
||||
|
||||
// Unknown Device
|
||||
BleScanResult(
|
||||
receivedAt = now,
|
||||
address = "6E:9E:D1:49:D2:6D",
|
||||
rssi = Random.nextInt(15, 75) * -1,
|
||||
generatedAtNanos = generatedAt + 500,
|
||||
manufacturerSpecificData = mapOf(76 to "07 19 01 FF 20 0A F4 8F 00 01 00 C4 71 9F 9C EF A2 E3 BA 66 FE 1D 45 9F C9 2F A0".fromHex())
|
||||
).run {
|
||||
fakeDevices.add(this)
|
||||
}
|
||||
|
||||
return fakeDevices
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package eu.darken.capod.common.bluetooth
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
enum class NudgeAvailability {
|
||||
@SerialName("nudge.unknown") UNKNOWN,
|
||||
@SerialName("nudge.available") AVAILABLE,
|
||||
@SerialName("nudge.broken") BROKEN,
|
||||
}
|
||||
|
||||
enum class NudgeAttemptResult {
|
||||
Accepted,
|
||||
Rejected,
|
||||
UnavailableHiddenApi,
|
||||
UnavailableMissingPermission,
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package eu.darken.capod.common.bluetooth
|
||||
|
||||
import eu.darken.capod.common.coroutine.AppScope
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.datastore.value
|
||||
import eu.darken.capod.common.datastore.valueBlocking
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.INFO
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.main.core.GeneralSettings
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.flow.SharingStarted
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.stateIn
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.plus
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Singleton
|
||||
class NudgeCapabilityStore @Inject constructor(
|
||||
generalSettings: GeneralSettings,
|
||||
@AppScope private val appScope: CoroutineScope,
|
||||
private val dispatcherProvider: DispatcherProvider,
|
||||
) {
|
||||
|
||||
private val persistedValue = generalSettings.nudgeAvailability
|
||||
|
||||
// Resolve the persisted value synchronously at construction so consumers that read
|
||||
// `availability.value` (resolver, AutoConnect precondition, UI state) never see the
|
||||
// synthetic UNKNOWN seed before the first DataStore emission arrives. On a known-broken
|
||||
// device this prevents one bonus ALWAYS-mode + nudge-attempt cycle per cold start.
|
||||
val availability: StateFlow<NudgeAvailability> = persistedValue.flow
|
||||
.stateIn(
|
||||
scope = appScope + dispatcherProvider.IO,
|
||||
started = SharingStarted.Eagerly,
|
||||
initialValue = persistedValue.valueBlocking,
|
||||
)
|
||||
|
||||
fun record(result: NudgeAttemptResult) {
|
||||
val verdict = verdictFor(result) ?: return
|
||||
if (availability.value == verdict) return
|
||||
log(TAG, INFO) { "Recording nudge verdict: $verdict (from $result)" }
|
||||
appScope.launch(dispatcherProvider.IO) {
|
||||
persistedValue.value(verdict)
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val TAG = logTag("Bluetooth", "NudgeCapabilityStore")
|
||||
|
||||
internal fun verdictFor(result: NudgeAttemptResult): NudgeAvailability? = when (result) {
|
||||
NudgeAttemptResult.Accepted -> NudgeAvailability.AVAILABLE
|
||||
NudgeAttemptResult.UnavailableHiddenApi -> NudgeAvailability.BROKEN
|
||||
NudgeAttemptResult.Rejected,
|
||||
NudgeAttemptResult.UnavailableMissingPermission -> null
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,7 @@ import androidx.datastore.preferences.core.stringPreferencesKey
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.runBlocking
|
||||
@@ -23,9 +24,10 @@ class DataStoreValue<T>(
|
||||
) {
|
||||
val keyName: String get() = key.name
|
||||
|
||||
val flow: Flow<T> = dataStore.data.map { prefs ->
|
||||
reader(prefs[key])
|
||||
}
|
||||
val flow: Flow<T> = dataStore.data
|
||||
.map { prefs -> prefs[key] }
|
||||
.distinctUntilChanged()
|
||||
.map { raw -> reader(raw) }
|
||||
|
||||
data class Updated<T>(val old: T, val new: T)
|
||||
|
||||
|
||||
@@ -8,9 +8,19 @@ import eu.darken.capod.common.debug.logging.asLog
|
||||
import eu.darken.capod.common.debug.logging.asLogSummary
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
||||
object Bugs {
|
||||
var reporter: AutomaticBugReporter? = null
|
||||
|
||||
/**
|
||||
* True while the debug log recorder is actively recording. Surfaces extra
|
||||
* diagnostic UI (e.g. raw BLE payload hex on device cards) so users helping
|
||||
* to add support for new headphones can capture useful data without a
|
||||
* permanent debug toggle.
|
||||
*/
|
||||
val isDebug = MutableStateFlow(false)
|
||||
|
||||
fun report(
|
||||
tag: String,
|
||||
message: String,
|
||||
|
||||
@@ -28,10 +28,4 @@ class DebugSettings @Inject constructor(
|
||||
// Reporting is opt-out for gplay, and opt-in for github builds
|
||||
defaultValue = BuildConfigWrap.FLAVOR == BuildConfigWrap.Flavor.GPLAY
|
||||
)
|
||||
val isDebugModeEnabled = dataStore.createValue("debug.mode.enabled", false)
|
||||
|
||||
val showFakeData = dataStore.createValue("debug.fakedata.enabled", false)
|
||||
|
||||
val showUnfiltered = dataStore.createValue("debug.blescanner.unfiltered.enabled", false)
|
||||
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import eu.darken.capod.common.SystemTimeSource
|
||||
import eu.darken.capod.common.TimeSource
|
||||
import eu.darken.capod.common.coroutine.AppScope
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.debug.Bugs
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.ERROR
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.INFO
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
@@ -126,6 +127,10 @@ class RecorderModule @Inject constructor(
|
||||
}
|
||||
}
|
||||
.launchIn(appScope)
|
||||
|
||||
internalState.flow
|
||||
.onEach { Bugs.isDebug.value = it.isRecording }
|
||||
.launchIn(appScope)
|
||||
}
|
||||
|
||||
private fun createSessionDir(): File {
|
||||
|
||||
@@ -36,9 +36,6 @@ object Nav {
|
||||
@Serializable
|
||||
data object General : Settings
|
||||
|
||||
@Serializable
|
||||
data object Debug : Settings
|
||||
|
||||
@Serializable
|
||||
data object Support : Settings
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import androidx.datastore.preferences.preferencesDataStore
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import eu.darken.capod.common.BuildConfigWrap
|
||||
import eu.darken.capod.common.bluetooth.BluetoothAddress
|
||||
import eu.darken.capod.common.bluetooth.NudgeAvailability
|
||||
import eu.darken.capod.common.datastore.createValue
|
||||
import eu.darken.capod.common.serialization.ByteArrayBase64Serializer
|
||||
import eu.darken.capod.common.serialization.SerializationCapod
|
||||
@@ -36,8 +37,6 @@ class GeneralSettings @Inject constructor(
|
||||
|
||||
private val dataStore: DataStore<Preferences> get() = context.dataStore
|
||||
|
||||
val monitorMode = dataStore.createValue("core.monitor.mode", MonitorMode.AUTOMATIC, json, onErrorFallbackToDefault = true)
|
||||
|
||||
val useExtraMonitorNotification = dataStore.createValue("core.monitor.notification.connected", false)
|
||||
|
||||
val keepConnectedNotificationAfterDisconnect =
|
||||
@@ -74,10 +73,18 @@ class GeneralSettings @Inject constructor(
|
||||
val isOffloadedBatchingDisabled = dataStore.createValue("core.compat.offloaded.batching.disabled", false)
|
||||
val useIndirectScanResultCallback = dataStore.createValue("core.compat.indirectcallback.enabled", false)
|
||||
|
||||
/** Runtime-detected verdict for whether `BluetoothHeadset.connect()` reflection works on this device. */
|
||||
val nudgeAvailability = dataStore.createValue(
|
||||
"core.bluetooth.nudge.availability", NudgeAvailability.UNKNOWN, json,
|
||||
onErrorFallbackToDefault = true,
|
||||
)
|
||||
|
||||
val isOnboardingDone = dataStore.createValue("core.onboarding.done", false)
|
||||
|
||||
val reactionsHintDismissed = dataStore.createValue("ui.hint.reactions_per_device.dismissed", false)
|
||||
|
||||
val hideUnmatchedDevices = dataStore.createValue("ui.overview.unmatched.hidden", false)
|
||||
|
||||
val themeMode = dataStore.createValue(
|
||||
"core.ui.theme.mode", ThemeMode.SYSTEM, json,
|
||||
onErrorFallbackToDefault = BuildConfigWrap.BUILD_TYPE != BuildConfigWrap.BuildType.DEV,
|
||||
|
||||
@@ -1,21 +1,13 @@
|
||||
package eu.darken.capod.main.core
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import eu.darken.capod.R
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
enum class MonitorMode(
|
||||
@StringRes val labelRes: Int
|
||||
val intensity: Int,
|
||||
) {
|
||||
@SerialName("monitor.mode.manual") MANUAL(
|
||||
R.string.settings_monitor_mode_manual_label
|
||||
),
|
||||
@SerialName("monitor.mode.automatic") AUTOMATIC(
|
||||
R.string.settings_monitor_mode_automatic_label
|
||||
),
|
||||
@SerialName("monitor.mode.always") ALWAYS(
|
||||
R.string.settings_monitor_mode_always_label
|
||||
),
|
||||
}
|
||||
@SerialName("monitor.mode.manual") MANUAL(intensity = 0),
|
||||
@SerialName("monitor.mode.automatic") AUTOMATIC(intensity = 1),
|
||||
@SerialName("monitor.mode.always") ALWAYS(intensity = 2),
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.permissions.Permission
|
||||
import eu.darken.capod.common.permissions.isRequired
|
||||
import eu.darken.capod.monitor.core.MonitorModeResolver
|
||||
import eu.darken.capod.profiles.core.toReactionConfig
|
||||
import eu.darken.capod.profiles.core.DeviceProfilesRepo
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
@@ -21,7 +22,7 @@ import javax.inject.Singleton
|
||||
@Singleton
|
||||
class PermissionTool @Inject constructor(
|
||||
@ApplicationContext private val context: Context,
|
||||
private val generalSettings: GeneralSettings,
|
||||
private val monitorModeResolver: MonitorModeResolver,
|
||||
private val profilesRepo: DeviceProfilesRepo,
|
||||
) {
|
||||
private val permissionCheckTrigger = MutableStateFlow(UUID.randomUUID())
|
||||
@@ -41,13 +42,11 @@ class PermissionTool @Inject constructor(
|
||||
|
||||
val missingPermissions: Flow<Set<Permission>> = combine(
|
||||
permissionCheckTrigger,
|
||||
generalSettings.monitorMode.flow,
|
||||
monitorModeResolver.effectiveMode,
|
||||
anyPopupEnabled,
|
||||
) { _, monitorMode, showPopUp ->
|
||||
Permission.entries
|
||||
.filter { it != Permission.IGNORE_BATTERY_OPTIMIZATION || monitorMode == MonitorMode.ALWAYS }
|
||||
.filter { it != Permission.ACCESS_BACKGROUND_LOCATION || monitorMode == MonitorMode.ALWAYS }
|
||||
.filter { it != Permission.SYSTEM_ALERT_WINDOW || showPopUp }
|
||||
.filter { isApplicable(it, monitorMode, showPopUp) }
|
||||
.filter { it.isRequired(context) }
|
||||
.toSet()
|
||||
}
|
||||
@@ -61,5 +60,24 @@ class PermissionTool @Inject constructor(
|
||||
|
||||
companion object {
|
||||
private val TAG = logTag("PermissionTool")
|
||||
|
||||
/**
|
||||
* Whether [permission] is applicable for the user's current configuration.
|
||||
* Three permissions are conditional on monitor mode or popup usage:
|
||||
* - [Permission.IGNORE_BATTERY_OPTIMIZATION] only when always-on scanning is needed
|
||||
* - [Permission.ACCESS_BACKGROUND_LOCATION] same
|
||||
* - [Permission.SYSTEM_ALERT_WINDOW] only when at least one popup reaction is enabled
|
||||
* Everything else is unconditionally applicable.
|
||||
*/
|
||||
internal fun isApplicable(
|
||||
permission: Permission,
|
||||
monitorMode: MonitorMode,
|
||||
anyPopupEnabled: Boolean,
|
||||
): Boolean = when (permission) {
|
||||
Permission.IGNORE_BATTERY_OPTIMIZATION,
|
||||
Permission.ACCESS_BACKGROUND_LOCATION -> monitorMode == MonitorMode.ALWAYS
|
||||
Permission.SYSTEM_ALERT_WINDOW -> anyPopupEnabled
|
||||
else -> true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,6 +64,7 @@ import eu.darken.capod.pods.core.apple.aap.protocol.AapDeviceInfo
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.AapSetting
|
||||
import eu.darken.capod.pods.core.apple.ble.devices.HasStateDetection
|
||||
import eu.darken.capod.reaction.core.autoconnect.AutoConnectCondition
|
||||
import eu.darken.capod.reaction.core.conversation.ConversationAction
|
||||
import java.time.Duration
|
||||
import java.time.Instant
|
||||
import java.time.ZoneId
|
||||
@@ -148,6 +149,8 @@ fun DeviceSettingsScreenHost(
|
||||
onNavigateUp = { vm.navUp() },
|
||||
onAncModeChange = { vm.setAncMode(it) },
|
||||
onConversationalAwarenessChange = { vm.setConversationalAwareness(it) },
|
||||
onConversationActionChange = { vm.setConversationAction(it) },
|
||||
onConversationVolumeReductionChange = { vm.setConversationVolumeReduction(it) },
|
||||
onNcWithOneAirPodChange = { vm.setNcWithOneAirPod(it) },
|
||||
onPersonalizedVolumeChange = { vm.setPersonalizedVolume(it) },
|
||||
onToneVolumeChange = { vm.setToneVolume(it) },
|
||||
@@ -167,11 +170,11 @@ fun DeviceSettingsScreenHost(
|
||||
onOnePodModeChange = { vm.setOnePodMode(it) },
|
||||
onAutoPlayChange = { vm.setAutoPlay(it) },
|
||||
onAutoPauseChange = { vm.setAutoPause(it) },
|
||||
onStartMusicOnWearChange = { vm.setStartMusicOnWear(it) },
|
||||
onAutoConnectChange = { vm.setAutoConnect(it) },
|
||||
onAutoConnectConditionChange = { vm.setAutoConnectCondition(it) },
|
||||
onShowPopUpOnCaseOpenChange = { vm.setShowPopUpOnCaseOpen(it) },
|
||||
onShowPopUpOnConnectionChange = { vm.setShowPopUpOnConnection(it) },
|
||||
onFixMonitorMode = { vm.setMonitorModeAutomatic() },
|
||||
onOpenIssueTracker = { vm.openIssueTracker() },
|
||||
onOpenAapTracker = { vm.openAapCompatibilityTracker() },
|
||||
)
|
||||
@@ -186,6 +189,8 @@ fun DeviceSettingsScreen(
|
||||
onNavigateUp: () -> Unit,
|
||||
onAncModeChange: (AapSetting.AncMode.Value) -> Unit = {},
|
||||
onConversationalAwarenessChange: (Boolean) -> Unit = {},
|
||||
onConversationActionChange: (ConversationAction) -> Unit = {},
|
||||
onConversationVolumeReductionChange: (Int) -> Unit = {},
|
||||
onNcWithOneAirPodChange: (Boolean) -> Unit = {},
|
||||
onPersonalizedVolumeChange: (Boolean) -> Unit = {},
|
||||
onToneVolumeChange: (Int) -> Unit = {},
|
||||
@@ -205,11 +210,11 @@ fun DeviceSettingsScreen(
|
||||
onOnePodModeChange: (Boolean) -> Unit = {},
|
||||
onAutoPlayChange: (Boolean) -> Unit = {},
|
||||
onAutoPauseChange: (Boolean) -> Unit = {},
|
||||
onStartMusicOnWearChange: (Boolean) -> Unit = {},
|
||||
onAutoConnectChange: (Boolean) -> Unit = {},
|
||||
onAutoConnectConditionChange: (AutoConnectCondition) -> Unit = {},
|
||||
onShowPopUpOnCaseOpenChange: (Boolean) -> Unit = {},
|
||||
onShowPopUpOnConnectionChange: (Boolean) -> Unit = {},
|
||||
onFixMonitorMode: () -> Unit = {},
|
||||
onOpenIssueTracker: () -> Unit = {},
|
||||
onOpenAapTracker: () -> Unit = {},
|
||||
) {
|
||||
@@ -339,17 +344,18 @@ fun DeviceSettingsScreen(
|
||||
device = device,
|
||||
features = features,
|
||||
isPro = isPro,
|
||||
monitorMode = state.monitorMode,
|
||||
onAutoPlayChange = onAutoPlayChange,
|
||||
onAutoPauseChange = onAutoPauseChange,
|
||||
onStartMusicOnWearChange = onStartMusicOnWearChange,
|
||||
onOnePodModeChange = onOnePodModeChange,
|
||||
onConversationalAwarenessChange = onConversationalAwarenessChange,
|
||||
onConversationActionChange = onConversationActionChange,
|
||||
onConversationVolumeReductionChange = onConversationVolumeReductionChange,
|
||||
onSleepDetectionChange = onSleepDetectionChange,
|
||||
onAutoConnectChange = onAutoConnectChange,
|
||||
onAutoConnectConditionChange = onAutoConnectConditionChange,
|
||||
onShowPopUpOnCaseOpenChange = onShowPopUpOnCaseOpenChange,
|
||||
onShowPopUpOnConnectionChange = onShowPopUpOnConnectionChange,
|
||||
onFixMonitorMode = onFixMonitorMode,
|
||||
onOpenIssueTracker = onOpenIssueTracker,
|
||||
)
|
||||
}
|
||||
|
||||
+41
-22
@@ -5,8 +5,10 @@ import eu.darken.capod.common.SystemTimeSource
|
||||
import eu.darken.capod.common.TimeSource
|
||||
import eu.darken.capod.common.WebpageTool
|
||||
import eu.darken.capod.common.bluetooth.BluetoothManager2
|
||||
import eu.darken.capod.common.bluetooth.NudgeAttemptResult
|
||||
import eu.darken.capod.common.bluetooth.NudgeAvailability
|
||||
import eu.darken.capod.common.bluetooth.NudgeCapabilityStore
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.datastore.value
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.INFO
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
@@ -16,9 +18,9 @@ import eu.darken.capod.common.navigation.Nav
|
||||
import eu.darken.capod.common.uix.ViewModel4
|
||||
import eu.darken.capod.common.upgrade.UpgradeRepo
|
||||
import eu.darken.capod.common.upgrade.isPro
|
||||
import eu.darken.capod.main.core.GeneralSettings
|
||||
import eu.darken.capod.main.core.MonitorMode
|
||||
import eu.darken.capod.monitor.core.DeviceMonitor
|
||||
import eu.darken.capod.monitor.core.MonitorModeResolver
|
||||
import eu.darken.capod.monitor.core.PodDevice
|
||||
import eu.darken.capod.monitor.core.resolvedAncCycleMask
|
||||
import eu.darken.capod.pods.core.apple.aap.AapConnectionManager
|
||||
@@ -29,6 +31,7 @@ import eu.darken.capod.profiles.core.DeviceProfilesRepo
|
||||
import eu.darken.capod.profiles.core.ProfileId
|
||||
import eu.darken.capod.profiles.core.ReactionConfig
|
||||
import eu.darken.capod.reaction.core.autoconnect.AutoConnectCondition
|
||||
import eu.darken.capod.reaction.core.conversation.ConversationAction
|
||||
import eu.darken.capod.reaction.core.stem.StemAction
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
@@ -51,7 +54,8 @@ class DeviceSettingsViewModel @Inject constructor(
|
||||
private val upgradeRepo: UpgradeRepo,
|
||||
private val bluetoothManager: BluetoothManager2,
|
||||
private val profilesRepo: DeviceProfilesRepo,
|
||||
private val generalSettings: GeneralSettings,
|
||||
private val monitorModeResolver: MonitorModeResolver,
|
||||
private val nudgeCapabilityStore: NudgeCapabilityStore,
|
||||
private val timeSource: TimeSource,
|
||||
private val webpageTool: WebpageTool,
|
||||
) : ViewModel4(dispatcherProvider) {
|
||||
@@ -114,8 +118,9 @@ class DeviceSettingsViewModel @Inject constructor(
|
||||
// The Bluetooth HEADSET profile lookup can be slow to produce its first value.
|
||||
// Seed this branch so the screen can render immediately after navigation.
|
||||
bluetoothManager.connectedDevices.onStart { emit(emptyList()) },
|
||||
generalSettings.monitorMode.flow,
|
||||
monitorModeResolver.effectiveMode,
|
||||
profilesRepo.profiles,
|
||||
nudgeCapabilityStore.availability,
|
||||
) { args ->
|
||||
val device = args[1] as PodDevice?
|
||||
val upgrade = args[2] as UpgradeRepo.Info
|
||||
@@ -127,6 +132,7 @@ class DeviceSettingsViewModel @Inject constructor(
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val profiles = args[6] as List<eu.darken.capod.profiles.core.DeviceProfile>
|
||||
val nudgeAvailability = args[7] as NudgeAvailability
|
||||
val stemActions = profiles.filterIsInstance<AppleDeviceProfile>()
|
||||
.firstOrNull { it.id == profileId }
|
||||
?.stemActions
|
||||
@@ -142,7 +148,7 @@ class DeviceSettingsViewModel @Inject constructor(
|
||||
device = device,
|
||||
now = timeSource.now(),
|
||||
isPro = upgrade.isPro,
|
||||
isNudgeAvailable = bluetoothManager.isNudgeAvailable,
|
||||
isNudgeAvailable = nudgeAvailability != NudgeAvailability.BROKEN,
|
||||
isForceConnecting = forcing,
|
||||
isClassicallyConnected = device?.address?.let { it in connectedAddresses } == true,
|
||||
monitorMode = monitorMode,
|
||||
@@ -206,18 +212,19 @@ class DeviceSettingsViewModel @Inject constructor(
|
||||
events.tryEmit(Event.OpenBluetoothSettings)
|
||||
return@launch
|
||||
}
|
||||
if (!bluetoothManager.isNudgeAvailable) {
|
||||
if (nudgeCapabilityStore.availability.value == NudgeAvailability.BROKEN) {
|
||||
events.tryEmit(Event.OpenBluetoothSettings)
|
||||
return@launch
|
||||
}
|
||||
val accepted = try {
|
||||
val result = try {
|
||||
bluetoothManager.nudgeConnection(bonded)
|
||||
} catch (e: Exception) {
|
||||
log(TAG, WARN) { "nudgeConnection threw: ${e.message}" }
|
||||
false
|
||||
NudgeAttemptResult.Rejected
|
||||
}
|
||||
log(TAG, INFO) { "nudgeConnection($bonded) accepted=$accepted" }
|
||||
if (!accepted) {
|
||||
log(TAG, INFO) { "nudgeConnection($bonded) result=$result" }
|
||||
nudgeCapabilityStore.record(result)
|
||||
if (result != NudgeAttemptResult.Accepted) {
|
||||
events.tryEmit(Event.OpenBluetoothSettings)
|
||||
}
|
||||
} finally {
|
||||
@@ -382,6 +389,15 @@ class DeviceSettingsViewModel @Inject constructor(
|
||||
syncEarDetection(autoPause = enabled)
|
||||
}
|
||||
|
||||
fun setStartMusicOnWear(enabled: Boolean) = launch {
|
||||
log(TAG, INFO) { "setStartMusicOnWear($enabled)" }
|
||||
if (enabled && !upgradeRepo.isPro()) {
|
||||
navTo(Nav.Main.Upgrade)
|
||||
return@launch
|
||||
}
|
||||
updateProfileNow { it.copy(startMusicOnWear = enabled) }
|
||||
}
|
||||
|
||||
/**
|
||||
* Keeps the device-side Automatic Ear Detection setting in sync with the
|
||||
* auto-play / auto-pause reaction toggles. When either reaction is active
|
||||
@@ -405,15 +421,6 @@ class DeviceSettingsViewModel @Inject constructor(
|
||||
fun setAutoConnect(enabled: Boolean) = launch {
|
||||
log(TAG, INFO) { "setAutoConnect($enabled)" }
|
||||
updateProfileNow { it.copy(autoConnect = enabled) }
|
||||
if (enabled) {
|
||||
// Auto-connect requires ALWAYS mode to react to BLE/case/ear events when
|
||||
// nothing is connected. We intentionally do NOT revert on disable — the user
|
||||
// may have set ALWAYS manually, or another profile may still need it.
|
||||
if (generalSettings.monitorMode.value() != MonitorMode.ALWAYS) {
|
||||
log(TAG, INFO) { "Forcing monitorMode to ALWAYS because autoConnect was enabled" }
|
||||
generalSettings.monitorMode.value(MonitorMode.ALWAYS)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun setAutoConnectCondition(condition: AutoConnectCondition) = launch {
|
||||
@@ -431,11 +438,23 @@ class DeviceSettingsViewModel @Inject constructor(
|
||||
proGatedReaction(enabled) { it.copy(showPopUpOnConnection = enabled) }
|
||||
}
|
||||
|
||||
fun setMonitorModeAutomatic() = launch {
|
||||
log(TAG, INFO) { "setMonitorModeAutomatic()" }
|
||||
generalSettings.monitorMode.value(MonitorMode.AUTOMATIC)
|
||||
fun setConversationAction(action: ConversationAction) = launch {
|
||||
log(TAG, INFO) { "setConversationAction($action)" }
|
||||
// The action picker is only shown while Conversation Awareness is already enabled (the pod
|
||||
// emits no speaking frames otherwise), so no need to auto-enable it here.
|
||||
if (action != ConversationAction.NOTHING && !upgradeRepo.isPro()) {
|
||||
navTo(Nav.Main.Upgrade)
|
||||
return@launch
|
||||
}
|
||||
updateProfileNow { it.copy(conversationAction = action) }
|
||||
}
|
||||
|
||||
fun setConversationVolumeReduction(percent: Int) = launch {
|
||||
log(TAG, INFO) { "setConversationVolumeReduction($percent)" }
|
||||
updateProfileNow { it.copy(conversationVolumeReduction = percent) }
|
||||
}
|
||||
|
||||
|
||||
fun navToPressControls() = launch {
|
||||
log(TAG, INFO) { "navToPressControls()" }
|
||||
val profileId = targetProfileId.value ?: return@launch
|
||||
|
||||
@@ -4,12 +4,14 @@ import android.os.Build
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.twotone.Message
|
||||
import androidx.compose.material.icons.automirrored.twotone.VolumeDown
|
||||
import androidx.compose.material.icons.twotone.BluetoothConnected
|
||||
import androidx.compose.material.icons.twotone.Hearing
|
||||
import androidx.compose.material.icons.twotone.LooksOne
|
||||
import androidx.compose.material.icons.twotone.Nightlight
|
||||
import androidx.compose.material.icons.twotone.PauseCircle
|
||||
import androidx.compose.material.icons.twotone.PlayCircle
|
||||
import androidx.compose.material.icons.twotone.RecordVoiceOver
|
||||
import androidx.compose.material.icons.twotone.Workspaces
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
@@ -29,39 +31,45 @@ import eu.darken.capod.common.compose.Preview2
|
||||
import eu.darken.capod.common.compose.PreviewWrapper
|
||||
import eu.darken.capod.common.settings.InfoBoxType
|
||||
import eu.darken.capod.common.settings.SettingsBaseItem
|
||||
import eu.darken.capod.common.settings.SettingsCategoryHeader
|
||||
import eu.darken.capod.common.settings.SettingsInfoBox
|
||||
import eu.darken.capod.common.settings.SettingsSection
|
||||
import eu.darken.capod.common.settings.SettingsSliderItem
|
||||
import eu.darken.capod.common.settings.SettingsSwitchItem
|
||||
import eu.darken.capod.main.core.MonitorMode
|
||||
import eu.darken.capod.main.ui.devicesettings.dialogs.AutoConnectConditionDialog
|
||||
import eu.darken.capod.main.ui.devicesettings.dialogs.ConversationActionDialog
|
||||
import eu.darken.capod.main.ui.devicesettings.previewFullState
|
||||
import eu.darken.capod.monitor.core.PodDevice
|
||||
import eu.darken.capod.pods.core.apple.PodModel
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.AapSetting
|
||||
import eu.darken.capod.profiles.core.ReactionConfig
|
||||
import eu.darken.capod.reaction.core.autoconnect.AutoConnectCondition
|
||||
import eu.darken.capod.reaction.core.conversation.ConversationAction
|
||||
|
||||
@Composable
|
||||
internal fun ReactionsCard(
|
||||
device: PodDevice,
|
||||
features: PodModel.Features,
|
||||
isPro: Boolean,
|
||||
monitorMode: MonitorMode,
|
||||
onAutoPlayChange: (Boolean) -> Unit = {},
|
||||
onAutoPauseChange: (Boolean) -> Unit = {},
|
||||
onStartMusicOnWearChange: (Boolean) -> Unit = {},
|
||||
onOnePodModeChange: (Boolean) -> Unit = {},
|
||||
onConversationalAwarenessChange: (Boolean) -> Unit = {},
|
||||
onConversationActionChange: (ConversationAction) -> Unit = {},
|
||||
onConversationVolumeReductionChange: (Int) -> Unit = {},
|
||||
onSleepDetectionChange: (Boolean) -> Unit = {},
|
||||
onAutoConnectChange: (Boolean) -> Unit = {},
|
||||
onAutoConnectConditionChange: (AutoConnectCondition) -> Unit = {},
|
||||
onShowPopUpOnCaseOpenChange: (Boolean) -> Unit = {},
|
||||
onShowPopUpOnConnectionChange: (Boolean) -> Unit = {},
|
||||
onFixMonitorMode: () -> Unit = {},
|
||||
onOpenIssueTracker: () -> Unit = {},
|
||||
) {
|
||||
val reactions = device.reactions
|
||||
val enabled = device.isAapReady
|
||||
|
||||
var showAutoConnectConditionDialog by remember { mutableStateOf(false) }
|
||||
var showConversationActionDialog by remember { mutableStateOf(false) }
|
||||
|
||||
SettingsSection(title = stringResource(R.string.settings_reaction_label)) {
|
||||
if (features.hasEarDetection) {
|
||||
@@ -73,6 +81,16 @@ internal fun ReactionsCard(
|
||||
onCheckedChange = onAutoPlayChange,
|
||||
requiresUpgrade = !isPro,
|
||||
)
|
||||
if (reactions.autoPlay) {
|
||||
SettingsSwitchItem(
|
||||
icon = Icons.TwoTone.PlayCircle,
|
||||
title = stringResource(R.string.settings_start_music_on_wear_label),
|
||||
subtitle = stringResource(R.string.settings_start_music_on_wear_description),
|
||||
checked = reactions.startMusicOnWear,
|
||||
onCheckedChange = onStartMusicOnWearChange,
|
||||
requiresUpgrade = !isPro,
|
||||
)
|
||||
}
|
||||
SettingsSwitchItem(
|
||||
icon = Icons.TwoTone.PauseCircle,
|
||||
title = stringResource(R.string.settings_autopause_label),
|
||||
@@ -117,20 +135,45 @@ internal fun ReactionsCard(
|
||||
}
|
||||
if (device.isAapConnected) {
|
||||
val convAwareness = device.conversationalAwareness
|
||||
val hasAnyAapReaction =
|
||||
(features.hasConversationAwareness && convAwareness != null) ||
|
||||
features.hasSleepDetection
|
||||
if (features.hasConversationAwareness && convAwareness != null) {
|
||||
val showConversationAwareness = features.hasConversationAwareness && convAwareness != null
|
||||
val hasAnyAapReaction = showConversationAwareness || features.hasSleepDetection
|
||||
if (showConversationAwareness) {
|
||||
SettingsCategoryHeader(text = stringResource(R.string.conversation_awareness_label))
|
||||
SettingsSwitchItem(
|
||||
icon = Icons.TwoTone.Hearing,
|
||||
title = stringResource(R.string.conversation_awareness_label),
|
||||
subtitle = stringResource(R.string.device_settings_conversation_awareness_description),
|
||||
checked = convAwareness.enabled,
|
||||
checked = convAwareness?.enabled == true,
|
||||
onCheckedChange = onConversationalAwarenessChange,
|
||||
enabled = enabled,
|
||||
)
|
||||
// The "when you start speaking" reaction only fires while CA is on (the pod emits no
|
||||
// speaking frames otherwise), so only surface it once CA is actually enabled.
|
||||
if (convAwareness?.enabled == true) {
|
||||
SettingsBaseItem(
|
||||
icon = Icons.TwoTone.RecordVoiceOver,
|
||||
title = stringResource(R.string.settings_conversation_action_label),
|
||||
subtitle = stringResource(reactions.conversationAction.labelRes),
|
||||
onClick = { showConversationActionDialog = true },
|
||||
enabled = enabled,
|
||||
requiresUpgrade = !isPro,
|
||||
)
|
||||
if (reactions.conversationAction == ConversationAction.LOWER_VOLUME) {
|
||||
SettingsSliderItem(
|
||||
icon = Icons.AutoMirrored.TwoTone.VolumeDown,
|
||||
title = stringResource(R.string.settings_conversation_volume_reduction_label),
|
||||
value = reactions.conversationVolumeReduction.toFloat(),
|
||||
onValueChange = { onConversationVolumeReductionChange(it.toInt()) },
|
||||
valueRange = ReactionConfig.MIN_CONVERSATION_VOLUME_REDUCTION.toFloat()..
|
||||
ReactionConfig.MAX_CONVERSATION_VOLUME_REDUCTION.toFloat(),
|
||||
enabled = enabled,
|
||||
valueLabel = { "${it.toInt()}%" },
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (features.hasSleepDetection) {
|
||||
if (showConversationAwareness) ReactionsDivider()
|
||||
val sleepDet = device.sleepDetection
|
||||
?: AapSetting.SleepDetection(enabled = true)
|
||||
SettingsSwitchItem(
|
||||
@@ -198,23 +241,24 @@ internal fun ReactionsCard(
|
||||
requiresUpgrade = !isPro,
|
||||
)
|
||||
val anyPopupEnabled = reactions.showPopUpOnCaseOpen || reactions.showPopUpOnConnection
|
||||
if (anyPopupEnabled && monitorMode == MonitorMode.MANUAL) {
|
||||
SettingsInfoBox(
|
||||
text = stringResource(R.string.settings_popup_warning_manual_mode),
|
||||
type = InfoBoxType.WARNING,
|
||||
action = {
|
||||
TextButton(onClick = onFixMonitorMode) {
|
||||
Text(stringResource(R.string.general_fix_it_action))
|
||||
}
|
||||
},
|
||||
)
|
||||
} else if (anyPopupEnabled) {
|
||||
if (anyPopupEnabled) {
|
||||
SettingsInfoBox(
|
||||
text = stringResource(R.string.settings_popup_info_not_in_app),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (showConversationActionDialog) {
|
||||
ConversationActionDialog(
|
||||
current = reactions.conversationAction,
|
||||
onSelect = {
|
||||
onConversationActionChange(it)
|
||||
showConversationActionDialog = false
|
||||
},
|
||||
onDismiss = { showConversationActionDialog = false },
|
||||
)
|
||||
}
|
||||
|
||||
if (showAutoConnectConditionDialog) {
|
||||
AutoConnectConditionDialog(
|
||||
current = reactions.autoConnectCondition,
|
||||
@@ -246,7 +290,6 @@ private fun ReactionsCardPreview() = PreviewWrapper {
|
||||
device = device,
|
||||
features = device.model.features,
|
||||
isPro = state.isPro,
|
||||
monitorMode = state.monitorMode,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -259,6 +302,5 @@ private fun ReactionsCardNonProPreview() = PreviewWrapper {
|
||||
device = device,
|
||||
features = device.model.features,
|
||||
isPro = state.isPro,
|
||||
monitorMode = state.monitorMode,
|
||||
)
|
||||
}
|
||||
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
package eu.darken.capod.main.ui.devicesettings.dialogs
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.selection.selectable
|
||||
import androidx.compose.foundation.selection.selectableGroup
|
||||
import androidx.compose.material3.AlertDialog
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.RadioButton
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TextButton
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.semantics.Role
|
||||
import androidx.compose.ui.unit.dp
|
||||
import eu.darken.capod.R
|
||||
import eu.darken.capod.common.compose.Preview2
|
||||
import eu.darken.capod.common.compose.PreviewWrapper
|
||||
import eu.darken.capod.reaction.core.conversation.ConversationAction
|
||||
|
||||
@Composable
|
||||
internal fun ConversationActionDialog(
|
||||
current: ConversationAction,
|
||||
onSelect: (ConversationAction) -> Unit,
|
||||
onDismiss: () -> Unit,
|
||||
) {
|
||||
AlertDialog(
|
||||
onDismissRequest = onDismiss,
|
||||
title = { Text(text = stringResource(R.string.settings_conversation_action_label)) },
|
||||
text = {
|
||||
Column(Modifier.selectableGroup()) {
|
||||
ConversationAction.entries.forEach { action ->
|
||||
val isSelected = action == current
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.selectable(
|
||||
selected = isSelected,
|
||||
onClick = { onSelect(action) },
|
||||
role = Role.RadioButton,
|
||||
)
|
||||
.padding(vertical = 12.dp, horizontal = 8.dp),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
RadioButton(selected = isSelected, onClick = null)
|
||||
Text(
|
||||
text = stringResource(action.labelRes),
|
||||
style = MaterialTheme.typography.bodyLarge,
|
||||
modifier = Modifier.padding(start = 16.dp),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
confirmButton = {
|
||||
TextButton(onClick = onDismiss) {
|
||||
Text(text = stringResource(android.R.string.cancel))
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
@Preview2
|
||||
@Composable
|
||||
private fun ConversationActionDialogPreview() = PreviewWrapper {
|
||||
ConversationActionDialog(
|
||||
current = ConversationAction.LOWER_VOLUME,
|
||||
onSelect = {},
|
||||
onDismiss = {},
|
||||
)
|
||||
}
|
||||
@@ -61,6 +61,7 @@ import eu.darken.capod.main.ui.overview.cards.NoProfilesCard
|
||||
import eu.darken.capod.main.ui.overview.cards.PermissionCard
|
||||
import eu.darken.capod.main.ui.overview.cards.ReactionsMovedHintCard
|
||||
import eu.darken.capod.main.ui.overview.cards.SinglePodsCard
|
||||
import eu.darken.capod.main.ui.overview.cards.TroubleshootSuggestionCard
|
||||
import eu.darken.capod.main.ui.overview.cards.UnknownPodDeviceCard
|
||||
import eu.darken.capod.main.ui.overview.cards.UnmatchedDevicesCard
|
||||
import eu.darken.capod.monitor.core.PodDevice
|
||||
@@ -172,6 +173,7 @@ fun OverviewScreenHost(vm: OverviewViewModel = hiltViewModel()) {
|
||||
},
|
||||
onManageDevices = { vm.goToDeviceManager() },
|
||||
onSettings = { vm.goToSettings() },
|
||||
onTroubleShooter = { vm.goToTroubleShooter() },
|
||||
onUpgrade = { vm.onUpgrade() },
|
||||
onToggleUnmatched = { vm.toggleUnmatchedDevices() },
|
||||
onAncModeChange = { device, mode -> vm.setAncMode(device, mode) },
|
||||
@@ -194,6 +196,7 @@ fun OverviewScreen(
|
||||
onBluetoothSettings: () -> Unit,
|
||||
onManageDevices: () -> Unit,
|
||||
onSettings: () -> Unit,
|
||||
onTroubleShooter: () -> Unit = {},
|
||||
onUpgrade: () -> Unit,
|
||||
onToggleUnmatched: () -> Unit,
|
||||
onAncModeChange: (PodDevice, AapSetting.AncMode.Value) -> Unit = { _, _ -> },
|
||||
@@ -327,7 +330,7 @@ fun OverviewScreen(
|
||||
PodDeviceCard(
|
||||
device = device,
|
||||
isPro = state.upgradeInfo.isPro,
|
||||
showDebug = state.isDebugMode,
|
||||
showDebug = state.isDebug,
|
||||
now = state.now,
|
||||
isCollapsed = isCollapsed,
|
||||
onToggleCollapse = if (isToggleable) {
|
||||
@@ -351,18 +354,25 @@ fun OverviewScreen(
|
||||
}
|
||||
}
|
||||
|
||||
// 4c. Troubleshooter suggestion — connected via audio but no live data is reaching us
|
||||
if (state.showTroubleshootSuggestion) {
|
||||
item(key = "troubleshoot_suggestion") {
|
||||
TroubleshootSuggestionCard(onTroubleShooter = onTroubleShooter)
|
||||
}
|
||||
}
|
||||
|
||||
// 5. Monitoring active card
|
||||
if (state.profiles.isNotEmpty() && state.devices.isEmpty()) {
|
||||
if (state.profiles.isNotEmpty() && state.profiledDevices.isEmpty() && !state.shouldShowUnmatchedSection) {
|
||||
item(key = "monitoring_active") {
|
||||
MonitoringActiveCard()
|
||||
}
|
||||
}
|
||||
|
||||
// 6. Unmatched devices section
|
||||
if (state.unmatchedDevices.isNotEmpty()) {
|
||||
if (state.shouldShowUnmatchedSection) {
|
||||
item(key = "unmatched_header") {
|
||||
UnmatchedDevicesCard(
|
||||
count = state.unmatchedDevices.size,
|
||||
count = state.visibleUnmatchedDevices.size,
|
||||
isExpanded = state.showUnmatchedDevices,
|
||||
onToggle = onToggleUnmatched,
|
||||
)
|
||||
@@ -370,13 +380,13 @@ fun OverviewScreen(
|
||||
|
||||
if (state.showUnmatchedDevices) {
|
||||
itemsIndexed(
|
||||
items = state.unmatchedDevices,
|
||||
items = state.visibleUnmatchedDevices,
|
||||
key = { index, device -> unmatchedDeviceKey(device, index) },
|
||||
) { _, device ->
|
||||
PodDeviceCard(
|
||||
device = device,
|
||||
isPro = state.upgradeInfo.isPro,
|
||||
showDebug = state.isDebugMode,
|
||||
showDebug = state.isDebug,
|
||||
now = state.now,
|
||||
onAncModeChange = { mode -> onAncModeChange(device, mode) },
|
||||
onUpgrade = onUpgrade,
|
||||
@@ -438,7 +448,7 @@ private fun OverviewScreenWithDevicesPreview() = PreviewWrapper {
|
||||
MockPodDataProvider.singlePodMonitored(),
|
||||
MockPodDataProvider.unknownMonitored(),
|
||||
),
|
||||
isDebugMode = false,
|
||||
isDebug = false,
|
||||
isBluetoothEnabled = true,
|
||||
profiles = listOf(
|
||||
MockPodDataProvider.profile("My AirPods Pro", PodModel.AIRPODS_PRO2),
|
||||
@@ -465,7 +475,7 @@ private fun OverviewScreenEmptyPreview() = PreviewWrapper {
|
||||
now = SystemTimeSource.now(),
|
||||
permissions = emptySet(),
|
||||
devices = emptyList(),
|
||||
isDebugMode = false,
|
||||
isDebug = false,
|
||||
isBluetoothEnabled = true,
|
||||
profiles = listOf(MockPodDataProvider.profile("My AirPods", PodModel.AIRPODS_PRO2)),
|
||||
upgradeInfo = MockPodDataProvider.fossInfo(),
|
||||
@@ -488,7 +498,7 @@ private fun OverviewScreenNoProfilesPreview() = PreviewWrapper {
|
||||
now = SystemTimeSource.now(),
|
||||
permissions = emptySet(),
|
||||
devices = emptyList(),
|
||||
isDebugMode = false,
|
||||
isDebug = false,
|
||||
isBluetoothEnabled = true,
|
||||
profiles = emptyList(),
|
||||
upgradeInfo = MockPodDataProvider.gplayInfo(),
|
||||
@@ -511,7 +521,7 @@ private fun OverviewScreenBluetoothOffPreview() = PreviewWrapper {
|
||||
now = SystemTimeSource.now(),
|
||||
permissions = emptySet(),
|
||||
devices = emptyList(),
|
||||
isDebugMode = false,
|
||||
isDebug = false,
|
||||
isBluetoothEnabled = false,
|
||||
profiles = listOf(MockPodDataProvider.profile("My AirPods", PodModel.AIRPODS_PRO2)),
|
||||
upgradeInfo = MockPodDataProvider.fossInfo(isPro = true),
|
||||
|
||||
@@ -5,8 +5,7 @@ import eu.darken.capod.common.TimeSource
|
||||
import eu.darken.capod.common.bluetooth.BluetoothManager2
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.datastore.value
|
||||
import eu.darken.capod.common.datastore.valueBlocking
|
||||
import eu.darken.capod.common.debug.DebugSettings
|
||||
import eu.darken.capod.common.debug.Bugs
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.INFO
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
@@ -22,6 +21,7 @@ import eu.darken.capod.main.core.GeneralSettings
|
||||
import eu.darken.capod.main.core.MonitorMode
|
||||
import eu.darken.capod.main.core.PermissionTool
|
||||
import eu.darken.capod.monitor.core.DeviceMonitor
|
||||
import eu.darken.capod.monitor.core.MonitorModeResolver
|
||||
import eu.darken.capod.monitor.core.PodDevice
|
||||
import eu.darken.capod.monitor.core.tierRank
|
||||
import eu.darken.capod.monitor.core.worker.MonitorControl
|
||||
@@ -34,12 +34,16 @@ import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.catch
|
||||
import kotlinx.coroutines.flow.channelFlow
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.flow.combine as combineFlows
|
||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
import kotlinx.coroutines.flow.filter
|
||||
import kotlinx.coroutines.flow.flatMapLatest
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.flow
|
||||
import kotlinx.coroutines.flow.flowOf
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.flow.onStart
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.withTimeoutOrNull
|
||||
import java.time.Instant
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -50,11 +54,11 @@ class OverviewViewModel @Inject constructor(
|
||||
private val deviceMonitor: DeviceMonitor,
|
||||
private val permissionTool: PermissionTool,
|
||||
private val generalSettings: GeneralSettings,
|
||||
debugSettings: DebugSettings,
|
||||
private val upgradeRepo: UpgradeRepo,
|
||||
private val bluetoothManager: BluetoothManager2,
|
||||
private val profilesRepo: DeviceProfilesRepo,
|
||||
private val aapManager: AapConnectionManager,
|
||||
private val monitorModeResolver: MonitorModeResolver,
|
||||
private val timeSource: TimeSource,
|
||||
) : ViewModel4(dispatcherProvider) {
|
||||
|
||||
@@ -77,29 +81,83 @@ class OverviewViewModel @Inject constructor(
|
||||
private val showUnmatchedDevices = MutableStateFlow(false)
|
||||
private val userExpansionOverrides = MutableStateFlow<Set<String>>(emptySet())
|
||||
|
||||
val workerAutolaunch = permissionTool.missingScanPermissions
|
||||
.onEach { permissions ->
|
||||
if (permissions.isNotEmpty()) {
|
||||
log(TAG) { "Missing scan permissions: $permissions" }
|
||||
private data class OverviewUiSettings(
|
||||
val reactionsHintDismissed: Boolean,
|
||||
val hideUnmatchedDevices: Boolean,
|
||||
val showTroubleshootSuggestion: Boolean,
|
||||
)
|
||||
|
||||
/**
|
||||
* True when a profile is connected to the system (audio) but CAPod has *no* live data for any
|
||||
* device — the classic "broadcasts are being dropped by the ROM" symptom (e.g. some HyperOS
|
||||
* phones, see #603). Surfaced as a hint pointing at the Troubleshooter, which can probe and
|
||||
* persist a working compatibility combo. Debounced so it doesn't flash during the brief window
|
||||
* between an audio connection and the first BLE broadcast. Suppressed whenever any pod is live,
|
||||
* so it never claims "no data" while data is visibly arriving (incl. the #603 duplicate state).
|
||||
*/
|
||||
private val troubleshootSuggestion = combineFlows(
|
||||
profilesRepo.profiles,
|
||||
bluetoothManager.connectedDevices.onStart { emit(emptyList()) },
|
||||
deviceMonitor.devices,
|
||||
permissionTool.missingScanPermissions,
|
||||
) { profiles, connectedDevices, devices, missingScanPermissions ->
|
||||
val connectedAddresses = connectedDevices.mapTo(mutableSetOf()) { it.address }
|
||||
val anyProfileConnected = profiles.any { it.address != null && it.address in connectedAddresses }
|
||||
val anyLivePod = devices.any { it.isLive }
|
||||
missingScanPermissions.isEmpty() && anyProfileConnected && !anyLivePod
|
||||
}
|
||||
.distinctUntilChanged()
|
||||
.flatMapLatest { conditionMet ->
|
||||
if (conditionMet) flow {
|
||||
delay(TROUBLESHOOT_SUGGESTION_DELAY_MS)
|
||||
emit(true)
|
||||
} else flowOf(false)
|
||||
}
|
||||
.onStart { emit(false) }
|
||||
.distinctUntilChanged()
|
||||
|
||||
private val overviewUiSettings = combineFlows(
|
||||
generalSettings.reactionsHintDismissed.flow,
|
||||
generalSettings.hideUnmatchedDevices.flow,
|
||||
troubleshootSuggestion,
|
||||
) { reactionsHintDismissed, hideUnmatched, showTroubleshootSuggestion ->
|
||||
OverviewUiSettings(reactionsHintDismissed, hideUnmatched, showTroubleshootSuggestion)
|
||||
}
|
||||
|
||||
init {
|
||||
// When the persistent "hide unmatched" setting is enabled, reset the in-session expand
|
||||
// toggle so the section reappears collapsed if the user later disables the setting.
|
||||
launch {
|
||||
generalSettings.hideUnmatchedDevices.flow
|
||||
.filter { it }
|
||||
.collect { showUnmatchedDevices.value = false }
|
||||
}
|
||||
}
|
||||
|
||||
val workerAutolaunch = combine(
|
||||
permissionTool.missingScanPermissions,
|
||||
monitorModeResolver.effectiveMode,
|
||||
// BluetoothManager2.connectedDevices is gated by a slow HEADSET-profile lookup. Without
|
||||
// an onStart seed the combine wouldn't fire until that profile is bound, so ALWAYS mode
|
||||
// would silently delay autolaunch until the first connected-device emission.
|
||||
bluetoothManager.connectedDevices
|
||||
.onStart { emit(emptyList()) }
|
||||
.map { it.isNotEmpty() }
|
||||
.distinctUntilChanged(),
|
||||
) { missing, mode, anyConnected -> Triple(missing, mode, anyConnected) }
|
||||
.distinctUntilChanged()
|
||||
.onEach { (missing, mode, anyConnected) ->
|
||||
if (missing.isNotEmpty()) {
|
||||
log(TAG) { "Missing scan permissions: $missing" }
|
||||
return@onEach
|
||||
}
|
||||
|
||||
val shouldStart = when (generalSettings.monitorMode.valueBlocking) {
|
||||
val shouldStart = when (mode) {
|
||||
MonitorMode.MANUAL -> false
|
||||
MonitorMode.AUTOMATIC -> {
|
||||
try {
|
||||
val devices = withTimeoutOrNull(5_000) { bluetoothManager.connectedDevices.first() }
|
||||
devices?.isNotEmpty() == true
|
||||
} catch (e: SecurityException) {
|
||||
log(TAG) { "Can't check connected devices without BLUETOOTH_CONNECT: ${e.message}" }
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
MonitorMode.AUTOMATIC -> anyConnected
|
||||
MonitorMode.ALWAYS -> true
|
||||
}
|
||||
if (shouldStart) {
|
||||
log(TAG) { "Starting monitor" }
|
||||
log(TAG) { "Starting monitor (mode=$mode)" }
|
||||
monitorControl.startMonitor()
|
||||
}
|
||||
}
|
||||
@@ -126,15 +184,15 @@ class OverviewViewModel @Inject constructor(
|
||||
updateTicker,
|
||||
permissionTool.missingPermissions,
|
||||
pods,
|
||||
debugSettings.isDebugModeEnabled.flow,
|
||||
Bugs.isDebug,
|
||||
bluetoothManager.isBluetoothEnabled,
|
||||
profilesRepo.profiles,
|
||||
upgradeRepo.upgradeInfo,
|
||||
showUnmatchedDevices,
|
||||
userExpansionOverrides,
|
||||
generalSettings.reactionsHintDismissed.flow,
|
||||
overviewUiSettings,
|
||||
profilesRepo.hadLegacyReactionData,
|
||||
) { _, permissions, devices, isDebugMode, isBluetoothEnabled, profiles, upgradeInfo, showUnmatched, expandedIds, reactionsHintDismissed, hadLegacyReactionData ->
|
||||
) { _, permissions, devices, isDebug, isBluetoothEnabled, profiles, upgradeInfo, showUnmatched, expandedIds, uiSettings, hadLegacyReactionData ->
|
||||
// Prune stale overrides (profiles that no longer exist)
|
||||
val currentProfileIds = profiles.map { it.id }.toSet()
|
||||
val prunedExpandedIds = expandedIds.filter { it in currentProfileIds }.toSet()
|
||||
@@ -143,13 +201,15 @@ class OverviewViewModel @Inject constructor(
|
||||
now = timeSource.now(),
|
||||
permissions = permissions,
|
||||
devices = devices,
|
||||
isDebugMode = isDebugMode,
|
||||
isDebug = isDebug,
|
||||
isBluetoothEnabled = isBluetoothEnabled,
|
||||
profiles = profiles,
|
||||
upgradeInfo = upgradeInfo,
|
||||
showUnmatchedDevices = showUnmatched,
|
||||
userExpandedIds = prunedExpandedIds,
|
||||
showReactionsHint = hadLegacyReactionData && !reactionsHintDismissed,
|
||||
showReactionsHint = hadLegacyReactionData && !uiSettings.reactionsHintDismissed,
|
||||
hideUnmatchedDevices = uiSettings.hideUnmatchedDevices,
|
||||
showTroubleshootSuggestion = uiSettings.showTroubleshootSuggestion,
|
||||
)
|
||||
}.asLiveState()
|
||||
|
||||
@@ -159,13 +219,15 @@ class OverviewViewModel @Inject constructor(
|
||||
val now: Instant,
|
||||
val permissions: Set<Permission>,
|
||||
val devices: List<PodDevice>,
|
||||
val isDebugMode: Boolean,
|
||||
val isDebug: Boolean,
|
||||
val isBluetoothEnabled: Boolean,
|
||||
val profiles: List<DeviceProfile>,
|
||||
val upgradeInfo: UpgradeRepo.Info,
|
||||
val showUnmatchedDevices: Boolean,
|
||||
val userExpandedIds: Set<String> = emptySet(),
|
||||
val showReactionsHint: Boolean = false,
|
||||
val hideUnmatchedDevices: Boolean = false,
|
||||
val showTroubleshootSuggestion: Boolean = false,
|
||||
) {
|
||||
val isScanBlocked: Boolean get() = permissions.any { it.isScanBlocking }
|
||||
|
||||
@@ -186,6 +248,11 @@ class OverviewViewModel @Inject constructor(
|
||||
val hiddenProfiledDeviceCount: Int get() = profiledDevices.size - visibleProfiledDevices.size
|
||||
val unmatchedDevices: List<PodDevice> get() = devices.filter { it.profileId == null }
|
||||
|
||||
/** Unmatched devices actually shown on the dashboard (empty when the hide setting is on). */
|
||||
val visibleUnmatchedDevices: List<PodDevice>
|
||||
get() = if (hideUnmatchedDevices) emptyList() else unmatchedDevices
|
||||
val shouldShowUnmatchedSection: Boolean get() = visibleUnmatchedDevices.isNotEmpty()
|
||||
|
||||
val bluetoothIconState: BluetoothIconState
|
||||
get() = when {
|
||||
isScanBlocked -> BluetoothIconState.HIDDEN
|
||||
@@ -224,6 +291,11 @@ class OverviewViewModel @Inject constructor(
|
||||
navTo(Nav.Settings.Index)
|
||||
}
|
||||
|
||||
fun goToTroubleShooter() {
|
||||
log(TAG, INFO) { "goToTroubleShooter()" }
|
||||
navTo(Nav.Main.TroubleShooter)
|
||||
}
|
||||
|
||||
fun goToDeviceManager() {
|
||||
log(TAG, INFO) { "goToDeviceManager()" }
|
||||
navTo(Nav.Main.DeviceManager)
|
||||
@@ -284,6 +356,14 @@ class OverviewViewModel @Inject constructor(
|
||||
|
||||
companion object {
|
||||
private const val FREE_DEVICE_LIMIT = 1
|
||||
|
||||
/**
|
||||
* How long the "connected but no live data" condition must hold before the troubleshooter
|
||||
* hint appears, so it doesn't flash during the gap between an audio connection and the first
|
||||
* BLE broadcast.
|
||||
*/
|
||||
private const val TROUBLESHOOT_SUGGESTION_DELAY_MS = 15_000L
|
||||
|
||||
private val TAG = logTag("Overview", "VM")
|
||||
}
|
||||
}
|
||||
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
package eu.darken.capod.main.ui.overview.cards
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.twotone.Troubleshoot
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.Card
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import eu.darken.capod.R
|
||||
import eu.darken.capod.common.compose.Preview2
|
||||
import eu.darken.capod.common.compose.PreviewWrapper
|
||||
|
||||
@Composable
|
||||
fun TroubleshootSuggestionCard(onTroubleShooter: () -> Unit) {
|
||||
Card(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(8.dp),
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier.padding(16.dp),
|
||||
) {
|
||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||
Icon(
|
||||
imageVector = Icons.TwoTone.Troubleshoot,
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.primary,
|
||||
modifier = Modifier.padding(end = 8.dp),
|
||||
)
|
||||
Text(
|
||||
text = stringResource(R.string.overview_troubleshoot_suggestion_label),
|
||||
style = MaterialTheme.typography.titleMedium,
|
||||
)
|
||||
}
|
||||
|
||||
Spacer(modifier = Modifier.height(4.dp))
|
||||
|
||||
Text(
|
||||
text = stringResource(R.string.overview_troubleshoot_suggestion_description),
|
||||
style = MaterialTheme.typography.bodyMedium,
|
||||
)
|
||||
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
|
||||
Button(
|
||||
onClick = onTroubleShooter,
|
||||
modifier = Modifier.align(Alignment.End),
|
||||
) {
|
||||
Text(text = stringResource(R.string.overview_troubleshoot_suggestion_action))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Preview2
|
||||
@Composable
|
||||
private fun TroubleshootSuggestionCardPreview() = PreviewWrapper {
|
||||
TroubleshootSuggestionCard(onTroubleShooter = {})
|
||||
}
|
||||
+17
-101
@@ -1,44 +1,32 @@
|
||||
package eu.darken.capod.main.ui.settings.general
|
||||
|
||||
import android.os.Build
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.selection.selectable
|
||||
import androidx.compose.foundation.selection.selectableGroup
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.twotone.ArrowBack
|
||||
import androidx.compose.material.icons.twotone.AccountTree
|
||||
import androidx.compose.material.icons.twotone.BugReport
|
||||
import androidx.compose.material.icons.twotone.Contrast
|
||||
import androidx.compose.material.icons.twotone.DarkMode
|
||||
import androidx.compose.material.icons.twotone.DisabledVisible
|
||||
import androidx.compose.material.icons.twotone.FilterList
|
||||
import androidx.compose.material.icons.automirrored.twotone.Message
|
||||
import androidx.compose.material.icons.twotone.Notifications
|
||||
import androidx.compose.material.icons.twotone.Palette
|
||||
import androidx.compose.material.icons.twotone.VisibilityOff
|
||||
import androidx.compose.material.icons.automirrored.twotone.ViewList
|
||||
import androidx.compose.material3.AlertDialog
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.RadioButton
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Switch
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TextButton
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.semantics.Role
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.hilt.navigation.compose.hiltViewModel
|
||||
import eu.darken.capod.R
|
||||
@@ -55,7 +43,6 @@ import eu.darken.capod.common.theming.ThemeColor
|
||||
import eu.darken.capod.common.theming.ThemeMode
|
||||
import eu.darken.capod.common.theming.ThemeState
|
||||
import eu.darken.capod.common.theming.ThemeStyle
|
||||
import eu.darken.capod.main.core.MonitorMode
|
||||
|
||||
@Composable
|
||||
fun GeneralSettingsScreenHost(vm: GeneralSettingsViewModel = hiltViewModel()) {
|
||||
@@ -67,13 +54,12 @@ fun GeneralSettingsScreenHost(vm: GeneralSettingsViewModel = hiltViewModel()) {
|
||||
GeneralSettingsScreen(
|
||||
state = it,
|
||||
onNavigateUp = { vm.navUp() },
|
||||
onMonitorModeSelected = { mode -> vm.setMonitorMode(mode) },
|
||||
onShowConnectedNotificationChanged = { enabled -> vm.setShowConnectedNotification(enabled) },
|
||||
onKeepNotificationAfterDisconnectChanged = { enabled -> vm.setKeepNotificationAfterDisconnect(enabled) },
|
||||
onDebugSettings = { vm.goToDebugSettings() },
|
||||
onOffloadedFilteringDisabledChanged = { disabled -> vm.setOffloadedFilteringDisabled(disabled) },
|
||||
onOffloadedBatchingDisabledChanged = { disabled -> vm.setOffloadedBatchingDisabled(disabled) },
|
||||
onUseIndirectScanResultCallbackChanged = { enabled -> vm.setUseIndirectScanResultCallback(enabled) },
|
||||
onHideUnmatchedDevicesChanged = { enabled -> vm.setHideUnmatchedDevices(enabled) },
|
||||
onThemeModeSelected = { mode -> vm.setThemeMode(mode) },
|
||||
onThemeStyleSelected = { style -> vm.setThemeStyle(style) },
|
||||
onThemeColorSelected = { color -> vm.setThemeColor(color) },
|
||||
@@ -86,20 +72,18 @@ fun GeneralSettingsScreenHost(vm: GeneralSettingsViewModel = hiltViewModel()) {
|
||||
fun GeneralSettingsScreen(
|
||||
state: GeneralSettingsViewModel.State,
|
||||
onNavigateUp: () -> Unit,
|
||||
onMonitorModeSelected: (MonitorMode) -> Unit,
|
||||
onShowConnectedNotificationChanged: (Boolean) -> Unit,
|
||||
onKeepNotificationAfterDisconnectChanged: (Boolean) -> Unit,
|
||||
onDebugSettings: () -> Unit,
|
||||
onOffloadedFilteringDisabledChanged: (Boolean) -> Unit,
|
||||
onOffloadedBatchingDisabledChanged: (Boolean) -> Unit,
|
||||
onUseIndirectScanResultCallbackChanged: (Boolean) -> Unit,
|
||||
onHideUnmatchedDevicesChanged: (Boolean) -> Unit,
|
||||
onThemeModeSelected: (ThemeMode) -> Unit = {},
|
||||
onThemeStyleSelected: (ThemeStyle) -> Unit = {},
|
||||
onThemeColorSelected: (ThemeColor) -> Unit = {},
|
||||
onUpgrade: () -> Unit = {},
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
var showMonitorModeDialog by remember { mutableStateOf(false) }
|
||||
var showColorDialog by remember { mutableStateOf(false) }
|
||||
|
||||
val isMaterialYouActive = state.themeState.style == ThemeStyle.MATERIAL_YOU &&
|
||||
@@ -122,17 +106,6 @@ fun GeneralSettingsScreen(
|
||||
},
|
||||
) { innerPadding ->
|
||||
LazyColumn(modifier = Modifier.padding(innerPadding)) {
|
||||
item {
|
||||
SettingsCategoryHeader(text = stringResource(R.string.settings_category_monitoring_label))
|
||||
}
|
||||
item {
|
||||
SettingsBaseItem(
|
||||
title = stringResource(R.string.settings_monitor_mode_label),
|
||||
subtitle = stringResource(state.monitorMode.labelRes),
|
||||
icon = Icons.TwoTone.DisabledVisible,
|
||||
onClick = { showMonitorModeDialog = true },
|
||||
)
|
||||
}
|
||||
item {
|
||||
SettingsCategoryHeader(text = stringResource(R.string.settings_category_appearance_label))
|
||||
}
|
||||
@@ -229,10 +202,17 @@ fun GeneralSettingsScreen(
|
||||
}
|
||||
item {
|
||||
SettingsBaseItem(
|
||||
title = stringResource(R.string.settings_debug_label),
|
||||
subtitle = stringResource(R.string.settings_debug_description),
|
||||
icon = Icons.TwoTone.BugReport,
|
||||
onClick = onDebugSettings,
|
||||
title = stringResource(R.string.settings_overview_hide_unmatched_label),
|
||||
subtitle = stringResource(R.string.settings_overview_hide_unmatched_description),
|
||||
icon = Icons.TwoTone.VisibilityOff,
|
||||
onClick = { onHideUnmatchedDevicesChanged(!state.hideUnmatchedDevices) },
|
||||
trailingContent = {
|
||||
Switch(
|
||||
checked = state.hideUnmatchedDevices,
|
||||
onCheckedChange = onHideUnmatchedDevicesChanged,
|
||||
modifier = Modifier.padding(start = 16.dp),
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
item {
|
||||
@@ -286,20 +266,6 @@ fun GeneralSettingsScreen(
|
||||
}
|
||||
}
|
||||
|
||||
if (showMonitorModeDialog) {
|
||||
ListPreferenceDialog(
|
||||
title = stringResource(R.string.settings_monitor_mode_label),
|
||||
entries = MonitorMode.entries,
|
||||
selectedEntry = state.monitorMode,
|
||||
onEntrySelected = {
|
||||
onMonitorModeSelected(it)
|
||||
showMonitorModeDialog = false
|
||||
},
|
||||
entryLabel = { stringResource(it.labelRes) },
|
||||
onDismiss = { showMonitorModeDialog = false },
|
||||
)
|
||||
}
|
||||
|
||||
if (showColorDialog) {
|
||||
ThemeColorSelectorDialog(
|
||||
selectedColor = state.themeState.color,
|
||||
@@ -314,12 +280,12 @@ fun GeneralSettingsScreen(
|
||||
|
||||
private fun previewGeneralState(isPro: Boolean) = GeneralSettingsViewModel.State(
|
||||
isPro = isPro,
|
||||
monitorMode = MonitorMode.AUTOMATIC,
|
||||
showConnectedNotification = true,
|
||||
keepNotificationAfterDisconnect = false,
|
||||
isOffloadedFilteringDisabled = false,
|
||||
isOffloadedBatchingDisabled = false,
|
||||
useIndirectScanResultCallback = false,
|
||||
hideUnmatchedDevices = false,
|
||||
themeState = ThemeState(),
|
||||
)
|
||||
|
||||
@@ -329,13 +295,12 @@ private fun GeneralSettingsScreenProPreview() = PreviewWrapper {
|
||||
GeneralSettingsScreen(
|
||||
state = previewGeneralState(isPro = true),
|
||||
onNavigateUp = {},
|
||||
onMonitorModeSelected = {},
|
||||
onShowConnectedNotificationChanged = {},
|
||||
onKeepNotificationAfterDisconnectChanged = {},
|
||||
onDebugSettings = {},
|
||||
onOffloadedFilteringDisabledChanged = {},
|
||||
onOffloadedBatchingDisabledChanged = {},
|
||||
onUseIndirectScanResultCallbackChanged = {},
|
||||
onHideUnmatchedDevicesChanged = {},
|
||||
)
|
||||
}
|
||||
|
||||
@@ -345,60 +310,11 @@ private fun GeneralSettingsScreenNonProPreview() = PreviewWrapper {
|
||||
GeneralSettingsScreen(
|
||||
state = previewGeneralState(isPro = false),
|
||||
onNavigateUp = {},
|
||||
onMonitorModeSelected = {},
|
||||
onShowConnectedNotificationChanged = {},
|
||||
onKeepNotificationAfterDisconnectChanged = {},
|
||||
onDebugSettings = {},
|
||||
onOffloadedFilteringDisabledChanged = {},
|
||||
onOffloadedBatchingDisabledChanged = {},
|
||||
onUseIndirectScanResultCallbackChanged = {},
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun <T> ListPreferenceDialog(
|
||||
title: String,
|
||||
entries: List<T>,
|
||||
selectedEntry: T,
|
||||
onEntrySelected: (T) -> Unit,
|
||||
entryLabel: @Composable (T) -> String,
|
||||
onDismiss: () -> Unit,
|
||||
) {
|
||||
AlertDialog(
|
||||
onDismissRequest = onDismiss,
|
||||
title = { Text(text = title) },
|
||||
text = {
|
||||
Column(Modifier.selectableGroup()) {
|
||||
entries.forEach { entry ->
|
||||
val isSelected = entry == selectedEntry
|
||||
Row(
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.selectable(
|
||||
selected = isSelected,
|
||||
onClick = { onEntrySelected(entry) },
|
||||
role = Role.RadioButton,
|
||||
)
|
||||
.padding(vertical = 12.dp, horizontal = 8.dp),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
RadioButton(
|
||||
selected = isSelected,
|
||||
onClick = null,
|
||||
)
|
||||
Text(
|
||||
text = entryLabel(entry),
|
||||
style = MaterialTheme.typography.bodyLarge,
|
||||
modifier = Modifier.padding(start = 16.dp),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
confirmButton = {
|
||||
TextButton(onClick = onDismiss) {
|
||||
Text(text = stringResource(android.R.string.cancel))
|
||||
}
|
||||
},
|
||||
onHideUnmatchedDevicesChanged = {},
|
||||
)
|
||||
}
|
||||
|
||||
+13
-19
@@ -13,7 +13,6 @@ import eu.darken.capod.common.theming.ThemeStyle
|
||||
import eu.darken.capod.common.uix.ViewModel4
|
||||
import eu.darken.capod.common.upgrade.UpgradeRepo
|
||||
import eu.darken.capod.main.core.GeneralSettings
|
||||
import eu.darken.capod.main.core.MonitorMode
|
||||
import eu.darken.capod.main.core.themeState
|
||||
import kotlinx.coroutines.flow.combine
|
||||
import kotlinx.coroutines.flow.first
|
||||
@@ -30,12 +29,12 @@ class GeneralSettingsViewModel @Inject constructor(
|
||||
|
||||
data class State(
|
||||
val isPro: Boolean,
|
||||
val monitorMode: MonitorMode,
|
||||
val showConnectedNotification: Boolean,
|
||||
val keepNotificationAfterDisconnect: Boolean,
|
||||
val isOffloadedFilteringDisabled: Boolean,
|
||||
val isOffloadedBatchingDisabled: Boolean,
|
||||
val useIndirectScanResultCallback: Boolean,
|
||||
val hideUnmatchedDevices: Boolean,
|
||||
val themeState: ThemeState,
|
||||
)
|
||||
|
||||
@@ -43,12 +42,11 @@ class GeneralSettingsViewModel @Inject constructor(
|
||||
|
||||
val state = combine(
|
||||
combine(
|
||||
generalSettings.monitorMode.flow,
|
||||
generalSettings.useExtraMonitorNotification.flow,
|
||||
generalSettings.keepConnectedNotificationAfterDisconnect.flow,
|
||||
) { monitorMode, showNotif, keepNotif ->
|
||||
) { showNotif, keepNotif ->
|
||||
@Suppress("USELESS_CAST")
|
||||
arrayOf<Any>(monitorMode as Any, showNotif as Any, keepNotif as Any)
|
||||
arrayOf<Any>(showNotif as Any, keepNotif as Any)
|
||||
},
|
||||
combine(
|
||||
generalSettings.isOffloadedFilteringDisabled.flow,
|
||||
@@ -60,24 +58,20 @@ class GeneralSettingsViewModel @Inject constructor(
|
||||
},
|
||||
generalSettings.themeState,
|
||||
isPro,
|
||||
) { general, compat, themeState, isPro ->
|
||||
generalSettings.hideUnmatchedDevices.flow,
|
||||
) { general, compat, themeState, isPro, hideUnmatched ->
|
||||
State(
|
||||
isPro = isPro,
|
||||
monitorMode = general[0] as MonitorMode,
|
||||
showConnectedNotification = general[1] as Boolean,
|
||||
keepNotificationAfterDisconnect = general[2] as Boolean,
|
||||
showConnectedNotification = general[0] as Boolean,
|
||||
keepNotificationAfterDisconnect = general[1] as Boolean,
|
||||
isOffloadedFilteringDisabled = compat[0] as Boolean,
|
||||
isOffloadedBatchingDisabled = compat[1] as Boolean,
|
||||
useIndirectScanResultCallback = compat[2] as Boolean,
|
||||
hideUnmatchedDevices = hideUnmatched,
|
||||
themeState = themeState,
|
||||
)
|
||||
}.asLiveState()
|
||||
|
||||
fun setMonitorMode(mode: MonitorMode) {
|
||||
log(TAG, INFO) { "setMonitorMode($mode)" }
|
||||
generalSettings.monitorMode.valueBlocking = mode
|
||||
}
|
||||
|
||||
fun setShowConnectedNotification(enabled: Boolean) {
|
||||
log(TAG, INFO) { "setShowConnectedNotification($enabled)" }
|
||||
generalSettings.useExtraMonitorNotification.valueBlocking = enabled
|
||||
@@ -103,6 +97,11 @@ class GeneralSettingsViewModel @Inject constructor(
|
||||
generalSettings.useIndirectScanResultCallback.valueBlocking = enabled
|
||||
}
|
||||
|
||||
fun setHideUnmatchedDevices(enabled: Boolean) {
|
||||
log(TAG, INFO) { "setHideUnmatchedDevices($enabled)" }
|
||||
generalSettings.hideUnmatchedDevices.valueBlocking = enabled
|
||||
}
|
||||
|
||||
fun setThemeMode(mode: ThemeMode) = launch {
|
||||
log(TAG, INFO) { "setThemeMode($mode)" }
|
||||
if (isPro.first()) {
|
||||
@@ -135,11 +134,6 @@ class GeneralSettingsViewModel @Inject constructor(
|
||||
navTo(Nav.Main.Upgrade)
|
||||
}
|
||||
|
||||
fun goToDebugSettings() {
|
||||
log(TAG, INFO) { "goToDebugSettings()" }
|
||||
navTo(Nav.Settings.Debug)
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val TAG = logTag("Settings", "General", "VM")
|
||||
}
|
||||
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
package eu.darken.capod.main.ui.settings.general.debug
|
||||
|
||||
import androidx.navigation3.runtime.EntryProviderScope
|
||||
import androidx.navigation3.runtime.NavKey
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import dagger.multibindings.IntoSet
|
||||
import eu.darken.capod.common.navigation.Nav
|
||||
import eu.darken.capod.common.navigation.NavigationEntry
|
||||
import javax.inject.Inject
|
||||
|
||||
class DebugSettingsNavigation @Inject constructor() : NavigationEntry {
|
||||
override fun EntryProviderScope<NavKey>.setup() {
|
||||
entry<Nav.Settings.Debug> { DebugSettingsScreenHost() }
|
||||
}
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
abstract class Mod {
|
||||
@Binds
|
||||
@IntoSet
|
||||
abstract fun bind(entry: DebugSettingsNavigation): NavigationEntry
|
||||
}
|
||||
}
|
||||
-136
@@ -1,136 +0,0 @@
|
||||
package eu.darken.capod.main.ui.settings.general.debug
|
||||
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.automirrored.twotone.ArrowBack
|
||||
import androidx.compose.material.icons.twotone.BugReport
|
||||
import androidx.compose.material.icons.twotone.DataArray
|
||||
import androidx.compose.material.icons.twotone.DevicesOther
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.IconButton
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Switch
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.hilt.navigation.compose.hiltViewModel
|
||||
import eu.darken.capod.R
|
||||
import eu.darken.capod.common.compose.Preview2
|
||||
import eu.darken.capod.common.compose.PreviewWrapper
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import eu.darken.capod.common.error.ErrorEventHandler
|
||||
import eu.darken.capod.common.navigation.NavigationEventHandler
|
||||
import eu.darken.capod.common.settings.SettingsBaseItem
|
||||
|
||||
@Composable
|
||||
fun DebugSettingsScreenHost(vm: DebugSettingsViewModel = hiltViewModel()) {
|
||||
ErrorEventHandler(vm)
|
||||
NavigationEventHandler(vm)
|
||||
|
||||
val state by vm.state.collectAsStateWithLifecycle(initialValue = null)
|
||||
state?.let {
|
||||
DebugSettingsScreen(
|
||||
state = it,
|
||||
onNavigateUp = { vm.navUp() },
|
||||
onDebugModeChanged = { enabled -> vm.setDebugModeEnabled(enabled) },
|
||||
onShowFakeDataChanged = { enabled -> vm.setShowFakeData(enabled) },
|
||||
onShowUnfilteredChanged = { enabled -> vm.setShowUnfiltered(enabled) },
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun DebugSettingsScreen(
|
||||
state: DebugSettingsViewModel.State,
|
||||
onNavigateUp: () -> Unit,
|
||||
onDebugModeChanged: (Boolean) -> Unit,
|
||||
onShowFakeDataChanged: (Boolean) -> Unit,
|
||||
onShowUnfilteredChanged: (Boolean) -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
Scaffold(
|
||||
modifier = modifier,
|
||||
topBar = {
|
||||
TopAppBar(
|
||||
title = { Text(text = stringResource(R.string.settings_debug_label)) },
|
||||
navigationIcon = {
|
||||
IconButton(onClick = onNavigateUp) {
|
||||
Icon(
|
||||
imageVector = Icons.AutoMirrored.TwoTone.ArrowBack,
|
||||
contentDescription = null,
|
||||
)
|
||||
}
|
||||
},
|
||||
)
|
||||
},
|
||||
) { innerPadding ->
|
||||
LazyColumn(modifier = Modifier.padding(innerPadding)) {
|
||||
item {
|
||||
SettingsBaseItem(
|
||||
title = stringResource(R.string.settings_debug_mode_label),
|
||||
subtitle = stringResource(R.string.settings_debug_mode_description),
|
||||
icon = Icons.TwoTone.BugReport,
|
||||
onClick = { onDebugModeChanged(!state.isDebugModeEnabled) },
|
||||
trailingContent = {
|
||||
Switch(
|
||||
checked = state.isDebugModeEnabled,
|
||||
onCheckedChange = onDebugModeChanged,
|
||||
modifier = Modifier.padding(start = 16.dp),
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
item {
|
||||
SettingsBaseItem(
|
||||
title = stringResource(R.string.settings_fake_data_label),
|
||||
subtitle = stringResource(R.string.settings_fake_data_description),
|
||||
icon = Icons.TwoTone.DataArray,
|
||||
onClick = { onShowFakeDataChanged(!state.showFakeData) },
|
||||
trailingContent = {
|
||||
Switch(
|
||||
checked = state.showFakeData,
|
||||
onCheckedChange = onShowFakeDataChanged,
|
||||
modifier = Modifier.padding(start = 16.dp),
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
item {
|
||||
SettingsBaseItem(
|
||||
title = stringResource(R.string.settings_blescanner_unfiltered_label),
|
||||
subtitle = stringResource(R.string.settings_blescanner_unfiltered_description),
|
||||
icon = Icons.TwoTone.DevicesOther,
|
||||
onClick = { onShowUnfilteredChanged(!state.showUnfiltered) },
|
||||
trailingContent = {
|
||||
Switch(
|
||||
checked = state.showUnfiltered,
|
||||
onCheckedChange = onShowUnfilteredChanged,
|
||||
modifier = Modifier.padding(start = 16.dp),
|
||||
)
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Preview2
|
||||
@Composable
|
||||
private fun DebugSettingsScreenPreview() = PreviewWrapper {
|
||||
DebugSettingsScreen(
|
||||
state = DebugSettingsViewModel.State(
|
||||
isDebugModeEnabled = true,
|
||||
showFakeData = false,
|
||||
showUnfiltered = false,
|
||||
),
|
||||
onNavigateUp = {},
|
||||
onDebugModeChanged = {},
|
||||
onShowFakeDataChanged = {},
|
||||
onShowUnfilteredChanged = {},
|
||||
)
|
||||
}
|
||||
-57
@@ -1,57 +0,0 @@
|
||||
package eu.darken.capod.main.ui.settings.general.debug
|
||||
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.debug.DebugSettings
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.INFO
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
|
||||
import eu.darken.capod.common.uix.ViewModel4
|
||||
import kotlinx.coroutines.flow.combine
|
||||
import javax.inject.Inject
|
||||
import eu.darken.capod.common.datastore.valueBlocking
|
||||
|
||||
@HiltViewModel
|
||||
class DebugSettingsViewModel @Inject constructor(
|
||||
dispatcherProvider: DispatcherProvider,
|
||||
private val debugSettings: DebugSettings,
|
||||
) : ViewModel4(dispatcherProvider) {
|
||||
|
||||
data class State(
|
||||
val isDebugModeEnabled: Boolean,
|
||||
val showFakeData: Boolean,
|
||||
val showUnfiltered: Boolean,
|
||||
)
|
||||
|
||||
val state = combine(
|
||||
debugSettings.isDebugModeEnabled.flow,
|
||||
debugSettings.showFakeData.flow,
|
||||
debugSettings.showUnfiltered.flow,
|
||||
) { debugMode, fakeData, unfiltered ->
|
||||
State(
|
||||
isDebugModeEnabled = debugMode,
|
||||
showFakeData = fakeData,
|
||||
showUnfiltered = unfiltered,
|
||||
)
|
||||
}.asLiveState()
|
||||
|
||||
fun setDebugModeEnabled(enabled: Boolean) {
|
||||
log(TAG, INFO) { "setDebugModeEnabled($enabled)" }
|
||||
debugSettings.isDebugModeEnabled.valueBlocking = enabled
|
||||
}
|
||||
|
||||
fun setShowFakeData(enabled: Boolean) {
|
||||
log(TAG, INFO) { "setShowFakeData($enabled)" }
|
||||
debugSettings.showFakeData.valueBlocking = enabled
|
||||
}
|
||||
|
||||
fun setShowUnfiltered(enabled: Boolean) {
|
||||
log(TAG, INFO) { "setShowUnfiltered($enabled)" }
|
||||
debugSettings.showUnfiltered.valueBlocking = enabled
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val TAG = logTag("Settings", "Debug", "VM")
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package eu.darken.capod.monitor.core
|
||||
|
||||
import eu.darken.capod.common.bluetooth.NudgeAvailability
|
||||
import eu.darken.capod.common.bluetooth.NudgeCapabilityStore
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.main.core.MonitorMode
|
||||
import eu.darken.capod.profiles.core.DeviceProfile
|
||||
import eu.darken.capod.profiles.core.DeviceProfilesRepo
|
||||
import eu.darken.capod.profiles.core.toReactionConfig
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.combine
|
||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Singleton
|
||||
class MonitorModeResolver @Inject constructor(
|
||||
private val profilesRepo: DeviceProfilesRepo,
|
||||
private val nudgeCapabilityStore: NudgeCapabilityStore,
|
||||
) {
|
||||
|
||||
val effectiveMode: Flow<MonitorMode> = combine(
|
||||
profilesRepo.profiles,
|
||||
nudgeCapabilityStore.availability,
|
||||
) { profiles, nudge ->
|
||||
val primary = profiles.firstOrNull() ?: return@combine MonitorMode.MANUAL
|
||||
primary.requiredMode(nudge)
|
||||
}
|
||||
.distinctUntilChanged()
|
||||
.onEach { log(TAG, VERBOSE) { "effectiveMode = $it" } }
|
||||
|
||||
private fun DeviceProfile.requiredMode(nudge: NudgeAvailability): MonitorMode = when {
|
||||
// Match AutoConnect.kt's isNullOrEmpty check — a blank/legacy "" address is no address.
|
||||
address.isNullOrBlank() -> MonitorMode.MANUAL
|
||||
toReactionConfig().autoConnect && nudge != NudgeAvailability.BROKEN -> MonitorMode.ALWAYS
|
||||
else -> MonitorMode.AUTOMATIC
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val TAG = logTag("Monitor", "ModeResolver")
|
||||
}
|
||||
}
|
||||
@@ -66,7 +66,7 @@ class StemPressReaction @Inject constructor(
|
||||
is StemAction.PreviousTrack -> mediaControl.sendKey(KeyEvent.KEYCODE_MEDIA_PREVIOUS)
|
||||
is StemAction.VolumeUp -> mediaControl.adjustVolumeUp()
|
||||
is StemAction.VolumeDown -> mediaControl.adjustVolumeDown()
|
||||
is StemAction.Stop -> mediaControl.sendKey(KeyEvent.KEYCODE_MEDIA_STOP)
|
||||
is StemAction.Stop -> mediaControl.sendStop()
|
||||
is StemAction.FastForward -> mediaControl.sendKey(KeyEvent.KEYCODE_MEDIA_FAST_FORWARD)
|
||||
is StemAction.Rewind -> mediaControl.sendKey(KeyEvent.KEYCODE_MEDIA_REWIND)
|
||||
is StemAction.MuteToggle -> mediaControl.toggleMuteMusic()
|
||||
|
||||
@@ -8,7 +8,6 @@ import eu.darken.capod.common.bluetooth.BluetoothManager2
|
||||
import eu.darken.capod.common.bluetooth.ScannerMode
|
||||
import eu.darken.capod.common.bluetooth.onlyNewAndUnique
|
||||
import eu.darken.capod.common.coroutine.AppScope
|
||||
import eu.darken.capod.common.debug.DebugSettings
|
||||
import eu.darken.capod.common.debug.logging.Logging
|
||||
import eu.darken.capod.common.debug.logging.asLog
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
@@ -30,6 +29,7 @@ import kotlinx.coroutines.flow.combine
|
||||
import kotlinx.coroutines.flow.catch
|
||||
import kotlinx.coroutines.flow.emitAll
|
||||
import kotlinx.coroutines.flow.flatMapLatest
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.flow
|
||||
import kotlinx.coroutines.flow.flowOf
|
||||
import kotlinx.coroutines.flow.map
|
||||
@@ -52,7 +52,6 @@ class BlePodMonitor @Inject constructor(
|
||||
private val timeSource: TimeSource,
|
||||
private val generalSettings: GeneralSettings,
|
||||
bluetoothManager: BluetoothManager2,
|
||||
private val debugSettings: DebugSettings,
|
||||
private val permissionTool: PermissionTool,
|
||||
private val profilesRepo: DeviceProfilesRepo,
|
||||
) {
|
||||
@@ -60,6 +59,62 @@ class BlePodMonitor @Inject constructor(
|
||||
private val deviceCache = mutableMapOf<BlePodSnapshot.Id, BlePodSnapshot>()
|
||||
private val cacheLock = Mutex()
|
||||
|
||||
/**
|
||||
* Drops all cached observations. The troubleshooter calls this between probe attempts so a
|
||||
* previous compat combo's cached devices (kept up to [STALE_DEVICE_TIMEOUT]) can't leak into
|
||||
* the next attempt and falsely satisfy it — including via [preferCaseContextPod], which would
|
||||
* otherwise hand back a stale snapshot whose timestamp predates the fresh scan.
|
||||
*/
|
||||
suspend fun clearDeviceCache() = cacheLock.withLock {
|
||||
log(TAG) { "clearDeviceCache()" }
|
||||
deviceCache.clear()
|
||||
}
|
||||
|
||||
/**
|
||||
* Ephemeral override that disables the proximity-pairing scan filter so
|
||||
* the troubleshooter can collect raw BLE broadcasts. Resets to false on
|
||||
* every process start; the troubleshooter is the only writer.
|
||||
*/
|
||||
private val unfilteredOverride = MutableStateFlow(false)
|
||||
|
||||
fun setUnfilteredOverride(enabled: Boolean) {
|
||||
unfilteredOverride.value = enabled
|
||||
}
|
||||
|
||||
/**
|
||||
* Ephemeral override for the three BLE compatibility options. The troubleshooter uses this to
|
||||
* probe combinations without writing the user's persisted settings: while set, it fully replaces
|
||||
* the persisted compat values for the active scan. Resets to null on every process start; the
|
||||
* troubleshooter is the only writer and always clears it when finished, so clearing it restores
|
||||
* the user's original settings for free.
|
||||
*/
|
||||
private val compatOverride = MutableStateFlow<CompatOverride?>(null)
|
||||
|
||||
fun setCompatOverride(override: CompatOverride?) {
|
||||
log(TAG) { "setCompatOverride($override)" }
|
||||
compatOverride.value = override
|
||||
}
|
||||
|
||||
data class CompatOverride(
|
||||
val offloadedFilteringDisabled: Boolean,
|
||||
val offloadedBatchingDisabled: Boolean,
|
||||
val indirectCallback: Boolean,
|
||||
)
|
||||
|
||||
/** Persisted compat settings, transparently replaced by [compatOverride] while it is set. */
|
||||
private val effectiveCompat: Flow<CompatOverride> = combine(
|
||||
compatOverride,
|
||||
generalSettings.isOffloadedFilteringDisabled.flow,
|
||||
generalSettings.isOffloadedBatchingDisabled.flow,
|
||||
generalSettings.useIndirectScanResultCallback.flow,
|
||||
) { override, filteringDisabled, batchingDisabled, indirectCallback ->
|
||||
override ?: CompatOverride(
|
||||
offloadedFilteringDisabled = filteringDisabled,
|
||||
offloadedBatchingDisabled = batchingDisabled,
|
||||
indirectCallback = indirectCallback,
|
||||
)
|
||||
}
|
||||
|
||||
val devices: Flow<List<BlePodSnapshot>> = combine(
|
||||
permissionTool.missingScanPermissions,
|
||||
bluetoothManager.isBluetoothEnabled
|
||||
@@ -134,23 +189,15 @@ class BlePodMonitor @Inject constructor(
|
||||
|
||||
private fun createBleScanner() = combine(
|
||||
bleScanModeController.scannerMode,
|
||||
debugSettings.showUnfiltered.flow,
|
||||
generalSettings.isOffloadedBatchingDisabled.flow,
|
||||
generalSettings.isOffloadedFilteringDisabled.flow,
|
||||
generalSettings.useIndirectScanResultCallback.flow,
|
||||
) {
|
||||
scannermode,
|
||||
showUnfiltered,
|
||||
isOffloadedBatchingDisabled,
|
||||
isOffloadedFilteringDisabled,
|
||||
useIndirectScanResultCallback,
|
||||
->
|
||||
unfilteredOverride,
|
||||
effectiveCompat,
|
||||
) { scannermode, showUnfiltered, compat ->
|
||||
ScannerOptions(
|
||||
scannerMode = scannermode,
|
||||
showUnfiltered = showUnfiltered,
|
||||
offloadedFilteringDisabled = isOffloadedFilteringDisabled,
|
||||
offloadedBatchingDisabled = isOffloadedBatchingDisabled,
|
||||
disableDirectCallback = useIndirectScanResultCallback,
|
||||
offloadedFilteringDisabled = compat.offloadedFilteringDisabled,
|
||||
offloadedBatchingDisabled = compat.offloadedBatchingDisabled,
|
||||
disableDirectCallback = compat.indirectCallback,
|
||||
)
|
||||
}
|
||||
.throttleLatest(1000)
|
||||
|
||||
@@ -15,7 +15,6 @@ import eu.darken.capod.common.bluetooth.BluetoothAddress
|
||||
import eu.darken.capod.common.bluetooth.BluetoothDevice2
|
||||
import eu.darken.capod.common.bluetooth.BluetoothManager2
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.datastore.valueBlocking
|
||||
import eu.darken.capod.common.debug.Bugs
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
@@ -30,6 +29,7 @@ import eu.darken.capod.main.core.MonitorMode
|
||||
import eu.darken.capod.main.core.PermissionTool
|
||||
import eu.darken.capod.monitor.core.DeviceMonitor
|
||||
import eu.darken.capod.monitor.core.MonitorCoroutineScope
|
||||
import eu.darken.capod.monitor.core.MonitorModeResolver
|
||||
import eu.darken.capod.monitor.core.PodDevice
|
||||
import eu.darken.capod.monitor.core.ble.BlePodMonitor
|
||||
import eu.darken.capod.monitor.core.primaryDevice
|
||||
@@ -42,6 +42,7 @@ import eu.darken.capod.profiles.core.DeviceProfilesRepo
|
||||
import eu.darken.capod.reaction.core.autoconnect.AutoConnect
|
||||
import eu.darken.capod.reaction.core.playpause.PlayPause
|
||||
import eu.darken.capod.reaction.core.popup.PopUpReaction
|
||||
import eu.darken.capod.reaction.core.conversation.ConversationReaction
|
||||
import eu.darken.capod.reaction.core.sleep.SleepReaction
|
||||
import eu.darken.capod.reaction.ui.popup.PopUpWindow
|
||||
import kotlinx.coroutines.CancellationException
|
||||
@@ -78,9 +79,11 @@ class MonitorService : Service() {
|
||||
@Inject lateinit var autoConnect: AutoConnect
|
||||
@Inject lateinit var popUpReaction: PopUpReaction
|
||||
@Inject lateinit var sleepReaction: SleepReaction
|
||||
@Inject lateinit var conversationReaction: ConversationReaction
|
||||
@Inject lateinit var popUpWindow: PopUpWindow
|
||||
@Inject lateinit var profilesRepo: DeviceProfilesRepo
|
||||
@Inject lateinit var aapConnectionManager: AapConnectionManager
|
||||
@Inject lateinit var monitorModeResolver: MonitorModeResolver
|
||||
|
||||
private val monitorScope = MonitorCoroutineScope()
|
||||
private var monitoringJob: Job? = null
|
||||
@@ -88,6 +91,10 @@ class MonitorService : Service() {
|
||||
private var foregroundStartFailed = false
|
||||
private var injectionComplete = false
|
||||
|
||||
@Volatile
|
||||
private var latestNotificationSettings: NotificationSettings =
|
||||
NotificationSettings(useExtraNotification = false, keepAfterDisconnect = false)
|
||||
|
||||
@SuppressLint("InlinedApi")
|
||||
private fun promoteToForeground(notification: Notification): Boolean {
|
||||
return try {
|
||||
@@ -188,27 +195,53 @@ class MonitorService : Service() {
|
||||
}
|
||||
|
||||
private suspend fun doMonitor() {
|
||||
// Seed snapshot eagerly so onDestroy() has correct values even if we abort below.
|
||||
latestNotificationSettings = NotificationSettings(
|
||||
useExtraNotification = generalSettings.useExtraMonitorNotification.flow.first(),
|
||||
keepAfterDisconnect = generalSettings.keepConnectedNotificationAfterDisconnect.flow.first(),
|
||||
)
|
||||
|
||||
val permissionsMissingOnStart = permissionTool.missingScanPermissions.first()
|
||||
if (permissionsMissingOnStart.isNotEmpty()) {
|
||||
log(TAG, WARN) { "Aborting, missing scan permissions: $permissionsMissingOnStart" }
|
||||
return
|
||||
}
|
||||
|
||||
val monitorJob = deviceMonitor.primaryDevice()
|
||||
val deviceFlow = deviceMonitor.primaryDevice()
|
||||
.setupCommonEventHandlers(TAG) { "BlePodMonitor" }
|
||||
.distinctUntilChangedBy { it?.toNotificationKey() }
|
||||
.throttleLatest(1000)
|
||||
.onEach { currentDevice ->
|
||||
val useExtraNotification = generalSettings.useExtraMonitorNotification.valueBlocking
|
||||
|
||||
val notificationSettingsFlow = combine(
|
||||
generalSettings.useExtraMonitorNotification.flow,
|
||||
generalSettings.keepConnectedNotificationAfterDisconnect.flow,
|
||||
) { useExtra, keepAfter ->
|
||||
NotificationSettings(useExtraNotification = useExtra, keepAfterDisconnect = keepAfter)
|
||||
}
|
||||
|
||||
val monitorJob = combine(deviceFlow, notificationSettingsFlow) { currentDevice, settings ->
|
||||
currentDevice to settings
|
||||
}
|
||||
.onEach { (currentDevice, settings) ->
|
||||
latestNotificationSettings = settings
|
||||
|
||||
notificationManager.notify(
|
||||
MonitorNotifications.NOTIFICATION_ID,
|
||||
notifications.getNotification(currentDevice, showHint = useExtraNotification),
|
||||
notifications.getNotification(
|
||||
currentDevice,
|
||||
showHint = settings.useExtraNotification,
|
||||
),
|
||||
)
|
||||
if (generalSettings.useExtraMonitorNotification.valueBlocking && currentDevice != null) {
|
||||
notificationManager.notify(
|
||||
|
||||
when (val action = decideExtraNotificationAction(currentDevice, settings)) {
|
||||
is ExtraNotificationAction.Post -> notificationManager.notify(
|
||||
MonitorNotifications.NOTIFICATION_ID_CONNECTED,
|
||||
notifications.getNotificationConnected(currentDevice),
|
||||
notifications.getNotificationConnected(action.device),
|
||||
)
|
||||
ExtraNotificationAction.Cancel -> notificationManager.cancel(
|
||||
MonitorNotifications.NOTIFICATION_ID_CONNECTED
|
||||
)
|
||||
ExtraNotificationAction.KeepExisting -> Unit
|
||||
}
|
||||
}
|
||||
.catch {
|
||||
@@ -224,7 +257,7 @@ class MonitorService : Service() {
|
||||
emptyFlow()
|
||||
} else {
|
||||
combine(
|
||||
generalSettings.monitorMode.flow,
|
||||
monitorModeResolver.effectiveMode,
|
||||
profilesRepo.profiles,
|
||||
bluetoothManager.connectedDevices,
|
||||
aapConnectionManager.allStates,
|
||||
@@ -300,6 +333,11 @@ class MonitorService : Service() {
|
||||
.catch { log(TAG, WARN) { "sleepReaction failed:\n${it.asLog()}" } }
|
||||
.launchIn(monitorScope)
|
||||
|
||||
conversationReaction.monitor()
|
||||
.setupCommonEventHandlers(TAG) { "conversationReaction" }
|
||||
.catch { log(TAG, WARN) { "conversationReaction failed:\n${it.asLog()}" } }
|
||||
.launchIn(monitorScope)
|
||||
|
||||
log(TAG, VERBOSE) { "Monitor job is active" }
|
||||
monitorJob.join()
|
||||
log(TAG, VERBOSE) { "Monitor job quit" }
|
||||
@@ -310,7 +348,8 @@ class MonitorService : Service() {
|
||||
monitorScope.cancel("Service destroyed")
|
||||
|
||||
if (injectionComplete) {
|
||||
if (generalSettings.useExtraMonitorNotification.valueBlocking && !generalSettings.keepConnectedNotificationAfterDisconnect.valueBlocking) {
|
||||
val snapshot = latestNotificationSettings
|
||||
if (snapshot.useExtraNotification && !snapshot.keepAfterDisconnect) {
|
||||
try {
|
||||
notificationManager.cancel(MonitorNotifications.NOTIFICATION_ID_CONNECTED)
|
||||
} catch (e: Exception) {
|
||||
@@ -363,6 +402,7 @@ private data class NotificationDeviceKey(
|
||||
val profileId: String?,
|
||||
val label: String?,
|
||||
val model: PodModel,
|
||||
val isLive: Boolean,
|
||||
val hasDualPods: Boolean,
|
||||
val hasCase: Boolean,
|
||||
val hasEarDetection: Boolean,
|
||||
@@ -387,6 +427,7 @@ private fun PodDevice.toNotificationKey(): NotificationDeviceKey = NotificationD
|
||||
profileId = profileId,
|
||||
label = label,
|
||||
model = model,
|
||||
isLive = isLive,
|
||||
hasDualPods = hasDualPods,
|
||||
hasCase = hasCase,
|
||||
hasEarDetection = hasEarDetection,
|
||||
@@ -406,3 +447,24 @@ private fun PodDevice.toNotificationKey(): NotificationDeviceKey = NotificationD
|
||||
rightPodIcon = rightPodIcon,
|
||||
caseIcon = caseIcon,
|
||||
)
|
||||
|
||||
internal data class NotificationSettings(
|
||||
val useExtraNotification: Boolean,
|
||||
val keepAfterDisconnect: Boolean,
|
||||
)
|
||||
|
||||
internal sealed interface ExtraNotificationAction {
|
||||
object Cancel : ExtraNotificationAction
|
||||
data class Post(val device: PodDevice) : ExtraNotificationAction
|
||||
object KeepExisting : ExtraNotificationAction
|
||||
}
|
||||
|
||||
internal fun decideExtraNotificationAction(
|
||||
device: PodDevice?,
|
||||
settings: NotificationSettings,
|
||||
): ExtraNotificationAction = when {
|
||||
!settings.useExtraNotification -> ExtraNotificationAction.Cancel
|
||||
device != null && device.isLive -> ExtraNotificationAction.Post(device)
|
||||
settings.keepAfterDisconnect -> ExtraNotificationAction.KeepExisting
|
||||
else -> ExtraNotificationAction.Cancel
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import eu.darken.capod.pods.core.apple.PodModel
|
||||
import eu.darken.capod.pods.core.apple.aap.engine.AapConnection
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.AapCommand
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.AapDeviceProfile
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.ConversationAwarenessEvent
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.KeyExchangeResult
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.StemPressEvent
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
@@ -73,6 +74,17 @@ class AapConnectionManager @Inject constructor(
|
||||
private val _sleepEvents = MutableSharedFlow<BluetoothAddress>(extraBufferCapacity = 16)
|
||||
val sleepEvents: SharedFlow<BluetoothAddress> = _sleepEvents.asSharedFlow()
|
||||
|
||||
/**
|
||||
* Emits when a connected device reports a Conversational Awareness speaking transition
|
||||
* (START/STOP, AAP command 0x4B). Paired with the origin address so the conversation
|
||||
* reaction can gate on the primary device. Only the known 0x01/0x04 markers reach here —
|
||||
* the engine drops unknown raw values (see [AapSessionEngine]).
|
||||
*/
|
||||
private val _conversationalAwarenessEvents =
|
||||
MutableSharedFlow<Pair<BluetoothAddress, ConversationAwarenessEvent>>(extraBufferCapacity = 16)
|
||||
val conversationalAwarenessEvents: SharedFlow<Pair<BluetoothAddress, ConversationAwarenessEvent>> =
|
||||
_conversationalAwarenessEvents.asSharedFlow()
|
||||
|
||||
/** Emits when a SetAncMode(OFF) command was rejected by the device (inferred by the engine). */
|
||||
private val _offRejectedEvents = MutableSharedFlow<BluetoothAddress>(extraBufferCapacity = 16)
|
||||
val offRejectedEvents: SharedFlow<BluetoothAddress> = _offRejectedEvents.asSharedFlow()
|
||||
@@ -140,6 +152,13 @@ class AapConnectionManager @Inject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
// Forward conversational-awareness speaking transitions from this connection (child coroutine).
|
||||
launch {
|
||||
connection.conversationalAwarenessEvents.collect { event ->
|
||||
_conversationalAwarenessEvents.tryEmit(address to event)
|
||||
}
|
||||
}
|
||||
|
||||
// Forward OFF-rejection events from this connection (child coroutine)
|
||||
launch {
|
||||
connection.offRejected.collect {
|
||||
|
||||
@@ -14,6 +14,7 @@ import eu.darken.capod.pods.core.apple.aap.protocol.AapDeviceProfile
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.AapFramer
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.AapPacket
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.AapSleepEvent
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.ConversationAwarenessEvent
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.KeyExchangeResult
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.StemPressEvent
|
||||
import kotlinx.coroutines.CompletableDeferred
|
||||
@@ -53,6 +54,7 @@ internal class AapConnection(
|
||||
val keysReceived: SharedFlow<KeyExchangeResult> get() = engine.keysReceived
|
||||
val stemPressEvents: SharedFlow<StemPressEvent> get() = engine.stemPressEvents
|
||||
val sleepEvents: SharedFlow<AapSleepEvent> get() = engine.sleepEvents
|
||||
val conversationalAwarenessEvents: SharedFlow<ConversationAwarenessEvent> get() = engine.conversationalAwarenessEvents
|
||||
val offRejected: SharedFlow<Unit> get() = engine.offRejected
|
||||
val settingRejected: SharedFlow<AapCommand> get() = engine.settingRejected
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ import eu.darken.capod.pods.core.apple.aap.protocol.AapMessageType
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.AapPacket
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.AapSetting
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.AapSleepEvent
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.ConversationAwarenessEvent
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.KeyExchangeResult
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.StemPressEvent
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
@@ -54,6 +55,11 @@ internal class AapSessionEngine(
|
||||
MutableSharedFlow<AapSleepEvent>(extraBufferCapacity = 4, onBufferOverflow = BufferOverflow.DROP_OLDEST)
|
||||
val sleepEvents: SharedFlow<AapSleepEvent> = _sleepEvents.asSharedFlow()
|
||||
|
||||
private val _conversationalAwarenessEvents =
|
||||
MutableSharedFlow<ConversationAwarenessEvent>(extraBufferCapacity = 8, onBufferOverflow = BufferOverflow.DROP_OLDEST)
|
||||
val conversationalAwarenessEvents: SharedFlow<ConversationAwarenessEvent> =
|
||||
_conversationalAwarenessEvents.asSharedFlow()
|
||||
|
||||
private val _offRejected =
|
||||
MutableSharedFlow<Unit>(extraBufferCapacity = 1, onBufferOverflow = BufferOverflow.DROP_OLDEST)
|
||||
val offRejected: SharedFlow<Unit> = _offRejected.asSharedFlow()
|
||||
@@ -301,6 +307,13 @@ internal class AapSessionEngine(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// Re-emit every (well-formed) Conversational Awareness frame as a classified event for the
|
||||
// conversation reaction: START / STOP / HOLD (keep-alive). The decoder already dropped
|
||||
// malformed frames (rawValue stays null only in that case). The raw payload remains logged.
|
||||
if (value is AapSetting.ConversationalAwarenessState) {
|
||||
value.rawValue?.let { _conversationalAwarenessEvents.tryEmit(ConversationAwarenessEvent.fromStatus(it)) }
|
||||
}
|
||||
}
|
||||
|
||||
private fun handleTimerFired(key: EngineTimerKey) {
|
||||
|
||||
@@ -99,9 +99,17 @@ sealed class AapSetting {
|
||||
val level: Int,
|
||||
) : AapSetting()
|
||||
|
||||
/** Push-only from device — reports speaking detection state (command 0x4B). */
|
||||
/**
|
||||
* Push-only from device — reports speaking detection state (command 0x4B).
|
||||
*
|
||||
* [rawValue] is the status byte: the last byte of the 4-byte `02 00 01 XX` form (or the single
|
||||
* byte of the legacy form), preserved so consumers can classify it. [speaking] is `true` only
|
||||
* for the speaking-onset statuses (`1`, `2`); every other value (`0`, `3`, `4`, `5`, `0x0B`, …)
|
||||
* is `false`. START/STOP/HOLD classification for the reaction lives in [ConversationAwarenessEvent].
|
||||
*/
|
||||
data class ConversationalAwarenessState(
|
||||
val speaking: Boolean,
|
||||
val rawValue: Int? = null,
|
||||
) : AapSetting()
|
||||
|
||||
data class MicrophoneMode(
|
||||
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
package eu.darken.capod.pods.core.apple.aap.protocol
|
||||
|
||||
/**
|
||||
* Classified Conversational Awareness signal derived from the status byte of a `0x4B` frame.
|
||||
*
|
||||
* Status-byte mapping (from live AirPods Pro 3 captures + the librepods project):
|
||||
* - `1`, `2` → [START] (wearer started / is speaking → engage the reaction)
|
||||
* - `5`, `6`, `8`, `9` → [STOP] (wearer stopped → disengage). `5` is the terminal value on fw `…6861`,
|
||||
* which winds down `3`→`5` and never reaches `6/8/9`; `6/8/9` are the terminal values on fw `…6503`.
|
||||
* - any other value (`0`, `3`, `4`, `0x0B`, … and anything unrecognised) → [HOLD]: a transitional or
|
||||
* unknown frame. It must NOT disengage the reaction — only an explicit terminal [STOP] does that.
|
||||
*
|
||||
* Frame cadence is firmware-dependent and the pod does NOT reliably stream keep-alives while you
|
||||
* talk: fw `…6861` sent only an onset (`1`,`2`) then NO `0x4B` frames for 21s of continuous speech
|
||||
* (proven still-speaking — it held its own CA/ANC-transparency engaged the whole time), then the
|
||||
* wind-down `3`,`5`. So frame-silence must NOT be read as "speaking ended"; disengage is driven by
|
||||
* the explicit terminal [STOP] frame. [ConversationReaction]'s stale timeout is only a long backstop
|
||||
* for a fully-dropped terminal frame, not the normal disengage path.
|
||||
*/
|
||||
enum class ConversationAwarenessEvent {
|
||||
START,
|
||||
HOLD,
|
||||
STOP,
|
||||
;
|
||||
|
||||
companion object {
|
||||
val SPEAKING_STATUSES = setOf(1, 2)
|
||||
val STOPPED_STATUSES = setOf(5, 6, 8, 9)
|
||||
|
||||
fun fromStatus(status: Int): ConversationAwarenessEvent = when (status) {
|
||||
in SPEAKING_STATUSES -> START
|
||||
in STOPPED_STATUSES -> STOP
|
||||
else -> HOLD
|
||||
}
|
||||
}
|
||||
}
|
||||
+17
-5
@@ -183,12 +183,24 @@ class DefaultAapDeviceProfile(
|
||||
return AapSetting.PmeConfig::class to AapSetting.PmeConfig(sets)
|
||||
}
|
||||
|
||||
// Conversation Awareness State is a separate command type (push-only)
|
||||
// Conversation Awareness State is a separate command type (push-only). Two payload shapes
|
||||
// are seen: a legacy single byte, and the 4-byte `02 00 01 <status>` form on Pro 3 fw 81.x.
|
||||
// The status (speaking marker) is the last byte in both — but we validate the shape rather
|
||||
// than blindly taking payload.last(), so a truncated/garbled frame can't be misread as a
|
||||
// speaking transition. Unrecognised shapes return null → logged as an unhandled message.
|
||||
if (message.commandType == AapMessageType.CONVERSATIONAL_AWARENESS.value) {
|
||||
if (message.payload.isEmpty()) return null
|
||||
val value = message.payload[0].toInt() and 0xFF
|
||||
val speaking = value == 0x01
|
||||
return AapSetting.ConversationalAwarenessState::class to AapSetting.ConversationalAwarenessState(speaking)
|
||||
val p = message.payload
|
||||
val status = when {
|
||||
p.size == 1 -> p[0].toInt() and 0xFF
|
||||
p.size == 4 &&
|
||||
p[0] == 0x02.toByte() && p[1] == 0x00.toByte() && p[2] == 0x01.toByte() ->
|
||||
p[3].toInt() and 0xFF
|
||||
else -> return null
|
||||
}
|
||||
// speaking = the "started/active speaking" statuses (1,2); see ConversationAwarenessEvent.
|
||||
val speaking = status in ConversationAwarenessEvent.SPEAKING_STATUSES
|
||||
return AapSetting.ConversationalAwarenessState::class to
|
||||
AapSetting.ConversationalAwarenessState(speaking, rawValue = status)
|
||||
}
|
||||
|
||||
if (message.commandType != AapMessageType.CONTROL.value) return null
|
||||
|
||||
@@ -4,6 +4,14 @@ import eu.darken.capod.common.bluetooth.BleScanResult
|
||||
import eu.darken.capod.pods.core.apple.ble.history.KnownDevice
|
||||
import eu.darken.capod.pods.core.apple.ble.protocol.ProximityMessage
|
||||
import eu.darken.capod.pods.core.apple.ble.protocol.ProximityPayload
|
||||
import java.time.Duration
|
||||
|
||||
/**
|
||||
* How far back to look when recovering the lid state from a recent in-case-pod broadcast.
|
||||
* Time-bounded rather than count-bounded: BLE scan batching means a fixed number of frames is not a
|
||||
* stable time window, and an old reading must not be allowed to resurrect a stale OPEN/CLOSED.
|
||||
*/
|
||||
private val MAX_LID_RECOVERY_AGE: Duration = Duration.ofSeconds(2)
|
||||
|
||||
interface ApplePodsFactory {
|
||||
fun isResponsible(message: ProximityMessage): Boolean
|
||||
@@ -22,7 +30,8 @@ interface ApplePodsFactory {
|
||||
fun KnownDevice.getLatestCaseBattery(): Float? = this.lastCaseBattery
|
||||
|
||||
fun KnownDevice.getLatestCaseLidState(basic: DualApplePods): DualApplePods.LidState? {
|
||||
// A pod broadcasting from inside the case has authoritative case state
|
||||
// A pod broadcasting from inside the case has authoritative case state. Out-of-case frames
|
||||
// (one pod removed) report UNKNOWN via DualApplePods.caseLidState and are skipped here.
|
||||
if (basic.hasCaseContext && basic.caseLidState in setOf(
|
||||
DualApplePods.LidState.OPEN,
|
||||
DualApplePods.LidState.CLOSED,
|
||||
@@ -31,11 +40,14 @@ interface ApplePodsFactory {
|
||||
return basic.caseLidState
|
||||
}
|
||||
|
||||
// Current pod lacks case context (e.g. pod on desk) or reports UNKNOWN.
|
||||
// Check recent history for a sibling broadcast that has case context.
|
||||
val fromCaseContext = history
|
||||
.takeLast(4)
|
||||
// Current pod lacks case context (e.g. pod on desk) or reports UNKNOWN (out-of-case pod's
|
||||
// stale lid byte). Recover the last authoritative reading from a recent in-case broadcast,
|
||||
// bounded by time so a missed CLOSED can't keep a stale OPEN alive across scan gaps.
|
||||
val recentHistory = history
|
||||
.filterIsInstance<DualApplePods>()
|
||||
.filter { Duration.between(it.seenLastAt, basic.seenLastAt).abs() <= MAX_LID_RECOVERY_AGE }
|
||||
|
||||
val fromCaseContext = recentHistory
|
||||
.lastOrNull { it.hasCaseContext && it.caseLidState != DualApplePods.LidState.UNKNOWN }
|
||||
?.caseLidState
|
||||
|
||||
@@ -44,10 +56,8 @@ interface ApplePodsFactory {
|
||||
// No case-context broadcast in recent history — current value is best we have
|
||||
if (basic.caseLidState != DualApplePods.LidState.UNKNOWN) return basic.caseLidState
|
||||
|
||||
// Last resort: any non-UNKNOWN from history
|
||||
return history
|
||||
.takeLast(2)
|
||||
.filterIsInstance<DualApplePods>()
|
||||
// Last resort: any non-UNKNOWN from recent history
|
||||
return recentHistory
|
||||
.lastOrNull { it.caseLidState != DualApplePods.LidState.UNKNOWN }
|
||||
?.caseLidState
|
||||
?: DualApplePods.LidState.NOT_IN_CASE
|
||||
|
||||
@@ -148,7 +148,14 @@ interface DualApplePods : ApplePods, HasChargeDetectionDual, DualBlePodSnapshot,
|
||||
get() = isThisPodInThecase || isOnePodInCase || areBothPodsInCase
|
||||
|
||||
val caseLidState: LidState
|
||||
get() = LidState.fromRaw(pubCaseLidState, hasCaseContext)
|
||||
get() = LidState.fromRaw(
|
||||
raw = pubCaseLidState,
|
||||
hasCaseContext = hasCaseContext,
|
||||
// The lid bit is only trustworthy from a pod broadcasting inside the case (bit 6), or
|
||||
// while both pods are in the case (bit 2). A bit4-only frame comes from the out-of-case
|
||||
// pod and carries a stale lid byte (see LidState.fromRaw).
|
||||
lidReadingReliable = isThisPodInThecase || areBothPodsInCase,
|
||||
)
|
||||
|
||||
/**
|
||||
* TODO this is glitchy
|
||||
@@ -165,8 +172,20 @@ interface DualApplePods : ApplePods, HasChargeDetectionDual, DualBlePodSnapshot,
|
||||
UNKNOWN;
|
||||
|
||||
companion object {
|
||||
fun fromRaw(raw: UByte, hasCaseContext: Boolean): LidState {
|
||||
/**
|
||||
* Derives the lid state from the raw lid byte.
|
||||
*
|
||||
* The open/closed bit is only meaningful when broadcast by a pod that is itself inside
|
||||
* the case ([isThisPodInThecase]) or while both pods are in the case ([areBothPodsInCase]).
|
||||
* When only one pod is in the case and the *other*, out-of-case pod is the one
|
||||
* broadcasting (bit4-only), its lid byte is stale and decodes to a phantom OPEN even while
|
||||
* the case is physically shut (verified on AirPods Pro 1 & Pro 3). Such frames must report
|
||||
* [UNKNOWN] so they don't drive case-open reactions; consumers recover the real state from
|
||||
* an in-case-pod broadcast instead.
|
||||
*/
|
||||
fun fromRaw(raw: UByte, hasCaseContext: Boolean, lidReadingReliable: Boolean): LidState {
|
||||
if (!hasCaseContext) return NOT_IN_CASE
|
||||
if (!lidReadingReliable) return UNKNOWN
|
||||
|
||||
return when ((raw.toInt() shr 3) and 0x01) {
|
||||
0 -> OPEN
|
||||
|
||||
@@ -5,6 +5,7 @@ import eu.darken.capod.pods.core.apple.PodModel
|
||||
import eu.darken.capod.pods.core.apple.ble.protocol.IdentityResolvingKey
|
||||
import eu.darken.capod.pods.core.apple.ble.protocol.ProximityEncryptionKey
|
||||
import eu.darken.capod.reaction.core.autoconnect.AutoConnectCondition
|
||||
import eu.darken.capod.reaction.core.conversation.ConversationAction
|
||||
import eu.darken.capod.reaction.core.stem.StemActionsConfig
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import kotlinx.serialization.SerialName
|
||||
@@ -25,11 +26,14 @@ data class AppleDeviceProfile(
|
||||
@SerialName("address") override val address: String? = null,
|
||||
@SerialName("reactionAutoPause") val autoPause: Boolean = false,
|
||||
@SerialName("reactionAutoPlay") val autoPlay: Boolean = false,
|
||||
@SerialName("reactionStartMusicOnWear") val startMusicOnWear: Boolean = false,
|
||||
@SerialName("reactionOnePodMode") val onePodMode: Boolean = false,
|
||||
@SerialName("reactionAutoConnect") val autoConnect: Boolean = false,
|
||||
@SerialName("reactionAutoConnectCondition") val autoConnectCondition: AutoConnectCondition = AutoConnectCondition.WHEN_SEEN,
|
||||
@SerialName("reactionShowPopUpOnCaseOpen") val showPopUpOnCaseOpen: Boolean = false,
|
||||
@SerialName("reactionShowPopUpOnConnection") val showPopUpOnConnection: Boolean = false,
|
||||
@SerialName("reactionConversationAction") val conversationAction: ConversationAction = ConversationAction.NOTHING,
|
||||
@SerialName("reactionConversationVolumeReduction") val conversationVolumeReduction: Int = ReactionConfig.DEFAULT_CONVERSATION_VOLUME_REDUCTION,
|
||||
/**
|
||||
* Last-known device-side AllowOffOption (AAP setting 0x34). Persisted so the UI can honor
|
||||
* the learned value across sessions — AAP state is dropped on disconnect, but whether OFF
|
||||
@@ -49,11 +53,14 @@ data class AppleDeviceProfile(
|
||||
get() = ReactionConfig(
|
||||
autoPause = autoPause,
|
||||
autoPlay = autoPlay,
|
||||
startMusicOnWear = startMusicOnWear,
|
||||
onePodMode = onePodMode,
|
||||
autoConnect = autoConnect,
|
||||
autoConnectCondition = autoConnectCondition,
|
||||
showPopUpOnCaseOpen = showPopUpOnCaseOpen,
|
||||
showPopUpOnConnection = showPopUpOnConnection,
|
||||
conversationAction = conversationAction,
|
||||
conversationVolumeReduction = conversationVolumeReduction,
|
||||
)
|
||||
|
||||
override fun toString(): String = "AppleDeviceProfile(" +
|
||||
@@ -62,10 +69,13 @@ data class AppleDeviceProfile(
|
||||
"identityKey=${if (identityKey == null) "null" else "<redacted>"}, " +
|
||||
"encryptionKey=${if (encryptionKey == null) "null" else "<redacted>"}, " +
|
||||
"address=$address, autoPause=$autoPause, autoPlay=$autoPlay, " +
|
||||
"startMusicOnWear=$startMusicOnWear, " +
|
||||
"onePodMode=$onePodMode, autoConnect=$autoConnect, " +
|
||||
"autoConnectCondition=$autoConnectCondition, " +
|
||||
"showPopUpOnCaseOpen=$showPopUpOnCaseOpen, " +
|
||||
"showPopUpOnConnection=$showPopUpOnConnection, " +
|
||||
"conversationAction=$conversationAction, " +
|
||||
"conversationVolumeReduction=$conversationVolumeReduction, " +
|
||||
"learnedAllowOffEnabled=$learnedAllowOffEnabled, " +
|
||||
"lastRequestedListeningModeCycleMask=$lastRequestedListeningModeCycleMask, " +
|
||||
"stemActions=$stemActions" +
|
||||
|
||||
@@ -1,16 +1,29 @@
|
||||
package eu.darken.capod.profiles.core
|
||||
|
||||
import eu.darken.capod.reaction.core.autoconnect.AutoConnectCondition
|
||||
import eu.darken.capod.reaction.core.conversation.ConversationAction
|
||||
|
||||
data class ReactionConfig(
|
||||
val autoPause: Boolean = false,
|
||||
val autoPlay: Boolean = false,
|
||||
val startMusicOnWear: Boolean = false,
|
||||
val onePodMode: Boolean = false,
|
||||
val autoConnect: Boolean = false,
|
||||
val autoConnectCondition: AutoConnectCondition = AutoConnectCondition.WHEN_SEEN,
|
||||
val showPopUpOnCaseOpen: Boolean = false,
|
||||
val showPopUpOnConnection: Boolean = false,
|
||||
)
|
||||
val conversationAction: ConversationAction = ConversationAction.NOTHING,
|
||||
/** Percentage to lower media volume by when [conversationAction] is LOWER_VOLUME (clamped 10..90 on use). */
|
||||
val conversationVolumeReduction: Int = DEFAULT_CONVERSATION_VOLUME_REDUCTION,
|
||||
) {
|
||||
companion object {
|
||||
const val DEFAULT_CONVERSATION_VOLUME_REDUCTION = 50
|
||||
const val MIN_CONVERSATION_VOLUME_REDUCTION = 10
|
||||
|
||||
/** 100% lowers media volume all the way to 0 — i.e. full mute while speaking. */
|
||||
const val MAX_CONVERSATION_VOLUME_REDUCTION = 100
|
||||
}
|
||||
}
|
||||
|
||||
interface HasReactionConfig {
|
||||
val reactionConfig: ReactionConfig
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package eu.darken.capod.reaction.core.autoconnect
|
||||
|
||||
import eu.darken.capod.common.bluetooth.BluetoothManager2
|
||||
import eu.darken.capod.common.bluetooth.NudgeAvailability
|
||||
import eu.darken.capod.common.bluetooth.NudgeCapabilityStore
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
@@ -26,6 +28,7 @@ import javax.inject.Singleton
|
||||
class AutoConnect @Inject constructor(
|
||||
private val bluetoothManager: BluetoothManager2,
|
||||
private val deviceMonitor: DeviceMonitor,
|
||||
private val nudgeCapabilityStore: NudgeCapabilityStore,
|
||||
) {
|
||||
|
||||
fun monitor(): Flow<Unit> = deviceMonitor.primaryDevice()
|
||||
@@ -36,7 +39,9 @@ class AutoConnect @Inject constructor(
|
||||
combine(
|
||||
bluetoothManager.connectedDevices,
|
||||
deviceMonitor.primaryDevice().filterNotNull().distinctUntilChangedBy {
|
||||
Triple(it.rawDataHex, it.reactions.autoConnectCondition, it.reactions.onePodMode)
|
||||
// Include caseLidState: for the CASE_OPEN condition it is derived from history
|
||||
// and can flip to OPEN while the selected frame's raw bytes are unchanged.
|
||||
listOf(it.rawDataHex, it.reactions.autoConnectCondition, it.reactions.onePodMode, it.caseLidState)
|
||||
},
|
||||
) { connectedDevices, mainDevice ->
|
||||
connectedDevices to mainDevice
|
||||
@@ -98,13 +103,14 @@ class AutoConnect @Inject constructor(
|
||||
return@map
|
||||
}
|
||||
|
||||
if (!bluetoothManager.isNudgeAvailable) {
|
||||
log(TAG, WARN) { "nudgeConnection is not available on this device, skipping" }
|
||||
if (nudgeCapabilityStore.availability.value == NudgeAvailability.BROKEN) {
|
||||
log(TAG, WARN) { "nudgeConnection is known broken on this device, skipping" }
|
||||
return@map
|
||||
}
|
||||
|
||||
val result = bluetoothManager.nudgeConnection(bondedDevice)
|
||||
log(TAG) { "nudgeConnection($bondedDevice) returned $result" }
|
||||
nudgeCapabilityStore.record(result)
|
||||
}
|
||||
.setupCommonEventHandlers(TAG) { "monitor" }
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package eu.darken.capod.reaction.core.conversation
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import eu.darken.capod.R
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/**
|
||||
* What CAPod does when the pods report that the wearer started speaking (Conversational
|
||||
* Awareness). On Android the firmware does not duck audio on its own, so CAPod performs the
|
||||
* reaction itself. The action is reverted when speaking stops.
|
||||
*
|
||||
* Extend by adding entries — the persisted [SerialName] strings are stable identifiers.
|
||||
*/
|
||||
@Serializable
|
||||
enum class ConversationAction(
|
||||
val identifier: String,
|
||||
@StringRes val labelRes: Int,
|
||||
) {
|
||||
@SerialName("conversation.action.nothing")
|
||||
NOTHING("conversation.action.nothing", R.string.settings_conversation_action_nothing_label),
|
||||
|
||||
@SerialName("conversation.action.lower_volume")
|
||||
LOWER_VOLUME("conversation.action.lower_volume", R.string.settings_conversation_action_lower_volume_label),
|
||||
|
||||
@SerialName("conversation.action.pause")
|
||||
PAUSE("conversation.action.pause", R.string.settings_conversation_action_pause_label),
|
||||
}
|
||||
@@ -0,0 +1,289 @@
|
||||
package eu.darken.capod.reaction.core.conversation
|
||||
|
||||
import eu.darken.capod.common.MediaControl
|
||||
import eu.darken.capod.common.TimeSource
|
||||
import eu.darken.capod.common.bluetooth.BluetoothAddress
|
||||
import eu.darken.capod.common.coroutine.AppScope
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.INFO
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.flow.setupCommonEventHandlers
|
||||
import eu.darken.capod.monitor.core.DeviceMonitor
|
||||
import eu.darken.capod.monitor.core.PodDevice
|
||||
import eu.darken.capod.monitor.core.primaryDevice
|
||||
import eu.darken.capod.pods.core.apple.aap.AapConnectionManager
|
||||
import eu.darken.capod.pods.core.apple.aap.protocol.ConversationAwarenessEvent
|
||||
import eu.darken.capod.profiles.core.ReactionConfig
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.NonCancellable
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.merge
|
||||
import kotlinx.coroutines.flow.onCompletion
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.sync.Mutex
|
||||
import kotlinx.coroutines.sync.withLock
|
||||
import kotlinx.coroutines.withContext
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
import kotlin.time.Duration.Companion.minutes
|
||||
|
||||
/**
|
||||
* Reacts to Conversational Awareness speaking transitions (AAP `0x4B`) by either lowering media
|
||||
* volume or pausing, per the primary device's [ReactionConfig.conversationAction], and reverts when
|
||||
* speaking stops. On Android the pod firmware does not duck audio itself, so CAPod performs it.
|
||||
*
|
||||
* Disengage is driven by the pod's explicit end-of-speech frame ([ConversationAwarenessEvent.STOP]).
|
||||
* The pod does NOT reliably stream keep-alive frames while you talk — on some firmware it sends an
|
||||
* onset ([ConversationAwarenessEvent.START]) then nothing for many seconds while speech continues
|
||||
* (observed: CA held engaged 21s with zero `0x4B` frames). So frame-silence must NOT be read as
|
||||
* "speaking ended". [STALE_TIMEOUT] is only a long backstop for the rare case where every terminal
|
||||
* frame is lost while the link stays up; a link drop is handled by the owner-disconnect revert.
|
||||
* [ConversationAwarenessEvent.HOLD] frames (transitional/unknown statuses) keep the reaction engaged
|
||||
* and refresh the backstop.
|
||||
*
|
||||
* State is a single global slot (media volume / playback is system-wide, not per-device) guarded by
|
||||
* a [Mutex] — events, AAP-state-removal, the stale timer, and monitor completion all mutate it.
|
||||
* Volume ducks are additionally reverted on owner-disconnect and monitor completion so a dropped
|
||||
* session never strands the user at low volume.
|
||||
*/
|
||||
@Singleton
|
||||
class ConversationReaction @Inject constructor(
|
||||
private val aapManager: AapConnectionManager,
|
||||
private val deviceMonitor: DeviceMonitor,
|
||||
private val mediaControl: MediaControl,
|
||||
@AppScope private val appScope: CoroutineScope,
|
||||
private val timeSource: TimeSource,
|
||||
) {
|
||||
|
||||
private sealed interface Kind {
|
||||
data object Paused : Kind
|
||||
data class Ducked(val priorVolume: Int, val appliedVolume: Int) : Kind
|
||||
}
|
||||
|
||||
private data class Active(
|
||||
val id: Long,
|
||||
val owner: BluetoothAddress,
|
||||
val kind: Kind,
|
||||
val at: Long,
|
||||
)
|
||||
|
||||
private val mutex = Mutex()
|
||||
private var active: Active? = null
|
||||
private var staleJob: Job? = null
|
||||
private var idCounter = 0L
|
||||
|
||||
fun monitor(): Flow<Unit> = merge(
|
||||
aapManager.conversationalAwarenessEvents.onEach { (address, event) -> onEvent(address, event) },
|
||||
// Reverts a stranded duck when the owning device leaves the AAP state map for any reason
|
||||
// (intentional or not) — disconnectEvents only fires for unintentional drops.
|
||||
aapManager.allStates.onEach { states -> onActiveDevicesChanged(states.keys) },
|
||||
)
|
||||
.map { }
|
||||
// Service stop / scope cancellation: undo any active duck so we don't leave volume lowered.
|
||||
.onCompletion { withContext(NonCancellable) { onMonitorCompleted() } }
|
||||
.setupCommonEventHandlers(TAG) { "conversationReaction" }
|
||||
|
||||
private suspend fun onEvent(address: BluetoothAddress, event: ConversationAwarenessEvent) = when (event) {
|
||||
ConversationAwarenessEvent.START -> onSpeakingStart(address)
|
||||
ConversationAwarenessEvent.HOLD -> onSpeakingHold(address)
|
||||
ConversationAwarenessEvent.STOP -> onSpeakingStop(address)
|
||||
}
|
||||
|
||||
private suspend fun onSpeakingStart(address: BluetoothAddress) {
|
||||
val primary = deviceMonitor.primaryDevice().first()
|
||||
if (primary?.address != address) {
|
||||
log(TAG) { "START from $address ignored — not primary device (primary=${primary?.address})" }
|
||||
return
|
||||
}
|
||||
val action = primary.reactions.conversationAction
|
||||
if (action == ConversationAction.NOTHING) return
|
||||
|
||||
mutex.withLock {
|
||||
val current = active
|
||||
if (current != null && current.owner == address) {
|
||||
// Duplicate START for the same speaker — don't re-act, just keep the session alive.
|
||||
restartStaleTimer(current)
|
||||
log(TAG) { "START from $address — already active ($action), keep-alive" }
|
||||
return
|
||||
}
|
||||
// A different device started speaking while we were active — undo the old one first.
|
||||
if (current != null) revert(current, "superseded by $address")
|
||||
|
||||
when (action) {
|
||||
ConversationAction.PAUSE -> {
|
||||
val paused = mediaControl.sendPause(rememberForResume = false)
|
||||
if (paused) {
|
||||
val record = Active(nextId(), address, Kind.Paused, timeSource.elapsedRealtime())
|
||||
active = record
|
||||
restartStaleTimer(record)
|
||||
log(TAG, INFO) { "START on $address → paused media" }
|
||||
} else {
|
||||
active = null
|
||||
log(TAG) { "START on $address → nothing playing, no pause" }
|
||||
}
|
||||
}
|
||||
|
||||
ConversationAction.LOWER_VOLUME -> {
|
||||
val reduction = primary.reactions.conversationVolumeReduction
|
||||
.coerceIn(
|
||||
ReactionConfig.MIN_CONVERSATION_VOLUME_REDUCTION,
|
||||
ReactionConfig.MAX_CONVERSATION_VOLUME_REDUCTION,
|
||||
)
|
||||
val duck = mediaControl.duckMusicVolume(reduction)
|
||||
if (duck != null) {
|
||||
val record = Active(
|
||||
nextId(),
|
||||
address,
|
||||
Kind.Ducked(duck.priorVolume, duck.appliedVolume),
|
||||
timeSource.elapsedRealtime(),
|
||||
)
|
||||
active = record
|
||||
restartStaleTimer(record)
|
||||
log(TAG, INFO) { "START on $address → ducked volume ${duck.priorVolume}→${duck.appliedVolume}" }
|
||||
} else {
|
||||
active = null
|
||||
log(TAG) { "START on $address → duck no-op" }
|
||||
}
|
||||
}
|
||||
|
||||
ConversationAction.NOTHING -> Unit
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Intermediate keep-alive frame: the wearer is still speaking — refresh the stale timer. */
|
||||
private suspend fun onSpeakingHold(address: BluetoothAddress) = mutex.withLock {
|
||||
val current = active ?: return
|
||||
if (current.owner != address) return
|
||||
restartStaleTimer(current)
|
||||
}
|
||||
|
||||
private suspend fun onSpeakingStop(address: BluetoothAddress) {
|
||||
val primary = deviceMonitor.primaryDevice().first()
|
||||
mutex.withLock {
|
||||
val current = active ?: return
|
||||
if (current.owner != address) {
|
||||
log(TAG) { "STOP from $address ignored — owner is ${current.owner}" }
|
||||
return
|
||||
}
|
||||
clearActive()
|
||||
disengage(current, primary, "STOP on $address")
|
||||
}
|
||||
}
|
||||
|
||||
/** Graceful disengage (STOP event or stale timeout). Must be called under [mutex]. */
|
||||
private suspend fun disengage(record: Active, primary: PodDevice?, reason: String) {
|
||||
when (val kind = record.kind) {
|
||||
is Kind.Paused -> {
|
||||
// Resume the pause WE caused, regardless of the current action setting. Gating on
|
||||
// "action still == PAUSE" would strand media paused if the user switched the action
|
||||
// (or set NOTHING) mid-conversation — undoing our own side effect is the least
|
||||
// surprising behaviour. The remaining guards are about real device/playback state.
|
||||
val age = timeSource.elapsedRealtime() - record.at
|
||||
when {
|
||||
age.milliseconds > PAUSE_RESUME_WINDOW ->
|
||||
log(TAG) { "$reason — resume skipped (stale, ${age}ms)" }
|
||||
primary?.address != record.owner ->
|
||||
log(TAG) { "$reason — resume skipped (primary switched)" }
|
||||
primary.isBeingWorn == false ->
|
||||
log(TAG) { "$reason — resume skipped (not worn)" }
|
||||
mediaControl.isPlaying ->
|
||||
log(TAG) { "$reason — resume skipped (already playing)" }
|
||||
else -> {
|
||||
mediaControl.sendPlay()
|
||||
log(TAG, INFO) { "$reason → resumed media" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
is Kind.Ducked -> revertDuck(kind, reason)
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun onActiveDevicesChanged(addresses: Set<BluetoothAddress>) = mutex.withLock {
|
||||
val current = active ?: return
|
||||
if (current.owner !in addresses) {
|
||||
clearActive()
|
||||
revert(current, "owner ${current.owner} gone")
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun onMonitorCompleted() = mutex.withLock {
|
||||
val current = active ?: return
|
||||
clearActive()
|
||||
revert(current, "monitor completed")
|
||||
}
|
||||
|
||||
/** Forced revert (disconnect / supersede / shutdown): undo volume ducks; leave pauses as-is. */
|
||||
private fun revert(record: Active, reason: String) {
|
||||
when (val kind = record.kind) {
|
||||
is Kind.Ducked -> revertDuck(kind, reason)
|
||||
is Kind.Paused -> log(TAG) { "Clearing pause ($reason) — leaving playback as-is" }
|
||||
}
|
||||
}
|
||||
|
||||
private fun revertDuck(kind: Kind.Ducked, reason: String) {
|
||||
// Restore to the pre-duck volume unconditionally — we do NOT gate on
|
||||
// currentMusicVolume() == appliedVolume. Such a guard skips the restore whenever anything
|
||||
// else moved the volume meanwhile (e.g. a concurrent volume-manager app), which lets the
|
||||
// baseline ratchet down across conversations. Restoring deterministically to the level we
|
||||
// saved at engage avoids that; the trade-off is overriding a deliberate mid-conversation
|
||||
// volume change (rare). Matches librepods' unconditional restore.
|
||||
log(TAG, INFO) { "Restoring volume to ${kind.priorVolume} (ducked to ${kind.appliedVolume}, now ${mediaControl.currentMusicVolume()}, $reason)" }
|
||||
mediaControl.restoreMusicVolume(kind.priorVolume)
|
||||
}
|
||||
|
||||
/** Must be called under [mutex]. Clears the active slot and cancels its stale timer. */
|
||||
private fun clearActive() {
|
||||
staleJob?.cancel()
|
||||
staleJob = null
|
||||
active = null
|
||||
}
|
||||
|
||||
/**
|
||||
* Must be called under [mutex]. (Re)starts the backstop timer for [record], reset on every frame
|
||||
* (START/HOLD). If no frame arrives for [STALE_TIMEOUT] the session is force-ended — a last
|
||||
* resort for a fully-dropped terminal frame, not the normal disengage. Identity-checked so a
|
||||
* late timer can't disengage a newer session.
|
||||
*/
|
||||
private fun restartStaleTimer(record: Active) {
|
||||
staleJob?.cancel()
|
||||
staleJob = appScope.launch {
|
||||
delay(STALE_TIMEOUT)
|
||||
val primary = deviceMonitor.primaryDevice().first()
|
||||
mutex.withLock {
|
||||
if (active?.id == record.id) {
|
||||
val current = active!!
|
||||
clearActive()
|
||||
disengage(current, primary, "stale timeout (frames ceased)")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun nextId(): Long = ++idCounter
|
||||
|
||||
companion object {
|
||||
private val TAG = logTag("Reaction", "Conversation")
|
||||
|
||||
/**
|
||||
* Pure backstop: disengage if no `0x4B` frame arrives for this long while engaged. This is
|
||||
* NOT the normal disengage path — the pod does not stream keep-alives during speech, so a
|
||||
* short timeout would fire mid-conversation (the original 12s value did exactly that).
|
||||
* Normal disengage is the explicit terminal [ConversationAwarenessEvent.STOP] frame; this
|
||||
* only recovers a fully-dropped terminal frame while the link stays up. Kept longer than
|
||||
* [PAUSE_RESUME_WINDOW] so a back-stopped pause is never auto-resumed (only a duck is
|
||||
* restored on stale — a stranded low volume is the worse failure).
|
||||
*/
|
||||
private val STALE_TIMEOUT = 5.minutes
|
||||
|
||||
/** A pause older than this no longer auto-resumes — unexpected late playback is worse. */
|
||||
private val PAUSE_RESUME_WINDOW = 2.minutes
|
||||
}
|
||||
}
|
||||
@@ -179,6 +179,7 @@ class PlayPause @Inject constructor(
|
||||
onePodMode = reactions.onePodMode,
|
||||
isCurrentlyPlaying = isCurrentlyPlaying,
|
||||
wasRecentlyPausedByUs = wasRecentlyPausedByUs,
|
||||
startMusicOnWear = reactions.startMusicOnWear,
|
||||
)
|
||||
|
||||
// BLE-only autoplay confirmation only applies to UNAUTHENTICATED sources.
|
||||
@@ -204,6 +205,7 @@ class PlayPause @Inject constructor(
|
||||
shouldStageBleOnlyPlay = shouldStageBleOnlyPlay,
|
||||
isCurrentlyPlaying = isCurrentlyPlaying,
|
||||
wasRecentlyPausedByUs = wasRecentlyPausedByUs,
|
||||
startMusicOnWear = reactions.startMusicOnWear,
|
||||
)
|
||||
pendingPlayConfirmation = confirmation.pending
|
||||
|
||||
@@ -263,7 +265,7 @@ class PlayPause @Inject constructor(
|
||||
}
|
||||
|
||||
decision.shouldPause && reactions.autoPause -> {
|
||||
val pauseSent = mediaControl.sendPause()
|
||||
val pauseSent = mediaControl.sendPause(rememberForResume = true)
|
||||
log(TAG, INFO) {
|
||||
"autoPause triggered: source=$source, " +
|
||||
"wasWorn=${prevState.bothInEar}, isWorn=${currState.bothInEar}, " +
|
||||
@@ -288,10 +290,11 @@ class PlayPause @Inject constructor(
|
||||
onePodMode: Boolean,
|
||||
isCurrentlyPlaying: Boolean,
|
||||
wasRecentlyPausedByUs: Boolean = false,
|
||||
startMusicOnWear: Boolean = false,
|
||||
): PlayPauseDecision = if (onePodMode) {
|
||||
evaluateOnePodMode(previous, current, isCurrentlyPlaying, wasRecentlyPausedByUs)
|
||||
evaluateOnePodMode(previous, current, isCurrentlyPlaying, wasRecentlyPausedByUs, startMusicOnWear)
|
||||
} else {
|
||||
evaluateNormalMode(previous, current, isCurrentlyPlaying, wasRecentlyPausedByUs)
|
||||
evaluateNormalMode(previous, current, isCurrentlyPlaying, wasRecentlyPausedByUs, startMusicOnWear)
|
||||
}
|
||||
|
||||
private fun evaluateOnePodMode(
|
||||
@@ -299,6 +302,7 @@ class PlayPause @Inject constructor(
|
||||
current: EarDetectionState,
|
||||
isCurrentlyPlaying: Boolean,
|
||||
wasRecentlyPausedByUs: Boolean,
|
||||
startMusicOnWear: Boolean,
|
||||
): PlayPauseDecision {
|
||||
val netChange = current.podCount - previous.podCount
|
||||
|
||||
@@ -310,8 +314,13 @@ class PlayPause @Inject constructor(
|
||||
reason = "One-pod mode: pod(s) removed (net change: $netChange)"
|
||||
)
|
||||
|
||||
// Net increase: pod(s) inserted → play
|
||||
netChange > 0 && (!isCurrentlyPlaying || wasRecentlyPausedByUs) -> PlayPauseDecision(
|
||||
// Net increase: pod(s) inserted → play, but only when we paused recently OR the user
|
||||
// opted in to firing a play key on cold wear. Without an opt-in, suppress autoplay
|
||||
// so we never override a user-initiated pause or fire over silence.
|
||||
netChange > 0 && (
|
||||
wasRecentlyPausedByUs ||
|
||||
(startMusicOnWear && !isCurrentlyPlaying)
|
||||
) -> PlayPauseDecision(
|
||||
shouldPlay = true,
|
||||
shouldPause = false,
|
||||
reason = "One-pod mode: pod(s) inserted (net change: +$netChange)",
|
||||
@@ -332,13 +341,19 @@ class PlayPause @Inject constructor(
|
||||
current: EarDetectionState,
|
||||
isCurrentlyPlaying: Boolean,
|
||||
wasRecentlyPausedByCap: Boolean,
|
||||
startMusicOnWear: Boolean,
|
||||
): PlayPauseDecision {
|
||||
val wasWorn = previous.bothInEar
|
||||
val isWorn = current.bothInEar
|
||||
|
||||
return when {
|
||||
// Transition: not worn → worn, and not playing → play
|
||||
!wasWorn && isWorn && (!isCurrentlyPlaying || wasRecentlyPausedByCap) -> PlayPauseDecision(
|
||||
// Transition: not worn → worn → play, but only when we paused recently OR the user
|
||||
// opted in to firing a play key on cold wear. Without an opt-in, suppress autoplay
|
||||
// so we never override a user-initiated pause or fire over silence.
|
||||
!wasWorn && isWorn && (
|
||||
wasRecentlyPausedByCap ||
|
||||
(startMusicOnWear && !isCurrentlyPlaying)
|
||||
) -> PlayPauseDecision(
|
||||
shouldPlay = true,
|
||||
shouldPause = false,
|
||||
reason = "Normal mode: both pods in ear",
|
||||
@@ -371,6 +386,7 @@ class PlayPause @Inject constructor(
|
||||
shouldStageBleOnlyPlay: Boolean,
|
||||
isCurrentlyPlaying: Boolean,
|
||||
wasRecentlyPausedByUs: Boolean,
|
||||
startMusicOnWear: Boolean = false,
|
||||
): PlayConfirmationResult {
|
||||
val activePending = pending?.takeIf {
|
||||
it.profileId == profileId && it.onePodMode == onePodMode && autoPlayEnabled
|
||||
@@ -378,7 +394,10 @@ class PlayPause @Inject constructor(
|
||||
|
||||
if (activePending != null &&
|
||||
currentState == activePending.targetState &&
|
||||
(!isCurrentlyPlaying || wasRecentlyPausedByUs)
|
||||
(
|
||||
wasRecentlyPausedByUs ||
|
||||
(startMusicOnWear && !isCurrentlyPlaying)
|
||||
)
|
||||
) {
|
||||
return PlayConfirmationResult(
|
||||
decision = PlayPauseDecision(
|
||||
|
||||
@@ -13,9 +13,12 @@ import eu.darken.capod.monitor.core.DeviceMonitor
|
||||
import eu.darken.capod.monitor.core.PodDevice
|
||||
import eu.darken.capod.monitor.core.primaryDevice
|
||||
import eu.darken.capod.pods.core.apple.ble.devices.DualApplePods
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.combine
|
||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
import kotlinx.coroutines.flow.distinctUntilChangedBy
|
||||
import kotlinx.coroutines.flow.flow
|
||||
import kotlinx.coroutines.flow.mapNotNull
|
||||
import kotlinx.coroutines.flow.merge
|
||||
import java.time.Duration
|
||||
@@ -34,8 +37,12 @@ class PopUpReaction @Inject constructor(
|
||||
|
||||
private fun monitorCase(): Flow<Event> = deviceMonitor.primaryDevice()
|
||||
.distinctUntilChangedBy {
|
||||
// Re-emit on profile changes (eligibility) AND on raw BLE state changes (lid).
|
||||
Triple(it?.profileId, it?.reactions?.showPopUpOnCaseOpen, it?.rawDataHex)
|
||||
// Re-emit on profile changes (eligibility), raw BLE changes (content), AND the derived
|
||||
// lid state. The latter is essential: caseLidState is recovered from history, so it can
|
||||
// flip OPEN<->CLOSED while the *selected* frame's raw bytes stay identical (e.g. a steady
|
||||
// out-of-case frame while a sibling in-case frame updates). Keying on rawDataHex alone
|
||||
// would swallow that transition and the popup would miss its show/hide.
|
||||
listOf(it?.profileId, it?.reactions?.showPopUpOnCaseOpen, it?.rawDataHex, it?.caseLidState)
|
||||
}
|
||||
.withPrevious()
|
||||
.setupCommonEventHandlers(TAG) { "popUpCase" }
|
||||
@@ -71,7 +78,7 @@ class PopUpReaction @Inject constructor(
|
||||
throttleCasePopUps(current)
|
||||
}
|
||||
|
||||
private fun throttleCasePopUps(current: PodDevice): Event? {
|
||||
internal fun throttleCasePopUps(current: PodDevice): Event? {
|
||||
val cooldownKey = current.profileId ?: current.identifier?.toString() ?: return null
|
||||
val now = timeSource.now()
|
||||
val lastShown = caseCoolDowns[cooldownKey]
|
||||
@@ -95,9 +102,9 @@ class PopUpReaction @Inject constructor(
|
||||
}
|
||||
|
||||
decision.shouldHide -> {
|
||||
if (!decision.shouldResetCooldown) {
|
||||
caseCoolDowns[cooldownKey] = now
|
||||
}
|
||||
// Don't stamp the cooldown on a non-CLOSED hide (UNKNOWN/NOT_IN_CASE). Refreshing it
|
||||
// here would let a transient UNKNOWN (e.g. a brief out-of-case frame) suppress a
|
||||
// genuine OPEN for the whole cooldown window. CLOSED still resets it above.
|
||||
Event.PopupHide(now)
|
||||
}
|
||||
|
||||
@@ -192,7 +199,48 @@ class PopUpReaction @Inject constructor(
|
||||
}
|
||||
.setupCommonEventHandlers(TAG) { "popUpConnection" }
|
||||
|
||||
fun monitor(): Flow<Event> = merge(monitorCase(), monitorConnection())
|
||||
/**
|
||||
* Backstop for case-open popups that never receive a CLOSED frame because the device left BLE
|
||||
* range while the lid was open — otherwise the overlay lingers until manually dismissed (one of
|
||||
* the symptoms in #598). A ticker re-checks the primary device's freshness; once a previously
|
||||
* fresh OPEN broadcast goes stale past [CASE_OPEN_STALE_TIMEOUT] (no newer advertisement, or the
|
||||
* device dropped to cache-only), a single Hide is emitted. The lid-driven [monitorCase] still
|
||||
* handles the normal close; a redundant Hide here is harmless ([PopUpWindow.close] is idempotent).
|
||||
*/
|
||||
private fun monitorCaseStaleClose(): Flow<Event> = combine(
|
||||
deviceMonitor.primaryDevice(),
|
||||
staleCheckTicker(),
|
||||
) { device, _ -> isCaseOpenBroadcastFresh(device) }
|
||||
.distinctUntilChanged()
|
||||
.withPrevious()
|
||||
.mapNotNull { (wasFresh, isFresh) ->
|
||||
if (wasFresh == true && !isFresh) {
|
||||
log(TAG) { "Case-open broadcast went stale, emitting Hide" }
|
||||
Event.PopupHide(timeSource.now())
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
.setupCommonEventHandlers(TAG) { "popUpCaseStale" }
|
||||
|
||||
/** True while the primary device is eligible and currently advertising a fresh OPEN lid. */
|
||||
internal fun isCaseOpenBroadcastFresh(device: PodDevice?): Boolean {
|
||||
if (device?.reactions?.showPopUpOnCaseOpen != true) return false
|
||||
if (device.caseLidState != DualApplePods.LidState.OPEN) return false
|
||||
// Track BLE freshness specifically, not PodDevice.seenLastAt (which also counts AAP/cache):
|
||||
// the lid is a BLE-only signal, so a live AAP socket must not keep a stale OPEN on screen.
|
||||
val bleSeenLastAt = device.ble?.seenLastAt ?: return false
|
||||
return Duration.between(bleSeenLastAt, timeSource.now()) <= CASE_OPEN_STALE_TIMEOUT
|
||||
}
|
||||
|
||||
private fun staleCheckTicker(): Flow<Unit> = flow {
|
||||
while (true) {
|
||||
emit(Unit)
|
||||
delay(STALE_CHECK_INTERVAL.toMillis())
|
||||
}
|
||||
}
|
||||
|
||||
fun monitor(): Flow<Event> = merge(monitorCase(), monitorConnection(), monitorCaseStaleClose())
|
||||
|
||||
sealed class Event {
|
||||
data class PopupShow(
|
||||
@@ -296,5 +344,11 @@ class PopUpReaction @Inject constructor(
|
||||
|
||||
companion object {
|
||||
private val TAG = logTag("Reaction", "PopUp")
|
||||
|
||||
/** A case-open popup is force-dismissed once its OPEN broadcast hasn't refreshed for this long. */
|
||||
private val CASE_OPEN_STALE_TIMEOUT: Duration = Duration.ofSeconds(4)
|
||||
|
||||
/** How often the stale-close backstop re-evaluates freshness. */
|
||||
private val STALE_CHECK_INTERVAL: Duration = Duration.ofSeconds(2)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@ import eu.darken.capod.common.TimeSource
|
||||
import eu.darken.capod.common.bluetooth.ScannerMode
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.datastore.valueBlocking
|
||||
import eu.darken.capod.common.debug.DebugSettings
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.INFO
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.uix.ViewModel4
|
||||
@@ -23,14 +23,13 @@ import eu.darken.capod.pods.core.unknown.UnknownSnapshotBle
|
||||
import eu.darken.capod.profiles.core.AppleDeviceProfile
|
||||
import eu.darken.capod.profiles.core.DeviceProfilesRepo
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.filterNotNull
|
||||
import kotlinx.coroutines.flow.collect
|
||||
import kotlinx.coroutines.flow.firstOrNull
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.flow.take
|
||||
import kotlinx.coroutines.flow.takeWhile
|
||||
import kotlinx.coroutines.flow.toList
|
||||
import kotlinx.coroutines.sync.Mutex
|
||||
import kotlinx.coroutines.withTimeoutOrNull
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -43,12 +42,14 @@ class TroubleShooterViewModel @Inject constructor(
|
||||
private val blePodMonitor: BlePodMonitor,
|
||||
private val bleScanModeController: BleScanModeController,
|
||||
private val deviceMonitor: DeviceMonitor,
|
||||
private val debugSettings: DebugSettings,
|
||||
private val timeSource: TimeSource,
|
||||
) : ViewModel4(dispatcherProvider) {
|
||||
|
||||
private val _bleState = MutableStateFlow<BleState>(BleState.Intro())
|
||||
|
||||
/** Guards against re-entrant runs (e.g. a double tap on "Try again"). */
|
||||
private val runLock = Mutex()
|
||||
|
||||
data class State(val bleState: BleState)
|
||||
|
||||
val state = _bleState.map { State(it) }.asLiveState()
|
||||
@@ -84,166 +85,184 @@ class TroubleShooterViewModel @Inject constructor(
|
||||
}
|
||||
|
||||
fun troubleShootBle() = launch(context = dispatcherProvider.IO) {
|
||||
if (!runLock.tryLock()) {
|
||||
log(TAG, WARN) { "troubleShootBle() ignored, a run is already in progress" }
|
||||
return@launch
|
||||
}
|
||||
log(TAG, INFO) { "troubleShootBle()" }
|
||||
|
||||
bleScanModeController.withTemporaryOverride(ScannerMode.LOW_LATENCY) override@{
|
||||
run {
|
||||
progress("Checking for headphones...")
|
||||
val mainDevice = withTimeoutOrNull(STEP_TIME) {
|
||||
deviceMonitor.primaryDevice().filterNotNull().firstOrNull()
|
||||
}
|
||||
if (mainDevice != null) {
|
||||
success("Headphones found, nothing to troubleshoot.")
|
||||
return@override
|
||||
} else {
|
||||
progress("Headphones not detected.\n")
|
||||
}
|
||||
}
|
||||
try {
|
||||
bleScanModeController.withTemporaryOverride(ScannerMode.LOW_LATENCY) override@{
|
||||
// The combo under which supported headphones were detected (set in sweep 2).
|
||||
var supportedCombo: BlePodMonitor.CompatOverride? = null
|
||||
// Set only when the run reaches a terminal success. Persisted on exit; staying null
|
||||
// (any failure, or cancellation) means we just clear the override, which restores the
|
||||
// user's original — never-touched — settings.
|
||||
var comboToPersist: BlePodMonitor.CompatOverride? = null
|
||||
try {
|
||||
run {
|
||||
progress("Checking for headphones...")
|
||||
if (findLiveBleHeadphones()) {
|
||||
success("Headphones found, nothing to troubleshoot.")
|
||||
return@override
|
||||
} else {
|
||||
progress("Headphones not detected.\n")
|
||||
}
|
||||
}
|
||||
|
||||
val doScan: suspend (Boolean, Boolean, Boolean, Boolean) -> Collection<BlePodSnapshot> =
|
||||
{ hardwareFilteringDisabled,
|
||||
hardwareBatchingDisabled,
|
||||
indirectCallback,
|
||||
unfiltered ->
|
||||
val sb = StringBuilder("SCAN - Settings: ")
|
||||
sb.append("hardwareFilteringDisabled=$hardwareFilteringDisabled, ")
|
||||
sb.append("hardwareBatchingDisabled=$hardwareBatchingDisabled, ")
|
||||
sb.append("indirectCallback=$indirectCallback, ")
|
||||
sb.append("unfiltered=$unfiltered")
|
||||
progress(sb.toString())
|
||||
generalSettings.isOffloadedFilteringDisabled.valueBlocking = hardwareFilteringDisabled
|
||||
generalSettings.isOffloadedBatchingDisabled.valueBlocking = hardwareBatchingDisabled
|
||||
generalSettings.useIndirectScanResultCallback.valueBlocking = indirectCallback
|
||||
debugSettings.showUnfiltered.valueBlocking = unfiltered
|
||||
val doScan: suspend (BlePodMonitor.CompatOverride, Boolean) -> Collection<BlePodSnapshot> =
|
||||
{ combo, unfiltered ->
|
||||
progress(
|
||||
"SCAN - Settings: filteringDisabled=${combo.offloadedFilteringDisabled}, " +
|
||||
"batchingDisabled=${combo.offloadedBatchingDisabled}, " +
|
||||
"indirectCallback=${combo.indirectCallback}, unfiltered=$unfiltered"
|
||||
)
|
||||
blePodMonitor.setCompatOverride(combo)
|
||||
blePodMonitor.setUnfilteredOverride(unfiltered)
|
||||
val devices = collectFreshDevices()
|
||||
log(TAG) { "SCAN: Fresh BLE devices: $devices" }
|
||||
if (devices.isNotEmpty()) {
|
||||
progress("SCAN: Received data from ${devices.size} BLE devices")
|
||||
} else {
|
||||
progress("SCAN: No data received")
|
||||
}
|
||||
devices
|
||||
}
|
||||
|
||||
val start = timeSource.elapsedRealtime()
|
||||
val devices = withTimeoutOrNull(STEP_TIME) {
|
||||
blePodMonitor.devices
|
||||
.take(10)
|
||||
.takeWhile { timeSource.elapsedRealtime() - start < STEP_TIME - 1000 }
|
||||
.toList()
|
||||
.flatten()
|
||||
.distinctBy { it.address }
|
||||
} ?: emptyList()
|
||||
log(TAG) { "SCAN: BLE Devices: $devices" }
|
||||
if (devices.isNotEmpty()) {
|
||||
progress("SCAN: Received data from ${devices.size} BLE devices")
|
||||
devices
|
||||
} else {
|
||||
progress("SCAN: No data received")
|
||||
devices
|
||||
run {
|
||||
progress("Checking if we can receive BLE data at all.")
|
||||
val gotData = COMPAT_COMBOS.any { combo -> doScan(combo, true).isNotEmpty() }
|
||||
if (!gotData) {
|
||||
failure("Phone is not receiving BLE data.", BleState.Result.Failure.Type.PHONE)
|
||||
return@override
|
||||
}
|
||||
}
|
||||
|
||||
progress("We received at least some BLE data.\n")
|
||||
|
||||
run {
|
||||
progress("Checking for supported headphones.")
|
||||
supportedCombo = COMPAT_COMBOS.firstOrNull { combo ->
|
||||
doScan(combo, false).any { it !is UnknownSnapshotBle }
|
||||
}
|
||||
if (supportedCombo == null) {
|
||||
failure("No compatible headphones found", BleState.Result.Failure.Type.HEADPHONES)
|
||||
return@override
|
||||
}
|
||||
}
|
||||
|
||||
progress("Found some headphones that are supported by CAPod.\n")
|
||||
|
||||
run {
|
||||
progress("Checking for your headphones with new BLE settings...")
|
||||
if (findLiveBleHeadphones()) {
|
||||
comboToPersist = supportedCombo
|
||||
success("Found your headphones, new BLE settings worked :)!")
|
||||
return@override
|
||||
}
|
||||
}
|
||||
|
||||
progress("Still no headphones detected that count as yours.\n")
|
||||
|
||||
run {
|
||||
progress("Checking all closeby headphones.")
|
||||
|
||||
val otherDevices = collectFreshDevices()
|
||||
otherDevices.forEachIndexed { index, dev -> log(TAG) { "Device #$index: $dev" } }
|
||||
|
||||
val candidate = otherDevices
|
||||
.filter { it !is UnknownSnapshotBle }
|
||||
.maxByOrNull { it.signalQuality }
|
||||
|
||||
if (candidate == null) {
|
||||
failure(
|
||||
"No supported headphones found near your device.",
|
||||
BleState.Result.Failure.Type.HEADPHONES,
|
||||
)
|
||||
return@override
|
||||
}
|
||||
|
||||
progress("Headphones found nearby, but not detected as yours.\n")
|
||||
progress("Creating profile for closest headphones.")
|
||||
log(TAG, INFO) { "Candidate is $candidate" }
|
||||
|
||||
profilesRepo.addProfile(
|
||||
profile = AppleDeviceProfile(
|
||||
label = context.getString(R.string.troubleshooter_title),
|
||||
model = candidate.model,
|
||||
),
|
||||
addFirst = true,
|
||||
)
|
||||
|
||||
if (findLiveBleHeadphones()) {
|
||||
comboToPersist = supportedCombo
|
||||
success("Success! Detected your headphones.")
|
||||
} else {
|
||||
failure("No headphones detected near your device.", BleState.Result.Failure.Type.HEADPHONES)
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
blePodMonitor.setUnfilteredOverride(false)
|
||||
try {
|
||||
// Persist the winning combo before dropping the override so the effective scan
|
||||
// settings stay equal with no restart flicker. Done in its own try so the
|
||||
// override is still cleared (restoring originals) even if a write throws.
|
||||
comboToPersist?.let { persistCompat(it) }
|
||||
} finally {
|
||||
blePodMonitor.setCompatOverride(null)
|
||||
}
|
||||
}
|
||||
|
||||
run {
|
||||
progress("Checking if we can receive BLE data at all.")
|
||||
if (doScan(false, false, false, true).isNotEmpty()) return@run
|
||||
if (doScan(false, false, true, true).isNotEmpty()) return@run
|
||||
if (doScan(true, true, true, true).isNotEmpty()) return@run
|
||||
if (doScan(true, true, false, true).isNotEmpty()) return@run
|
||||
if (doScan(true, false, true, true).isNotEmpty()) return@run
|
||||
if (doScan(true, false, false, true).isNotEmpty()) return@run
|
||||
if (doScan(false, true, true, true).isNotEmpty()) return@run
|
||||
if (doScan(false, true, false, true).isNotEmpty()) return@run
|
||||
|
||||
failure("Phone is not receiving BLE data.", BleState.Result.Failure.Type.PHONE)
|
||||
|
||||
generalSettings.isOffloadedFilteringDisabled.valueBlocking = false
|
||||
generalSettings.isOffloadedBatchingDisabled.valueBlocking = false
|
||||
generalSettings.useIndirectScanResultCallback.valueBlocking = false
|
||||
debugSettings.showUnfiltered.valueBlocking = false
|
||||
|
||||
return@override
|
||||
}
|
||||
|
||||
progress("We received at least some BLE data.\n")
|
||||
|
||||
run {
|
||||
progress("Checking for supported headphones.")
|
||||
|
||||
if (doScan(false, false, false, false).any { it !is UnknownSnapshotBle }) return@run
|
||||
if (doScan(false, false, true, false).any { it !is UnknownSnapshotBle }) return@run
|
||||
if (doScan(true, true, true, false).any { it !is UnknownSnapshotBle }) return@run
|
||||
if (doScan(true, true, false, false).any { it !is UnknownSnapshotBle }) return@run
|
||||
if (doScan(true, false, true, false).any { it !is UnknownSnapshotBle }) return@run
|
||||
if (doScan(true, false, false, false).any { it !is UnknownSnapshotBle }) return@run
|
||||
if (doScan(false, true, true, false).any { it !is UnknownSnapshotBle }) return@run
|
||||
if (doScan(false, true, false, false).any { it !is UnknownSnapshotBle }) return@run
|
||||
|
||||
failure("No compatible headphones found", BleState.Result.Failure.Type.HEADPHONES)
|
||||
|
||||
generalSettings.isOffloadedFilteringDisabled.valueBlocking = false
|
||||
generalSettings.isOffloadedBatchingDisabled.valueBlocking = false
|
||||
generalSettings.useIndirectScanResultCallback.valueBlocking = false
|
||||
|
||||
return@override
|
||||
}
|
||||
|
||||
progress("Found some headphones that are supported by CAPod.\n")
|
||||
|
||||
run {
|
||||
progress("Checking for your headphones with new BLE settings...")
|
||||
val mainDevice = withTimeoutOrNull(STEP_TIME) {
|
||||
deviceMonitor.primaryDevice().filterNotNull().firstOrNull()
|
||||
}
|
||||
if (mainDevice != null) {
|
||||
success("Found your headphones, new BLE settings worked :)!")
|
||||
return@override
|
||||
}
|
||||
}
|
||||
|
||||
progress("Still no headphones detected that count as yours.\n")
|
||||
|
||||
run {
|
||||
progress("Checking all closeby headphones.")
|
||||
|
||||
val otherDevices = withTimeoutOrNull(STEP_TIME) {
|
||||
val start = timeSource.elapsedRealtime()
|
||||
blePodMonitor.devices
|
||||
.take(10)
|
||||
.takeWhile { timeSource.elapsedRealtime() - start < STEP_TIME - 1000 }
|
||||
.toList()
|
||||
.flatten()
|
||||
.distinctBy { it.address }
|
||||
} ?: emptyList()
|
||||
|
||||
otherDevices.forEachIndexed { index, dev -> log(TAG) { "Device #$index: $dev" } }
|
||||
|
||||
if (otherDevices.isEmpty()) {
|
||||
failure("No supported headphones found near your device.", BleState.Result.Failure.Type.HEADPHONES)
|
||||
return@override
|
||||
}
|
||||
|
||||
progress("Headphones found nearby, but not detected as yours.\n")
|
||||
progress("Creating profile for closest headphones.")
|
||||
|
||||
val candidate = otherDevices
|
||||
.filter { it !is UnknownSnapshotBle }
|
||||
.maxBy { it.signalQuality }
|
||||
|
||||
log(TAG, INFO) { "Candidate is $candidate" }
|
||||
|
||||
profilesRepo.addProfile(
|
||||
profile = AppleDeviceProfile(
|
||||
label = context.getString(R.string.troubleshooter_title),
|
||||
model = candidate.model,
|
||||
),
|
||||
addFirst = true,
|
||||
)
|
||||
|
||||
val mainDevice = withTimeoutOrNull(STEP_TIME) {
|
||||
deviceMonitor.primaryDevice().filterNotNull().firstOrNull()
|
||||
}
|
||||
|
||||
if (mainDevice != null) {
|
||||
success("Success! Detected your headphones.")
|
||||
} else {
|
||||
failure("No headphones detected near your device.", BleState.Result.Failure.Type.HEADPHONES)
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
runLock.unlock()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits up to [STEP_TIME] for the primary profile to be backed by a *fresh, live BLE*
|
||||
* observation. A cached-only / AAP-only primary does not count — the troubleshooter is about
|
||||
* whether BLE advertisements are actually reaching us. The freshness cutoff (snapshot seen at or
|
||||
* after this call) means it reflects the currently-active scan settings and doesn't rely on the
|
||||
* device cache having been cleared beforehand.
|
||||
*/
|
||||
private suspend fun findLiveBleHeadphones(): Boolean {
|
||||
val threshold = timeSource.now()
|
||||
return withTimeoutOrNull(STEP_TIME) {
|
||||
deviceMonitor.primaryDevice().firstOrNull { device ->
|
||||
device?.ble != null && (device.seenLastAt?.let { it >= threshold } == true)
|
||||
} != null
|
||||
} ?: false
|
||||
}
|
||||
|
||||
/**
|
||||
* Collects BLE devices observed *after the current scan settings take effect*. Option changes
|
||||
* restart the scan after a throttle, and [BlePodMonitor] keeps a 20s device cache, so without a
|
||||
* freshness cutoff a stale observation from a previous combo could be mistaken for a "win".
|
||||
*/
|
||||
private suspend fun collectFreshDevices(): List<BlePodSnapshot> {
|
||||
// Drop anything cached under a previous combo so it can't satisfy this attempt.
|
||||
blePodMonitor.clearDeviceCache()
|
||||
val freshThreshold = timeSource.now().plusMillis(SCAN_SETTLE_MS)
|
||||
val start = timeSource.elapsedRealtime()
|
||||
val collected = mutableListOf<BlePodSnapshot>()
|
||||
// Accumulate as we go: a timeout must not discard what we already observed. toList() only
|
||||
// returns once the flow completes, which a quiet channel may never do within the window.
|
||||
withTimeoutOrNull(STEP_TIME) {
|
||||
blePodMonitor.devices
|
||||
.takeWhile { timeSource.elapsedRealtime() - start < STEP_TIME - 1000 }
|
||||
.collect { snapshots -> collected.addAll(snapshots) }
|
||||
}
|
||||
return collected
|
||||
.filter { it.seenLastAt >= freshThreshold }
|
||||
.distinctBy { it.address }
|
||||
}
|
||||
|
||||
private fun persistCompat(combo: BlePodMonitor.CompatOverride) {
|
||||
generalSettings.isOffloadedFilteringDisabled.valueBlocking = combo.offloadedFilteringDisabled
|
||||
generalSettings.isOffloadedBatchingDisabled.valueBlocking = combo.offloadedBatchingDisabled
|
||||
generalSettings.useIndirectScanResultCallback.valueBlocking = combo.indirectCallback
|
||||
}
|
||||
|
||||
sealed class BleState {
|
||||
class Intro : BleState()
|
||||
|
||||
@@ -294,6 +313,29 @@ class TroubleShooterViewModel @Inject constructor(
|
||||
companion object {
|
||||
const val STEP_TIME = 10 * 1000L
|
||||
|
||||
/**
|
||||
* Grace period after switching compat settings before an observation counts as "fresh".
|
||||
* Covers [BlePodMonitor]'s ~1s scan-option throttle plus the scanner restart.
|
||||
*/
|
||||
const val SCAN_SETTLE_MS = 1500L
|
||||
|
||||
/**
|
||||
* Compatibility combinations to probe, ordered fewest-disables-first so the first one that
|
||||
* works (and gets persisted) is the *minimal* set of overrides — e.g. a phone that only
|
||||
* needs batching disabled won't also get filtering disabled. Triple semantics:
|
||||
* (offloadedFilteringDisabled, offloadedBatchingDisabled, indirectCallback).
|
||||
*/
|
||||
val COMPAT_COMBOS: List<BlePodMonitor.CompatOverride> = listOf(
|
||||
BlePodMonitor.CompatOverride(false, false, false), // baseline (no overrides)
|
||||
BlePodMonitor.CompatOverride(false, true, false), // batching only
|
||||
BlePodMonitor.CompatOverride(true, false, false), // filtering only
|
||||
BlePodMonitor.CompatOverride(false, false, true), // indirect callback only
|
||||
BlePodMonitor.CompatOverride(false, true, true), // batching + indirect
|
||||
BlePodMonitor.CompatOverride(true, false, true), // filtering + indirect
|
||||
BlePodMonitor.CompatOverride(true, true, false), // filtering + batching
|
||||
BlePodMonitor.CompatOverride(true, true, true), // everything
|
||||
)
|
||||
|
||||
val TAG = logTag("TroubleShooter", "VM")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">As u onlangs gekoop het, kan dit \'n oomblik neem vir Google Play om te sinkroniseer.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Probeer weer oor \'n paar minute as u aankoop nie verskyn nie.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Maak seker dat u met dieselfde Google-rekening aangemeld is wat vir die aankoop gebruik is.</string>
|
||||
<string name="settings_monitor_mode_label">Monitormodus</string>
|
||||
<string name="settings_monitor_mode_description">Onder watter omstandighede hierdie toepassing Bluetooth-data monitor.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Ekstra kennisgewing</string>
|
||||
<string name="settings_monitor_connected_notification_description">Wys \'n ekstra kennisgewing wanneer \'n toestel gekoppel is. Dit laat jou toe om die permanente \"Geen toestelle\" kennisgewing te versteek deur die \"Toestelstatus\" kanaal te deaktiveer.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Hou kennisgewing ná ontkoppeling</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Outo-pouse</string>
|
||||
<string name="settings_autopause_description">Pouseer oudio wanneer die toestel uit jou oor verwyder word.</string>
|
||||
<string name="settings_autopplay_label">Outo-speel</string>
|
||||
<string name="settings_autoplay_description">Begin oudio-terugspeel wanneer toestel gedra word.</string>
|
||||
<string name="settings_autoplay_description">Hervat musiek wanneer jy jou pods weer dra, maar slegs as Outopouseer dit gestop het. Pouses wat jy self geaktiveer het (foon, AirPods-steel, slaap) bly gepouseer.</string>
|
||||
<string name="settings_start_music_on_wear_label">Begin musiek by dra</string>
|
||||
<string name="settings_start_music_on_wear_description">Probeer altyd musiek speel wanneer jy jou pods opsit, selfs na \'n handmatige pouseer.</string>
|
||||
<string name="settings_eardetection_info_label">Nota oor oorbespeuring</string>
|
||||
<string name="settings_eardetection_info_description">As oorbespeuring net vir een pod werk, is dit \'n Apple-beperking. Slegs die primêre pod (wat vir die mikrofoon gebruik word) word bespeur. Stel op Apple-toestelle op: Settings → Bluetooth → AirPods → Microphone.</string>
|
||||
<string name="settings_fake_data_label">Vals data</string>
|
||||
<string name="settings_fake_data_description">Wys vals data, d.w.s. simuleer toestelle wat nie bestaan nie.</string>
|
||||
<string name="settings_debug_label">Ontfoutinstellings</string>
|
||||
<string name="settings_debug_description">Addisionele instellings om probleme met die toepassing te help oplos.</string>
|
||||
<string name="settings_signal_minimum_label">Minimum seingehalte</string>
|
||||
<string name="settings_signal_minimum_description">Die minimum seingehalte wat \'n toestel moet hê om as joune beskou te word.</string>
|
||||
<string name="settings_autoconnect_label">Outo-koppel</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Wys verbindingsopspringer</string>
|
||||
<string name="settings_popup_connected_description">Wys \'n opspringer wanneer die toestel vir die eerste keer koppel.</string>
|
||||
<string name="settings_popup_info_not_in_app">Opspringvensters word slegs gewys as jy nie in die program is nie.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Opspringvensters benodig die monitor om te loop. Jou monitormodus is ingestel op \"Wanneer program oop is\", wat die monitor stop wanneer jy die program verlaat.</string>
|
||||
<string name="general_fix_it_action">Herstel dit</string>
|
||||
<string name="device_settings_experimental_title">Eksperimentele kenmerk</string>
|
||||
<string name="device_settings_experimental_description">Hierdie kenmerk is nog nie op alle toestelle getoets nie. As iets nie korrek werk nie, open asseblief \'n kwessie met \'n foutopsporingsloglêer.</string>
|
||||
<string name="device_settings_experimental_action">Open Kwessiespoorder</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Erkennings</string>
|
||||
<string name="settings_debug_autoreports_label">Outomatiese foutverslae</string>
|
||||
<string name="settings_debug_autoreports_description">Rapporteer probleme outomaties, bv. besonderhede oor \'n toepassingstorting sodat ek kan uitvind hoe om dit reg te stel.</string>
|
||||
<string name="settings_debug_mode_label">Ontfoutmodus</string>
|
||||
<string name="settings_debug_mode_description">Wys addisionele inligting om probleme op te los.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Ongefiltreerde BLE-data</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Verwyder enige filters van die BLE-skandeerder om alle uitgesaaide BLE-data te wys. Nuttig om ondersteuning vir nuwe koptelefoontipes by te voeg.</string>
|
||||
<string name="settings_compatibility_mode_label">Verenigbaarheidsmodus</string>
|
||||
<string name="settings_compatibility_mode_description">Deaktiveer optimalisasies om verenigbaarheid te verbeter. Probeer dit as jy geen data sien nie.</string>
|
||||
<string name="help_translate_label">Vertaling</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Hierdie widget vereis \'n direkte verbinding (AAP) met jou toestel. Maak seker jou toestel is gepaar en verbind in die program voor jy hierdie widget gebruik.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Hierdie toestel ondersteun nie geraasbeheersing nie</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Nie verbind nie</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Naby maar nie gekoppel nie</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Nie naby nie</string>
|
||||
<string name="anc_widget_aap_connecting_label">Verbind…</string>
|
||||
<string name="tile_anc_label">Geraaskontrole</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Toestemming benodig</string>
|
||||
<string name="tile_anc_subtitle_no_device">Geen toestel</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Geen geraaskontrole</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth af</string>
|
||||
<string name="widget_config_screen_title">Widget-konfigurasie</string>
|
||||
<string name="widget_configuration_title">Kies toestel</string>
|
||||
<string name="widget_configuration_description">Kies watter toestelprofiel hierdie legstuk moet wys.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Die volgende toestemming is vereis:</string>
|
||||
<string name="permission_system_alert_window_label">Stelselwaarskuwingsvenster</string>
|
||||
<string name="permission_system_alert_window_description">Laat CAPod toe om oor ander toepassings te teken om die kenmerk Wys opspringer moontlik te maak.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Wanneer toepassing oop is</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Wanneer toestel gekoppel is</string>
|
||||
<string name="settings_monitor_mode_always_label">Altyd</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Wanneer gesien</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Kassie is oop</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">In oor</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Deursigtigheid</string>
|
||||
<string name="anc_mode_adaptive">Aanpasbaar</string>
|
||||
<string name="conversation_awareness_label">Gespreksbewustheid</string>
|
||||
<string name="settings_conversation_action_label">Wanneer jy begin praat</string>
|
||||
<string name="settings_conversation_action_nothing_label">Doen niks</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Verlaag volume</string>
|
||||
<string name="settings_conversation_action_pause_label">Pouseer media</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Volumevermindering</string>
|
||||
<string name="signal_badge_ble_cd">BLE-skandering aktief</string>
|
||||
<string name="signal_badge_key_irk_cd">Identiteit geverifieer</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Versleutelde verbinding</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Amber</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Gebruik muurpapierkleure</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Monitering</string>
|
||||
<string name="settings_category_appearance_label">Voorkoms</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Ongestoorde veranderinge</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Algemeen</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofoon</string>
|
||||
<string name="device_settings_microphone_mode_description">Watter AirPod as mikrofoon gebruik word</string>
|
||||
<string name="device_settings_microphone_mode_description">Watter oorfoon as mikrofoon gebruik word</string>
|
||||
<string name="device_settings_microphone_mode_auto">Outomaties</string>
|
||||
<string name="device_settings_microphone_mode_right">Regs</string>
|
||||
<string name="device_settings_microphone_mode_left">Links</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">በቅርቡ ካዘዙ፣ Google Play ለማመሳሰል ትንሽ ጊዜ ሊወስድ ይችላል።</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">ግዢዎ ካልታየ ከጥቂት ደቂቃዎች በኋላ እንደገና ሞክር።</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">ለግዢው ጥቅም ላይ ከዋለው ጋር ተመሳሳይ Google መለያ ተጠቅመህ ገብተሃል ወይም ብለህ አረጋግጥ።</string>
|
||||
<string name="settings_monitor_mode_label">የክትትል ሁነታ</string>
|
||||
<string name="settings_monitor_mode_description">ይህ መተግበሪያ የብሉቱዝ መረጃን የሚከታተልበት ሁኔታዎች።</string>
|
||||
<string name="settings_monitor_connected_notification_label">ተጨማሪ ማሳወቂያ</string>
|
||||
<string name="settings_monitor_connected_notification_description">አንድ መሣሪያ ሲገናኝ ተጨማሪ ማሳወቂያ ያሳያል። ይህ የ \"የመሣሪያ ሁኔታ\" ቻናልን በማሰናከል ቋሚውን \"ምንም መሣሪያዎች የሉም\" የሚለውን ማሳወቂያ እንዲደብቁ ያስችልዎታል።</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">ከተነተቀ በኋላ ማሳወቂያውን ይያዙ</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">ራስ-ሰር ለአፍታ ማቆም</string>
|
||||
<string name="settings_autopause_description">መሳሪያውን ከጆሮዎ ሲያወጡ ድምጽን ለአፍታ ያቁሙ።</string>
|
||||
<string name="settings_autopplay_label">ራስ-ሰር አጫውት</string>
|
||||
<string name="settings_autoplay_description">መሳሪያው ሲለበስ የድምጽ መልሶ ማጫወት ይጀምሩ።</string>
|
||||
<string name="settings_autoplay_description">ፖዶቹን እንደገና ሲያጠቁ ሙዚቃን ቀጥል፣ ግን ራስ-አቆም ካቆመው ብቻ። ራስዎ ያቆሙት (ስልክ፣ የ AirPods ቀጭኑ፣ ወይም እንቅልፍ) ቆሞ ይቆያል።</string>
|
||||
<string name="settings_start_music_on_wear_label">ሲያጠቁ ሙዚቃ ጀምር</string>
|
||||
<string name="settings_start_music_on_wear_description">ፖዶቹን ሲያጠቁ ሁልጊዜ ሙዚቃ ለማጫወት ይሞክራል፣ እጅ ሲቆም ካቆሙ በኋላ እንኳን።</string>
|
||||
<string name="settings_eardetection_info_label">የጆሮ ማወቂያ ማስታወሻ</string>
|
||||
<string name="settings_eardetection_info_description">የጆሮ ማወቂያ ለአንድ ፖድ ብቻ የሚሰራ ከሆነ ይህ የApple ገደብ ነው። \"ዋና ፖድ\" (ለማይክሮፎን የሚጠቅም) ብቻ ይታወቃል። በApple መሳሪያዎች ላይ ያዋቅሩ: Settings → Bluetooth → AirPods → Microphone.</string>
|
||||
<string name="settings_fake_data_label">የውሸት መረጃ</string>
|
||||
<string name="settings_fake_data_description">የውሸት መረጃ ያሳዩ፣ ማለትም የሌሉ መሳሪያዎችን አስመስለው ያሳዩ።</string>
|
||||
<string name="settings_debug_label">የማረሚያ ቅንብሮች</string>
|
||||
<string name="settings_debug_description">በመተግበሪያው ላይ ያሉ ችግሮችን ለመፍታት የሚረዱ ተጨማሪ ቅንብሮች።</string>
|
||||
<string name="settings_signal_minimum_label">ዝቅተኛ የሲግናል ጥራት</string>
|
||||
<string name="settings_signal_minimum_description">አንድ መሣሪያ የእርስዎ ተደርጎ እንዲቆጠር ሊኖረው የሚገባው ዝቅተኛው የሲግናል ጥራት።</string>
|
||||
<string name="settings_autoconnect_label">ራስ-ሰር ግንኙነት</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">የግንኙነት ብቅ-ባይ አሳይ</string>
|
||||
<string name="settings_popup_connected_description">መሳሪያው ለመጀመሪያ ጊዜ ሲገናኝ ብቅ-ባይ አሳይ።</string>
|
||||
<string name="settings_popup_info_not_in_app">ፖፕ-አፕ መልዕክቶች በፕሮግራሙ ውስጥ ሳታሉ ብቻ ይታያሉ።</string>
|
||||
<string name="settings_popup_warning_manual_mode">ፖፕ-አፕ መልዕክቶች ሞኒተሩ እየሮጠ እንዲሆን ይፈልጋሉ። የሞኒተር ሁነታዎ \"ፕሮግራሙ ሲከፈት\" ተዘጋጅቷል፣ ይህም ፕሮግራሙን ሲለቁ ሞኒተሩን ያቆማል።</string>
|
||||
<string name="general_fix_it_action">አስተካክለው</string>
|
||||
<string name="device_settings_experimental_title">ሙከራዊ ባህሪ</string>
|
||||
<string name="device_settings_experimental_description">ይህ ባህሪ በሁሉም መሳሪያዎች ላይ ገና አልተሞከረም። ሆኖም ካልሰራ፣ እባክዎ የዲበግ ምዝግብ ማስታወሻ ጨምረው ጉዳዩን ይክፈቱ።</string>
|
||||
<string name="device_settings_experimental_action">የጉዳይ መከታተያ ክፈት</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">ምስጋናዎች</string>
|
||||
<string name="settings_debug_autoreports_label">ራስ-ሰር የሳንካ ሪፖርቶች</string>
|
||||
<string name="settings_debug_autoreports_description">ችግሮችን በራስ-ሰር ሪፖርት ያደርጋል፣ ለምሳሌ የመተግበሪያ ብልሽት ዝርዝሮችን እንዴት ማስተካከል እንዳለብኝ እንድገነዘብ።</string>
|
||||
<string name="settings_debug_mode_label">የማረሚያ ሁነታ</string>
|
||||
<string name="settings_debug_mode_description">ችግሮችን ለመፍታት ተጨማሪ መረጃ ያሳዩ።</string>
|
||||
<string name="settings_blescanner_unfiltered_label">ያልተጣራ የBLE መረጃ</string>
|
||||
<string name="settings_blescanner_unfiltered_description">ሁሉንም የተላለፉ የBLE መረጃዎችን ለማሳየት ማንኛውንም ማጣሪያ ከBLE ቃኚው ያስወግዱ። ለአዲስ የጆሮ ማዳመጫ አይነቶች ድጋፍ ለመጨመር ጠቃሚ ነው።</string>
|
||||
<string name="settings_compatibility_mode_label">የተኳኋኝነት ሁነታ</string>
|
||||
<string name="settings_compatibility_mode_description">ተኳኋኝነትን ለማሻሻል ማመቻቸቶችን አሰናክል። ምንም መረጃ ካላዩ ይህንን ይሞክሩ።</string>
|
||||
<string name="help_translate_label">ትርጉም</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">ይህ ዊጄት ወደ መሳሪያዎ ቀጥታ ግንኙነት (AAP) ይፈልጋል። ይህን ዊጄት ከመጠቀምዎ በፊት መሳሪያዎ ጥምር ሆኖ በአፕ ውስጥ መገናኘቱን ያረጋግጡ።</string>
|
||||
<string name="anc_widget_no_anc_support_label">ይህ መሳሪያ የጫጫታ ቁጥጥርን አይደግፍም</string>
|
||||
<string name="anc_widget_aap_not_connected_label">አልተገናኘም</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">አቅራቢያ ነው ግን አልተገናኘም</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">አቅራቢያ የለም</string>
|
||||
<string name="anc_widget_aap_connecting_label">በመገናኘት ላይ…</string>
|
||||
<string name="tile_anc_label">ጫጫታ ቁጥጥር</string>
|
||||
<string name="tile_anc_subtitle_permission_required">ፈቃድ ያስፈልጋል</string>
|
||||
<string name="tile_anc_subtitle_no_device">መሣሪያ የለም</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">ጫጫታ ቁጥጥር የለም</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">ብሉቱዝ ጠፍቷል</string>
|
||||
<string name="widget_config_screen_title">ዊጀት ውቅር</string>
|
||||
<string name="widget_configuration_title">መሣሪያ ይምረጡ</string>
|
||||
<string name="widget_configuration_description">ይህ መግብር የትኛውን የመሣሪያ መገለጫ ማሳየት እንዳለበት ይምረጡ።</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">የሚከተለው ፈቃድ ያስፈልጋል:</string>
|
||||
<string name="permission_system_alert_window_label">የስርዓት ማስጠንቀቂያ መስኮት</string>
|
||||
<string name="permission_system_alert_window_description">\"ብቅ-ባይ አሳይ\" ባህሪውን ለማስቻል CAPod በሌሎች መተግበሪያዎች ላይ እንዲሳል ፍቀድ።</string>
|
||||
<string name="settings_monitor_mode_manual_label">መተግበሪያው ሲከፈት</string>
|
||||
<string name="settings_monitor_mode_automatic_label">መሣሪያ ሲገናኝ</string>
|
||||
<string name="settings_monitor_mode_always_label">ሁልጊዜ</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">ሲታይ</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">ኬዝ ክፍት ነው</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">በጆሮ ውስጥ</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">ግልጽነት</string>
|
||||
<string name="anc_mode_adaptive">መላሚ</string>
|
||||
<string name="conversation_awareness_label">የውይይት ግንዛቤ</string>
|
||||
<string name="settings_conversation_action_label">መናገር ሲጀምሩ</string>
|
||||
<string name="settings_conversation_action_nothing_label">ምንም አታድርግ</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">ድምፅ ዝቅ አድርግ</string>
|
||||
<string name="settings_conversation_action_pause_label">ሚዲያ አቆም</string>
|
||||
<string name="settings_conversation_volume_reduction_label">የድምፅ ቅናሽ</string>
|
||||
<string name="signal_badge_ble_cd">BLE ቅኝት ንቁ ነው</string>
|
||||
<string name="signal_badge_key_irk_cd">ማንነት ተረጋግጧል</string>
|
||||
<string name="signal_badge_key_encrypted_cd">ምስጢራዊ ግንኙነት</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">ህብረ-ቀለማዊ</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">የዳሰሳ ምስል ቀለሞችን ይጠቀማል</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">ክትትል</string>
|
||||
<string name="settings_category_appearance_label">ገጽታ</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">ያልተቀመጡ ለውጦች</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">አጠቃላይ</string>
|
||||
<string name="device_settings_microphone_mode_label">ማይክሮፎን</string>
|
||||
<string name="device_settings_microphone_mode_description">የትኛው AirPod እንደ ማይክሮፎን ንእ ላይ ይወላል</string>
|
||||
<string name="device_settings_microphone_mode_description">የትኛው ኢርባድ እንደ ማይክሮፎን ጥቅም ላይ እንደሚውል</string>
|
||||
<string name="device_settings_microphone_mode_auto">ራስ-ሰር</string>
|
||||
<string name="device_settings_microphone_mode_right">ቀኝ</string>
|
||||
<string name="device_settings_microphone_mode_left">ግራ</string>
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<string name="general_copy_action">نسخ</string>
|
||||
<string name="general_thank_you_label">شكرًا لك</string>
|
||||
<string name="general_upgrade_action">ترقية</string>
|
||||
<string name="common_feature_requires_pro_msg">قم بالترقية للفتح.</string>
|
||||
<string name="common_upgrade_required_label">يتطلب ترقية</string>
|
||||
<string name="common_feature_requires_pro_msg">رقّي للفتح.</string>
|
||||
<string name="common_upgrade_required_label">يتطلب الترقية</string>
|
||||
<string name="general_donate_action">تبرع</string>
|
||||
<string name="general_check_action">تحقق</string>
|
||||
<string name="general_close_action">إغلاق</string>
|
||||
@@ -20,46 +20,42 @@
|
||||
<string name="general_example_label">مثال: %s</string>
|
||||
<string name="upgrade_capod_label">ترقية CAPod</string>
|
||||
<string name="upgrade_capod_description">احصل على ميزات إضافية وادعم المطور.</string>
|
||||
<string name="upgrade_preamble">تم تطوير CAPod من قِبل شخص واحد. الترقية تفتح ميزات إضافية وتساعد في إبقاء التطبيق حياً.</string>
|
||||
<string name="upgrade_preamble">تم تطوير تطبيق CAPod بواسطة شخص واحد. يتيح التحديث ميزات إضافية ويساعد في استمرار عمل التطبيق.</string>
|
||||
<string name="upgrade_benefit_themes">تخصيص السمة</string>
|
||||
<string name="upgrade_benefit_autoplay">تشغيل تلقائي وإيقاف مؤقت تلقائي</string>
|
||||
<string name="upgrade_benefit_popups">نافذة منبثقة عند فتح الغطاء والاتصال</string>
|
||||
<string name="upgrade_benefit_widgets">عناصر واجهة الشاشة الرئيسية</string>
|
||||
<string name="upgrade_benefit_device_settings">إعدادات الجهاز المتقدمة</string>
|
||||
<string name="upgrade_benefit_device_controls">عناصر التحكم في الجهاز — الضوضاء والعصا والمزيد</string>
|
||||
<string name="upgrade_benefit_support">دعم المطور</string>
|
||||
<string name="upgrade_benefit_disclaimer">يعتمد توفر الميزات على سماعات الرأس والجهاز الخاص بك.</string>
|
||||
<string name="upgrade_screen_options_description">نفس الميزات، بتسعير مختلف. يشمل الاشتراك تجربة مجانية ويمكن إلغاؤه في أي وقت.</string>
|
||||
<string name="upgrade_screen_subscription_trial_action">ابدأ الإصدار التجريبي المجاني</string>
|
||||
<string name="upgrade_screen_subscription_action">اشترك سنوياً</string>
|
||||
<string name="upgrade_benefit_autoplay">التشغيل التلقائي & الإيقاف التلقائي</string>
|
||||
<string name="upgrade_benefit_popups">نافذة منبثقة عند فتح العلبة & الاتصال</string>
|
||||
<string name="upgrade_benefit_widgets">عناصر الشاشة الرئيسة</string>
|
||||
<string name="upgrade_benefit_device_settings">إعدادات الجهاز المتقدّمة</string>
|
||||
<string name="upgrade_benefit_device_controls">عناصر التحكم في الجهاز — الضوضاء، & السيقان، & المزيد</string>
|
||||
<string name="upgrade_benefit_support">دعم المطوّر</string>
|
||||
<string name="upgrade_benefit_disclaimer">يعتمد توفر الميزات على سمّاعات الرأس والجهاز المستخدَم.</string>
|
||||
<string name="upgrade_screen_options_description">نفس الميزات، أسعار مختلفة. يشمل الاشتراك فترة تجريبية مجانية ويمكن إلغاؤه في أي وقت.</string>
|
||||
<string name="upgrade_screen_subscription_trial_action">بدء التجربة المجانية</string>
|
||||
<string name="upgrade_screen_subscription_action">الاشتراك سنويًا</string>
|
||||
<string name="upgrade_screen_subscription_action_hint">%s/سنة</string>
|
||||
<string name="upgrade_screen_iap_action">شراء لمرة واحدة</string>
|
||||
<string name="upgrade_screen_iap_action_hint">شراء لمرة واحدة: %s</string>
|
||||
<string name="upgrade_screen_restore_purchase_action">استعادة المُشتَرَى</string>
|
||||
<string name="upgrade_screen_iap_action">الشراء مرة واحدة</string>
|
||||
<string name="upgrade_screen_iap_action_hint">الشراء لمرة واحدة: %s</string>
|
||||
<string name="upgrade_screen_restore_purchase_action">استعادة المشتريات</string>
|
||||
<string name="upgrade_screen_restore_purchase_message">لم يتم العثور على أي مشتريات. هل تستخدم الحساب الصحيح؟</string>
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">إذا اشتريت مؤخراً، قد يستغرق Google Play لحظة للمزامنة.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">حاول مرة أخرى بعد بضع دقائق إذا لم يظهر شراؤك.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">تأكد من تسجيل دخولك بنفس حساب Google المستخدم للشراء.</string>
|
||||
<string name="settings_monitor_mode_label">وضع المراقبة</string>
|
||||
<string name="settings_monitor_mode_description">تحت أي ظروف يراقب هذا التطبيق بيانات البلوتوث.</string>
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">إذا اشتريت مؤخّرًا، فقد يستغرق الأمر بعض الوقت حتى تتم مزامنة حسابك على Google Play.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">حاول مرة أخرى بعد بضع دقائق إذا لم يظهر طلبك.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">تأكّد من تسجيل دخولك باستخدام حساب Google نفسه المستخدَم في عملية الشراء.</string>
|
||||
<string name="settings_monitor_connected_notification_label">إشعار إضافي</string>
|
||||
<string name="settings_monitor_connected_notification_description">يعرض إشعارًا إضافيًا عند توصيل جهاز. يتيح لك هذا إخفاء الإشعار الدائم \"لا توجد أجهزة\" عن طريق تعطيل قناة \"حالة الجهاز\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">الاحتفاظ بالإشعار بعد قطع الاتصال</string>
|
||||
<string name="settings_keep_notification_after_disconnect_description">الاستمرار في عرض مستويات البطارية المعروفة الأخيرة حتى بعد قطع اتصال AirPods</string>
|
||||
<string name="settings_autopause_label">إيقاف مؤقت تلقائي</string>
|
||||
<string name="settings_autopause_description">إيقاف الصوت مؤقتًا عند إزالة الجهاز من أذنك.</string>
|
||||
<string name="settings_autopause_label">إيقاف مؤقّت تلقائي</string>
|
||||
<string name="settings_autopause_description">إيقاف الصوت مؤقّتًا عند إزالة الجهاز من أذنك.</string>
|
||||
<string name="settings_autopplay_label">تشغيل تلقائي</string>
|
||||
<string name="settings_autoplay_description">بدء تشغيل الصوت عند ارتداء الجهاز.</string>
|
||||
<string name="settings_autoplay_description">استئناف الموسيقى عند ارتداء السماعات مجدّدًا، ولكن فقط إذا أوقفها الإيقاف التلقائي. الإيقافات التي شغّلتها بنفسك (الهاتف، ذراع AirPods، وضع السكون) تبقى متوقّفة.</string>
|
||||
<string name="settings_start_music_on_wear_label">تشغيل الموسيقى عند الارتداء</string>
|
||||
<string name="settings_start_music_on_wear_description">يحاول دائمًا تشغيل الموسيقى عند وضع السمّاعات، حتى بعد الإيقاف اليدوي.</string>
|
||||
<string name="settings_eardetection_info_label">ملاحظة اكتشاف الأذن</string>
|
||||
<string name="settings_eardetection_info_description">إذا كان اكتشاف الأذن يعمل لسماعة واحدة فقط، فهذا قيد من Apple. يتم اكتشاف \"السماعة الأساسية\" فقط (المستخدمة للميكروفون). قم بالتكوين على أجهزة Apple: الإعدادات → Bluetooth → AirPods → الميكروفون.</string>
|
||||
<string name="settings_fake_data_label">بيانات وهمية</string>
|
||||
<string name="settings_fake_data_description">عرض بيانات وهمية، أي محاكاة الأجهزة غير الموجودة.</string>
|
||||
<string name="settings_debug_label">إعدادات التصحيح</string>
|
||||
<string name="settings_debug_description">إعدادات إضافية للمساعدة في استكشاف المشكلات المتعلقة بالتطبيق وإصلاحها.</string>
|
||||
<string name="settings_eardetection_info_description">إذا كان اكتشاف الأذن يعمل لسماعة واحدة فقط، فهذا قيدٌ من Apple. يتم اكتشاف \"السمّاعة الأساسية\" فقط (المستخدَمة للميكروفون). اضبط على أجهزة Apple: الإعدادات → Bluetooth → AirPods → الميكروفون.</string>
|
||||
<string name="settings_signal_minimum_label">الحد الأدنى لجودة الإشارة</string>
|
||||
<string name="settings_signal_minimum_description">الحد الأدنى لجودة الإشارة التي يجب أن يتمتع بها الجهاز حتى يعتبر ملكك.</string>
|
||||
<string name="settings_signal_minimum_description">الحد الأدنى لجودة الإشارة التي يجب أن يتمتّع بها الجهاز حتى يُعدّ ملكك.</string>
|
||||
<string name="settings_autoconnect_label">اتصال تلقائي</string>
|
||||
<string name="settings_autoconnect_description">إذا لم يتصل Android تلقائيًا، فيمكننا أن نطلب منه ذلك أيضًا. سيؤدي هذا إلى ضبط إعداد وضع الشاشة على \"دائمًا\".</string>
|
||||
<string name="settings_autoconnect_description">إذا لم يتّصل Android تلقائيًا، فيمكننا أن نطلب منه ذلك أيضًا. سيؤدي هذا إلى ضبط إعداد وضع الشاشة على \"دائمًا\".</string>
|
||||
<string name="settings_autoconnect_info_android12">يعتمد الاتصال التلقائي على ميزة نظام يقيّدها Android 12 والإصدارات الأحدث. قد لا تعمل على جهازك.</string>
|
||||
<string name="settings_autoconnect_condition_label">شرط الاتصال التلقائي</string>
|
||||
<string name="settings_autoconnect_condition_description">متى يجب أن نحاول الاتصال بجهازك؟</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">إظهار نافذة منبثقة للاتصال</string>
|
||||
<string name="settings_popup_connected_description">إظهار نافذة منبثقة عند اتصال الجهاز لأول مرة.</string>
|
||||
<string name="settings_popup_info_not_in_app">تظهر النوافذ المنبثقة فقط عندما لا تكون داخل التطبيق.</string>
|
||||
<string name="settings_popup_warning_manual_mode">تتطلب النوافذ المنبثقة تشغيل المراقب. وضع المراقبة الخاص بك مضبوط على \"عند فتح التطبيق\"، مما يوقف المراقب عند مغادرة التطبيق.</string>
|
||||
<string name="general_fix_it_action">إصلاحه</string>
|
||||
<string name="device_settings_experimental_title">ميزة تجريبية</string>
|
||||
<string name="device_settings_experimental_description">لم يتم اختبار هذه الميزة على جميع الأجهزة بعد. إذا كان هناك شيء لا يعمل بشكل صحيح، يرجى فتح تقرير مشكلة مع سجل تصحيح.</string>
|
||||
<string name="device_settings_experimental_action">فتح متتبع المشكلات</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">شكر وتقدير</string>
|
||||
<string name="settings_debug_autoreports_label">تقارير الأخطاء التلقائية</string>
|
||||
<string name="settings_debug_autoreports_description">الإبلاغ تلقائيًا عن المشكلات، على سبيل المثال تفاصيل حول تعطل التطبيق حتى أتمكن من معرفة كيفية إصلاحه.</string>
|
||||
<string name="settings_debug_mode_label">وضع التصحيح</string>
|
||||
<string name="settings_debug_mode_description">عرض معلومات إضافية لاستكشاف المشكلات وإصلاحها.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">بيانات BLE غير المصفاة</string>
|
||||
<string name="settings_blescanner_unfiltered_description">إزالة أي عوامل تصفية من ماسح BLE لعرض جميع بيانات BLE المذاعة. مفيد لإضافة دعم لأنواع سماعات الرأس الجديدة.</string>
|
||||
<string name="settings_compatibility_mode_label">وضع التوافق</string>
|
||||
<string name="settings_compatibility_mode_description">تعطيل التحسينات لتحسين التوافق. جرب هذا إذا كنت لا ترى أي بيانات.</string>
|
||||
<string name="help_translate_label">الترجمة</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">يتطلب هذا الودجت اتصالاً مباشراً (AAP) بجهازك. تأكد من إقران جهازك وتوصيله في التطبيق قبل استخدام هذا الودجت.</string>
|
||||
<string name="anc_widget_no_anc_support_label">هذا الجهاز لا يدعم التحكم في الضوضاء</string>
|
||||
<string name="anc_widget_aap_not_connected_label">غير متصل</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">قريب ولكن غير متّصل</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">غير قريب</string>
|
||||
<string name="anc_widget_aap_connecting_label">جارٍ الاتصال…</string>
|
||||
<string name="tile_anc_label">التحكم في الضوضاء</string>
|
||||
<string name="tile_anc_subtitle_permission_required">الإذن مطلوب</string>
|
||||
<string name="tile_anc_subtitle_no_device">لا يوجد جهاز</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">لا يوجد تحكم في الضوضاء</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">البلوتوث مغلق</string>
|
||||
<string name="widget_config_screen_title">إعداد عنصر الواجهة</string>
|
||||
<string name="widget_configuration_title">اختيار الجهاز</string>
|
||||
<string name="widget_configuration_description">اختر ملف تعريف الجهاز الذي يجب أن تعرضه هذه الأداة.</string>
|
||||
@@ -228,9 +225,6 @@
|
||||
<string name="permission_required_title">الإذن التالي مطلوب:</string>
|
||||
<string name="permission_system_alert_window_label">نافذة تنبيه النظام</string>
|
||||
<string name="permission_system_alert_window_description">السماح لـ CAPod بالرسم فوق التطبيقات الأخرى لتمكين ميزة \"إظهار النافذة المنبثقة\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">عند فتح التطبيق</string>
|
||||
<string name="settings_monitor_mode_automatic_label">عند اتصال الجهاز</string>
|
||||
<string name="settings_monitor_mode_always_label">دائمًا</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">عند الرؤية</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">العلبة مفتوحة</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">في الأذن</string>
|
||||
@@ -262,6 +256,11 @@
|
||||
<string name="anc_mode_transparency">الشفافية</string>
|
||||
<string name="anc_mode_adaptive">تكيفي</string>
|
||||
<string name="conversation_awareness_label">الوعي بالمحادثة</string>
|
||||
<string name="settings_conversation_action_label">عند بدء الكلام</string>
|
||||
<string name="settings_conversation_action_nothing_label">لا تفعل شيئًا</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">خفض مستوى الصوت</string>
|
||||
<string name="settings_conversation_action_pause_label">إيقاف الوسائط</string>
|
||||
<string name="settings_conversation_volume_reduction_label">تخفيض مستوى الصوت</string>
|
||||
<string name="signal_badge_ble_cd">مسح BLE نشط</string>
|
||||
<string name="signal_badge_key_irk_cd">تم التحقق من الهوية</string>
|
||||
<string name="signal_badge_key_encrypted_cd">اتصال مشفر</string>
|
||||
@@ -330,7 +329,6 @@
|
||||
<string name="ui_theme_color_amber_label">كهرماني</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">يستخدم ألوان الخلفية</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">المراقبة</string>
|
||||
<string name="settings_category_appearance_label">المظهر</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">تغييرات غير محفوظة</string>
|
||||
@@ -490,7 +488,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">عام</string>
|
||||
<string name="device_settings_microphone_mode_label">ميكروفون</string>
|
||||
<string name="device_settings_microphone_mode_description">أي AirPod يُستخدم كميكروفون</string>
|
||||
<string name="device_settings_microphone_mode_description">سمّاعة الأذن المستخدمة كميكروفون</string>
|
||||
<string name="device_settings_microphone_mode_auto">تلقائي</string>
|
||||
<string name="device_settings_microphone_mode_right">يمين</string>
|
||||
<string name="device_settings_microphone_mode_left">يسار</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Əgər bu yaxınlarda satın almısınızsa, Google Play-in sinxronlaşması bir az vaxt ala bilər.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Alışınız görünmürsə bir neçə dəqiqədən sonra yenidən cəhd edin.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Alış üçün istifadə edilmiş eyni Google hesabı ilə daxil olduğunuzu yoxlayın.</string>
|
||||
<string name="settings_monitor_mode_label">İzləmə rejimi</string>
|
||||
<string name="settings_monitor_mode_description">Bu tətbiqin Bluetooth məlumatlarını hansı şəraitdə izlədiyi.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Əlavə bildiriş</string>
|
||||
<string name="settings_monitor_connected_notification_description">Cihaz qoşulduqda əlavə bildiriş göstərir. Bu, \"Cihaz statusu\" kanalını deaktiv etməklə daimi \"Cihaz yoxdur\" bildirişini gizlətməyə imkan verir.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Ayrıldıqdan sonra bildirişi saxla</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Avtomatik fasilə</string>
|
||||
<string name="settings_autopause_description">Cihazı qulağınızdan çıxardıqda səsi dayandırın.</string>
|
||||
<string name="settings_autopplay_label">Avtomatik oxutma</string>
|
||||
<string name="settings_autoplay_description">Cihaz taxıldıqda səs oxutmasını başladın.</string>
|
||||
<string name="settings_autoplay_description">Podlarınızı yenidən taxdıqda musiqini davam etdirin, lakin yalnız Avtomatik Fasilə onu dayandırdıqda. Özünüz dayandırdığınız fasilələr (telefon, AirPods sapı, yuxu) fasilə vəziyyətində qalır.</string>
|
||||
<string name="settings_start_music_on_wear_label">Taxdıqda musiqini başlat</string>
|
||||
<string name="settings_start_music_on_wear_description">Podlarınızı taxdıqda həmişə musiqi çalmağa çalışır, hətta əl ilə fasilə verdikdən sonra belə.</string>
|
||||
<string name="settings_eardetection_info_label">Qulaq aşkarlama qeydi</string>
|
||||
<string name="settings_eardetection_info_description">Qulaq aşkarlama yalnız bir qulaqlıq üçün işləyirsə, bu Apple məhdudiyyətidir. Yalnız \"əsas qulaqlıq\" (mikrofon üçün istifadə olunan) aşkarlanır. Apple cihazlarında tənzimləyin: Parametrlər → Bluetooth → AirPods → Mikrofon.</string>
|
||||
<string name="settings_fake_data_label">Saxta məlumat</string>
|
||||
<string name="settings_fake_data_description">Saxta məlumat göstər, yəni mövcud olmayan cihazları simulyasiya et.</string>
|
||||
<string name="settings_debug_label">Sazlama parametrləri</string>
|
||||
<string name="settings_debug_description">Tətbiqlə bağlı problemlərin aradan qaldırılmasına kömək edən əlavə parametrlər.</string>
|
||||
<string name="settings_signal_minimum_label">Minimum siqnal keyfiyyəti</string>
|
||||
<string name="settings_signal_minimum_description">Bir cihazın sizə aid hesab edilməsi üçün malik olmalı olduğu minimum siqnal keyfiyyəti.</string>
|
||||
<string name="settings_autoconnect_label">Avtomatik qoşulma</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Qoşulma pop-up-ını göstər</string>
|
||||
<string name="settings_popup_connected_description">Cihaz ilk dəfə qoşulduqda pop-up göstər.</string>
|
||||
<string name="settings_popup_info_not_in_app">Açılan pəncərələr yalnız tətbiqdə olmadığınız zaman göstərilir.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Açılan pəncərələr monitorun işləməsini tələb edir. Monitor rejiminizdə \"Tətbiq açıq olduqda\" seçilmişdir — bu, tətbiqdən çıxdığınız zaman monitoru dayandırır.</string>
|
||||
<string name="general_fix_it_action">Düzəlt</string>
|
||||
<string name="device_settings_experimental_title">Eksperimental funksiya</string>
|
||||
<string name="device_settings_experimental_description">Bu funksiya hələ bütün cihazlarda sınaqdan keçirilməyib. Bir şey düzgün işləmirsə, debug loqu ilə problem bildirin.</string>
|
||||
<string name="device_settings_experimental_action">Problem İzləyicisini Aç</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Təşəkkürlər</string>
|
||||
<string name="settings_debug_autoreports_label">Avtomatik səhv hesabatları</string>
|
||||
<string name="settings_debug_autoreports_description">Problemləri avtomatik olaraq bildirir, məsələn, tətbiqin çökməsi ilə bağlı təfərrüatları, beləliklə onu necə düzəldəcəyimi anlaya bilim.</string>
|
||||
<string name="settings_debug_mode_label">Sazlama rejimi</string>
|
||||
<string name="settings_debug_mode_description">Problemlərin aradan qaldırılması üçün əlavə məlumat göstərin.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Filtrlənməmiş BLE məlumatları</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Bütün yayımlanan BLE məlumatlarını göstərmək üçün BLE skanerindən hər hansı bir filtri çıxarın. Yeni qulaqlıq növləri üçün dəstək əlavə etmək üçün faydalıdır.</string>
|
||||
<string name="settings_compatibility_mode_label">Uyğunluq rejimi</string>
|
||||
<string name="settings_compatibility_mode_description">Uyğunluğu yaxşılaşdırmaq üçün optimallaşdırmaları deaktiv edin. Heç bir məlumat görmürsünüzsə, bunu sınayın.</string>
|
||||
<string name="help_translate_label">Tərcümə</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Bu vidcet cihazınızla birbaşa bağlantı (AAP) tələb edir. Bu vidceti istifadə etməzdən əvvəl cihazınızın tətbiqdə cütləşdirilmiş və qoşulu olduğuna əmin olun.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Bu cihaz səs-küy idarəetməsini dəstəkləmir</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Qoşulmayıb</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Yaxındadır, lakin qoşulmayıb</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Yaxında deyil</string>
|
||||
<string name="anc_widget_aap_connecting_label">Qoşulur…</string>
|
||||
<string name="tile_anc_label">Səs-küy Nəzarəti</string>
|
||||
<string name="tile_anc_subtitle_permission_required">İcazə tələb olunur</string>
|
||||
<string name="tile_anc_subtitle_no_device">Cihaz yoxdur</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Səs-küy nəzarəti yoxdur</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth söndürülüb</string>
|
||||
<string name="widget_config_screen_title">Vidcet Konfiqurasiyası</string>
|
||||
<string name="widget_configuration_title">Cihaz seçin</string>
|
||||
<string name="widget_configuration_description">Bu vidcetin hansı cihaz profilini göstərəcəyini seçin.</string>
|
||||
@@ -220,16 +217,13 @@
|
||||
<string name="permission_required_title">Aşağıdakı icazə tələb olunur:</string>
|
||||
<string name="permission_system_alert_window_label">Sistem xəbərdarlıq pəncərəsi</string>
|
||||
<string name="permission_system_alert_window_description">\"Pop-up göstər\" xüsusiyyətini mümkün etmək üçün CAPod-a digər tətbiqlərin üzərində çəkməyə icazə verin.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Tətbiq açıq olduqda</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Cihaz qoşulduqda</string>
|
||||
<string name="settings_monitor_mode_always_label">Həmişə</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Görüldüyündə</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Qutu açıqdır</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Qulaqda</string>
|
||||
<string name="pods_dual_left_label">Sol qulaqlıq</string>
|
||||
<string name="pods_dual_right_label">Sağ qulaqlıq</string>
|
||||
<string name="pods_dual_left_short_label">S</string>
|
||||
<string name="pods_dual_right_short_label">SĚ</string>
|
||||
<string name="pods_dual_right_short_label">Sğ</string>
|
||||
<string name="pods_case_label">Qutu</string>
|
||||
<string name="battery_unavailable_label">Batareya məlumatı yoxdur</string>
|
||||
<string name="pods_case_status_open_label">Açıq</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Şəffaflıq</string>
|
||||
<string name="anc_mode_adaptive">Adaptiv</string>
|
||||
<string name="conversation_awareness_label">Söhbət Məlumatlılığı</string>
|
||||
<string name="settings_conversation_action_label">Danışmağa başladıqda</string>
|
||||
<string name="settings_conversation_action_nothing_label">Heç nə etmə</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Səsi azalt</string>
|
||||
<string name="settings_conversation_action_pause_label">Medianı dayandır</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Səs azaldılması</string>
|
||||
<string name="signal_badge_ble_cd">BLE skanı aktiv</string>
|
||||
<string name="signal_badge_key_irk_cd">Kimlik təsdiqləndi</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Şifrəli bağlantı</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Kəhrəba</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Divar kăğizi rənglərini istifadə edir</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Monitorinq</string>
|
||||
<string name="settings_category_appearance_label">Görünüş</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Saxlanmamış dəyişikliklər</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Ümumi</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">Mikrofonun hansı AirPod tərəfindən istifadə edildiyini</string>
|
||||
<string name="device_settings_microphone_mode_description">Mikrofon kimi hansı qulaqlıq istifadə olunur</string>
|
||||
<string name="device_settings_microphone_mode_auto">Avtomatik</string>
|
||||
<string name="device_settings_microphone_mode_right">Sağ</string>
|
||||
<string name="device_settings_microphone_mode_left">Sol</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Калі вы нядаўна зрабілі пакупку, Google Play можа спатрэбіцца некаторы час для сінхранізацыі.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Паспрабуйце яшчэ раз праз некалькі хвілін, калі ваша пакупка не з\'яўляецца.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Пераканайцеся, што вы ўвайшлі ў той самы акаўнт Google, які быў выкарыстаны для пакупкі.</string>
|
||||
<string name="settings_monitor_mode_label">Рэжым маніторынгу</string>
|
||||
<string name="settings_monitor_mode_description">Пры якіх абставінах гэта праграма сочыць за данымі Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Дадатковае апавяшчэнне</string>
|
||||
<string name="settings_monitor_connected_notification_description">Паказвае дадатковае апавяшчэнне пры падключэнні прылады. Гэта дазваляе схаваць пастаяннае апавяшчэнне \"Няма прылад\" шляхам адключэння канала \"Стан прылады\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Захаваць апавяшчэнне пасля адключэння</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Аўтаматычная паўза</string>
|
||||
<string name="settings_autopause_description">Прыпыняць аўдыя пры выманні прылады з вуха.</string>
|
||||
<string name="settings_autopplay_label">Аўтаматычнае прайграванне</string>
|
||||
<string name="settings_autoplay_description">Пачынаць прайграванне аўдыя пры надзяванні прылады.</string>
|
||||
<string name="settings_autoplay_description">Аднавіць музыку пры паўторным надзяванні навушнікаў, але толькі калі яе спыніла аўтапаўза. Паўзы, якія вы самі ўключылі (тэлефон, ножка AirPods, сон), застаюцца.</string>
|
||||
<string name="settings_start_music_on_wear_label">Пачынаць музыку пры надзяванні</string>
|
||||
<string name="settings_start_music_on_wear_description">Заўсёды спрабуе прайграць музыку, калі вы надзяваеце навушнікі, нават пасля ручной паўзы.</string>
|
||||
<string name="settings_eardetection_info_label">Заўвага пра вызначэнне вуха</string>
|
||||
<string name="settings_eardetection_info_description">Калі вызначэнне вуха працуе толькі для аднаго навушніка, гэта абмежаванне Apple. Вызначаецца толькі \"асноўны навушнік\" (выкарыстоўваецца для мікрафона). Наладзьце на прыладах Apple: Налады → Bluetooth → AirPods → Мікрафон.</string>
|
||||
<string name="settings_fake_data_label">Падробленыя даныя</string>
|
||||
<string name="settings_fake_data_description">Паказваць падробленыя даныя, г.зн. імітаваць неіснуючыя прылады.</string>
|
||||
<string name="settings_debug_label">Налады адладкі</string>
|
||||
<string name="settings_debug_description">Дадатковыя налады для ліквідацыі непаладак з праграмай.</string>
|
||||
<string name="settings_signal_minimum_label">Мінімальная якасць сігналу</string>
|
||||
<string name="settings_signal_minimum_description">Мінімальная якасць сігналу, якую павінна мець прылада, каб лічыцца вашай.</string>
|
||||
<string name="settings_autoconnect_label">Аўтаматычнае падключэнне</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Паказаць усплывальнае акно падключэння</string>
|
||||
<string name="settings_popup_connected_description">Паказваць усплывальнае акно пры першым падключэнні прылады.</string>
|
||||
<string name="settings_popup_info_not_in_app">Усплывальныя вокны паказваюцца толькі тады, калі вы не знаходзіцеся ў прыкладанні.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Усплывальныя вокны патрабуюць працы манітора. Рэжым манітора ўсталяваны на «Калі прыкладанне адкрыта», які спыняе маніторынг пры выхадзе з прыкладання.</string>
|
||||
<string name="general_fix_it_action">Выправіць</string>
|
||||
<string name="device_settings_experimental_title">Эксперыментальная функцыя</string>
|
||||
<string name="device_settings_experimental_description">Гэта функцыя яшчэ не была праверана на ўсіх прыладах. Калі нешта не працуе правільна, калі ласка, стварыце запыт з журналам адладкі.</string>
|
||||
<string name="device_settings_experimental_action">Адкрыць трэкер задач</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Падзякі</string>
|
||||
<string name="settings_debug_autoreports_label">Аўтаматычныя справаздачы пра памылкі</string>
|
||||
<string name="settings_debug_autoreports_description">Аўтаматычна паведамляе пра праблемы, напрыклад, звесткі пра збой праграмы, каб я мог зразумець, як гэта выправіць.</string>
|
||||
<string name="settings_debug_mode_label">Рэжым адладкі</string>
|
||||
<string name="settings_debug_mode_description">Паказваць дадатковую інфармацыю для ліквідацыі непаладак.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Нефільтраваныя даныя BLE</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Выдаліце ўсе фільтры са сканера BLE, каб паказаць усе трансляваныя даныя BLE. Карысна для дадання падтрымкі новых тыпаў навушнікаў.</string>
|
||||
<string name="settings_compatibility_mode_label">Рэжым сумяшчальнасці</string>
|
||||
<string name="settings_compatibility_mode_description">Адключыце аптымізацыі для паляпшэння сумяшчальнасці. Паспрабуйце гэта, калі вы не бачыце ніякіх даных.</string>
|
||||
<string name="help_translate_label">Пераклад</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Гэты віджэт патрабуе прамога злучэння (AAP) з вашай прыладай. Пераканайцеся, што ваша прылада спалучана і падключана ў праграме перад выкарыстаннем гэтага віджэта.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Гэта прылада не падтрымлівае кіраванне шумам</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Не падключана</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Побач, але не падключана</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Не побач</string>
|
||||
<string name="anc_widget_aap_connecting_label">Падключэнне…</string>
|
||||
<string name="tile_anc_label">Кіраванне шумам</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Патрабуецца дазвол</string>
|
||||
<string name="tile_anc_subtitle_no_device">Няма прылады</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Няма кіравання шумам</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth выключаны</string>
|
||||
<string name="widget_config_screen_title">Канфігурацыя віджэта</string>
|
||||
<string name="widget_configuration_title">Выбраць прыладу</string>
|
||||
<string name="widget_configuration_description">Выберыце, які профіль прылады павінен адлюстроўваць гэты віджэт.</string>
|
||||
@@ -224,9 +221,6 @@
|
||||
<string name="permission_required_title">Патрабуецца наступны дазвол:</string>
|
||||
<string name="permission_system_alert_window_label">Сістэмнае акно папярэджання</string>
|
||||
<string name="permission_system_alert_window_description">Дазвольце CAPod маляваць паверх іншых праграм, каб зрабіць магчымай функцыю \"Паказаць усплывальнае акно\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">Калі праграма адкрыта</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Калі прылада падключана</string>
|
||||
<string name="settings_monitor_mode_always_label">Заўсёды</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Калі бачна</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Корпус адкрыты</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">У вуху</string>
|
||||
@@ -258,6 +252,11 @@
|
||||
<string name="anc_mode_transparency">Празрыстасць</string>
|
||||
<string name="anc_mode_adaptive">Адаптыўны</string>
|
||||
<string name="conversation_awareness_label">Усведамленне размовы</string>
|
||||
<string name="settings_conversation_action_label">Калі вы пачынаеце гаварыць</string>
|
||||
<string name="settings_conversation_action_nothing_label">Нічога не рабіць</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Зменшыць гучнасць</string>
|
||||
<string name="settings_conversation_action_pause_label">Паставіць медыя на паўзу</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Зніжэнне гучнасці</string>
|
||||
<string name="signal_badge_ble_cd">BLE-сканаванне актыўнае</string>
|
||||
<string name="signal_badge_key_irk_cd">Асоба пацверджана</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Зашыфраванае злучэнне</string>
|
||||
@@ -326,7 +325,6 @@
|
||||
<string name="ui_theme_color_amber_label">Бурштынавы</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Выкарыстоўвае колеры шпалеры</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Маніторынг</string>
|
||||
<string name="settings_category_appearance_label">Знешні выгляд</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Незахаваныя змены</string>
|
||||
@@ -480,7 +478,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Агульныя</string>
|
||||
<string name="device_settings_microphone_mode_label">Мікрафон</string>
|
||||
<string name="device_settings_microphone_mode_description">Які AirPod выкарыстоўваецца як мікрафон</string>
|
||||
<string name="device_settings_microphone_mode_description">Які навушнік выкарыстоўваецца як мікрафон</string>
|
||||
<string name="device_settings_microphone_mode_auto">Аўта</string>
|
||||
<string name="device_settings_microphone_mode_right">Правы</string>
|
||||
<string name="device_settings_microphone_mode_left">Левы</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Ако наскоро сте направили покупка, може да отнеме малко, докато Google Play синхронизира.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Опитайте отново след няколко минути, ако покупката ви не се появи.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Уверете се, че сте влезли с акаунта в Google, използван за покупката.</string>
|
||||
<string name="settings_monitor_mode_label">Режим на наблюдение</string>
|
||||
<string name="settings_monitor_mode_description">При какви обстоятелства това приложение следи Bluetooth данните.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Допълнително известие</string>
|
||||
<string name="settings_monitor_connected_notification_description">Показва допълнително известие, когато устройство е свързано. Това ви позволява да скриете постоянното известие \"Няма устройства\" чрез деактивиране на канала \"Състояние на устройството\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Запази известието след прекъсване</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Автоматична пауза</string>
|
||||
<string name="settings_autopause_description">Поставяне на аудио на пауза при премахване на устройството от ухото ви.</string>
|
||||
<string name="settings_autopplay_label">Автоматично възпроизвеждане</string>
|
||||
<string name="settings_autoplay_description">Стартиране на аудио възпроизвеждане, когато устройството се носи.</string>
|
||||
<string name="settings_autoplay_description">Възобновява музиката, когато отново сложите слушалките, но само ако е спряна от Автоматично пауза. Паузите, направени от вас (телефон, дръжка на AirPods, заспиване), остават.</string>
|
||||
<string name="settings_start_music_on_wear_label">Стартиране на музика при поставяне</string>
|
||||
<string name="settings_start_music_on_wear_description">Винаги се опитва да пусне музика, когато сложите слушалките, дори след ръчна пауза.</string>
|
||||
<string name="settings_eardetection_info_label">Бележка за разпознаване на ухото</string>
|
||||
<string name="settings_eardetection_info_description">Ако разпознаването на ухото работи само за една слушалка, това е ограничение на Apple. Само \"основната слушалка\" (използвана за микрофон) се разпознава. Конфигурирайте на Apple устройства: Настройки → Bluetooth → AirPods → Микрофон.</string>
|
||||
<string name="settings_fake_data_label">Фалшиви данни</string>
|
||||
<string name="settings_fake_data_description">Показване на фалшиви данни, т.е. симулиране на устройства, които не съществуват.</string>
|
||||
<string name="settings_debug_label">Настройки за отстраняване на грешки</string>
|
||||
<string name="settings_debug_description">Допълнителни настройки за подпомагане на отстраняването на проблеми с приложението.</string>
|
||||
<string name="settings_signal_minimum_label">Минимално качество на сигнала</string>
|
||||
<string name="settings_signal_minimum_description">Минималното качество на сигнала, което устройството трябва да има, за да се счита за ваше.</string>
|
||||
<string name="settings_autoconnect_label">Автоматично свързване</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Показване на изскачащ прозорец за връзка</string>
|
||||
<string name="settings_popup_connected_description">Показване на изскачащ прозорец, когато устройството се свърже за първи път.</string>
|
||||
<string name="settings_popup_info_not_in_app">Изскачащите прозорци се показват само когато не сте в приложението.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Изскачащите прозорци изискват мониторът да работи. Режимът на монитора е зададен на „Когато приложението е отворено“, което спира монитора, когато напуснете приложението.</string>
|
||||
<string name="general_fix_it_action">Поправи го</string>
|
||||
<string name="device_settings_experimental_title">Експериментална функция</string>
|
||||
<string name="device_settings_experimental_description">Тази функция все още не е тествана на всички устройства. Ако нещо не работи правилно, моля отворете проблем с дневник за отстраняване на грешки.</string>
|
||||
<string name="device_settings_experimental_action">Отвори проследявач на проблеми</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Благодарности</string>
|
||||
<string name="settings_debug_autoreports_label">Автоматични доклади за грешки</string>
|
||||
<string name="settings_debug_autoreports_description">Автоматично докладва проблеми, напр. подробности за срив на приложението, за да мога да разбера как да го поправя.</string>
|
||||
<string name="settings_debug_mode_label">Режим за отстраняване на грешки</string>
|
||||
<string name="settings_debug_mode_description">Показване на допълнителна информация за отстраняване на проблеми.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Нефилтрирани BLE данни</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Премахнете всички филтри от BLE скенера, за да се покажат всички излъчвани BLE данни. Полезно за добавяне на поддръжка за нови типове слушалки.</string>
|
||||
<string name="settings_compatibility_mode_label">Режим на съвместимост</string>
|
||||
<string name="settings_compatibility_mode_description">Деактивирайте оптимизациите, за да подобрите съвместимостта. Опитайте това, ако не виждате никакви данни.</string>
|
||||
<string name="help_translate_label">Превод</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Този уиджет изисква директна връзка (AAP) с вашето устройство. Уверете се, че устройството е сдвоено и свързано в приложението преди да използвате този уиджет.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Това устройство не поддържа контрол на шума</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Не е свързано</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Наблизо, но не свързано</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Не е наблизо</string>
|
||||
<string name="anc_widget_aap_connecting_label">Свързване…</string>
|
||||
<string name="tile_anc_label">Шумов контрол</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Необходимо е разрешение</string>
|
||||
<string name="tile_anc_subtitle_no_device">Няма устройство</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Без шумов контрол</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth е изключен</string>
|
||||
<string name="widget_config_screen_title">Настройка на джаджата</string>
|
||||
<string name="widget_configuration_title">Избор на устройство</string>
|
||||
<string name="widget_configuration_description">Изберете кой профил на устройство да показва това приспособление.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Необходимо е следното разрешение:</string>
|
||||
<string name="permission_system_alert_window_label">Системен изскачащ прозорец</string>
|
||||
<string name="permission_system_alert_window_description">Позволете на CAPod да рисува върху други приложения, за да направи функцията \"Покажи изскачащ прозорец\" възможна.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Когато приложението е отворено</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Когато устройството е свързано</string>
|
||||
<string name="settings_monitor_mode_always_label">Винаги</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Когато е видяно</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Калъфът е отворен</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">В ухото</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Прозрачност</string>
|
||||
<string name="anc_mode_adaptive">Адаптивен</string>
|
||||
<string name="conversation_awareness_label">Разговорна осъзнатост</string>
|
||||
<string name="settings_conversation_action_label">Когато започнете да говорите</string>
|
||||
<string name="settings_conversation_action_nothing_label">Без действие</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Намаляване на силата на звука</string>
|
||||
<string name="settings_conversation_action_pause_label">Пауза на медията</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Намаляване на силата на звука</string>
|
||||
<string name="signal_badge_ble_cd">BLE сканирането е активно</string>
|
||||
<string name="signal_badge_key_irk_cd">Самоличността е потвърдена</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Шифрована връзка</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Къхъленожълт</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Използва цветовете на тапета</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Мониторинг</string>
|
||||
<string name="settings_category_appearance_label">Изглед</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Незапазени промени</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Общи</string>
|
||||
<string name="device_settings_microphone_mode_label">Микрофон</string>
|
||||
<string name="device_settings_microphone_mode_description">Кой AirPod се използва като микрофон</string>
|
||||
<string name="device_settings_microphone_mode_description">Коя слушалка се използва като микрофон</string>
|
||||
<string name="device_settings_microphone_mode_auto">Автом.</string>
|
||||
<string name="device_settings_microphone_mode_right">Десен</string>
|
||||
<string name="device_settings_microphone_mode_left">Ляв</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">আপনি সম্প্রতি কিনে থাকলে, Google Play সিঙ্ক করতে কিছু সময় লাগতে পারে।</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">কয়েক মিনিট পরে আবার চেষ্টা করুন যদি আপনার ক্রয় না দেখায়।</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">নিশ্চিত করুন যে আপনি ক্রয়ের জন্য ব্যবহৃত একই Google অ্যাকাউন্ট দিয়ে সাইন ইন করেছেন।</string>
|
||||
<string name="settings_monitor_mode_label">মনিটর মোড</string>
|
||||
<string name="settings_monitor_mode_description">এই অ্যাপটি কোন পরিস্থিতিতে ব্লুটুথ ডেটা পর্যবেক্ষণ করবে।</string>
|
||||
<string name="settings_monitor_connected_notification_label">অতিরিক্ত বিজ্ঞপ্তি</string>
|
||||
<string name="settings_monitor_connected_notification_description">একটি ডিভাইস সংযুক্ত হলে একটি অতিরিক্ত বিজ্ঞপ্তি দেখায়। এটি আপনাকে \"ডিভাইস স্ট্যাটাস\" চ্যানেল নিষ্ক্রিয় করে স্থায়ী \"কোনো ডিভাইস নেই\" বিজ্ঞপ্তি লুকাতে দেয়।</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">সংযোগ বিচ্ছিন্নের পরে বিজ্ঞপ্তি রাখুন</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">স্বয়ংক্রিয় বিরতি</string>
|
||||
<string name="settings_autopause_description">আপনার কান থেকে ডিভাইসটি সরানোর সময় অডিওতে বিরতি দিন।</string>
|
||||
<string name="settings_autopplay_label">স্বয়ংক্রিয় প্লে</string>
|
||||
<string name="settings_autoplay_description">ডিভাইস পরিধান করার সময় অডিও প্লেব্যাক শুরু করুন।</string>
|
||||
<string name="settings_autoplay_description">আপনার পড পুনরায় পরলে সংগীত চালু করুন, তবে শুধুমাত্র যদি অটো পজ এটি থামিয়ে দিয়ে থাকে। আপনি নিজে যে পজ করেছেন (ফোন, AirPods স্টেম, স্লিপ) সেগুলো পজ থাকবে।</string>
|
||||
<string name="settings_start_music_on_wear_label">পরলে সংগীত শুরু করুন</string>
|
||||
<string name="settings_start_music_on_wear_description">আপনি পড পরলে সবসময় সংগীত চালানোর চেষ্টা করে, এমনকি ম্যানুয়াল পজের পরেও।</string>
|
||||
<string name="settings_eardetection_info_label">কান সনাক্তকরণ নোট</string>
|
||||
<string name="settings_eardetection_info_description">যদি কান সনাক্তকরণ শুধুমাত্র একটি পডের জন্য কাজ করে, এটি একটি Apple সীমাবদ্ধতা। শুধুমাত্র \"প্রাথমিক পড\" (মাইক্রোফোনের জন্য ব্যবহৃত) সনাক্ত করা হয়। Apple ডিভাইসে কনফিগার করুন: সেটিংস → Bluetooth → AirPods → মাইক্রোফোন।</string>
|
||||
<string name="settings_fake_data_label">ভুয়া ডেটা</string>
|
||||
<string name="settings_fake_data_description">ভুয়া ডেটা দেখান, অর্থাৎ, এমন ডিভাইস সিমুলেট করুন যা বিদ্যমান নেই।</string>
|
||||
<string name="settings_debug_label">ডিবাগ সেটিংস</string>
|
||||
<string name="settings_debug_description">অ্যাপের সমস্যা সমাধানে সহায়তার জন্য অতিরিক্ত সেটিংস।</string>
|
||||
<string name="settings_signal_minimum_label">ন্যূনতম সংকেত গুণমান</string>
|
||||
<string name="settings_signal_minimum_description">একটি ডিভাইসকে আপনার হিসাবে বিবেচনা করার জন্য ন্যূনতম সংকেত গুণমান থাকতে হবে।</string>
|
||||
<string name="settings_autoconnect_label">স্বয়ংক্রিয় সংযোগ</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">সংযোগ পপআপ দেখান</string>
|
||||
<string name="settings_popup_connected_description">ডিভাইস প্রথমবার সংযুক্ত হলে একটি পপআপ দেখান।</string>
|
||||
<string name="settings_popup_info_not_in_app">পপআপগুলি শুধুমাত্র তখনই দেখানো হয় যখন আপনি অ্যাপে থাকেন না।</string>
|
||||
<string name="settings_popup_warning_manual_mode">পপআপের জন্য মনিটর চালু থাকা প্রয়োজন। আপনার মনিটর মোড \"যখন অ্যাপ খোলা থাকে\" তে সেট করা আছে, যা আপনি অ্যাপ ছেড়ে গেলে মনিটর বন্ধ করে দেয়।</string>
|
||||
<string name="general_fix_it_action">ঠিক করুন</string>
|
||||
<string name="device_settings_experimental_title">পরীক্ষামূলক ফিচার</string>
|
||||
<string name="device_settings_experimental_description">এই ফিচারটি এখনো সব ডিভাইসে পরীক্ষা করা হয়নি। যদি কিছু সঠিকভাবে কাজ না করে, দয়া করে একটি ডিবাগ লগ সহ একটি ইস্যু খুলুন।</string>
|
||||
<string name="device_settings_experimental_action">ইস্যু ট্র্যাকার খুলুন</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">স্বীকৃতি</string>
|
||||
<string name="settings_debug_autoreports_label">স্বয়ংক্রিয় বাগ রিপোর্ট</string>
|
||||
<string name="settings_debug_autoreports_description">স্বয়ংক্রিয়ভাবে সমস্যাগুলি রিপোর্ট করে, যেমন অ্যাপ ক্র্যাশের বিবরণ যাতে আমি এটি কীভাবে ঠিক করতে পারি তা বের করতে পারি।</string>
|
||||
<string name="settings_debug_mode_label">ডিবাগ মোড</string>
|
||||
<string name="settings_debug_mode_description">সমস্যা সমাধানের জন্য অতিরিক্ত তথ্য দেখান।</string>
|
||||
<string name="settings_blescanner_unfiltered_label">ফিল্টারবিহীন BLE ডেটা</string>
|
||||
<string name="settings_blescanner_unfiltered_description">সমস্ত সম্প্রচারিত BLE ডেটা দেখানোর জন্য BLE স্ক্যানার থেকে যেকোনো ফিল্টার সরান। নতুন হেডফোন প্রকারের জন্য সমর্থন যোগ করার জন্য দরকারী।</string>
|
||||
<string name="settings_compatibility_mode_label">সামঞ্জস্যতা মোড</string>
|
||||
<string name="settings_compatibility_mode_description">সামঞ্জস্যতা উন্নত করতে অপ্টিমাইজেশান নিষ্ক্রিয় করুন। যদি আপনি কোনো ডেটা দেখতে না পান তবে এটি চেষ্টা করুন।</string>
|
||||
<string name="help_translate_label">অনুবাদ</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">এই উইজেটটি আপনার ডিভাইসে একটি সরাসরি সংযোগ (AAP) প্রয়োজন। এই উইজেটটি ব্যবহার করার আগে নিশ্চিত করুন যে আপনার ডিভাইসটি অ্যাপে পেয়ার এবং সংযুক্ত আছে।</string>
|
||||
<string name="anc_widget_no_anc_support_label">এই ডিভাইসটি নয়েজ কন্ট্রোল সমর্থন করে না</string>
|
||||
<string name="anc_widget_aap_not_connected_label">সংযুক্ত নয়</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">কাছাকাছি কিন্তু সংযুক্ত নয়</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">কাছাকাছি নয়</string>
|
||||
<string name="anc_widget_aap_connecting_label">সংযুক্ত হচ্ছে…</string>
|
||||
<string name="tile_anc_label">নয়েজ কন্ট্রোল</string>
|
||||
<string name="tile_anc_subtitle_permission_required">অনুমতি প্রয়োজন</string>
|
||||
<string name="tile_anc_subtitle_no_device">কোনও ডিভাইস নেই</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">নয়েজ কন্ট্রোল নেই</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">ব্লুটুথ বন্ধ</string>
|
||||
<string name="widget_config_screen_title">উইজেট কনফিগারেশন</string>
|
||||
<string name="widget_configuration_title">ডিভাইস নির্বাচন করুন</string>
|
||||
<string name="widget_configuration_description">এই উইজেটটি কোন ডিভাইস প্রোফাইল প্রদর্শন করবে তা চয়ন করুন।</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">নিম্নলিখিত অনুমতি প্রয়োজন:</string>
|
||||
<string name="permission_system_alert_window_label">সিস্টেম অ্যালার্ট উইন্ডো</string>
|
||||
<string name="permission_system_alert_window_description">\"পপআপ দেখান\" বৈশিষ্ট্যটি সম্ভব করতে CAPod-কে অন্যান্য অ্যাপের উপরে আঁকতে অনুমতি দিন।</string>
|
||||
<string name="settings_monitor_mode_manual_label">অ্যাপ খোলা থাকলে</string>
|
||||
<string name="settings_monitor_mode_automatic_label">ডিভাইস সংযুক্ত থাকলে</string>
|
||||
<string name="settings_monitor_mode_always_label">সর্বদা</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">দেখা গেলে</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">কেস খোলা</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">কানে</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">ট্রান্সপারেন্সি</string>
|
||||
<string name="anc_mode_adaptive">অ্যাডাপটিভ</string>
|
||||
<string name="conversation_awareness_label">কথোপকথন সচেতনতা</string>
|
||||
<string name="settings_conversation_action_label">যখন আপনি কথা বলতে শুরু করেন</string>
|
||||
<string name="settings_conversation_action_nothing_label">কিছু করবেন না</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">ভলিউম কমান</string>
|
||||
<string name="settings_conversation_action_pause_label">মিডিয়া পজ করুন</string>
|
||||
<string name="settings_conversation_volume_reduction_label">ভলিউম হ্রাস</string>
|
||||
<string name="signal_badge_ble_cd">BLE স্ক্যান সক্রিয়</string>
|
||||
<string name="signal_badge_key_irk_cd">পরিচয় যাচাই করা হয়েছে</string>
|
||||
<string name="signal_badge_key_encrypted_cd">এনক্রিপ্টেড সংযোগ</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">অ্যাম্বার</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">ওয়ালপেপার রঙ ব্যবহার করে</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">মনিটরিং</string>
|
||||
<string name="settings_category_appearance_label">উপস্থিতি</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">অসংরক্ষিত পরিবর্তন</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">সাধারণ</string>
|
||||
<string name="device_settings_microphone_mode_label">মাইক্রোফোন</string>
|
||||
<string name="device_settings_microphone_mode_description">কোন AirPod মাইক্রোফোন হিসেবে ব্যবহৃত হয়</string>
|
||||
<string name="device_settings_microphone_mode_description">কোন ইয়ারবাড মাইক্রোফোন হিসেবে ব্যবহার করা হয়</string>
|
||||
<string name="device_settings_microphone_mode_auto">স্বয়ংক্রিয়</string>
|
||||
<string name="device_settings_microphone_mode_right">ডান</string>
|
||||
<string name="device_settings_microphone_mode_left">বাঁ</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Si heu comprat alguna cosa recentment, és possible que el Google Play trigui una estona a sincronitzar-se.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Torneu-ho a provar en uns minuts si la vostra compra no apareix.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Assegureu-vos d\'haver iniciat la sessió amb el mateix compte de Google que heu utilitzat per a la compra.</string>
|
||||
<string name="settings_monitor_mode_label">Mode monitor</string>
|
||||
<string name="settings_monitor_mode_description">En quines circumstàncies aquesta aplicació supervisa les dades Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Notificació addicional</string>
|
||||
<string name="settings_monitor_connected_notification_description">Mostra una notificació addicional quan hi ha un dispositiu connectat. Això permet ocultar la notificació permanent «Sense dispositius» desactivant el canal «Estat del dispositiu».</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Mantén les notificacions després de la desconnexió</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Pausa automàtica</string>
|
||||
<string name="settings_autopause_description">Pausa l\'àudio quan ús tragueu el dispositiu de l\'orella.</string>
|
||||
<string name="settings_autopplay_label">Reproducció automàtica</string>
|
||||
<string name="settings_autoplay_description">Inicia la reproducció d\'àudio en utilitzar el dispositiu.</string>
|
||||
<string name="settings_autoplay_description">Reprèn la música quan torneu a posar-vos els auriculars, però només si la pausa automàtica l\'havia aturat. Les pauses que heu activat vos mateix (telèfon, pliques dels AirPods, son) romanen en pausa.</string>
|
||||
<string name="settings_start_music_on_wear_label">Inicia la música en posar-vos els auriculars</string>
|
||||
<string name="settings_start_music_on_wear_description">Sempre intenta reproduir música quan us poseu els auriculars, fins i tot després d\'una pausa manual.</string>
|
||||
<string name="settings_eardetection_info_label">Nota de detecció de l\'oïda</string>
|
||||
<string name="settings_eardetection_info_description">Si la detecció de l\'oïda només funciona per a un auricular, això és degut a una limitació d\'Apple. Només es detecta «l\'auricular principal» (utilitzat per al micròfon). Configureu-ho en dispositius Apple: Configuració → Bluetooth → AirPods → Micròfon.</string>
|
||||
<string name="settings_fake_data_label">Dades falses</string>
|
||||
<string name="settings_fake_data_description">Mostra dades falses. Per exemple: simula dispositius que no existeixen.</string>
|
||||
<string name="settings_debug_label">Configuració de depuració</string>
|
||||
<string name="settings_debug_description">Configuració addicional per ajudar a resoldre problemes amb l\'aplicació.</string>
|
||||
<string name="settings_signal_minimum_label">Qualitat de senyal mínima</string>
|
||||
<string name="settings_signal_minimum_description">La qualitat de senyal mínima que ha de tenir un dispositiu per considerar-se vostre.</string>
|
||||
<string name="settings_autoconnect_label">Connexió automàtica</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Mostra la finestra emergent de connexió</string>
|
||||
<string name="settings_popup_connected_description">Mostra una finestra emergent quan el dispositiu es connecti per primera vegada.</string>
|
||||
<string name="settings_popup_info_not_in_app">Les finestres emergents només es mostren quan no esteu a l\'aplicació.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Les finestres emergents requereixen que el monitor estigui en execució. El mode del monitor està configurat com a «quan l\'aplicació és oberta», que atura el monitor quan sortiu de l\'aplicació.</string>
|
||||
<string name="general_fix_it_action">Corregeix-ho</string>
|
||||
<string name="device_settings_experimental_title">Funció experimental</string>
|
||||
<string name="device_settings_experimental_description">Aquesta funció encara no s\'ha provat a tots els dispositius. Si alguna cosa no funciona correctament, obriu una incidència amb un registre de depuració.</string>
|
||||
<string name="device_settings_experimental_action">Obre el seguidor d\'incidències</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Agraïments</string>
|
||||
<string name="settings_debug_autoreports_label">Informes automàtics d\'errors</string>
|
||||
<string name="settings_debug_autoreports_description">Informa automàticament de problemes. Per exemple: detalls sobre un bloqueig de l\'aplicació perquè pugui esbrinar com solucionar-ho.</string>
|
||||
<string name="settings_debug_mode_label">Mode depuració</string>
|
||||
<string name="settings_debug_mode_description">Mostra informació addicional per resoldre problemes.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Dades BLE sense filtrar</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Elimina els filtres de l\'escàner BLE per mostrar totes les dades BLE emeses. Útil per afegir suport a nous tipus d\'auriculars.</string>
|
||||
<string name="settings_compatibility_mode_label">Mode de compatibilitat</string>
|
||||
<string name="settings_compatibility_mode_description">Desactiva les optimitzacions per millorar la compatibilitat. Proveu això si no veieu cap dada.</string>
|
||||
<string name="help_translate_label">Traducció</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Aquest giny requereix una connexió directa (AAP) al dispositiu. Assegureu-vos que el dispositiu estigui emparellat i connectat a l\'aplicació abans d\'utilitzar aquest giny.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Aquest dispositiu no admet el control de soroll</string>
|
||||
<string name="anc_widget_aap_not_connected_label">No connectat</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">A prop però no connectat</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">No és a prop</string>
|
||||
<string name="anc_widget_aap_connecting_label">S\'està connectant…</string>
|
||||
<string name="tile_anc_label">Control de soroll</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Permís requerit</string>
|
||||
<string name="tile_anc_subtitle_no_device">Cap dispositiu</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Sense control de soroll</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth desactivat</string>
|
||||
<string name="widget_config_screen_title">Configuració del giny</string>
|
||||
<string name="widget_configuration_title">Seleccioneu un dispositiu</string>
|
||||
<string name="widget_configuration_description">Trieu quin perfil de dispositiu ha de mostrar aquest giny.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Cal el permís següent:</string>
|
||||
<string name="permission_system_alert_window_label">Finestra d\'alerta del sistema</string>
|
||||
<string name="permission_system_alert_window_description">Permet que el CAPod dibuixi sobre altres aplicacions per fer possible la característica «Mostra emergent».</string>
|
||||
<string name="settings_monitor_mode_manual_label">Quan l\'aplicació està oberta</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Quan el dispositiu està connectat</string>
|
||||
<string name="settings_monitor_mode_always_label">Sempre</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Quan es veu</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">La funda està oberta</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">A l\'orella</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Transparència</string>
|
||||
<string name="anc_mode_adaptive">Adaptatiu</string>
|
||||
<string name="conversation_awareness_label">Consciència de conversa</string>
|
||||
<string name="settings_conversation_action_label">Quan comenceu a parlar</string>
|
||||
<string name="settings_conversation_action_nothing_label">No fer res</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Baixa el volum</string>
|
||||
<string name="settings_conversation_action_pause_label">Posa en pausa el reproductor</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Reducció del volum</string>
|
||||
<string name="signal_badge_ble_cd">Escaneig BLE actiu</string>
|
||||
<string name="signal_badge_key_irk_cd">Identitat verificada</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Connexió xifrada</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Ambre</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Utilitza els colors del fons de pantalla</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Monitoratge</string>
|
||||
<string name="settings_category_appearance_label">Aparença</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Canvis no desats</string>
|
||||
@@ -391,7 +389,7 @@
|
||||
<string name="support_contact_send_action">Obre l\'aplicació de correu</string>
|
||||
<string name="support_contact_no_email_app">No s\'ha trobat cap aplicació de correu en aquest dispositiu.</string>
|
||||
<string name="support_contact_debuglog_delete_title">Voleu suprimir el registre de depuració?</string>
|
||||
<string name="support_contact_debuglog_delete_message">Aquest registre de depuració se suprimirà permanentment.</string>
|
||||
<string name="support_contact_debuglog_delete_message">Aquest registre de depuració se suprimrirà permanentment.</string>
|
||||
<!-- Post-share confirmation -->
|
||||
<string name="support_debuglog_sent_title">S\'ha enviat el registre?</string>
|
||||
<string name="support_debuglog_sent_message">El registre de depuració s\'ha enviat correctament? El registre s\'eliminarà.</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">General</string>
|
||||
<string name="device_settings_microphone_mode_label">Micròfon</string>
|
||||
<string name="device_settings_microphone_mode_description">Quin AirPod s\'utilitza com a micròfon</string>
|
||||
<string name="device_settings_microphone_mode_description">Quin auricular s\'utilitza com a micròfon</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automàtic</string>
|
||||
<string name="device_settings_microphone_mode_right">Dreta</string>
|
||||
<string name="device_settings_microphone_mode_left">Esquerre</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Pokud jste produkt zakoupili nedávno, synchronizace Google Play může chvíli trvat.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Pokud se váš nákup nezobrazí, zkuste to znovu za několik minut.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Ujistěte se, že jste přihlášeni ke stejnému účtu Google, který jste použili při nákupu.</string>
|
||||
<string name="settings_monitor_mode_label">Režim monitorování</string>
|
||||
<string name="settings_monitor_mode_description">Za jakých okolností tato aplikace monitoruje data Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Dodatečné oznámení</string>
|
||||
<string name="settings_monitor_connected_notification_description">Zobrazí dodatečné oznámení, když je zařízení připojeno. To umožňuje skrýt trvalé oznámení \"Žádné zařízení\" vypnutím kanálu \"Stav zařízení\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Uchovat oznámení po odpojení</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Autom. pozastavení</string>
|
||||
<string name="settings_autopause_description">Pozastavení zvuku při vyjmutí zařízení z ucha.</string>
|
||||
<string name="settings_autopplay_label">Autom. přehrávání</string>
|
||||
<string name="settings_autoplay_description">Spuštění přehrávání zvuku při nošení zařízení.</string>
|
||||
<string name="settings_autoplay_description">Obnoví přehrávání hudby po opětovném nasazení sluchátek, ale pouze pokud ji zastavilo Auto pozastavení. Pauzy, které jste spustili sami (telefon, ovladač AirPods, spánek), zůstanou pozastaveny.</string>
|
||||
<string name="settings_start_music_on_wear_label">Spustit hudbu při nasazení</string>
|
||||
<string name="settings_start_music_on_wear_description">Vždy se pokusí přehrát hudbu při nasazení sluchátek, i po ručním pozastavení.</string>
|
||||
<string name="settings_eardetection_info_label">Poznámka k detekci ucha</string>
|
||||
<string name="settings_eardetection_info_description">Pokud detekce sluchátek funguje pouze pro jedno sluchátko, jedná se o omezení společnosti Apple. Detekováno je pouze \"primární sluchátko\" (používané jako mikrofon). Konfigurace na zařízeních Apple: Nastavení → Bluetooth → AirPods → Mikrofon.</string>
|
||||
<string name="settings_fake_data_label">Falešná data</string>
|
||||
<string name="settings_fake_data_description">Zobrazit falešná data např. simulovat zařízení, které neexistuje.</string>
|
||||
<string name="settings_debug_label">Nastavení ladění</string>
|
||||
<string name="settings_debug_description">Další nastavení, která pomáhají řešit problémy s aplikací.</string>
|
||||
<string name="settings_signal_minimum_label">Minimální kvalita signálu</string>
|
||||
<string name="settings_signal_minimum_description">Minimální kvalita signálu, kterou musí zařízení mít, aby bylo považováno za vaše.</string>
|
||||
<string name="settings_autoconnect_label">Automatické připojení</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Zobrazit vyskakovací okno při připojení</string>
|
||||
<string name="settings_popup_connected_description">Zobrazit vyskakovací okno při prvním připojení zařízení.</string>
|
||||
<string name="settings_popup_info_not_in_app">Vyskakovací okna jsou zobrazována pouze tehdy, když nejste v aplikaci.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Vyskakovací okna vyžadují, aby monitor běžel. Váš režim monitoru je nastaven na \"Když je aplikace otevřena\", což zastaví monitor, když aplikaci opustíte.</string>
|
||||
<string name="general_fix_it_action">Opravit</string>
|
||||
<string name="device_settings_experimental_title">Experimentální funkce</string>
|
||||
<string name="device_settings_experimental_description">Tato funkce ještě nebyla testována na všech zařízeních. Pokud něco nefunguje správně, nahlaste problém s logem ladění.</string>
|
||||
<string name="device_settings_experimental_action">Otevřít sledovač problémů</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Poděkování</string>
|
||||
<string name="settings_debug_autoreports_label">Automatické hlášení chyb</string>
|
||||
<string name="settings_debug_autoreports_description">Automatické hlášení chyb např. podrobnosti o pádech aplikace.</string>
|
||||
<string name="settings_debug_mode_label">Režim ladění</string>
|
||||
<string name="settings_debug_mode_description">Zobrazit další informace pro řešení problémů.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Nefiltrovaná data BLE</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Aby se zobrazovala všechna vysílaná data BLE, odstraňte ze skenování BLE všechny filtry. Užitečné pro přidání podpory nových typů sluchátek.</string>
|
||||
<string name="settings_compatibility_mode_label">Režim kompatibility</string>
|
||||
<string name="settings_compatibility_mode_description">Vypnutí optimalizace pro zlepšení kompatibility. Zkuste to, pokud se vám nezobrazují žádná data.</string>
|
||||
<string name="help_translate_label">Překlad</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Tento widget vyžaduje přímé připojení (AAP) k vašemu zařízení. Před použitím tohoto widgetu se ujistěte, že je vaše zařízení spárováno a připojeno v aplikaci.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Toto zařízení nepodporuje kontrolu hluku</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Nepřipojeno</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">V dosahu, ale nepřipojeno</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Není v dosahu</string>
|
||||
<string name="anc_widget_aap_connecting_label">Připojování…</string>
|
||||
<string name="tile_anc_label">Ovládání zvuku</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Vyžadováno oprávnění</string>
|
||||
<string name="tile_anc_subtitle_no_device">Žádné zařízení</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Žádné ovládání hluku</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth je vypnuto</string>
|
||||
<string name="widget_config_screen_title">Konfigurace widgetu</string>
|
||||
<string name="widget_configuration_title">Vybrat zařízení</string>
|
||||
<string name="widget_configuration_description">Vyberte, který profil zařízení má tento widget zobrazovat.</string>
|
||||
@@ -224,9 +221,6 @@
|
||||
<string name="permission_required_title">Je vyžadováno následující oprávnění:</string>
|
||||
<string name="permission_system_alert_window_label">Okno systémových upozornění</string>
|
||||
<string name="permission_system_alert_window_description">Aby bylo možné použít unkci \"Zobrazit vyskakovací okno\", je nutné umožnit aplikaci CAPod vykreslení přes jiné aplikace.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Při otevření aplikace</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Při připojení zařízení</string>
|
||||
<string name="settings_monitor_mode_always_label">Vždy</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Když je vidět</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Pouzdro je otevřeno</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">V uchu</string>
|
||||
@@ -258,6 +252,11 @@
|
||||
<string name="anc_mode_transparency">Průhlednost</string>
|
||||
<string name="anc_mode_adaptive">Adaptivní</string>
|
||||
<string name="conversation_awareness_label">Uvědomění si konverzace</string>
|
||||
<string name="settings_conversation_action_label">Když začnete mluvit</string>
|
||||
<string name="settings_conversation_action_nothing_label">Nedělat nic</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Snížit hlasitost</string>
|
||||
<string name="settings_conversation_action_pause_label">Pozastavit média</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Snížení hlasitosti</string>
|
||||
<string name="signal_badge_ble_cd">BLE skenování aktivní</string>
|
||||
<string name="signal_badge_key_irk_cd">Identita ověřena</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Šifrované připojení</string>
|
||||
@@ -326,7 +325,6 @@
|
||||
<string name="ui_theme_color_amber_label">Jantarová</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Používá barvy tapety</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Monitorování</string>
|
||||
<string name="settings_category_appearance_label">Vzhled</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Neuložené změny</string>
|
||||
@@ -421,8 +419,8 @@
|
||||
<string name="device_settings_info_build_label">Sestavení</string>
|
||||
<string name="device_settings_info_left_serial_label">Sériové číslo levého sluchátka</string>
|
||||
<string name="device_settings_info_right_serial_label">Sériové číslo pravého sluchátka</string>
|
||||
<string name="device_settings_info_left_bonded_label">Levá spárována</string>
|
||||
<string name="device_settings_info_right_bonded_label">Pravá spárována</string>
|
||||
<string name="device_settings_info_left_bonded_label">Levé spárováno</string>
|
||||
<string name="device_settings_info_right_bonded_label">Pravé spárováno</string>
|
||||
<string name="device_settings_info_details_label">Detaily zařízení</string>
|
||||
<string name="device_settings_info_details_action">Zobrazit detaily zařízení</string>
|
||||
<string name="device_settings_info_status_label">Stav</string>
|
||||
@@ -460,43 +458,43 @@
|
||||
<string name="device_settings_press_hold_default">Výchozí</string>
|
||||
<string name="device_settings_press_hold_shorter">Kratší</string>
|
||||
<string name="device_settings_press_hold_shortest">Nejkratší</string>
|
||||
<string name="device_settings_volume_swipe_label">Přejetí pro hlasitost</string>
|
||||
<string name="device_settings_volume_swipe_label">Hlasitost přejetím</string>
|
||||
<string name="device_settings_volume_swipe_description">Přejetím upravte hlasitost</string>
|
||||
<string name="device_settings_volume_swipe_length_label">Čekací doba tažení pro hlasitost</string>
|
||||
<string name="device_settings_volume_swipe_length_description">Chcete-li zabránit nechtěným úpravám hlasitosti, zvolte, jak dlouho čekat mezi tahy.</string>
|
||||
<string name="device_settings_volume_swipe_length_label">Doba čekání hlasitosti přejetím</string>
|
||||
<string name="device_settings_volume_swipe_length_description">Chcete-li zabránit nechtěným úpravám hlasitosti, zvolte, jak dlouho čekat mezi přejetími.</string>
|
||||
<string name="device_settings_volume_swipe_length_default">Výchozí</string>
|
||||
<string name="device_settings_volume_swipe_length_longer">Delší</string>
|
||||
<string name="device_settings_volume_swipe_length_longest">Nejdelší</string>
|
||||
<string name="device_settings_end_call_mute_mic_label">Ovládání hovorů</string>
|
||||
<string name="device_settings_end_call_mute_mic_description">Zvolte, co dělá stisk stonku během hovorů</string>
|
||||
<string name="device_settings_end_call_mute_mic_option_a_title">Jednorázový stisk pro ukončení hovoru</string>
|
||||
<string name="device_settings_end_call_mute_mic_description">Vyberte, jaká akce se má spustit stisknutím tlačítka během hovoru</string>
|
||||
<string name="device_settings_end_call_mute_mic_option_a_title">Jeden stisk pro ukončení hovoru</string>
|
||||
<string name="device_settings_end_call_mute_mic_option_a_subtitle">Dvojitý stisk pro ztlumení mikrofonu</string>
|
||||
<string name="device_settings_end_call_mute_mic_option_b_title">Jednorázový stisk pro ztlumení mikrofonu</string>
|
||||
<string name="device_settings_end_call_mute_mic_option_b_title">Jeden stisk pro ztlumení mikrofonu</string>
|
||||
<string name="device_settings_end_call_mute_mic_option_b_subtitle">Dvojitý stisk pro ukončení hovoru</string>
|
||||
<string name="device_settings_open_cd">Otevřít nastavení zařízení</string>
|
||||
<string name="overview_card_missing_paired_device">Tento profil nemá spárované zařízení Bluetooth.</string>
|
||||
<string name="overview_reactions_hint_title">Reakce jsou nastaveny pro každé zařízení</string>
|
||||
<string name="overview_reactions_hint_body">Automatické přehrávání, automatické pozastavení a vyskakovací okna jsou nyní konfigurována pro každé zařízení. Klepněte na ikonu nastavení na kartě, když jsou vaše sluchátka připojena.</string>
|
||||
<string name="overview_reactions_hint_body">Automatické přehrávání, automatické pozastavení a vyskakovací okna se nyní nastavují pro každé zařízení zvlášť. Klepněte na ikonu nastavení na kartě, když máte připojená sluchátka.</string>
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Obecné</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">Který AirPod je použit jako mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_auto">Auto</string>
|
||||
<string name="device_settings_microphone_mode_description">Které sluchátko je použito jako mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_auto">Autom.</string>
|
||||
<string name="device_settings_microphone_mode_right">Pravý</string>
|
||||
<string name="device_settings_microphone_mode_left">Levý</string>
|
||||
<string name="device_settings_noise_control_current_mode_label">Aktuální režim</string>
|
||||
<string name="device_settings_listening_mode_cycle_label">Cyklus dlouhého stisku</string>
|
||||
<string name="device_settings_listening_mode_cycle_description">Vyberte, které režimy jsou dostupné při držení stopky a v rychlém přepínači.</string>
|
||||
<string name="device_settings_listening_mode_cycle_description">Vyberte, které režimy budou k dispozici při podržení tlačítka a v rychlém přepínači.</string>
|
||||
<string name="device_settings_listening_mode_cycle_dialog_title">Přizpůsobit cyklus dlouhého stisku</string>
|
||||
<string name="device_settings_listening_mode_cycle_summary_helper">Používá se při držení stopky a v rychlém přepínači</string>
|
||||
<string name="device_settings_listening_mode_cycle_summary_helper_override">Používá se v rychlém přepínači. Vlastní akce dlouhého stisku stopky přepisuje cyklování AirPods.</string>
|
||||
<string name="device_settings_listening_mode_cycle_summary_helper">Používá se při držení tlačítka a v rychlém přepínači</string>
|
||||
<string name="device_settings_listening_mode_cycle_summary_helper_override">Používá se v rychlém přepínači. Vlastní akce dlouhého stisku přepínače přepisuje cyklování AirPods.</string>
|
||||
<string name="device_settings_listening_mode_cycle_minimum">Musí zůstat povoleny alespoň 2 režimy.</string>
|
||||
<string name="device_settings_listening_mode_cycle_off">Vypnuto</string>
|
||||
<string name="device_settings_listening_mode_cycle_off">Vyp.</string>
|
||||
<string name="device_settings_listening_mode_cycle_anc">Potlačení hluku</string>
|
||||
<string name="device_settings_listening_mode_cycle_transparency">Průhlednost</string>
|
||||
<string name="device_settings_listening_mode_cycle_transparency">Propustnost</string>
|
||||
<string name="device_settings_listening_mode_cycle_adaptive">Adaptivní</string>
|
||||
<string name="device_settings_allow_off_label">Povolit režim Vypnuto</string>
|
||||
<string name="device_settings_allow_off_description">Povolit Vypnuto jako volitelný režim kontroly hluku. Pokud je zakázáno, stopky při cyklování přeskočí Vypnuto.</string>
|
||||
<string name="device_settings_allow_off_description">Povolit Vypnuto jako volitelný režim kontroly hluku. Pokud je zakázáno, tlačítka při cyklování přeskočí Vypnuto.</string>
|
||||
<string name="device_settings_sleep_detection_label">Detekce spánku</string>
|
||||
<string name="device_settings_sleep_detection_description">Automaticky pozastavit zvuk, když usnete</string>
|
||||
<string name="reaction_sleep_channel_label">Detekce spánku</string>
|
||||
@@ -510,7 +508,7 @@
|
||||
<string name="device_settings_rename_system_unavailable">Android nám nedovolil přejmenovat zařízení zde. Chcete-li aktualizovat název v nastavení Bluetooth, přejmenujte ho tam nebo zařízení znovu spárujte.</string>
|
||||
<string name="device_settings_rename_system_unavailable_bt_settings_action">Nastavení Bluetooth</string>
|
||||
<string name="device_settings_send_failed">Nastavení nelze použít: %1$s</string>
|
||||
<string name="device_settings_anc_off_rejected_message">Režim Vypnuto není na tomto zařízení povolen. Povolte „Povolit režim Vypnuto“ v části Kontrola hluku.</string>
|
||||
<string name="device_settings_anc_off_rejected_message">Režim Vypnuto není na tomto zařízení povolen. Povolte \"Povolit režim Vypnuto\" v části Kontrola hluku.</string>
|
||||
<string name="device_settings_category_battery_label">Baterie</string>
|
||||
<string name="device_settings_charge_cap_label">Optimalizovaný limit nabíjení</string>
|
||||
<string name="device_settings_charge_cap_description">Naučí se vaše návyky a pozastaví nabíjení přibližně na 80 %%, aby prodloužilo životnost baterie, a dobíjí sluchátka těsně před jejich použitím.</string>
|
||||
@@ -530,7 +528,7 @@
|
||||
<string name="press_controls_double_press">Dvojitý stisk</string>
|
||||
<string name="press_controls_triple_press">Trojitý stisk</string>
|
||||
<string name="press_controls_long_press">Dlouhý stisk</string>
|
||||
<string name="press_controls_long_press_anc_cycle_info">Přiřazení akce dlouhého stisku také zakáže cyklování režimů Kontroly hluku (např. Potlačení hluku, Transparentnost) stisknutím a podržením AirPods.</string>
|
||||
<string name="press_controls_long_press_anc_cycle_info">Přiřazení akce dlouhého stisku také zakáže cyklování režimů Kontroly hluku (např. Potlačení hluku, propustnost) stisknutím a podržením AirPods.</string>
|
||||
<string name="press_controls_mappings_section_title">Mapování stisku</string>
|
||||
<string name="press_controls_left">Levé</string>
|
||||
<string name="press_controls_right">Pravé</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Hvis du for nylig har købt, kan det tage et øjeblik for Google Play at synkronisere.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Prøv igen om et par minutter, hvis dit køb ikke vises.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Sørg for, at du er logget ind med den samme Google-konto, der blev brugt til købet.</string>
|
||||
<string name="settings_monitor_mode_label">Overvågningstilstand</string>
|
||||
<string name="settings_monitor_mode_description">Under hvilke omstændigheder denne app overvåger Bluetooth-data.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Ekstra notifikation</string>
|
||||
<string name="settings_monitor_connected_notification_description">Viser en ekstra notifikation, når en enhed er tilsluttet. Dette lader dig skjule den permanente \"Ingen enheder\"-notifikation ved at deaktivere \"Enhedsstatus\"-kanalen.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Behold notifikation efter afbrydelse</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Auto-pause</string>
|
||||
<string name="settings_autopause_description">Sæt lyd på pause, når du fjerner enheden fra dit øre.</string>
|
||||
<string name="settings_autopplay_label">Auto-afspilning</string>
|
||||
<string name="settings_autoplay_description">Start lydafspilning, når enheden bæres.</string>
|
||||
<string name="settings_autoplay_description">Genoptag musik, når du sætter dine pods på igen, men kun hvis Auto pause stoppede det. Pauser du selv udløste (telefon, AirPods-stift, søvn) forbliver sat på pause.</string>
|
||||
<string name="settings_start_music_on_wear_label">Start musik ved iføring</string>
|
||||
<string name="settings_start_music_on_wear_description">Forsøger altid at afspille musik, når du sætter dine pods på, selv efter en manuel pause.</string>
|
||||
<string name="settings_eardetection_info_label">Bemærkning om øredetektion</string>
|
||||
<string name="settings_eardetection_info_description">Hvis øredetektion kun virker for én pod, er dette en Apple-begrænsning. Kun den \"primære pod\" (brugt til mikrofon) detekteres. Konfigurer på Apple-enheder: Indstillinger → Bluetooth → AirPods → Mikrofon.</string>
|
||||
<string name="settings_fake_data_label">Falske data</string>
|
||||
<string name="settings_fake_data_description">Vis falske data, dvs. simuler enheder, der ikke eksisterer.</string>
|
||||
<string name="settings_debug_label">Fejlfindingsindstillinger</string>
|
||||
<string name="settings_debug_description">Yderligere indstillinger til at hjælpe med at fejlfinde problemer med appen.</string>
|
||||
<string name="settings_signal_minimum_label">Minimum signalkvalitet</string>
|
||||
<string name="settings_signal_minimum_description">Den minimum signalkvalitet, en enhed skal have for at blive betragtet som din.</string>
|
||||
<string name="settings_autoconnect_label">Auto-tilslut</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Vis forbindelses-pop op</string>
|
||||
<string name="settings_popup_connected_description">Vis en pop op, når enheden tilsluttes for første gang.</string>
|
||||
<string name="settings_popup_info_not_in_app">Pop-ups vises kun, når du ikke er i appen.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Pop-ups kræver, at monitoren kører. Din monitortilstand er indstillet til \"Når appen er åben\", som stopper monitoren, når du forlader appen.</string>
|
||||
<string name="general_fix_it_action">Ret det</string>
|
||||
<string name="device_settings_experimental_title">Eksperimentel funktion</string>
|
||||
<string name="device_settings_experimental_description">Denne funktion er endnu ikke testet på alle enheder. Hvis noget ikke fungerer korrekt, bedes du åbne en sag med en fejlretningslog.</string>
|
||||
<string name="device_settings_experimental_action">Åbn fejlsporer</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Anerkendelser</string>
|
||||
<string name="settings_debug_autoreports_label">Automatiske fejlrapporter</string>
|
||||
<string name="settings_debug_autoreports_description">Rapporterer automatisk problemer, f.eks. detaljer om et app-nedbrud, så jeg kan finde ud af, hvordan jeg løser det.</string>
|
||||
<string name="settings_debug_mode_label">Fejlfindingstilstand</string>
|
||||
<string name="settings_debug_mode_description">Vis yderligere oplysninger for at fejlfinde problemer.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Ufiltrerede BLE-data</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Fjern alle filtre fra BLE-scanneren for at vise alle udsendte BLE-data. Nyttigt til at tilføje understøttelse af nye hovedtelefontyper.</string>
|
||||
<string name="settings_compatibility_mode_label">Kompatibilitetstilstand</string>
|
||||
<string name="settings_compatibility_mode_description">Deaktiver optimeringer for at forbedre kompatibiliteten. Prøv dette, hvis du ikke ser nogen data.</string>
|
||||
<string name="help_translate_label">Oversættelse</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Denne widget kræver en direkte forbindelse (AAP) til din enhed. Sørg for, at din enhed er parret og forbundet i appen, inden du bruger denne widget.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Denne enhed understøtter ikke støjkontrol</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Ikke forbundet</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">I nærheden, men ikke tilsluttet</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Ikke i nærheden</string>
|
||||
<string name="anc_widget_aap_connecting_label">Forbinder…</string>
|
||||
<string name="tile_anc_label">Støjstyring</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Tilladelse påkrævet</string>
|
||||
<string name="tile_anc_subtitle_no_device">Ingen enhed</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Ingen støjstyring</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth slået fra</string>
|
||||
<string name="widget_config_screen_title">Widget-konfiguration</string>
|
||||
<string name="widget_configuration_title">Vælg enhed</string>
|
||||
<string name="widget_configuration_description">Vælg hvilken enhedsprofil denne widget skal vise.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Følgende tilladelse er påkrævet:</string>
|
||||
<string name="permission_system_alert_window_label">Systemalarmvindue</string>
|
||||
<string name="permission_system_alert_window_description">Tillad CAPod at tegne over andre apps for at gøre funktionen \"Vis pop op\" mulig.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Når appen er åben</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Når enheden er tilsluttet</string>
|
||||
<string name="settings_monitor_mode_always_label">Altid</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Når den ses</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Etui er åbent</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">I øret</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Gennemsigtighed</string>
|
||||
<string name="anc_mode_adaptive">Adaptiv</string>
|
||||
<string name="conversation_awareness_label">Samtaleopmærksomhed</string>
|
||||
<string name="settings_conversation_action_label">Når du begynder at tale</string>
|
||||
<string name="settings_conversation_action_nothing_label">Gør intet</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Sænk lydstyrken</string>
|
||||
<string name="settings_conversation_action_pause_label">Sæt medie på pause</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Lydstyrkeregulering</string>
|
||||
<string name="signal_badge_ble_cd">BLE-scanning aktiv</string>
|
||||
<string name="signal_badge_key_irk_cd">Identitet bekræftet</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Krypteret forbindelse</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Rav</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Bruger tapetkfarver</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Overvågning</string>
|
||||
<string name="settings_category_appearance_label">Udseende</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Ikke-gemte ændringer</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Generel</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">Hvilken AirPod der bruges som mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">Hvilken øretelefon der bruges som mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_auto">Auto</string>
|
||||
<string name="device_settings_microphone_mode_right">Højre</string>
|
||||
<string name="device_settings_microphone_mode_left">Venstre</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Wenn du kürzlich gekauft hast, kann es einen Moment dauern, bis Google Play synchronisiert.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Versuche es in wenigen Minuten erneut, falls dein Kauf nicht erscheint.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Stelle sicher, dass du mit demselben Google-Konto angemeldet bist, das für den Kauf verwendet wurde.</string>
|
||||
<string name="settings_monitor_mode_label">Überwachungsmodus</string>
|
||||
<string name="settings_monitor_mode_description">Unter welchen Umständen überwacht diese App Bluetooth-Daten.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Zusätzliche Benachrichtigung</string>
|
||||
<string name="settings_monitor_connected_notification_description">Zeigt eine zusätzliche Benachrichtigung an, wenn ein Gerät verbunden ist. Dadurch kannst du die permanente Benachrichtigung „Keine Geräte“ ausblenden, indem du den Kanal „Gerätestatus“ deaktivierst.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Benachrichtigung nach Trennung beibehalten</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Automatische Pause</string>
|
||||
<string name="settings_autopause_description">Musik pausieren, wenn der Kopfhörer vom Ohr entfernt wird.</string>
|
||||
<string name="settings_autopplay_label">Automatisches abspielen</string>
|
||||
<string name="settings_autoplay_description">Audiowiedergabe starten, wenn das Gerät getragen wird.</string>
|
||||
<string name="settings_autoplay_description">Musik fortsetzen, wenn du deine Pods wieder trägst – aber nur, wenn Auto-Pause sie gestoppt hat. Pausen, die du selbst ausgelöst hast (Telefon, AirPods-Stiel, Schlaf), bleiben aktiv.</string>
|
||||
<string name="settings_start_music_on_wear_label">Musik beim Anlegen starten</string>
|
||||
<string name="settings_start_music_on_wear_description">Versucht immer, Musik abzuspielen, wenn du deine Pods aufsetzt – auch nach einer manuellen Pause.</string>
|
||||
<string name="settings_eardetection_info_label">Hinweis zur Ohr-Erkennung</string>
|
||||
<string name="settings_eardetection_info_description">Wenn die Ohr-Erkennung nur für einen Pod funktioniert, ist das leider Apple-Einschränkung. Es wird dann nur der \"primäre Pod\" (Mikrofon) erkannt. Weitere Konfiguration auf Apple-Geräten: Einstellungen → Bluetooth → AirPods → Mikrofon.</string>
|
||||
<string name="settings_fake_data_label">Gefälschte Daten</string>
|
||||
<string name="settings_fake_data_description">Gefälschte Test-Daten anzeigen, d.h. nicht existierende Geräte simulieren.</string>
|
||||
<string name="settings_debug_label">Debug-Einstellungen</string>
|
||||
<string name="settings_debug_description">Zusätzliche Einstellungen zur Behebung von Problemen mit der App.</string>
|
||||
<string name="settings_signal_minimum_label">Minimale Signalqualität</string>
|
||||
<string name="settings_signal_minimum_description">Die minimale Signalqualität, die ein Gerät haben muss, damit als Deins erkannt wird.</string>
|
||||
<string name="settings_autoconnect_label">Automatisch verbinden</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Verbindungs-Popup anzeigen</string>
|
||||
<string name="settings_popup_connected_description">Zeigt ein Popup an, wenn das Gerät zum ersten Mal eine Verbindung herstellt.</string>
|
||||
<string name="settings_popup_info_not_in_app">Popups werden nur angezeigt, wenn du nicht in der App bist.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Popups erfordern, dass der Monitor läuft. Dein Monitor-Modus ist auf \"Wenn App geöffnet\" eingestellt, was den Monitor stoppt, wenn du die App verlässt.</string>
|
||||
<string name="general_fix_it_action">Beheben</string>
|
||||
<string name="device_settings_experimental_title">Experimentelle Funktion</string>
|
||||
<string name="device_settings_experimental_description">Diese Funktion wurde noch nicht auf allen Geräten getestet. Wenn etwas nicht korrekt funktioniert, öffne bitte ein Issue mit einem Debug-Log.</string>
|
||||
<string name="device_settings_experimental_action">Issue-Tracker öffnen</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Danksagungen</string>
|
||||
<string name="settings_debug_autoreports_label">Automatische Fehlerberichte</string>
|
||||
<string name="settings_debug_autoreports_description">Meldet Probleme automatisch, z.B. Details zu einem App-Absturz, damit ich herausfinden kann, wie ich ihn beheben kann.</string>
|
||||
<string name="settings_debug_mode_label">Debug-Modus</string>
|
||||
<string name="settings_debug_mode_description">Zeige zusätzliche Informationen an, um Probleme zu beheben.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Ungefilterte BLE-Daten</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Entfernt alle Filter aus dem BLE-Scanner, um alle übertragenen BLE-Daten anzuzeigen. Nützlich, um Unterstützung für neue Kopfhörertypen hinzuzufügen.</string>
|
||||
<string name="settings_compatibility_mode_label">Kompatibilitätsmodus</string>
|
||||
<string name="settings_compatibility_mode_description">Deaktiviere Optimierungen, um die Kompatibilität zu verbessern. Probier diese Option, wenn gar keine Daten angezeigt werden.</string>
|
||||
<string name="help_translate_label">Übersetzung</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Dieses Widget erfordert eine direkte Verbindung (AAP) zu deinem Gerät. Stelle sicher, dass dein Gerät in der App gekoppelt und verbunden ist, bevor du dieses Widget verwendest.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Dieses Gerät unterstützt keine Geräuschsteuerung</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Nicht verbunden</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">In der Nähe, aber nicht verbunden</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Nicht in der Nähe</string>
|
||||
<string name="anc_widget_aap_connecting_label">Verbinde…</string>
|
||||
<string name="tile_anc_label">Geräuschkontrolle</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Berechtigung erforderlich</string>
|
||||
<string name="tile_anc_subtitle_no_device">Kein Gerät</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Keine Geräuschkontrolle</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth aus</string>
|
||||
<string name="widget_config_screen_title">Widget-Konfiguration</string>
|
||||
<string name="widget_configuration_title">Gerät auswählen</string>
|
||||
<string name="widget_configuration_description">Wähle aus, welches Geräteprofil dieses Widget anzeigen soll.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Die folgende Genehmigung ist erforderlich:</string>
|
||||
<string name="permission_system_alert_window_label">Systemwarnungsfenster</string>
|
||||
<string name="permission_system_alert_window_description">Erlaube CAPod, PopUp Benachrichtigungen über anderen Apps anzuzeigen.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Wenn die App geöffnet ist</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Wenn das Gerät verbunden ist</string>
|
||||
<string name="settings_monitor_mode_always_label">Immer</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Wann gesehen</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Ladecase ist offen</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Im Ohr</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Transparenz</string>
|
||||
<string name="anc_mode_adaptive">Adaptiv</string>
|
||||
<string name="conversation_awareness_label">Gesprächserkennung</string>
|
||||
<string name="settings_conversation_action_label">Wenn du anfängst zu sprechen</string>
|
||||
<string name="settings_conversation_action_nothing_label">Nichts tun</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Lautstärke verringern</string>
|
||||
<string name="settings_conversation_action_pause_label">Medien pausieren</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Lautstärkereduzierung</string>
|
||||
<string name="signal_badge_ble_cd">BLE-Scan aktiv</string>
|
||||
<string name="signal_badge_key_irk_cd">Identität verifiziert</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Verschlüsselte Verbindung</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Bernstein</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Verwendet Hintergrundbildfarben</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Überwachung</string>
|
||||
<string name="settings_category_appearance_label">Erscheinungsbild</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Nicht gespeicherte Änderungen</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Allgemein</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">Welcher AirPod als Mikrofon verwendet wird</string>
|
||||
<string name="device_settings_microphone_mode_description">Welches Ohrstöpsel als Mikrofon verwendet wird</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automatisch</string>
|
||||
<string name="device_settings_microphone_mode_right">Rechts</string>
|
||||
<string name="device_settings_microphone_mode_left">Links</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Εάν έχετε αγοράσει πρόσφατα, ενδέχεται να χρειαστεί λίγος χρόνος για συγχρονισμό με το Google Play.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Δοκιμάστε ξανά σε λίγα λεπτά αν η αγορά σας δεν εμφανιστεί.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Βεβαιωθείτε ότι έχετε συνδεθεί με τον ίδιο λογαριασμό Google που χρησιμοποιήσατε για την αγορά.</string>
|
||||
<string name="settings_monitor_mode_label">Λειτουργία παρακολούθησης</string>
|
||||
<string name="settings_monitor_mode_description">Υπό ποιες συνθήκες αυτή η εφαρμογή παρακολουθεί δεδομένα Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Επιπλέον ειδοποίηση</string>
|
||||
<string name="settings_monitor_connected_notification_description">Εμφανίζει μια επιπλέον ειδοποίηση όταν μια συσκευή είναι συνδεδεμένη. Αυτό σας επιτρέπει να αποκρύψετε τη μόνιμη ειδοποίηση \"Δεν υπάρχουν συσκευές\" απενεργοποιώντας το κανάλι \"Κατάσταση συσκευής\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Διατήρηση ειδοποίησης μετά την αποσύνδεση</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Αυτόματη παύση</string>
|
||||
<string name="settings_autopause_description">Παύση ήχου κατά την αφαίρεση της συσκευής από το αυτί σας.</string>
|
||||
<string name="settings_autopplay_label">Αυτόματη αναπαραγωγή</string>
|
||||
<string name="settings_autoplay_description">Έναρξη αναπαραγωγής ήχου όταν φοριέται η συσκευή.</string>
|
||||
<string name="settings_autoplay_description">Συνέχισε τη μουσική όταν ξαναφοράς τα pods, αλλά μόνο αν την σταμάτησε η Αυτόματη παύση. Οι παύσεις που έκανες εσύ (τηλέφωνο, στέλεχος AirPods, ύπνος) παραμένουν σε παύση.</string>
|
||||
<string name="settings_start_music_on_wear_label">Εκκίνηση μουσικής κατά τη χρήση</string>
|
||||
<string name="settings_start_music_on_wear_description">Προσπαθεί πάντα να αναπαράγει μουσική όταν φοράς τα pods, ακόμα και μετά από μη αυτόματη παύση.</string>
|
||||
<string name="settings_eardetection_info_label">Σημείωση ανίχνευσης αυτιού</string>
|
||||
<string name="settings_eardetection_info_description">Εάν η ανίχνευση αυτιού λειτουργεί μόνο για ένα pod, αυτός είναι περιορισμός της Apple. Ανιχνεύεται μόνο το \"κύριο pod\" (που χρησιμοποιείται για μικρόφωνο). Ρυθμίστε σε συσκευές Apple: Ρυθμίσεις → Bluetooth → AirPods → Μικρόφωνο.</string>
|
||||
<string name="settings_fake_data_label">Ψευδή δεδομένα</string>
|
||||
<string name="settings_fake_data_description">Εμφάνιση ψευδών δεδομένων, π.χ., προσομοίωση συσκευών που δεν υπάρχουν.</string>
|
||||
<string name="settings_debug_label">Ρυθμίσεις εντοπισμού σφαλμάτων</string>
|
||||
<string name="settings_debug_description">Πρόσθετες ρυθμίσεις για την αντιμετώπιση προβλημάτων με την εφαρμογή.</string>
|
||||
<string name="settings_signal_minimum_label">Ελάχιστη ποιότητα σήματος</string>
|
||||
<string name="settings_signal_minimum_description">Η ελάχιστη ποιότητα σήματος που πρέπει να έχει μια συσκευή για να θεωρηθεί δική σας.</string>
|
||||
<string name="settings_autoconnect_label">Αυτόματη σύνδεση</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Εμφάνιση αναδυόμενου παραθύρου σύνδεσης</string>
|
||||
<string name="settings_popup_connected_description">Εμφάνιση αναδυόμενου παραθύρου όταν η συσκευή συνδέεται για πρώτη φορά.</string>
|
||||
<string name="settings_popup_info_not_in_app">Τα αναδυόμενα παράθυρα εμφανίζονται μόνο όταν δεν βρίσκεστε στην εφαρμογή.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Τα αναδυόμενα παράθυρα απαιτούν η παρακολούθηση να εκτελείται. Η λειτουργία παρακολούθησης έχει οριστεί σε «Όταν η εφαρμογή είναι ανοιχτή», η οποία διακόπτει την παρακολούθηση όταν φεύγετε από την εφαρμογή.</string>
|
||||
<string name="general_fix_it_action">Διόρθωση</string>
|
||||
<string name="device_settings_experimental_title">Πειραματική λειτουργία</string>
|
||||
<string name="device_settings_experimental_description">Αυτή η λειτουργία δεν έχει δοκιμαστεί ακόμα σε όλες τις συσκευές. Αν κάτι δεν λειτουργεί σωστά, παρακαλώ ανοίξτε ένα ζήτημα με ένα αρχείο καταγραφής εντοπισμού σφαλμάτων.</string>
|
||||
<string name="device_settings_experimental_action">Άνοιγμα Παρακολούθησης Ζητημάτων</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Ευχαριστίες</string>
|
||||
<string name="settings_debug_autoreports_label">Αυτόματες αναφορές σφαλμάτων</string>
|
||||
<string name="settings_debug_autoreports_description">Αναφέρει αυτόματα προβλήματα, π.χ. λεπτομέρειες σχετικά με μια κατάρρευση της εφαρμογής, ώστε να μπορώ να καταλάβω πώς να το διορθώσω.</string>
|
||||
<string name="settings_debug_mode_label">Λειτουργία εντοπισμού σφαλμάτων</string>
|
||||
<string name="settings_debug_mode_description">Εμφάνιση πρόσθετων πληροφοριών για την αντιμετώπιση προβλημάτων.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Αφιλτράριστα δεδομένα BLE</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Αφαιρέστε τυχόν φίλτρα από τον σαρωτή BLE για να εμφανιστούν όλα τα μεταδιδόμενα δεδομένα BLE. Χρήσιμο για την προσθήκη υποστήριξης για νέους τύπους ακουστικών.</string>
|
||||
<string name="settings_compatibility_mode_label">Λειτουργία συμβατότητας</string>
|
||||
<string name="settings_compatibility_mode_description">Απενεργοποιήστε τις βελτιστοποιήσεις για να βελτιώσετε τη συμβατότητα. Δοκιμάστε το εάν δεν βλέπετε δεδομένα.</string>
|
||||
<string name="help_translate_label">Μετάφραση</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Αυτό το widget απαιτεί άμεση σύνδεση (AAP) με τη συσκευή σας. Βεβαιωθείτε ότι η συσκευή σας είναι συζευγμένη και συνδεδεμένη στην εφαρμογή πριν χρησιμοποιήσετε αυτό το widget.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Αυτή η συσκευή δεν υποστηρίζει έλεγχο θορύβου</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Μη συνδεδεμένο</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Κοντά αλλά δεν είναι συνδεδεμένο</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Μη κοντά</string>
|
||||
<string name="anc_widget_aap_connecting_label">Σύνδεση…</string>
|
||||
<string name="tile_anc_label">Έλεγχος θορύβου</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Απαιτείται άδεια</string>
|
||||
<string name="tile_anc_subtitle_no_device">Καμία συσκευή</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Χωρίς έλεγχο θορύβου</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth απενεργοποιημένο</string>
|
||||
<string name="widget_config_screen_title">Διαμόρφωση γραφικού στοιχείου</string>
|
||||
<string name="widget_configuration_title">Επιλογή Συσκευής</string>
|
||||
<string name="widget_configuration_description">Επιλέξτε ποιο προφίλ συσκευής θα εμφανίζει αυτό το widget.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Απαιτείται η ακόλουθη άδεια:</string>
|
||||
<string name="permission_system_alert_window_label">Παράθυρο ειδοποίησης συστήματος</string>
|
||||
<string name="permission_system_alert_window_description">Επιτρέψτε στο CAPod να σχεδιάζει πάνω από άλλες εφαρμογές για να καταστεί δυνατή η λειτουργία \"Εμφάνιση αναδυόμενου\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">Όταν η εφαρμογή είναι ανοιχτή</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Όταν η συσκευή είναι συνδεδεμένη</string>
|
||||
<string name="settings_monitor_mode_always_label">Πάντα</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Όταν εντοπιστεί</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Η θήκη είναι ανοιχτή</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Στο αυτί</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Διαφάνεια</string>
|
||||
<string name="anc_mode_adaptive">Προσαρμοστικό</string>
|
||||
<string name="conversation_awareness_label">Ενημερότητα Συνομιλίας</string>
|
||||
<string name="settings_conversation_action_label">Όταν αρχίζεις να μιλάς</string>
|
||||
<string name="settings_conversation_action_nothing_label">Να μην γίνει τίποτα</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Μείωση έντασης</string>
|
||||
<string name="settings_conversation_action_pause_label">Παύση μέσων</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Μείωση έντασης</string>
|
||||
<string name="signal_badge_ble_cd">Σάρωση BLE ενεργή</string>
|
||||
<string name="signal_badge_key_irk_cd">Η ταυτότητα επαληθεύτηκε</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Κρυπτογραφημένη σύνδεση</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Κεχριμπάρι</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Χρησιμοποιεί χρώματα ταπετσαρίας</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Παρακολούθηση</string>
|
||||
<string name="settings_category_appearance_label">Εμφάνιση</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Μη αποθηκευμένες αλλαγές</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Γενικά</string>
|
||||
<string name="device_settings_microphone_mode_label">Μικρόφωνο</string>
|
||||
<string name="device_settings_microphone_mode_description">Ποιο AirPod χρησιμοποιείται ως μικρόφωνο</string>
|
||||
<string name="device_settings_microphone_mode_description">Ποιο ακουστικό χρησιμοποιείται ως μικρόφωνο</string>
|
||||
<string name="device_settings_microphone_mode_auto">Αυτόματο</string>
|
||||
<string name="device_settings_microphone_mode_right">Δεξί</string>
|
||||
<string name="device_settings_microphone_mode_left">Αριστερό</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Si compraste recientemente, puede demorar un momento para que Google Play sincronice.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Intentá de nuevo en unos minutos si tu compra no aparece.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Asegurate de haber iniciado sesión con la misma cuenta de Google usada para la compra.</string>
|
||||
<string name="settings_monitor_mode_label">Modo monitor</string>
|
||||
<string name="settings_monitor_mode_description">Bajo qué circunstancias esta app monitorea los datos de Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Notificación extra</string>
|
||||
<string name="settings_monitor_connected_notification_description">Muestra una notificación extra cuando un dispositivo está conectado. Esto te permite ocultar la notificación permanente \"Sin dispositivos\" desactivando el canal \"Estado del dispositivo\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Mantener la notificación después de la desconexión</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Pausa automática</string>
|
||||
<string name="settings_autopause_description">Pausar el audio al quitar el dispositivo de tu oreja.</string>
|
||||
<string name="settings_autopplay_label">Reproducción automática</string>
|
||||
<string name="settings_autoplay_description">Iniciar la reproducción de audio cuando se usa el dispositivo.</string>
|
||||
<string name="settings_autoplay_description">Reanuda la música al volver a ponerte los pods, pero solo si la pausa automática la detuvo. Las pausas que activaste vos mismo (teléfono, palanca de AirPods, suspensión) permanecen en pausa.</string>
|
||||
<string name="settings_start_music_on_wear_label">Iniciar música al ponérselos</string>
|
||||
<string name="settings_start_music_on_wear_description">Siempre intenta reproducir música cuando te ponés los pods, incluso después de una pausa manual.</string>
|
||||
<string name="settings_eardetection_info_label">Nota sobre la detección de oídos</string>
|
||||
<string name="settings_eardetection_info_description">Si la detección de auriculares solo funciona para un pod, se trata de una limitación de Apple. Solo se detecta el «pod principal» (utilizado para el micrófono). Configuración en dispositivos Apple: Ajustes → Bluetooth → AirPods → Micrófono.</string>
|
||||
<string name="settings_fake_data_label">Datos falsos</string>
|
||||
<string name="settings_fake_data_description">Mostrar datos falsos, es decir, simular dispositivos que no existen.</string>
|
||||
<string name="settings_debug_label">Ajustes de depuración</string>
|
||||
<string name="settings_debug_description">Ajustes adicionales para ayudar a solucionar problemas con la app.</string>
|
||||
<string name="settings_signal_minimum_label">Calidad de señal mínima</string>
|
||||
<string name="settings_signal_minimum_description">La calidad de señal mínima que un dispositivo necesita tener para ser considerado tuyo.</string>
|
||||
<string name="settings_autoconnect_label">Conexión automática</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Mostrar pop-up de conexión</string>
|
||||
<string name="settings_popup_connected_description">Mostrar un pop-up cuando el dispositivo se conecta por primera vez.</string>
|
||||
<string name="settings_popup_info_not_in_app">Los popups solo se muestran cuando no estás en la app.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Los popups requieren que el monitor esté en ejecución. El modo de monitor está configurado como \"Cuando la app está abierta\", lo que detiene el monitor cuando salís de la app.</string>
|
||||
<string name="general_fix_it_action">Corregirlo</string>
|
||||
<string name="device_settings_experimental_title">Función experimental</string>
|
||||
<string name="device_settings_experimental_description">Esta función aún no se ha probado en todos los dispositivos. Si algo no funciona correctamente, por favor abrí un problema con un registro de depuración.</string>
|
||||
<string name="device_settings_experimental_action">Abrir seguimiento de problemas</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Agradecimientos</string>
|
||||
<string name="settings_debug_autoreports_label">Reportes automáticos de errores</string>
|
||||
<string name="settings_debug_autoreports_description">Reporta problemas automáticamente, ej. detalles sobre un cierre inesperado de la app para que pueda averiguar cómo solucionarlo.</string>
|
||||
<string name="settings_debug_mode_label">Modo depuración</string>
|
||||
<string name="settings_debug_mode_description">Mostrar información adicional para solucionar problemas.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Datos BLE sin filtrar</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Eliminar cualquier filtro del escáner BLE para mostrar todos los datos BLE transmitidos. Útil para agregar soporte para nuevos tipos de auriculares.</string>
|
||||
<string name="settings_compatibility_mode_label">Modo de compatibilidad</string>
|
||||
<string name="settings_compatibility_mode_description">Desactivar optimizaciones para mejorar la compatibilidad. Probá esto si no estás viendo ningún dato.</string>
|
||||
<string name="help_translate_label">Traducción</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Este widget requiere una conexión directa (AAP) a tu dispositivo. Asegurate de que tu dispositivo esté emparejado y conectado en la app antes de usar este widget.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Este dispositivo no admite control de ruido</string>
|
||||
<string name="anc_widget_aap_not_connected_label">No conectado</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Cerca pero sin conexión</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">No está cerca</string>
|
||||
<string name="anc_widget_aap_connecting_label">Conectando…</string>
|
||||
<string name="tile_anc_label">Control de ruido</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Permiso requerido</string>
|
||||
<string name="tile_anc_subtitle_no_device">Sin dispositivo</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Sin control de ruido</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth desactivado</string>
|
||||
<string name="widget_config_screen_title">Configuración del widget</string>
|
||||
<string name="widget_configuration_title">Selecciona el dispositivo</string>
|
||||
<string name="widget_configuration_description">Elige qué perfil del dispositivo debe mostrar este complemento.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Se requiere el siguiente permiso:</string>
|
||||
<string name="permission_system_alert_window_label">Ventana emergente</string>
|
||||
<string name="permission_system_alert_window_description">Permite que CAPod se superponga a otras aplicaciones para que la función «Mostrar ventana emergente».</string>
|
||||
<string name="settings_monitor_mode_manual_label">Cuando la aplicación está abierta</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Cuando el dispositivo está conectado</string>
|
||||
<string name="settings_monitor_mode_always_label">Siempre</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Cuando está visible</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">El estuche está abierto</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">En el oído</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Transparencia</string>
|
||||
<string name="anc_mode_adaptive">Adaptivo</string>
|
||||
<string name="conversation_awareness_label">Conciencia de conversación</string>
|
||||
<string name="settings_conversation_action_label">Cuando empezás a hablar</string>
|
||||
<string name="settings_conversation_action_nothing_label">No hacer nada</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Bajar el volumen</string>
|
||||
<string name="settings_conversation_action_pause_label">Pausar el contenido</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Reducción de volumen</string>
|
||||
<string name="signal_badge_ble_cd">Escaneo BLE activo</string>
|
||||
<string name="signal_badge_key_irk_cd">Identidad verificada</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Conexión encriptada</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Ámbar</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Usa los colores del fondo de pantalla</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Monitoreo</string>
|
||||
<string name="settings_category_appearance_label">Apariencia</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Cambios sin guardar</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">General</string>
|
||||
<string name="device_settings_microphone_mode_label">Micrófono</string>
|
||||
<string name="device_settings_microphone_mode_description">Qué AirPod se usa como micrófono</string>
|
||||
<string name="device_settings_microphone_mode_description">Qué auricular se usa como micrófono</string>
|
||||
<string name="device_settings_microphone_mode_auto">Auto</string>
|
||||
<string name="device_settings_microphone_mode_right">Derecho</string>
|
||||
<string name="device_settings_microphone_mode_left">Izquierdo</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Si has comprado recientemente, puede tardar un momento para que Google Play sincronice.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Intenta de nuevo en unos minutos si tu compra no aparece.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Asegúrate de haber iniciado sesión con la misma cuenta de Google utilizada para la compra.</string>
|
||||
<string name="settings_monitor_mode_label">Modo monitor</string>
|
||||
<string name="settings_monitor_mode_description">Bajo qué circunstancias esta aplicación monitorea los datos de Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Notificación adicional</string>
|
||||
<string name="settings_monitor_connected_notification_description">Muestra una notificación adicional cuando un dispositivo está conectado. Esto te permite ocultar la notificación permanente \"Sin dispositivos\" desactivando el canal \"Estado del dispositivo\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Mantener la notificación después de la desconexión</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Pausa automática</string>
|
||||
<string name="settings_autopause_description">Pausar el audio al quitar el dispositivo de tu oreja.</string>
|
||||
<string name="settings_autopplay_label">Reproducción automática</string>
|
||||
<string name="settings_autoplay_description">Iniciar la reproducción de audio cuando se usa el dispositivo.</string>
|
||||
<string name="settings_autoplay_description">Reanuda la música al volver a usar tus pods, pero solo si Auto pausa la detuvo. Las pausas que activaste tú mismo (teléfono, varilla de AirPods, suspensión) siguen en pausa.</string>
|
||||
<string name="settings_start_music_on_wear_label">Iniciar música al ponerse</string>
|
||||
<string name="settings_start_music_on_wear_description">Siempre intenta reproducir música cuando te pones los pods, incluso después de una pausa manual.</string>
|
||||
<string name="settings_eardetection_info_label">Nota sobre la detección de oídos</string>
|
||||
<string name="settings_eardetection_info_description">Si la detección de auriculares solo funciona para un pod, se trata de una limitación de Apple. Solo se detecta el «pod principal» (utilizado para el micrófono). Configuración en dispositivos Apple: Ajustes → Bluetooth → AirPods → Micrófono.</string>
|
||||
<string name="settings_fake_data_label">Datos falsos</string>
|
||||
<string name="settings_fake_data_description">Mostrar datos falsos, es decir, simular dispositivos que no existen.</string>
|
||||
<string name="settings_debug_label">Ajustes de depuración</string>
|
||||
<string name="settings_debug_description">Ajustes adicionales para ayudar a solucionar problemas con la aplicación.</string>
|
||||
<string name="settings_signal_minimum_label">Calidad de señal mínima</string>
|
||||
<string name="settings_signal_minimum_description">La calidad de señal mínima que un dispositivo necesita tener para ser considerado tuyo.</string>
|
||||
<string name="settings_autoconnect_label">Conexión automática</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Mostrar pop-up de conexión</string>
|
||||
<string name="settings_popup_connected_description">Mostrar un pop-up cuando el dispositivo se conecta por primera vez.</string>
|
||||
<string name="settings_popup_info_not_in_app">Las ventanas emergentes solo se muestran cuando no estás en la aplicación.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Las ventanas emergentes requieren que el monitor esté en ejecución. Tu modo de monitor está configurado en \"Cuando la aplicación está abierta\", lo que detiene el monitor cuando sales de la aplicación.</string>
|
||||
<string name="general_fix_it_action">Corregir</string>
|
||||
<string name="device_settings_experimental_title">Función experimental</string>
|
||||
<string name="device_settings_experimental_description">Esta función aún no ha sido probada en todos los dispositivos. Si algo no funciona correctamente, por favor abre un problema con un registro de depuración.</string>
|
||||
<string name="device_settings_experimental_action">Abrir rastreador de problemas</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Agradecimientos</string>
|
||||
<string name="settings_debug_autoreports_label">Reportes automáticos de errores</string>
|
||||
<string name="settings_debug_autoreports_description">Reporta problemas automáticamente, ej. detalles sobre un cierre inesperado de la aplicación para que pueda averiguar cómo solucionarlo.</string>
|
||||
<string name="settings_debug_mode_label">Modo depuración</string>
|
||||
<string name="settings_debug_mode_description">Mostrar información adicional para solucionar problemas.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Datos BLE sin filtrar</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Eliminar cualquier filtro del escáner BLE para mostrar todos los datos BLE transmitidos. Útil para agregar soporte para nuevos tipos de auriculares.</string>
|
||||
<string name="settings_compatibility_mode_label">Modo de compatibilidad</string>
|
||||
<string name="settings_compatibility_mode_description">Desactivar optimizaciones para mejorar la compatibilidad. Prueba esto si no estás viendo ningún dato.</string>
|
||||
<string name="help_translate_label">Traducción</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Este widget requiere una conexión directa (AAP) a tu dispositivo. Asegúrate de que tu dispositivo esté emparejado y conectado en la aplicación antes de usar este widget.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Este dispositivo no es compatible con el control de ruido</string>
|
||||
<string name="anc_widget_aap_not_connected_label">No conectado</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Cerca pero no conectado</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">No está cerca</string>
|
||||
<string name="anc_widget_aap_connecting_label">Conectando…</string>
|
||||
<string name="tile_anc_label">Control de ruido</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Permiso requerido</string>
|
||||
<string name="tile_anc_subtitle_no_device">Sin dispositivo</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Sin control de ruido</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth apagado</string>
|
||||
<string name="widget_config_screen_title">Configuración de widget</string>
|
||||
<string name="widget_configuration_title">Selecciona el dispositivo</string>
|
||||
<string name="widget_configuration_description">Elige qué perfil del dispositivo debe mostrar este complemento.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Se requiere el siguiente permiso:</string>
|
||||
<string name="permission_system_alert_window_label">Ventana emergente</string>
|
||||
<string name="permission_system_alert_window_description">Permite que CAPod se superponga a otras aplicaciones para que la función «Mostrar ventana emergente».</string>
|
||||
<string name="settings_monitor_mode_manual_label">Cuando la aplicación está abierta</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Cuando el dispositivo está conectado</string>
|
||||
<string name="settings_monitor_mode_always_label">Siempre</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Cuando está visible</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">El estuche está abierto</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">En el oído</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Transparencia</string>
|
||||
<string name="anc_mode_adaptive">Adaptativo</string>
|
||||
<string name="conversation_awareness_label">Reconocimiento de conversación</string>
|
||||
<string name="settings_conversation_action_label">Cuando empiezas a hablar</string>
|
||||
<string name="settings_conversation_action_nothing_label">No hacer nada</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Bajar volumen</string>
|
||||
<string name="settings_conversation_action_pause_label">Pausar medios</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Reducción de volumen</string>
|
||||
<string name="signal_badge_ble_cd">Escaneo BLE activo</string>
|
||||
<string name="signal_badge_key_irk_cd">Identidad verificada</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Conexión cifrada</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Ámbar</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Usa los colores del fondo de pantalla</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Monitoreo</string>
|
||||
<string name="settings_category_appearance_label">Apariencia</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Cambios sin guardar</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">General</string>
|
||||
<string name="device_settings_microphone_mode_label">Micrófono</string>
|
||||
<string name="device_settings_microphone_mode_description">Qué AirPod se usa como micrófono</string>
|
||||
<string name="device_settings_microphone_mode_description">Qué audífono se usa como micrófono</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automático</string>
|
||||
<string name="device_settings_microphone_mode_right">Derecho</string>
|
||||
<string name="device_settings_microphone_mode_left">Izquierdo</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Si has comprado recientemente, puede tardar un momento para que Google Play sincronice.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Inténtalo de nuevo en unos minutos si tu compra no aparece.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Asegúrate de haber iniciado sesión con la misma cuenta de Google utilizada para la compra.</string>
|
||||
<string name="settings_monitor_mode_label">Modo monitor</string>
|
||||
<string name="settings_monitor_mode_description">Bajo qué circunstancias esta aplicación supervisa los datos de Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Notificación adicional</string>
|
||||
<string name="settings_monitor_connected_notification_description">Muestra una notificación adicional cuando un dispositivo está conectado. Esto le permite ocultar la notificación permanente \"Sin dispositivos\" deshabilitando el canal \"Estado del dispositivo\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Mantener la notificación después de la desconexión</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Pausa automática</string>
|
||||
<string name="settings_autopause_description">Pausar el audio al quitar el dispositivo de tu oído.</string>
|
||||
<string name="settings_autopplay_label">Reproducción automática</string>
|
||||
<string name="settings_autoplay_description">Iniciar la reproducción de audio cuando se lleva puesto el dispositivo.</string>
|
||||
<string name="settings_autoplay_description">Reanuda la música al volver a ponerte los auriculares, pero solo si fue Auto pausa quien la detuvo. Las pausas que hiciste tú (teléfono, varilla de los AirPods, suspensión) permanecen pausadas.</string>
|
||||
<string name="settings_start_music_on_wear_label">Iniciar música al ponérselos</string>
|
||||
<string name="settings_start_music_on_wear_description">Siempre intenta reproducir música cuando te pones los auriculares, incluso después de una pausa manual.</string>
|
||||
<string name="settings_eardetection_info_label">Nota sobre la detección de oídos</string>
|
||||
<string name="settings_eardetection_info_description">Si la detección de auriculares solo funciona para un pod, se trata de una limitación de Apple. Solo se detecta el «pod principal» (utilizado para el micrófono). Configuración en dispositivos Apple: Ajustes → Bluetooth → AirPods → Micrófono.</string>
|
||||
<string name="settings_fake_data_label">Datos falsos</string>
|
||||
<string name="settings_fake_data_description">Mostrar datos falsos, es decir, simular dispositivos que no existen.</string>
|
||||
<string name="settings_debug_label">Ajustes de depuración</string>
|
||||
<string name="settings_debug_description">Ajustes adicionales para ayudar a solucionar problemas con la aplicación.</string>
|
||||
<string name="settings_signal_minimum_label">Calidad mínima de la señal</string>
|
||||
<string name="settings_signal_minimum_description">La calidad mínima de la señal que debe tener un dispositivo para que se considere tuyo.</string>
|
||||
<string name="settings_autoconnect_label">Conexión automática</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Mostrar ventana emergente de conexión</string>
|
||||
<string name="settings_popup_connected_description">Mostrar una ventana emergente cuando el dispositivo se conecta por primera vez.</string>
|
||||
<string name="settings_popup_info_not_in_app">Los popups solo se muestran cuando no estás en la aplicación.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Los popups requieren que el monitor esté en ejecución. El modo de monitor está configurado en \"Cuando la app está abierta\", lo que detiene el monitor cuando sales de la aplicación.</string>
|
||||
<string name="general_fix_it_action">Corregirlo</string>
|
||||
<string name="device_settings_experimental_title">Función experimental</string>
|
||||
<string name="device_settings_experimental_description">Esta función aún no se ha probado en todos los dispositivos. Si algo no funciona correctamente, por favor abre una incidencia con un registro de depuración.</string>
|
||||
<string name="device_settings_experimental_action">Abrir rastreador de incidencias</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Agradecimientos</string>
|
||||
<string name="settings_debug_autoreports_label">Informes de error automáticos</string>
|
||||
<string name="settings_debug_autoreports_description">Informa automáticamente de los problemas, p. ej., detalles sobre un fallo de la aplicación para que pueda averiguar cómo solucionarlo.</string>
|
||||
<string name="settings_debug_mode_label">Modo de depuración</string>
|
||||
<string name="settings_debug_mode_description">Mostrar información adicional para solucionar problemas.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Datos BLE sin filtrar</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Elimina cualquier filtro del escáner BLE para mostrar todos los datos BLE transmitidos. Útil para añadir compatibilidad con nuevos tipos de auriculares.</string>
|
||||
<string name="settings_compatibility_mode_label">Modo de compatibilidad</string>
|
||||
<string name="settings_compatibility_mode_description">Desactiva las optimizaciones para mejorar la compatibilidad. Prueba esto si no ves ningún dato.</string>
|
||||
<string name="help_translate_label">Traducción</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Este widget requiere una conexión directa (AAP) con tu dispositivo. Asegúrate de que tu dispositivo esté emparejado y conectado en la app antes de usar este widget.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Este dispositivo no admite control de ruido</string>
|
||||
<string name="anc_widget_aap_not_connected_label">No conectado</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Cerca pero no conectado</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">No cerca</string>
|
||||
<string name="anc_widget_aap_connecting_label">Conectando…</string>
|
||||
<string name="tile_anc_label">Control de ruido</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Permiso requerido</string>
|
||||
<string name="tile_anc_subtitle_no_device">Sin dispositivo</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Sin control de ruido</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth desactivado</string>
|
||||
<string name="widget_config_screen_title">Configuración del widget</string>
|
||||
<string name="widget_configuration_title">Selecciona el dispositivo</string>
|
||||
<string name="widget_configuration_description">Elige qué perfil del dispositivo debe mostrar este complemento.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Se requiere el siguiente permiso:</string>
|
||||
<string name="permission_system_alert_window_label">Ventana emergente</string>
|
||||
<string name="permission_system_alert_window_description">Permite que CAPod se superponga a otras aplicaciones para que la función «Mostrar ventana emergente».</string>
|
||||
<string name="settings_monitor_mode_manual_label">Cuando la aplicación está abierta</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Cuando el dispositivo está conectado</string>
|
||||
<string name="settings_monitor_mode_always_label">Siempre</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Cuando está visible</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">El estuche está abierto</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">En el oído</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Transparencia</string>
|
||||
<string name="anc_mode_adaptive">Adaptativo</string>
|
||||
<string name="conversation_awareness_label">Conciencia de conversación</string>
|
||||
<string name="settings_conversation_action_label">Cuando empiezas a hablar</string>
|
||||
<string name="settings_conversation_action_nothing_label">No hacer nada</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Bajar volumen</string>
|
||||
<string name="settings_conversation_action_pause_label">Pausar multimedia</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Reducción de volumen</string>
|
||||
<string name="signal_badge_ble_cd">Escaneo BLE activo</string>
|
||||
<string name="signal_badge_key_irk_cd">Identidad verificada</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Conexión cifrada</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Ámbar</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Usa colores del fondo de pantalla</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Monitorización</string>
|
||||
<string name="settings_category_appearance_label">Apariencia</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Cambios sin guardar</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">General</string>
|
||||
<string name="device_settings_microphone_mode_label">Micrófono</string>
|
||||
<string name="device_settings_microphone_mode_description">Qué AirPod se usa como micrófono</string>
|
||||
<string name="device_settings_microphone_mode_description">Qué auricular se usa como micrófono</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automático</string>
|
||||
<string name="device_settings_microphone_mode_right">Derecho</string>
|
||||
<string name="device_settings_microphone_mode_left">Izquierdo</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Kui olete hiljuti ostnud, võib Google Playl kuluda ajakohastamiseks hetk.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Proovige mõne minuti pärast uuesti, kui teie ost ei ilmu.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Veenduge, et olete sisse logitud sama Google\'i kontoga, mida kasutasite ostu sooritamiseks.</string>
|
||||
<string name="settings_monitor_mode_label">Jälgimisrežiim</string>
|
||||
<string name="settings_monitor_mode_description">Mis olukordades jälgib see rakendus Bluetooth andmeid.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Lisateavitus</string>
|
||||
<string name="settings_monitor_connected_notification_description">Kuvab seadme ühendumisel lisateavituse. See peidab pidevalt nähtava „Seadmed puuduvad“ teate, selleks keelates „Seadme olek“ kanali.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Kuva teadet ka pärast eemaldamist</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Automaatne peatamine</string>
|
||||
<string name="settings_autopause_description">Seadme kõrvast eemaldamisel peata esitamine.</string>
|
||||
<string name="settings_autopplay_label">Automaatne esitamine</string>
|
||||
<string name="settings_autoplay_description">Automaatne esitamine, kui seade pannakse kõrva.</string>
|
||||
<string name="settings_autoplay_description">Jätka muusika kuulamist, kui kannad taas kõrvaklappe, kuid ainult siis, kui isekäivitunud paus selle peatas. Isepausimise (telefon, AirPodsi vars, uni) puhul jääb paus kestma.</string>
|
||||
<string name="settings_start_music_on_wear_label">Esita muusikat kõrva panemisel</string>
|
||||
<string name="settings_start_music_on_wear_description">Proovib alati esitada muusikat, kui paned kõrvaklapid pähe, isegi pärast enda käivitatud pausi.</string>
|
||||
<string name="settings_eardetection_info_label">Kõrva tuvastamisest</string>
|
||||
<string name="settings_eardetection_info_description">Kui tuvastatakse vaid üks klapp, siis seda põhjustab Apple\'i piirang. Tuvastatakse vaid peamine klapp (kasutatakse mikrofonina). Seadista Apple\'i seadmetes: Seaded (Settings) → Bluetooth → AirPods (AirPodid) → Mikrofon (Microphone).</string>
|
||||
<string name="settings_fake_data_label">Valeandmed</string>
|
||||
<string name="settings_fake_data_description">Näita valeandmeid, nt samad seadmed, mida pole olemas.</string>
|
||||
<string name="settings_debug_label">Vealogide seaded</string>
|
||||
<string name="settings_debug_description">Täiendavad seadmed rakenduse probleemide lahendamise aitamiseks.</string>
|
||||
<string name="settings_signal_minimum_label">Väikseim signaali kvaliteet</string>
|
||||
<string name="settings_signal_minimum_description">Väikseim signaali kvaliteet, mis seade peab omama, et seda peetaks teie omaks.</string>
|
||||
<string name="settings_autoconnect_label">Automaatne ühendamine</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Näita ühenduse hüpikakent</string>
|
||||
<string name="settings_popup_connected_description">Näita seadme esmaühendumisel hüpikakent.</string>
|
||||
<string name="settings_popup_info_not_in_app">Hüpikaknad kuvatakse ainult siis, kui sa pole rakenduses.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Hüpikaknad nõuavad monitori töötamist. Monitori režiim on seatud „Kui rakendus on avatud“, mis peatab monitori, kui rakendusest lahkud.</string>
|
||||
<string name="general_fix_it_action">Paranda</string>
|
||||
<string name="device_settings_experimental_title">Katsetamisel</string>
|
||||
<string name="device_settings_experimental_description">Seda pole kõigil seadmetel veel katsetatud. Kui midagi ei toimi õigesti, avage probleem koos silumislogi failiga.</string>
|
||||
<string name="device_settings_experimental_action">Ava probleemide jälgija</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Tunnustused</string>
|
||||
<string name="settings_debug_autoreports_label">Automaatsed veateated</string>
|
||||
<string name="settings_debug_autoreports_description">Teavitab vigadest ise, nt andmed rakenduse hangumise kohta, et saaksin mõista, kuidas olukorda lahendada.</string>
|
||||
<string name="settings_debug_mode_label">Veaotsing</string>
|
||||
<string name="settings_debug_mode_description">Näita vigade lahendamiseks täiendavat teavet.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Filtreerimata Bluetooth madalama energiatarbimisega andmed</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Eemalda kõik Bluetooth madalama energiatarbimisega skanneri filtrid, et näha kõiki edastatud Bluetooth madalama energiatarbimisega andmeid. Kasulik uute kõrvaklappide ühildamiseks.</string>
|
||||
<string name="settings_compatibility_mode_label">Ühilduvusrežiim</string>
|
||||
<string name="settings_compatibility_mode_description">Ühilduvuse parandamiseks keelake optimeeringud. Proovige seda, kui te ei näe mingeid andmeid.</string>
|
||||
<string name="help_translate_label">Tõlge</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">See vidin nõuab otsest ühendust (AAP) teie seadmega. Enne selle vidina kasutamist veenduge, et teie seade on rakenduses seotud ja ühendatud.</string>
|
||||
<string name="anc_widget_no_anc_support_label">See seade ei toeta mürakontrolli</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Ühendus puudub</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Lähedal, kuid pole ühendatud</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Pole lähedal</string>
|
||||
<string name="anc_widget_aap_connecting_label">Ühendamine…</string>
|
||||
<string name="tile_anc_label">Mürakontroll</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Vaja on luba</string>
|
||||
<string name="tile_anc_subtitle_no_device">Puudub seade</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Puudub mürakontroll</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth väljas</string>
|
||||
<string name="widget_config_screen_title">Vidina seadistus</string>
|
||||
<string name="widget_configuration_title">Vali seade</string>
|
||||
<string name="widget_configuration_description">Valige, millist seadmeprofiili see vidin võiks kuvada.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Vaja on järgmist luba:</string>
|
||||
<string name="permission_system_alert_window_label">Süsteemi teate aken</string>
|
||||
<string name="permission_system_alert_window_description">Luba CAPodil toimetada teiste rakenduste kohal, et näha hüpikaknaid.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Kui rakendus on avatud</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Kui seade on ühendatud</string>
|
||||
<string name="settings_monitor_mode_always_label">Alati</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Kui nähtaval</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Kaas on avatud</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Kõrvas</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Läbipaistvus</string>
|
||||
<string name="anc_mode_adaptive">Kohanduv</string>
|
||||
<string name="conversation_awareness_label">Vestluse tuvastamine</string>
|
||||
<string name="settings_conversation_action_label">Kui alustad rääkimist</string>
|
||||
<string name="settings_conversation_action_nothing_label">Ära tee midagi</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Vähenda helitugevust</string>
|
||||
<string name="settings_conversation_action_pause_label">Peata meedia</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Helitugevuse vähendamine</string>
|
||||
<string name="signal_badge_ble_cd">BLE skannimine aktiivne</string>
|
||||
<string name="signal_badge_key_irk_cd">Identiteet kinnitatud</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Krüpteeritud ühendus</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Merevaik</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Kasutab taustapildi värve</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Jälgimine</string>
|
||||
<string name="settings_category_appearance_label">Välimus</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Salvestamata muudatused</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Üldine</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">Millist AirPodi kasutatakse mikrofonina</string>
|
||||
<string name="device_settings_microphone_mode_description">Kumba kõrvaklappi kasutatakse mikrofonina</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automaatne</string>
|
||||
<string name="device_settings_microphone_mode_right">Parem</string>
|
||||
<string name="device_settings_microphone_mode_left">Vasak</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Duela gutxi erosi baduzu, baliteke Google Play-k sinkronizatzeko une bat behar izatea.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Saiatu berriro minutu batzuen buruan zure erosketa agertzen ez bada.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Ziurtatu erosketan erabilitako Google kontu berarekin saioa hasita daudela.</string>
|
||||
<string name="settings_monitor_mode_label">Monitorizazio modua</string>
|
||||
<string name="settings_monitor_mode_description">Zein egoeratan monitorizatzen ditu aplikazio honek Bluetooth datuak.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Jakinarazpen gehigarria</string>
|
||||
<string name="settings_monitor_connected_notification_description">Gailu bat konektatuta dagoenean jakinarazpen gehigarri bat erakusten du. Honek \"Gailurik ez\" jakinarazpen iraunkorra ezkutatzeko aukera ematen dizu \"Gailuaren egoera\" kanala desgaituz.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Mantendu jakinarazpena deskonektatu ondoren</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Pausatze automatikoa</string>
|
||||
<string name="settings_autopause_description">Pausatu audioa gailua belarritik kentzean.</string>
|
||||
<string name="settings_autopplay_label">Erreprodukzio automatikoa</string>
|
||||
<string name="settings_autoplay_description">Hasi audio erreprodukzioa gailua jantzita dagoenean.</string>
|
||||
<string name="settings_autoplay_description">Berriro jantzita musika errepikatzen du, baina soilik Eten automatikoak gelditu bazuen. Zuk eragindako etenak (telefonoa, AirPods beso, loa) etenda geratzen dira.</string>
|
||||
<string name="settings_start_music_on_wear_label">Hasi musika jantzitakoan</string>
|
||||
<string name="settings_start_music_on_wear_description">Beti saiatzen da musika erreproduzitzen aurrikulariak jartzen dituzunean, eskuzko eten baten ondoren ere.</string>
|
||||
<string name="settings_eardetection_info_label">Belarri-detekzioaren oharra</string>
|
||||
<string name="settings_eardetection_info_description">Belarri-detekzioak pod batentzat soilik funtzionatzen badu, Apple-ren muga bat da. \"Pod nagusia\" (mikrofonorako erabiltzen dena) soilik detektatzen da. Konfiguratu Apple gailuetan: Ezarpenak → Bluetooth → AirPods → Mikrofonoa.</string>
|
||||
<string name="settings_fake_data_label">Datu faltsuak</string>
|
||||
<string name="settings_fake_data_description">Erakutsi datu faltsuak, hau da, existitzen ez diren gailuak simulatu.</string>
|
||||
<string name="settings_debug_label">Arazketa ezarpenak</string>
|
||||
<string name="settings_debug_description">Aplikazioarekin arazoak konpontzen laguntzeko ezarpen gehigarriak.</string>
|
||||
<string name="settings_signal_minimum_label">Seinalearen gutxieneko kalitatea</string>
|
||||
<string name="settings_signal_minimum_description">Gailu batek zurea dela kontsideratzeko izan behar duen seinalearen gutxieneko kalitatea.</string>
|
||||
<string name="settings_autoconnect_label">Automatikoki konektatu</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Erakutsi konexioaren pop-up-a</string>
|
||||
<string name="settings_popup_connected_description">Erakutsi pop-up bat gailua lehen aldiz konektatzen denean.</string>
|
||||
<string name="settings_popup_info_not_in_app">Leiho gainerakorrak soilik erakusten dira aplikazioan ez zaudenerako.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Leiho gainerakorrek monitorea martxan egotea behar dute. Zure monitor modua \"Aplikazioa irekita dagoenean\" ezarrita dago, eta horrek monitorea gelditzen du aplikaziotik irteten zarenean.</string>
|
||||
<string name="general_fix_it_action">Konpondu</string>
|
||||
<string name="device_settings_experimental_title">Funtzio esperimentala</string>
|
||||
<string name="device_settings_experimental_description">Funtzio hau oraindik ez da gailu guztietan probatu. Zerbait ondo funtzionatzen ez badu, mesedez ireki arazo bat arazketa-erregistroarekin.</string>
|
||||
<string name="device_settings_experimental_action">Ireki arazo-jarraipena</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Eskertzak</string>
|
||||
<string name="settings_debug_autoreports_label">Erroreen txosten automatikoak</string>
|
||||
<string name="settings_debug_autoreports_description">Automatikoki arazoak salatzen ditu, adib. aplikazioaren kraskaduraren xehetasunak, konpontzen jakin dezadan.</string>
|
||||
<string name="settings_debug_mode_label">Arazketa modua</string>
|
||||
<string name="settings_debug_mode_description">Erakutsi informazio gehigarria arazoak konpontzeko.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Iragazi gabeko BLE datuak</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Kendu BLE eskanerreko iragazki guztiak igorritako BLE datu guztiak erakusteko. Entzungailu mota berrietarako euskarria gehitzeko erabilgarria.</string>
|
||||
<string name="settings_compatibility_mode_label">Bateragarritasun modua</string>
|
||||
<string name="settings_compatibility_mode_description">Desgaitu optimizazioak bateragarritasuna hobetzeko. Saiatu hau daturik ikusten ez baduzu.</string>
|
||||
<string name="help_translate_label">Itzulpena</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Widget honek zure gailuarekin konexio zuzen bat (AAP) behar du. Ziurtatu zure gailua parekatuta eta konektatuta dagoela aplikazioan widget hau erabili aurretik.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Gailu honek ez ditu onartzen zarata-kontrolaren funtzioak</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Konektatu gabe</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Gertu baina konektatu gabe</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Ez dago gertu</string>
|
||||
<string name="anc_widget_aap_connecting_label">Konektatzen…</string>
|
||||
<string name="tile_anc_label">Zarata kontrola</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Baimena beharrezkoa da</string>
|
||||
<string name="tile_anc_subtitle_no_device">Gailurik ez</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Ez dago zarata kontrolik</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth itzalita</string>
|
||||
<string name="widget_config_screen_title">Widget konfigurazioa</string>
|
||||
<string name="widget_configuration_title">Hautatu Gailua</string>
|
||||
<string name="widget_configuration_description">Aukeratu trepeta honek zein gailu-profil erakutsi behar duen.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Hurrengo baimena beharrezkoa da:</string>
|
||||
<string name="permission_system_alert_window_label">Sistemaren alerta-leihoa</string>
|
||||
<string name="permission_system_alert_window_description">Baimendu CAPod-i beste aplikazioen gainean marraztea \"Erakutsi pop-up-a\" ezaugarria posible egiteko.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Aplikazioa irekita dagoenean</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Gailua konektatuta dagoenean</string>
|
||||
<string name="settings_monitor_mode_always_label">Beti</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Ikusten denean</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Kaxa irekita dago</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Belarrian</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Gardentasuna</string>
|
||||
<string name="anc_mode_adaptive">Egokigarria</string>
|
||||
<string name="conversation_awareness_label">Elkarrizketa-kontzientzia</string>
|
||||
<string name="settings_conversation_action_label">Hitz egiten hasten zarenean</string>
|
||||
<string name="settings_conversation_action_nothing_label">Ez egin ezer</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Jaitsi bolumena</string>
|
||||
<string name="settings_conversation_action_pause_label">Pausatu multimedia</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Bolumen murrizketa</string>
|
||||
<string name="signal_badge_ble_cd">BLE eskaneatzea aktibo</string>
|
||||
<string name="signal_badge_key_irk_cd">Identitatea egiaztatuta</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Enkriptatutako konexioa</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Anbarra</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Horma-papereko koloreak erabiltzen ditu</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Monitorizazioa</string>
|
||||
<string name="settings_category_appearance_label">Itxura</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Gorde gabeko aldaketak</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Orokorra</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofonoa</string>
|
||||
<string name="device_settings_microphone_mode_description">Zein AirPod erabiltzen den mikrofono gisa</string>
|
||||
<string name="device_settings_microphone_mode_description">Zein entzungailu erabiltzen den mikrofono gisa</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automatikoa</string>
|
||||
<string name="device_settings_microphone_mode_right">Eskuinekoa</string>
|
||||
<string name="device_settings_microphone_mode_left">Ezkerrekoa</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">اگر اخیراً خرید کردهاید، ممکن است چند لحظه طول بکشد تا Google Play همگامسازی شود.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">اگر خرید شما نمایش داده نشد، چند دقیقه دیگر دوباره امتحان کنید.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">مطمئن شوید با همان حساب Google که برای خرید استفاده کردید وارد شدهاید.</string>
|
||||
<string name="settings_monitor_mode_label">حالت نظارت</string>
|
||||
<string name="settings_monitor_mode_description">این برنامه تحت چه شرایطی دادههای بلوتوث را نظارت میکند.</string>
|
||||
<string name="settings_monitor_connected_notification_label">اعلان اضافی</string>
|
||||
<string name="settings_monitor_connected_notification_description">هنگامی که یک دستگاه متصل است، یک اعلان اضافی نشان میدهد. این به شما امکان میدهد اعلان دائمی \"بدون دستگاه\" را با غیرفعال کردن کانال \"وضعیت دستگاه\" پنهان کنید.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">حفظ اعلان پس از قطع اتصال</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">مکث خودکار</string>
|
||||
<string name="settings_autopause_description">هنگام برداشتن دستگاه از گوش، صدا را متوقف کنید.</string>
|
||||
<string name="settings_autopplay_label">پخش خودکار</string>
|
||||
<string name="settings_autoplay_description">هنگام استفاده از دستگاه، پخش صدا را شروع کنید.</string>
|
||||
<string name="settings_autoplay_description">موسیقی را هنگام پوشیدن مجدد پادها از سر میگیرد، اما تنها اگر توقف خودکار آن را متوقف کرده باشد. توقفهایی که خودتان ایجاد کردید (تلفن، دکمه AirPods، خواب) همچنان متوقف میمانند.</string>
|
||||
<string name="settings_start_music_on_wear_label">شروع موسیقی هنگام پوشیدن</string>
|
||||
<string name="settings_start_music_on_wear_description">همیشه سعی میکند هنگام گذاشتن پادها موسیقی پخش کند، حتی پس از توقف دستی.</string>
|
||||
<string name="settings_eardetection_info_label">توجه درباره تشخیص گوش</string>
|
||||
<string name="settings_eardetection_info_description">اگر تشخیص گوش فقط برای یک پاد کار میکند، این محدودیت Apple است. فقط \"پاد اصلی\" (که برای میکروفون استفاده میشود) تشخیص داده میشود. در دستگاههای Apple تنظیم کنید: تنظیمات → بلوتوث → AirPods → میکروفون.</string>
|
||||
<string name="settings_fake_data_label">دادههای جعلی</string>
|
||||
<string name="settings_fake_data_description">دادههای جعلی را نشان دهید، یعنی دستگاههایی را که وجود ندارند شبیهسازی کنید.</string>
|
||||
<string name="settings_debug_label">تنظیمات اشکالزدایی</string>
|
||||
<string name="settings_debug_description">تنظیمات اضافی برای کمک به عیبیابی مشکلات برنامه.</string>
|
||||
<string name="settings_signal_minimum_label">حداقل کیفیت سیگنال</string>
|
||||
<string name="settings_signal_minimum_description">حداقل کیفیت سیگنالی که یک دستگاه باید داشته باشد تا متعلق به شما در نظر گرفته شود.</string>
|
||||
<string name="settings_autoconnect_label">اتصال خودکار</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">نمایش پاپآپ اتصال</string>
|
||||
<string name="settings_popup_connected_description">هنگام اتصال دستگاه برای اولین بار، یک پاپآپ نشان داده شود.</string>
|
||||
<string name="settings_popup_info_not_in_app">پنجرههای بازشو فقط زمانی نشان داده میشوند که در برنامه نباشید.</string>
|
||||
<string name="settings_popup_warning_manual_mode">پنجرههای بازشو نیاز دارند که مانیتور در حال اجرا باشد. حالت مانیتور شما روی «وقتی برنامه باز است» تنظیم شده که هنگام خروج از برنامه، مانیتور را متوقف میکند.</string>
|
||||
<string name="general_fix_it_action">رفع مشکل</string>
|
||||
<string name="device_settings_experimental_title">ویژگی آزمایشی</string>
|
||||
<string name="device_settings_experimental_description">این ویژگی هنوز روی همه دستگاهها آزمایش نشده است. اگر چیزی درست کار نمیکند، لطفاً یک گزارش خطا با لاگ دیباگ باز کنید.</string>
|
||||
<string name="device_settings_experimental_action">باز کردن ردیاب مشکلات</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">قدردانیها</string>
|
||||
<string name="settings_debug_autoreports_label">گزارشهای خطای خودکار</string>
|
||||
<string name="settings_debug_autoreports_description">مشکلات را بهطور خودکار گزارش میدهد، مثلاً جزئیات مربوط به خرابی برنامه تا بتوانم نحوه رفع آن را بفهمم.</string>
|
||||
<string name="settings_debug_mode_label">حالت اشکالزدایی</string>
|
||||
<string name="settings_debug_mode_description">نمایش اطلاعات اضافی برای عیبیابی مشکلات.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">دادههای BLE فیلترنشده</string>
|
||||
<string name="settings_blescanner_unfiltered_description">هرگونه فیلتر را از اسکنر BLE حذف کنید تا تمام دادههای BLE پخششده نمایش داده شود. برای افزودن پشتیبانی از انواع جدید هدفون مفید است.</string>
|
||||
<string name="settings_compatibility_mode_label">حالت سازگاری</string>
|
||||
<string name="settings_compatibility_mode_description">بهینهسازیها را برای بهبود سازگاری غیرفعال کنید. اگر هیچ دادهای نمیبینید، این را امتحان کنید.</string>
|
||||
<string name="help_translate_label">ترجمه</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">این ویجت نیاز به اتصال مستقیم (AAP) به دستگاه شما دارد. قبل از استفاده از این ویجت، مطمئن شوید دستگاه شما در برنامه جفتشده و متصل است.</string>
|
||||
<string name="anc_widget_no_anc_support_label">این دستگاه از کنترل نویز پشتیبانی نمیکند</string>
|
||||
<string name="anc_widget_aap_not_connected_label">متصل نشده</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">در مجاورت اما متصل نیست</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">در مجاورت نیست</string>
|
||||
<string name="anc_widget_aap_connecting_label">در حال اتصال…</string>
|
||||
<string name="tile_anc_label">کنترل نویز</string>
|
||||
<string name="tile_anc_subtitle_permission_required">مجوز لازم است</string>
|
||||
<string name="tile_anc_subtitle_no_device">بدون دستگاه</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">بدون کنترل نویز</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">بلوتوث خاموش است</string>
|
||||
<string name="widget_config_screen_title">پیکربندی ابزارک</string>
|
||||
<string name="widget_configuration_title">انتخاب دستگاه</string>
|
||||
<string name="widget_configuration_description">انتخاب کنید این ویجت کدام پروفایل دستگاه را نمایش دهد.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">مجوز زیر مورد نیاز است:</string>
|
||||
<string name="permission_system_alert_window_label">پنجره هشدار سیستم</string>
|
||||
<string name="permission_system_alert_window_description">به CAPod اجازه دهید روی سایر برنامهها نمایش دهد تا ویژگی \"نمایش پاپآپ\" ممکن شود.</string>
|
||||
<string name="settings_monitor_mode_manual_label">وقتی برنامه باز است</string>
|
||||
<string name="settings_monitor_mode_automatic_label">وقتی دستگاه متصل است</string>
|
||||
<string name="settings_monitor_mode_always_label">همیشه</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">وقتی دیده شود</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">کیس باز است</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">در گوش</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">شفافیت</string>
|
||||
<string name="anc_mode_adaptive">تطبیقی</string>
|
||||
<string name="conversation_awareness_label">آگاهی مکالمه</string>
|
||||
<string name="settings_conversation_action_label">وقتی شروع به صحبت میکنید</string>
|
||||
<string name="settings_conversation_action_nothing_label">هیچ کاری نکن</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">کاهش صدا</string>
|
||||
<string name="settings_conversation_action_pause_label">توقف رسانه</string>
|
||||
<string name="settings_conversation_volume_reduction_label">میزان کاهش صدا</string>
|
||||
<string name="signal_badge_ble_cd">اسکن BLE فعال است</string>
|
||||
<string name="signal_badge_key_irk_cd">هویت تأیید شد</string>
|
||||
<string name="signal_badge_key_encrypted_cd">اتصال رمزگذاریشده</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">کهربی</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">از رنگهای تصویر پسزمینه استفاده میکند</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">پایش</string>
|
||||
<string name="settings_category_appearance_label">ظاهر</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">تغییرات ذخیرهنشده</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">عمومی</string>
|
||||
<string name="device_settings_microphone_mode_label">میکروفون</string>
|
||||
<string name="device_settings_microphone_mode_description">کدام AirPod به عنوان میکروفون استفاده میشود</string>
|
||||
<string name="device_settings_microphone_mode_description">کدام ایرباد به عنوان میکروفون استفاده میشود</string>
|
||||
<string name="device_settings_microphone_mode_auto">خودکار</string>
|
||||
<string name="device_settings_microphone_mode_right">راست</string>
|
||||
<string name="device_settings_microphone_mode_left">چپ</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Jos olet hiljattain ostanut, Google Playn synkronointi saattaa kestää hetken.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Yritä uudelleen muutaman minuutin kuluttua, jos ostoksesi ei näy.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Varmista, että olet kirjautunut sisään samalla Google-tilillä, jolla teit ostoksen.</string>
|
||||
<string name="settings_monitor_mode_label">Valvontatila</string>
|
||||
<string name="settings_monitor_mode_description">Missä olosuhteissa tämä sovellus valvoo Bluetooth-tietoja.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Lisäilmoitus</string>
|
||||
<string name="settings_monitor_connected_notification_description">Näyttää lisäilmoituksen, kun laite on yhdistetty. Tämä antaa sinun piilottaa pysyvän \"Ei laitteita\" -ilmoituksen poistamalla \"Laitteen tila\" -kanavan käytöstä.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Säilytä ilmoitus yhteyden katkaisun jälkeen</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Automaattinen tauko</string>
|
||||
<string name="settings_autopause_description">Keskeytä ääni, kun poistat laitteen korvastasi.</string>
|
||||
<string name="settings_autopplay_label">Automaattinen toisto</string>
|
||||
<string name="settings_autoplay_description">Aloita äänentoisto, kun laitetta käytetään.</string>
|
||||
<string name="settings_autoplay_description">Jatkaa musiikin toistoa, kun puet nappikuulokkeet uudelleen korviin – mutta vain jos Automaattinen tauko pysäytti sen. Itse käynnistämäsi tauot (puhelin, AirPods-varsi, uni) pysyvät tauolla.</string>
|
||||
<string name="settings_start_music_on_wear_label">Käynnistä musiikki pukiessa</string>
|
||||
<string name="settings_start_music_on_wear_description">Yrittää aina toistaa musiikkia, kun puet kuulokkeet korviin – myös manuaalisen tauon jälkeen.</string>
|
||||
<string name="settings_eardetection_info_label">Huomautus korvan tunnistuksesta</string>
|
||||
<string name="settings_eardetection_info_description">Jos korvan tunnistus toimii vain yhdelle kuulokkeelle, tämä on Applen rajoitus. Vain \"ensisijainen kuuloke\" (jota käytetään mikrofonina) tunnistetaan. Määritä Apple-laitteissa: Asetukset → Bluetooth → AirPods → Mikrofoni.</string>
|
||||
<string name="settings_fake_data_label">Valetiedot</string>
|
||||
<string name="settings_fake_data_description">Näytä valetietoja, eli simuloi laitteita, joita ei ole olemassa.</string>
|
||||
<string name="settings_debug_label">Virheenkorjausasetukset</string>
|
||||
<string name="settings_debug_description">Lisäasetukset sovelluksen ongelmien vianmääritykseen.</string>
|
||||
<string name="settings_signal_minimum_label">Signaalin vähimmäislaatu</string>
|
||||
<string name="settings_signal_minimum_description">Signaalin vähimmäislaatu, joka laitteella on oltava, jotta se katsotaan omaksesi.</string>
|
||||
<string name="settings_autoconnect_label">Automaattinen yhdistäminen</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Näytä yhteyden ponnahdusikkuna</string>
|
||||
<string name="settings_popup_connected_description">Näytä ponnahdusikkuna, kun laite yhdistetään ensimmäisen kerran.</string>
|
||||
<string name="settings_popup_info_not_in_app">Ponnahdusikkunat näytetään vain, kun et ole sovelluksessa.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Ponnahdusikkunat vaativat monitorin toimiakseen. Monitorintilaksesi on asetettu \"Kun sovellus on auki\", joka pysäyttää monitorin, kun poistut sovelluksesta.</string>
|
||||
<string name="general_fix_it_action">Korjaa se</string>
|
||||
<string name="device_settings_experimental_title">Kokeellinen ominaisuus</string>
|
||||
<string name="device_settings_experimental_description">Tätä ominaisuutta ei ole vielä testattu kaikilla laitteilla. Jos jokin ei toimi oikein, avaa ongelmaraportti virheenkorjauslokilla.</string>
|
||||
<string name="device_settings_experimental_action">Avaa ongelmaseuranta</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Kiitokset</string>
|
||||
<string name="settings_debug_autoreports_label">Automaattiset virheraportit</string>
|
||||
<string name="settings_debug_autoreports_description">Raportoi ongelmat automaattisesti, esim. tiedot sovelluksen kaatumisesta, jotta voin selvittää, miten se korjataan.</string>
|
||||
<string name="settings_debug_mode_label">Virheenkorjaustila</string>
|
||||
<string name="settings_debug_mode_description">Näytä lisätietoja ongelmien vianmääritykseen.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Suodattamattomat BLE-tiedot</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Poista kaikki suodattimet BLE-skannerista näyttääksesi kaikki lähetetyt BLE-tiedot. Hyödyllinen uusien kuuloketyyppien tuen lisäämiseen.</string>
|
||||
<string name="settings_compatibility_mode_label">Yhteensopivuustila</string>
|
||||
<string name="settings_compatibility_mode_description">Poista optimoinnit käytöstä yhteensopivuuden parantamiseksi. Kokeile tätä, jos et näe mitään tietoja.</string>
|
||||
<string name="help_translate_label">Käännös</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Tämä widget vaatii suoran yhteyden (AAP) laitteeseesi. Varmista, että laitteesi on pariliitetty ja yhdistetty sovelluksessa ennen tämän widgetin käyttöä.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Tämä laite ei tue melunhallintaa</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Ei yhdistetty</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Lähellä, mutta ei yhdistetty</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Ei lähellä</string>
|
||||
<string name="anc_widget_aap_connecting_label">Yhdistetään…</string>
|
||||
<string name="tile_anc_label">Melunhallinta</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Lupa vaaditaan</string>
|
||||
<string name="tile_anc_subtitle_no_device">Ei laitetta</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Ei melunhallintaa</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth pois</string>
|
||||
<string name="widget_config_screen_title">Widgetin määritys</string>
|
||||
<string name="widget_configuration_title">Valitse laite</string>
|
||||
<string name="widget_configuration_description">Valitse, minkä laiteprofiilin tämä widget näyttää.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Seuraava lupa vaaditaan:</string>
|
||||
<string name="permission_system_alert_window_label">Järjestelmän hälytysikkuna</string>
|
||||
<string name="permission_system_alert_window_description">Salli CAPod-sovelluksen piirtää muiden sovellusten päälle mahdollistaakseen \"Näytä ponnahdusikkuna\" -ominaisuuden.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Kun sovellus on auki</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Kun laite on yhdistetty</string>
|
||||
<string name="settings_monitor_mode_always_label">Aina</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Kun havaitaan</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Kotelo on auki</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Korvassa</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Läpikuuluvuus</string>
|
||||
<string name="anc_mode_adaptive">Mukautuva</string>
|
||||
<string name="conversation_awareness_label">Keskustelutietoisuus</string>
|
||||
<string name="settings_conversation_action_label">Kun aloitat puhumisen</string>
|
||||
<string name="settings_conversation_action_nothing_label">Älä tee mitään</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Laske äänenvoimakkuutta</string>
|
||||
<string name="settings_conversation_action_pause_label">Keskeytä media</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Äänenvoimakkuuden vähennys</string>
|
||||
<string name="signal_badge_ble_cd">BLE-skannaus aktiivinen</string>
|
||||
<string name="signal_badge_key_irk_cd">Henkilöllisyys vahvistettu</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Salattu yhteys</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Ambra</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Käyttää taustakuvan värejä</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Valvonta</string>
|
||||
<string name="settings_category_appearance_label">Ulkoasu</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Tallentamattomat muutokset</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Yleiset</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofoni</string>
|
||||
<string name="device_settings_microphone_mode_description">Kumpi AirPod toimii mikrofonina</string>
|
||||
<string name="device_settings_microphone_mode_description">Mikä kuuloke toimii mikrofonina</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automaattinen</string>
|
||||
<string name="device_settings_microphone_mode_right">Oikea</string>
|
||||
<string name="device_settings_microphone_mode_left">Vasen</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Kung nabili mo kamakailan, maaaring tumagal ng ilang sandali para ma-sync ng Google Play.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Subukang muli pagkatapos ng ilang minuto kung hindi lumabas ang iyong pagbili.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Tiyaking naka-sign in ka sa parehong Google account na ginamit sa pagbili.</string>
|
||||
<string name="settings_monitor_mode_label">Mode ng monitor</string>
|
||||
<string name="settings_monitor_mode_description">Sa ilalim ng anong mga pangyayari mino-monitor ng app na ito ang data ng Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Karagdagang notipikasyon</string>
|
||||
<string name="settings_monitor_connected_notification_description">Nagpapakita ng karagdagang notipikasyon kapag konektado ang isang device. Pinapayagan ka nitong itago ang permanenteng \"Walang mga device\" na notipikasyon sa pamamagitan ng pag-disable sa \"Katayuan ng device\" na channel.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Panatilihin ang notipikasyon pagkatapos mag-disconnect</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Auto pause</string>
|
||||
<string name="settings_autopause_description">I-pause ang audio kapag inaalis ang device sa iyong tainga.</string>
|
||||
<string name="settings_autopplay_label">Auto play</string>
|
||||
<string name="settings_autoplay_description">Simulan ang pag-playback ng audio kapag suot ang device.</string>
|
||||
<string name="settings_autoplay_description">I-resume ang musika kapag suot mo ulit ang iyong pods, pero tanging kung ang Auto pause ang huminto nito. Ang mga pause na ikaw mismo ang nag-trigger (telepono, AirPods stem, tulog) ay nananatiling naka-pause.</string>
|
||||
<string name="settings_start_music_on_wear_label">Simulan ang musika kapag suot</string>
|
||||
<string name="settings_start_music_on_wear_description">Palaging sinusubukang i-play ang musika kapag nilagay mo ang iyong pods, kahit pagkatapos ng manu-manong pause.</string>
|
||||
<string name="settings_eardetection_info_label">Paalala sa ear detection</string>
|
||||
<string name="settings_eardetection_info_description">Kung ang ear detection ay gumagana lang para sa isang pod, ito ay limitasyon ng Apple. Tanging ang \"pangunahing pod\" (ginagamit para sa mikropono) lang ang nadedetect. I-configure sa mga Apple device: Settings → Bluetooth → AirPods → Microphone.</string>
|
||||
<string name="settings_fake_data_label">Pekeng data</string>
|
||||
<string name="settings_fake_data_description">Magpakita ng pekeng data, ibig sabihin, gayahin ang mga device na wala.</string>
|
||||
<string name="settings_debug_label">Mga setting ng debug</string>
|
||||
<string name="settings_debug_description">Mga karagdagang setting para makatulong sa pag-troubleshoot ng mga isyu sa app.</string>
|
||||
<string name="settings_signal_minimum_label">Minimum na kalidad ng signal</string>
|
||||
<string name="settings_signal_minimum_description">Ang minimum na kalidad ng signal na kailangan ng isang device para maituring na sa iyo.</string>
|
||||
<string name="settings_autoconnect_label">Auto connect</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Ipakita ang connection popup</string>
|
||||
<string name="settings_popup_connected_description">Magpakita ng popup kapag unang kumonekta ang device.</string>
|
||||
<string name="settings_popup_info_not_in_app">Ang mga popup ay ipinapakita lamang kapag wala ka sa app.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Ang mga popup ay nangangailangan ng monitor na tumatakbo. Ang iyong monitor mode ay nakatakda sa \"When app is open\", na nagpapatigil ng monitor kapag umalis ka sa app.</string>
|
||||
<string name="general_fix_it_action">Ayusin ito</string>
|
||||
<string name="device_settings_experimental_title">Pang-eksperimentong tampok</string>
|
||||
<string name="device_settings_experimental_description">Ang tampok na ito ay hindi pa nasubok sa lahat ng device. Kung may hindi gumagana nang tama, mangyaring magbukas ng isyu na may debug log.</string>
|
||||
<string name="device_settings_experimental_action">Buksan ang Issue Tracker</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Mga Pasasalamat</string>
|
||||
<string name="settings_debug_autoreports_label">Mga awtomatikong ulat ng bug</string>
|
||||
<string name="settings_debug_autoreports_description">Awtomatikong nag-uulat ng mga isyu, hal. mga detalye sa isang pag-crash ng app para malaman ko kung paano ito ayusin.</string>
|
||||
<string name="settings_debug_mode_label">Debug mode</string>
|
||||
<string name="settings_debug_mode_description">Magpakita ng karagdagang impormasyon para sa pag-troubleshoot ng mga isyu.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Hindi na-filter na BLE data</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Alisin ang anumang mga filter mula sa BLE scanner para ipakita ang lahat ng na-broadcast na BLE data. Kapaki-pakinabang para magdagdag ng suporta para sa mga bagong uri ng headphone.</string>
|
||||
<string name="settings_compatibility_mode_label">Compatibility mode</string>
|
||||
<string name="settings_compatibility_mode_description">I-disable ang mga optimization para mapabuti ang compatibility. Subukan ito kung wala kang nakikitang data.</string>
|
||||
<string name="help_translate_label">Pagsasalin</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Ang widget na ito ay nangangailangan ng direktang koneksyon (AAP) sa iyong device. Siguraduhing ang iyong device ay naka-pair at nakakonekta sa app bago gamitin ang widget na ito.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Hindi sinusuportahan ng device na ito ang noise control</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Hindi nakakonekta</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Malapit ngunit hindi nakakonekta</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Hindi malapit</string>
|
||||
<string name="anc_widget_aap_connecting_label">Kumukonekta…</string>
|
||||
<string name="tile_anc_label">Kontrol ng Ingay</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Kailangan ng pahintulot</string>
|
||||
<string name="tile_anc_subtitle_no_device">Walang device</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Walang kontrol ng ingay</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth ay naka-off</string>
|
||||
<string name="widget_config_screen_title">Pagsasaayos ng Widget</string>
|
||||
<string name="widget_configuration_title">Pumili ng Device</string>
|
||||
<string name="widget_configuration_description">Piliin kung aling device profile ang ipapakita ng widget na ito.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Kailangan ang sumusunod na pahintulot:</string>
|
||||
<string name="permission_system_alert_window_label">System Alert Window</string>
|
||||
<string name="permission_system_alert_window_description">Payagan ang CAPod na mag-draw sa ibabaw ng ibang mga app para maging posible ang feature na \"Ipakita ang PopUp\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">Kapag bukas ang app</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Kapag konektado ang device</string>
|
||||
<string name="settings_monitor_mode_always_label">Palagi</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Kapag nakita</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Bukas ang case</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Nasa tainga</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Transparency</string>
|
||||
<string name="anc_mode_adaptive">Adaptive</string>
|
||||
<string name="conversation_awareness_label">Conversation Awareness</string>
|
||||
<string name="settings_conversation_action_label">Kapag nagsimula kang magsalita</string>
|
||||
<string name="settings_conversation_action_nothing_label">Huwag gumawa ng anuman</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Ibaba ang volume</string>
|
||||
<string name="settings_conversation_action_pause_label">I-pause ang media</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Pagbabawas ng volume</string>
|
||||
<string name="signal_badge_ble_cd">Aktibo ang BLE scan</string>
|
||||
<string name="signal_badge_key_irk_cd">Na-verify ang pagkakakilanlan</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Naka-encrypt na koneksyon</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Amber</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Gumagamit ng mga kulay ng wallpaper</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Pagmo-monitor</string>
|
||||
<string name="settings_category_appearance_label">Hitsura</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Mga Hindi Na-save na Pagbabago</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Pangkalahatan</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikropono</string>
|
||||
<string name="device_settings_microphone_mode_description">Aling AirPod ang ginagamit bilang mikropono</string>
|
||||
<string name="device_settings_microphone_mode_description">Kung aling earbud ang ginagamit bilang mikropono</string>
|
||||
<string name="device_settings_microphone_mode_auto">Auto</string>
|
||||
<string name="device_settings_microphone_mode_right">Kanan</string>
|
||||
<string name="device_settings_microphone_mode_left">Kaliwa</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Si l’achat est récent, Google Play peut mettre du temps à synchroniser.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Si votre achat n’apparaît pas, réessayez dans quelques minutes.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Le même compte Google doit être utilisé pour l’achat et la connexion.</string>
|
||||
<string name="settings_monitor_mode_label">Mode surveillance</string>
|
||||
<string name="settings_monitor_mode_description">Les circonstances de surveillance des données Bluetooth par l’appli.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Notification supplémentaire</string>
|
||||
<string name="settings_monitor_connected_notification_description">Affiche une notification supplémentaire si un appareil est connecté. Cela vous permet de masquer la notification permanente « Aucun appareil » en désactivant le canal « État de l’appareil ».</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Garder la notification après déconnexion</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Pause automatique</string>
|
||||
<string name="settings_autopause_description">Mettre le son en pause si vous ôtez l’appareil de votre oreille.</string>
|
||||
<string name="settings_autopplay_label">Lecture automatique</string>
|
||||
<string name="settings_autoplay_description">Démarrer la lecture du son quand l’appareil est porté.</string>
|
||||
<string name="settings_autoplay_description">Reprend la musique quand tu remets tes pods, mais seulement si la pause automatique l’a arrêtée. Les pauses que tu as déclenchées toi-même (téléphone, tige AirPods, veille) restent en pause.</string>
|
||||
<string name="settings_start_music_on_wear_label">Lancer la musique au port</string>
|
||||
<string name="settings_start_music_on_wear_description">Essaie toujours de lancer la musique quand tu mets tes pods, même après une pause manuelle.</string>
|
||||
<string name="settings_eardetection_info_label">Note de détection de l’oreille</string>
|
||||
<string name="settings_eardetection_info_description">Si la détection de l’oreille ne fonctionne que pour un seul AirPod, cela est causé par une limitation d’Apple. Seul « l’AirPod principal » (utilisé pour le microphone) est détecté. Configurez dans les appareils Apple : Paramètres → Bluetooth → AirPods → Microphone.</string>
|
||||
<string name="settings_fake_data_label">Fausses données</string>
|
||||
<string name="settings_fake_data_description">Afficher les fausses données, c.-à-d. simuler les appareils qui n’existent pas.</string>
|
||||
<string name="settings_debug_label">Paramètres de débogage</string>
|
||||
<string name="settings_debug_description">Autres paramètres pour aider à diagnostiquer les problèmes de l’appli.</string>
|
||||
<string name="settings_signal_minimum_label">Qualité minimale du signal</string>
|
||||
<string name="settings_signal_minimum_description">Qualité minimale du signal qu’un appareil doit émettre pour être considéré le vôtre.</string>
|
||||
<string name="settings_autoconnect_label">Connexion automatique</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Afficher une fenêtre de connection</string>
|
||||
<string name="settings_popup_connected_description">Afficher une fenêtre contextuelle quand l’appareil se connecte pour la première fois.</string>
|
||||
<string name="settings_popup_info_not_in_app">Les popups ne sont affichées que lorsque vous n\'êtes pas dans l\'application.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Les popups nécessitent que le moniteur soit en cours d\'exécution. Votre mode moniteur est réglé sur « Quand l\'application est ouverte », ce qui arrête le moniteur lorsque vous quittez l\'application.</string>
|
||||
<string name="general_fix_it_action">Corriger</string>
|
||||
<string name="device_settings_experimental_title">Fonctionnalité expérimentale</string>
|
||||
<string name="device_settings_experimental_description">Cette fonctionnalité n\'a pas encore été testée sur tous les appareils. Si quelque chose ne fonctionne pas correctement, veuillez ouvrir un ticket avec un journal de débogage.</string>
|
||||
<string name="device_settings_experimental_action">Ouvrir le suivi des problèmes</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Remerciements</string>
|
||||
<string name="settings_debug_autoreports_label">Relevés de bogue automatiques</string>
|
||||
<string name="settings_debug_autoreports_description">Signale automatiquement les problèmes, p. ex., les détails d’un plantage de l’appli, afin que je puisse essayer de les corriger.</string>
|
||||
<string name="settings_debug_mode_label">Mode de débogage</string>
|
||||
<string name="settings_debug_mode_description">Afficher des renseignements supplémentaires pour dépanner les problèmes.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Données BÉB non filtrées</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Supprimer tous les filtres de l’analyseur BÉB pour afficher toutes les données BÉB diffusées. Utile pour prendre en charge les nouveaux types de casques-micros.</string>
|
||||
<string name="settings_compatibility_mode_label">Mode de compatibilité</string>
|
||||
<string name="settings_compatibility_mode_description">Désactiver les optimisations pour améliorer la compatibilité. À essayer si vous ne voyez aucune donnée.</string>
|
||||
<string name="help_translate_label">Traduction</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Ce widget nécessite une connexion directe (AAP) à votre appareil. Assurez-vous que votre appareil est couplé et connecté dans l\'appli avant d\'utiliser ce widget.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Cet appareil ne prend pas en charge le contrôle du bruit</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Non connecté</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">À proximité mais non connecté</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Pas à proximité</string>
|
||||
<string name="anc_widget_aap_connecting_label">Connexion en cours…</string>
|
||||
<string name="tile_anc_label">Contrôle du bruit</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Une autorisation est nécessaire</string>
|
||||
<string name="tile_anc_subtitle_no_device">Aucun appareil</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Pas de contrôle du bruit</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth désactivé</string>
|
||||
<string name="widget_config_screen_title">Configuration du widget</string>
|
||||
<string name="widget_configuration_title">Choisir un appareil</string>
|
||||
<string name="widget_configuration_description">Choisissez le profil d’appareil que ce widget doit afficher.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">L’autorisation suivante est nécessaire :</string>
|
||||
<string name="permission_system_alert_window_label">Fenêtre d’alerte système</string>
|
||||
<string name="permission_system_alert_window_description">Permettre à CAPod d’apparaître par-dessus les autres applis pour rendre la fonction « Afficher une fenêtre contextuelle » possible.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Si l’appli est ouverte</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Si l’appareil est connecté</string>
|
||||
<string name="settings_monitor_mode_always_label">Toujours</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">S’il est visible</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Si l’étui est ouvert</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">S’il est porté</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Transparence</string>
|
||||
<string name="anc_mode_adaptive">Adaptatif</string>
|
||||
<string name="conversation_awareness_label">Sensibilisation aux conversations</string>
|
||||
<string name="settings_conversation_action_label">Quand tu commences à parler</string>
|
||||
<string name="settings_conversation_action_nothing_label">Ne rien faire</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Baisser le volume</string>
|
||||
<string name="settings_conversation_action_pause_label">Mettre le média en pause</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Réduction du volume</string>
|
||||
<string name="signal_badge_ble_cd">Analyse BLE active</string>
|
||||
<string name="signal_badge_key_irk_cd">Identité vérifiée</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Connexion chiffrée</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Ambre</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Utilise les couleurs du fond d’écran</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Surveillance</string>
|
||||
<string name="settings_category_appearance_label">Apparence</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Des changements ne sont pas enregistrés</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Général</string>
|
||||
<string name="device_settings_microphone_mode_label">Microphone</string>
|
||||
<string name="device_settings_microphone_mode_description">Quel AirPod est utilisé comme microphone</string>
|
||||
<string name="device_settings_microphone_mode_description">Quel écouteur est utilisé comme microphone</string>
|
||||
<string name="device_settings_microphone_mode_auto">Auto</string>
|
||||
<string name="device_settings_microphone_mode_right">Droite</string>
|
||||
<string name="device_settings_microphone_mode_left">Gauche</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Se compraches recentemente, pode tardar un momento en que Google Play sincronice.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Téntao de novo en poucos minutos se a túa compra non aparece.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Asegúrate de ter iniciado sesión coa mesma conta de Google usada para a compra.</string>
|
||||
<string name="settings_monitor_mode_label">Modo de supervisión</string>
|
||||
<string name="settings_monitor_mode_description">Baixo que circunstancias esta aplicación supervisa os datos Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Notificación adicional</string>
|
||||
<string name="settings_monitor_connected_notification_description">Mostra unha notificación adicional cando un dispositivo está conectado. Isto permíteche ocultar a notificación permanente de \"Sen dispositivos\" desactivando a canle \"Estado do dispositivo\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Manter notificación tras desconexión</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Pausa automática</string>
|
||||
<string name="settings_autopause_description">Pausar o son ao quitar o dispositivo da orella.</string>
|
||||
<string name="settings_autopplay_label">Reprodución automática</string>
|
||||
<string name="settings_autoplay_description">Iniciar a reprodución de son cando se leva posto o dispositivo.</string>
|
||||
<string name="settings_autoplay_description">Retoma a música ao poñer os auriculares de novo, pero só se a pausa automática a detivo. As pausas que activaches ti mesmo (teléfono, botón dos AirPods, suspensión) permanecen en pausa.</string>
|
||||
<string name="settings_start_music_on_wear_label">Iniciar música ao poñer</string>
|
||||
<string name="settings_start_music_on_wear_description">Sempre intenta reproducir música cando pon os auriculares, incluso despois dunha pausa manual.</string>
|
||||
<string name="settings_eardetection_info_label">Nota sobre detección no oído</string>
|
||||
<string name="settings_eardetection_info_description">Se a detección no oído só funciona para un auricular, esta é unha limitación de Apple. Só se detecta o \"auricular principal\" (usado para o micrófono). Configúrao en dispositivos Apple: Axustes → Bluetooth → AirPods → Micrófono.</string>
|
||||
<string name="settings_fake_data_label">Datos falsos</string>
|
||||
<string name="settings_fake_data_description">Mostrar datos falsos, é dicir, simular dispositivos que non existen.</string>
|
||||
<string name="settings_debug_label">Configuración de depuración</string>
|
||||
<string name="settings_debug_description">Configuración adicional para axudar a solucionar problemas coa aplicación.</string>
|
||||
<string name="settings_signal_minimum_label">Calidade mínima do sinal</string>
|
||||
<string name="settings_signal_minimum_description">A calidade mínima do sinal que un dispositivo necesita ter para ser considerado teu.</string>
|
||||
<string name="settings_autoconnect_label">Conexión automática</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Mostrar ventá emerxente de conexión</string>
|
||||
<string name="settings_popup_connected_description">Mostrar unha ventá emerxente cando o dispositivo se conecta por primeira vez.</string>
|
||||
<string name="settings_popup_info_not_in_app">As ventás emerxentes só se mostran cando non estás na aplicación.</string>
|
||||
<string name="settings_popup_warning_manual_mode">As ventás emerxentes requiren que o monitor estea en execución. O teu modo de monitor está configurado como \"Cando a aplicación está aberta\", o que detén o monitor cando saes da aplicación.</string>
|
||||
<string name="general_fix_it_action">Arranxalo</string>
|
||||
<string name="device_settings_experimental_title">Función experimental</string>
|
||||
<string name="device_settings_experimental_description">Esta función aínda non foi probada en todos os dispositivos. Se algo non funciona correctamente, abre un problema co rexistro de depuración.</string>
|
||||
<string name="device_settings_experimental_action">Abrir o rastreador de problemas</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Agradecementos</string>
|
||||
<string name="settings_debug_autoreports_label">Informes de erros automáticos</string>
|
||||
<string name="settings_debug_autoreports_description">Informa automaticamente de problemas, p. ex., detalles sobre un fallo da aplicación para que poida descubrir como solucionalo.</string>
|
||||
<string name="settings_debug_mode_label">Modo de depuración</string>
|
||||
<string name="settings_debug_mode_description">Mostrar información adicional para solucionar problemas.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Datos BLE sen filtrar</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Elimina calquera filtro do escáner BLE para mostrar todos os datos BLE emitidos. Útil para engadir soporte para novos tipos de auriculares.</string>
|
||||
<string name="settings_compatibility_mode_label">Modo de compatibilidade</string>
|
||||
<string name="settings_compatibility_mode_description">Desactivar as optimizacións para mellorar a compatibilidade. Proba isto se non ves ningún dato.</string>
|
||||
<string name="help_translate_label">Tradución</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Este widget require unha conexión directa (AAP) ao teu dispositivo. Asegúrate de que o dispositivo está emparellado e conectado na aplicación antes de usar este widget.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Este dispositivo non admite o control de ruído</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Non conectado</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Preto pero non conectado</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Non preto</string>
|
||||
<string name="anc_widget_aap_connecting_label">Conectando…</string>
|
||||
<string name="tile_anc_label">Control de ruído</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Permiso necesario</string>
|
||||
<string name="tile_anc_subtitle_no_device">Sen dispositivo</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Sen control de ruído</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth desactivado</string>
|
||||
<string name="widget_config_screen_title">Configuración do widget</string>
|
||||
<string name="widget_configuration_title">Seleccionar dispositivo</string>
|
||||
<string name="widget_configuration_description">Escolle que perfil de dispositivo debe mostrar este widget.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">É necesario o seguinte permiso:</string>
|
||||
<string name="permission_system_alert_window_label">Xanela de alerta do sistema</string>
|
||||
<string name="permission_system_alert_window_description">Permitir que CAPod debuxe sobre outras aplicacións para facer posible a función \"Mostrar PopUp\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">Cando a aplicación está aberta</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Cando o dispositivo está conectado</string>
|
||||
<string name="settings_monitor_mode_always_label">Sempre</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Cando se ve</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">A funda está aberta</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">No oído</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Transparencia</string>
|
||||
<string name="anc_mode_adaptive">Adaptativo</string>
|
||||
<string name="conversation_awareness_label">Consciencia da conversa</string>
|
||||
<string name="settings_conversation_action_label">Cando comezas a falar</string>
|
||||
<string name="settings_conversation_action_nothing_label">Non facer nada</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Baixar volume</string>
|
||||
<string name="settings_conversation_action_pause_label">Pausar multimedia</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Redución de volume</string>
|
||||
<string name="signal_badge_ble_cd">Exploración BLE activa</string>
|
||||
<string name="signal_badge_key_irk_cd">Identidade verificada</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Conexión cifrada</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Ámbar</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Usa as cores do fondo de pantalla</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Monitorización</string>
|
||||
<string name="settings_category_appearance_label">Aparencia</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Cambios sen gardar</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Xeral</string>
|
||||
<string name="device_settings_microphone_mode_label">Micrófono</string>
|
||||
<string name="device_settings_microphone_mode_description">Que AirPod se usa como micrófono</string>
|
||||
<string name="device_settings_microphone_mode_description">Cal auricular se usa como micrófono</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automático</string>
|
||||
<string name="device_settings_microphone_mode_right">Dereito</string>
|
||||
<string name="device_settings_microphone_mode_left">Esquerdo</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">यदि आपने हाल ही में खरीदारी की है, तो Google Play को सिंक करने में कुछ समय लग सकता है।</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">यदि आपकी खरीद दिखाई नहीं दे रही है, तो कुछ मिनट बाद पुनः प्रयास करें।</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">सुनिश्चित करें कि आप उसी Google खाते से साइन इन हैं जिससे खरीदारी की गई थी।</string>
|
||||
<string name="settings_monitor_mode_label">मॉनिटर मोड</string>
|
||||
<string name="settings_monitor_mode_description">यह ऐप किन परिस्थितियों में ब्लूटूथ डेटा की निगरानी करता है।</string>
|
||||
<string name="settings_monitor_connected_notification_label">अतिरिक्त सूचना</string>
|
||||
<string name="settings_monitor_connected_notification_description">जब कोई डिवाइस कनेक्ट होता है तो एक अतिरिक्त सूचना दिखाता है। यह आपको \"डिवाइस स्थिति\" चैनल को अक्षम करके स्थायी \"कोई डिवाइस नहीं\" सूचना को छिपाने की अनुमति देता है।</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">डिस्कनेक्ट होने के बाद सूचना बनाए रखें</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">ऑटो-पॉज़</string>
|
||||
<string name="settings_autopause_description">डिवाइस को अपने कान से हटाने पर ऑडियो रोकें।</string>
|
||||
<string name="settings_autopplay_label">ऑटो-प्ले</string>
|
||||
<string name="settings_autoplay_description">डिवाइस पहनने पर ऑडियो प्लेबैक शुरू करें।</string>
|
||||
<string name="settings_autoplay_description">अपने पॉड्स फिर पहनने पर संगीत फिर से शुरू करें, लेकिन केवल तभी जब ऑटो पॉज़ ने इसे रोका हो। आपके द्वारा स्वयं किए गए पॉज़ (फ़ोन, AirPods स्टेम, स्लीप) पॉज़ रहेंगे।</string>
|
||||
<string name="settings_start_music_on_wear_label">पहनने पर संगीत शुरू करें</string>
|
||||
<string name="settings_start_music_on_wear_description">जब आप अपने पॉड्स पहनते हैं तो हमेशा संगीत चलाने की कोशिश करता है, मैन्युअल पॉज़ के बाद भी।</string>
|
||||
<string name="settings_eardetection_info_label">कान का पता लगाने की जानकारी</string>
|
||||
<string name="settings_eardetection_info_description">यदि कान का पता लगाना केवल एक पॉड के लिए काम करता है, तो यह Apple की सीमा है। केवल \"प्राथमिक पॉड\" (माइक्रोफ़ोन के लिए उपयोग किया जाने वाला) का पता लगाया जाता है। Apple डिवाइस पर कॉन्फ़िगर करें: सेटिंग्स → Bluetooth → AirPods → माइक्रोफ़ोन।</string>
|
||||
<string name="settings_fake_data_label">नकली डेटा</string>
|
||||
<string name="settings_fake_data_description">नकली डेटा दिखाएं, यानी उन डिवाइसों का अनुकरण करें जो मौजूद नहीं हैं।</string>
|
||||
<string name="settings_debug_label">डीबग सेटिंग्स</string>
|
||||
<string name="settings_debug_description">ऐप के साथ समस्याओं के निवारण में मदद करने के लिए अतिरिक्त सेटिंग्स।</string>
|
||||
<string name="settings_signal_minimum_label">न्यूनतम सिग्नल गुणवत्ता</string>
|
||||
<string name="settings_signal_minimum_description">न्यूनतम सिग्नल गुणवत्ता जो किसी डिवाइस के पास आपकी मानी जाने के लिए होनी चाहिए।</string>
|
||||
<string name="settings_autoconnect_label">ऑटो-कनेक्ट</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">कनेक्शन पॉपअप दिखाएं</string>
|
||||
<string name="settings_popup_connected_description">डिवाइस पहली बार कनेक्ट होने पर एक पॉपअप दिखाएं।</string>
|
||||
<string name="settings_popup_info_not_in_app">पॉपअप केवल तब दिखाए जाते हैं जब आप ऐप में नहीं होते।</string>
|
||||
<string name="settings_popup_warning_manual_mode">पॉपअप के लिए मॉनिटर का चलना आवश्यक है। आपका मॉनिटर मोड \"जब ऐप खुला हो\" पर सेट है, जो ऐप छोड़ने पर मॉनिटर बंद कर देता है।</string>
|
||||
<string name="general_fix_it_action">इसे ठीक करें</string>
|
||||
<string name="device_settings_experimental_title">प्रयोगात्मक फ़ीचर</string>
|
||||
<string name="device_settings_experimental_description">इस फ़ीचर को अभी सभी डिवाइस पर नहीं परखा गया है। यदि कुछ सही तरह से काम नहीं कर रहा, तो कृपया डीबग लॉग के साथ एक समस्या खोलें।</string>
|
||||
<string name="device_settings_experimental_action">इश्यू ट्रैकर खोलें</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">स्वीकृतियाँ</string>
|
||||
<string name="settings_debug_autoreports_label">स्वचालित बग रिपोर्ट</string>
|
||||
<string name="settings_debug_autoreports_description">समस्याओं की स्वचालित रूप से रिपोर्ट करता है, जैसे ऐप क्रैश पर विवरण ताकि मैं यह पता लगा सकूं कि इसे कैसे ठीक किया जाए।</string>
|
||||
<string name="settings_debug_mode_label">डीबग मोड</string>
|
||||
<string name="settings_debug_mode_description">समस्याओं के निवारण के लिए अतिरिक्त जानकारी दिखाएं।</string>
|
||||
<string name="settings_blescanner_unfiltered_label">अनफ़िल्टर्ड BLE डेटा</string>
|
||||
<string name="settings_blescanner_unfiltered_description">सभी प्रसारित BLE डेटा दिखाने के लिए BLE स्कैनर से किसी भी फ़िल्टर को हटा दें। नए हेडफ़ोन प्रकारों के लिए समर्थन जोड़ने के लिए उपयोगी है।</string>
|
||||
<string name="settings_compatibility_mode_label">संगतता मोड</string>
|
||||
<string name="settings_compatibility_mode_description">संगतता में सुधार के लिए अनुकूलन अक्षम करें। यदि आप कोई डेटा नहीं देख रहे हैं तो इसे आज़माएँ।</string>
|
||||
<string name="help_translate_label">अनुवाद</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">इस विजेट को आपके डिवाइस से सीधे कनेक्शन (AAP) की आवश्यकता है। इस विजेट का उपयोग करने से पहले सुनिश्चित करें कि आपका डिवाइस ऐप में पेयर और कनेक्ट है।</string>
|
||||
<string name="anc_widget_no_anc_support_label">यह डिवाइस शोर नियंत्रण का समर्थन नहीं करता</string>
|
||||
<string name="anc_widget_aap_not_connected_label">कनेक्ट नहीं है</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">पास में है लेकिन कनेक्ट नहीं है</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">पास में नहीं है</string>
|
||||
<string name="anc_widget_aap_connecting_label">कनेक्ट हो रहा है…</string>
|
||||
<string name="tile_anc_label">शोर नियंत्रण</string>
|
||||
<string name="tile_anc_subtitle_permission_required">अनुमति आवश्यक है</string>
|
||||
<string name="tile_anc_subtitle_no_device">उपकरण नहीं</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">कोई शोर नियंत्रण नहीं</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">ब्लूटूथ बंद है</string>
|
||||
<string name="widget_config_screen_title">विजेट कॉन्फ़िगरेशन</string>
|
||||
<string name="widget_configuration_title">डिवाइस चुनें</string>
|
||||
<string name="widget_configuration_description">चुनें कि यह विजेट कौन सा डिवाइस प्रोफ़ाइल प्रदर्शित करेगा।</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">निम्नलिखित अनुमति आवश्यक है:</string>
|
||||
<string name="permission_system_alert_window_label">सिस्टम अलर्ट विंडो</string>
|
||||
<string name="permission_system_alert_window_description">CAPod को अन्य ऐप्स के ऊपर ड्रॉ करने की अनुमति दें ताकि \"पॉपअप दिखाएं\" सुविधा संभव हो सके।</string>
|
||||
<string name="settings_monitor_mode_manual_label">जब ऐप खुला हो</string>
|
||||
<string name="settings_monitor_mode_automatic_label">जब डिवाइस कनेक्ट हो</string>
|
||||
<string name="settings_monitor_mode_always_label">हमेशा</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">जब देखा जाए</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">केस खुला है</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">कान में</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">पारदर्शिता</string>
|
||||
<string name="anc_mode_adaptive">अनुकूली</string>
|
||||
<string name="conversation_awareness_label">बातचीत जागरूकता</string>
|
||||
<string name="settings_conversation_action_label">जब आप बोलना शुरू करते हैं</string>
|
||||
<string name="settings_conversation_action_nothing_label">कुछ न करें</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">वॉल्यूम कम करें</string>
|
||||
<string name="settings_conversation_action_pause_label">मीडिया पॉज़ करें</string>
|
||||
<string name="settings_conversation_volume_reduction_label">वॉल्यूम कमी</string>
|
||||
<string name="signal_badge_ble_cd">BLE स्कैन सक्रिय</string>
|
||||
<string name="signal_badge_key_irk_cd">पहचान सत्यापित</string>
|
||||
<string name="signal_badge_key_encrypted_cd">एन्क्रिप्टेड कनेक्शन</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">एम्बर</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">वॉलपेपर रंगों का उपयोग करता है</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">मॉनिटरिंग</string>
|
||||
<string name="settings_category_appearance_label">दिखावट</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">असहेजे परिवर्तन</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">सामान्य</string>
|
||||
<string name="device_settings_microphone_mode_label">माइक्रोफ़ोन</string>
|
||||
<string name="device_settings_microphone_mode_description">कौन सा AirPod माइक्रोफ़ोन के रूप में उपयोग होता है</string>
|
||||
<string name="device_settings_microphone_mode_description">कौन सा ईयरबड माइक्रोफ़ोन के रूप में उपयोग किया जाता है</string>
|
||||
<string name="device_settings_microphone_mode_auto">स्वतः</string>
|
||||
<string name="device_settings_microphone_mode_right">दायाँ</string>
|
||||
<string name="device_settings_microphone_mode_left">बायाँ</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Ako ste nedavno kupili, može potrajati trenutak dok Google Play sinkronizira.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Pokušajte ponovo za nekoliko minuta ako vaša kupnja nije prikazana.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Provjerite jeste li prijavljeni s istim Google računom koji ste koristili za kupnju.</string>
|
||||
<string name="settings_monitor_mode_label">Način praćenja</string>
|
||||
<string name="settings_monitor_mode_description">Pod kojim okolnostima ova aplikacija prati Bluetooth podatke.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Dodatna obavijest</string>
|
||||
<string name="settings_monitor_connected_notification_description">Prikazuje dodatnu obavijest kada je uređaj povezan. To vam omogućuje da sakrijete trajnu obavijest \"Nema uređaja\" onemogućavanjem kanala \"Status uređaja\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Zadrži obavijest nakon prekida veze</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Automatska pauza</string>
|
||||
<string name="settings_autopause_description">Pauzirajte zvuk kada uklonite uređaj iz uha.</string>
|
||||
<string name="settings_autopplay_label">Automatska reprodukcija</string>
|
||||
<string name="settings_autoplay_description">Pokrenite reprodukciju zvuka kada se uređaj nosi.</string>
|
||||
<string name="settings_autoplay_description">Nastavi glazbu kad opet staviš slušalice, ali samo ako ju je zaustavio Auto pauza. Pauze koje si sam pokrenuo (telefon, AirPods drška, spavanje) ostaju pauzirane.</string>
|
||||
<string name="settings_start_music_on_wear_label">Pokreni glazbu pri nošenju</string>
|
||||
<string name="settings_start_music_on_wear_description">Uvijek pokušava reproducirati glazbu kad staviš slušalice, čak i nakon ručne pauze.</string>
|
||||
<string name="settings_eardetection_info_label">Napomena o detekciji uha</string>
|
||||
<string name="settings_eardetection_info_description">Ako detekcija uha radi samo za jednu slušalicu, to je ograničenje Applea. Samo \"primarna slušalica\" (korištena za mikrofon) se detektira. Konfigurirajte na Apple uređajima: Postavke → Bluetooth → AirPods → Mikrofon.</string>
|
||||
<string name="settings_fake_data_label">Lažni podaci</string>
|
||||
<string name="settings_fake_data_description">Prikaži lažne podatke, tj. simuliraj uređaje koji ne postoje.</string>
|
||||
<string name="settings_debug_label">Postavke za ispravljanje pogrešaka</string>
|
||||
<string name="settings_debug_description">Dodatne postavke za pomoć pri rješavanju problema s aplikacijom.</string>
|
||||
<string name="settings_signal_minimum_label">Minimalna kvaliteta signala</string>
|
||||
<string name="settings_signal_minimum_description">Minimalna kvaliteta signala koju uređaj mora imati da bi se smatrao vašim.</string>
|
||||
<string name="settings_autoconnect_label">Automatsko povezivanje</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Prikaži skočni prozor veze</string>
|
||||
<string name="settings_popup_connected_description">Prikaži skočni prozor kada se uređaj prvi put poveže.</string>
|
||||
<string name="settings_popup_info_not_in_app">Skočni prozori prikazuju se samo kada niste u aplikaciji.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Skočni prozori zahtijevaju pokrenuti monitor. Vaš način rada monitora postavljen je na \"Kada je aplikacija otvorena\", što zaustavlja monitor kada napustite aplikaciju.</string>
|
||||
<string name="general_fix_it_action">Popravi</string>
|
||||
<string name="device_settings_experimental_title">Eksperimentalna značajka</string>
|
||||
<string name="device_settings_experimental_description">Ova značajka još nije testirana na svim uređajima. Ako nešto ne radi ispravno, molimo otvorite prijavu s debug zapisnikom.</string>
|
||||
<string name="device_settings_experimental_action">Otvori praćenje problema</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Zahvale</string>
|
||||
<string name="settings_debug_autoreports_label">Automatska izvješća o pogreškama</string>
|
||||
<string name="settings_debug_autoreports_description">Automatski prijavljuje probleme, npr. detalje o rušenju aplikacije kako bih mogao shvatiti kako to popraviti.</string>
|
||||
<string name="settings_debug_mode_label">Način za ispravljanje pogrešaka</string>
|
||||
<string name="settings_debug_mode_description">Prikaži dodatne informacije za rješavanje problema.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Nefiltrirani BLE podaci</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Uklonite sve filtre iz BLE skenera kako biste prikazali sve emitirane BLE podatke. Korisno za dodavanje podrške za nove vrste slušalica.</string>
|
||||
<string name="settings_compatibility_mode_label">Način kompatibilnosti</string>
|
||||
<string name="settings_compatibility_mode_description">Onemogućite optimizacije kako biste poboljšali kompatibilnost. Pokušajte ovo ako ne vidite nikakve podatke.</string>
|
||||
<string name="help_translate_label">Prijevod</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Ovaj widget zahtijeva izravnu vezu (AAP) s vašim uređajem. Provjerite je li vaš uređaj uparen i povezan u aplikaciji prije korištenja ovog widgeta.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Ovaj uređaj ne podržava kontrolu buke</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Nije povezano</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">U blizini, ali nije povezano</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Nije u blizini</string>
|
||||
<string name="anc_widget_aap_connecting_label">Povezivanje…</string>
|
||||
<string name="tile_anc_label">Kontrola buke</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Potrebna dozvola</string>
|
||||
<string name="tile_anc_subtitle_no_device">Nema uređaja</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Nema kontrole buke</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth isključen</string>
|
||||
<string name="widget_config_screen_title">Konfiguracija widgeta</string>
|
||||
<string name="widget_configuration_title">Odaberi uređaj</string>
|
||||
<string name="widget_configuration_description">Odaberite koji profil uređaja ovaj widget treba prikazivati.</string>
|
||||
@@ -222,9 +219,6 @@
|
||||
<string name="permission_required_title">Sljedeća dozvola je potrebna:</string>
|
||||
<string name="permission_system_alert_window_label">Prozor sistemskog upozorenja</string>
|
||||
<string name="permission_system_alert_window_description">Dopustite CAPod-u crtanje preko drugih aplikacija kako bi omogućili značajku \"Prikaži skočni prozor\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">Kada je aplikacija otvorena</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Kada je uređaj povezan</string>
|
||||
<string name="settings_monitor_mode_always_label">Uvijek</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Kada je viđen</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Kućište je otvoreno</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">U uhu</string>
|
||||
@@ -256,6 +250,11 @@
|
||||
<string name="anc_mode_transparency">Transparentnost</string>
|
||||
<string name="anc_mode_adaptive">Prilagodljivo</string>
|
||||
<string name="conversation_awareness_label">Svjesnost razgovora</string>
|
||||
<string name="settings_conversation_action_label">Kad počneš govoriti</string>
|
||||
<string name="settings_conversation_action_nothing_label">Ne radi ništa</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Smanji glasnoću</string>
|
||||
<string name="settings_conversation_action_pause_label">Pauziraj medij</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Smanjenje glasnoće</string>
|
||||
<string name="signal_badge_ble_cd">BLE skeniranje aktivno</string>
|
||||
<string name="signal_badge_key_irk_cd">Identitet potvrđen</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Šifrirana veza</string>
|
||||
@@ -324,7 +323,6 @@
|
||||
<string name="ui_theme_color_amber_label">Jantar</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Koristi boje pozadine</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Praćenje</string>
|
||||
<string name="settings_category_appearance_label">Izgled</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Nespremljene promjene</string>
|
||||
@@ -475,7 +473,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Općenito</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">Koji se AirPod koristi kao mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">Koja slušalica se koristi kao mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automatski</string>
|
||||
<string name="device_settings_microphone_mode_right">Desni</string>
|
||||
<string name="device_settings_microphone_mode_left">Lijevi</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Ha nemrég vásároltál, a Google Play-nek egy pillanatra szüksége lehet a szinkronizáláshoz.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Próbálkozz újra néhány perc múlva, ha a vásárlás nem jelenik meg.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Győződj meg róla, hogy ugyanazzal a Google-fiókkal vagy bejelentkezve, amellyel a vásárlást végezted.</string>
|
||||
<string name="settings_monitor_mode_label">Monitor mód</string>
|
||||
<string name="settings_monitor_mode_description">Milyen körülmények között figyelje az alkalmazás a Bluetooth-adatokat.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Extra értesítés</string>
|
||||
<string name="settings_monitor_connected_notification_description">Extra értesítést jelenít meg, amikor egy eszköz csatlakozik. Ez lehetővé teszi az állandó \"Nincs eszköz\" értesítés elrejtését az \"Eszköz állapota\" csatorna letiltásával.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Értesítés megőrzése lecsatlakozás után</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Automatikus szünet</string>
|
||||
<string name="settings_autopause_description">Zene leállítása, amikor kiveszi a füléből az eszközt.</string>
|
||||
<string name="settings_autopplay_label">Automatikus lejátszás</string>
|
||||
<string name="settings_autoplay_description">Hanglejátszás elindítása, ha az eszköz viselve van.</string>
|
||||
<string name="settings_autoplay_description">Folytatja a zenét, ha újra felveszed a fülhallgatót, de csak akkor, ha az Auto szünet állította le. A te magad által kiváltott szünetek (telefon, AirPods szár, alvás) szüneteltetett állapotban maradnak.</string>
|
||||
<string name="settings_start_music_on_wear_label">Zene indítása felvételkor</string>
|
||||
<string name="settings_start_music_on_wear_description">Mindig megpróbál zenét lejátszani, ha felveszed a fülhallgatót, még kézi szünet után is.</string>
|
||||
<string name="settings_eardetection_info_label">Fülészlelési megjegyzés</string>
|
||||
<string name="settings_eardetection_info_description">Ha a fülészlelés csak az egyik fülhallgatóval működik, ez egy Apple korlátozás. Csak az \"elsődleges fülhallgató\" (mikrofonhoz használt) érzékelhető. Beállítás Apple eszközökön: Beállítások → Bluetooth → AirPods → Mikrofon.</string>
|
||||
<string name="settings_fake_data_label">Hamis adat</string>
|
||||
<string name="settings_fake_data_description">Hamis adatok megjelenítése, azaz olyan eszköz szimulálása, amely nem létezik.</string>
|
||||
<string name="settings_debug_label">Hibakeresési beállítások</string>
|
||||
<string name="settings_debug_description">További beállítások az alkalmazással kapcsolatos problémák megoldásához.</string>
|
||||
<string name="settings_signal_minimum_label">Minimális jelerősség</string>
|
||||
<string name="settings_signal_minimum_description">Vegye figyelembe a minimális jelerősséget, amelyre egy eszköznek szüksége van.</string>
|
||||
<string name="settings_autoconnect_label">Automatikus csatlakozás</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Előugró ablak csatlakozáskor</string>
|
||||
<string name="settings_popup_connected_description">Előugró ablak megjelenítése, amikor az eszköz először csatlakozik.</string>
|
||||
<string name="settings_popup_info_not_in_app">Az előugró ablakok csak akkor jelennek meg, ha nem tartózkodik az alkalmazásban.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Az előugró ablakokhoz futnia kell a monitornak. A monitor módja „Amikor az alkalmazás nyitva van”, ami leállítja a monitort, amikor elhagyja az alkalmazást.</string>
|
||||
<string name="general_fix_it_action">Javítás</string>
|
||||
<string name="device_settings_experimental_title">Kísérleti funkció</string>
|
||||
<string name="device_settings_experimental_description">Ezt a funkciót még nem tesztelték minden eszközön. Ha valami nem működik megfelelően, kérjük, nyiss egy hibajegyet hibakeresési naplóval.</string>
|
||||
<string name="device_settings_experimental_action">Hibajegykövetős megnyitása</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Köszönetnyilvánítás</string>
|
||||
<string name="settings_debug_autoreports_label">Automatikus hibajelentések</string>
|
||||
<string name="settings_debug_autoreports_description">Automatikusan jelenti a problémákat, például részleteket az alkalmazás összeomlásáról, hogy kitaláljam, hogyan javíthatom ki.</string>
|
||||
<string name="settings_debug_mode_label">Hibakeresési mód</string>
|
||||
<string name="settings_debug_mode_description">További információk megjelenítése a problémák hibaelhárításához.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Nem szűrt BLE adatok</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Minden szűrő eltávolítása a BLE szkennerből, hogy az összes adat megjelenjen. Hasznos új fejhallgató típusok támogatásához.</string>
|
||||
<string name="settings_compatibility_mode_label">Kompatibilitási mód</string>
|
||||
<string name="settings_compatibility_mode_description">A kompatibilitás javítása érdekében letiltja az optimalizálást. Próbálja ki ezt, ha nem lát semmilyen adatot.</string>
|
||||
<string name="help_translate_label">Fordítás</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Ez a widget közvetlen kapcsolatot (AAP) igényel az eszközödhöz. Győződj meg róla, hogy az eszköz párosítva és csatlakoztatva van az alkalmazásban a widget használata előtt.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Ez az eszköz nem támogatja a zajvezérlést</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Nincs csatlakoztatva</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">A közelben van, de nincs csatlakoztatva</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Nincs a közelben</string>
|
||||
<string name="anc_widget_aap_connecting_label">Csatlakozás…</string>
|
||||
<string name="tile_anc_label">Zajszabályozás</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Engedély szükséges</string>
|
||||
<string name="tile_anc_subtitle_no_device">Nincs eszköz</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Nincs zajszabályozás</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth kikapcsolva</string>
|
||||
<string name="widget_config_screen_title">Widget konfiguráció</string>
|
||||
<string name="widget_configuration_title">Eszköz kiválasztása</string>
|
||||
<string name="widget_configuration_description">Válassza ki, melyik eszközprofilt jelenítse meg ez a widget.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">A következő engedély szükséges:</string>
|
||||
<string name="permission_system_alert_window_label">Rendszer figyelmeztető ablak</string>
|
||||
<string name="permission_system_alert_window_description">Engedélyezze a CAPod-nak, hogy más alkalmazások fölé rajzoljon az \"Előugró ablak megjelenítése\" funkció lehetővé tételéhez.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Amikor az alkalmazás nyitva van</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Amikor az eszköz csatlakozik</string>
|
||||
<string name="settings_monitor_mode_always_label">Mindig</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Amikor észlelhető</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">A tok nyitva van</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Fülben</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Átlátszóság</string>
|
||||
<string name="anc_mode_adaptive">Adaptív</string>
|
||||
<string name="conversation_awareness_label">Társalgásérzékelés</string>
|
||||
<string name="settings_conversation_action_label">Amikor elkezdesz beszélni</string>
|
||||
<string name="settings_conversation_action_nothing_label">Ne csinálj semmit</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Hangerő csökkentése</string>
|
||||
<string name="settings_conversation_action_pause_label">Média szüneteltetése</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Hangerő-csökkentés</string>
|
||||
<string name="signal_badge_ble_cd">BLE szkennelés aktív</string>
|
||||
<string name="signal_badge_key_irk_cd">Azonosság ellenőrizve</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Titkosított kapcsolat</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Borostyán</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Háttérkép színeit használja</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Figyelés</string>
|
||||
<string name="settings_category_appearance_label">Megjelenés</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Nem mentett változtatások</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Általános</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">Melyik AirPod-ot használja mikrofenként</string>
|
||||
<string name="device_settings_microphone_mode_description">Melyik fülhallgató van mikrofonként használva</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automatikus</string>
|
||||
<string name="device_settings_microphone_mode_right">Jobb</string>
|
||||
<string name="device_settings_microphone_mode_left">Bal</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Եթե վերջերս գնել եք, Google Play-ի համաժամացմանը կարող է մի փոքր ժամանակ պահանջվել:</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Մի քանի րոպե հետո կրկին փորձեք, եթե ձեր գնումը չի երևում:</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Համոզվեք, որ մուտք եք գործել գնման համար օգտագործված Google հաշվով:</string>
|
||||
<string name="settings_monitor_mode_label">Մոնիթորինգի ռեժիմ</string>
|
||||
<string name="settings_monitor_mode_description">Ինչ պայմաններում է այս հավելվածը վերահսկում Bluetooth-ի տվյալները։</string>
|
||||
<string name="settings_monitor_connected_notification_label">Լրացուցիչ ծանուցում</string>
|
||||
<string name="settings_monitor_connected_notification_description">Ցուցադրում է լրացուցիչ ծանուցում, երբ սարքը միացված է։ Սա թույլ է տալիս թաքցնել մշտական \"Սարքեր չկան\" ծանուցումը՝ անջատելով \"Սարքի կարգավիճակը\" ալիքը։</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Պահել ծանուցումը անջատումից հետո</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Ինքնադադար</string>
|
||||
<string name="settings_autopause_description">Դադարեցրեք ձայնը, երբ սարքը հանում եք ականջից։</string>
|
||||
<string name="settings_autopplay_label">Ինքնանվագարկում</string>
|
||||
<string name="settings_autoplay_description">Սկսեք ձայնի նվագարկումը, երբ սարքը կրում եք։</string>
|
||||
<string name="settings_autoplay_description">Վերսկսել երաժշտությունը, երբ կրկին կրում եք ականջակալները, բայց միայն եթե Ավտոդադարը դադարեցրել է այն: Ձեր ձեռքով կատարած դադարները (հեռախոս, AirPods ոտք, քուն) մնում են դադարած:</string>
|
||||
<string name="settings_start_music_on_wear_label">Երաժշտություն սկսել կրելիս</string>
|
||||
<string name="settings_start_music_on_wear_description">Միշտ փորձում է նվագել երաժշտություն, երբ կկրեք ականջակալները, նույնիսկ ձեռքով դադարից հետո:</string>
|
||||
<string name="settings_eardetection_info_label">Ականջում հայտնաբերման նշում</string>
|
||||
<string name="settings_eardetection_info_description">Եթե ականջում հայտնաբերումը աշխատում է միայն մեկ ականջակալի համար, սա Apple-ի սահմանափակում է։ Միայն \"հիմնական ականջակալը\" (որն օգտագործվում է բարձրախոսի համար) է հայտնաբերվում։ Կարգավորեք Apple սարքերում՝ Կարգավորումներ → Bluetooth → AirPods → Բարձրախոս։</string>
|
||||
<string name="settings_fake_data_label">Կեղծ տվյալներ</string>
|
||||
<string name="settings_fake_data_description">Ցուցադրել կեղծ տվյալներ, այսինքն՝ գոյություն չունեցող սարքերի նմանակում։</string>
|
||||
<string name="settings_debug_label">Կարգաբերման կարգավորումներ</string>
|
||||
<string name="settings_debug_description">Լրացուցիչ կարգավորումներ՝ հավելվածի հետ կապված խնդիրների լուծմանն օգնելու համար։</string>
|
||||
<string name="settings_signal_minimum_label">Ազդանշանի նվազագույն որակ</string>
|
||||
<string name="settings_signal_minimum_description">Ազդանշանի նվազագույն որակը, որը պետք է ունենա սարքը՝ ձերը համարվելու համար։</string>
|
||||
<string name="settings_autoconnect_label">Ինքնամիացում</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Ցուցադրել միացման բացվող պատուհանը</string>
|
||||
<string name="settings_popup_connected_description">Ցուցադրել բացվող պատուհան, երբ սարքն առաջին անգամ է միանում։</string>
|
||||
<string name="settings_popup_info_not_in_app">Ելնող պատուհանները ցուցադրվում են միայն այն ժամանակ, երբ դուք հավելվածում չեք:</string>
|
||||
<string name="settings_popup_warning_manual_mode">Ելնող պատուհանները պահանջում են, որ մոնիտորը աշխատի: Մոնիտորի ռեժիմն սահմանված է «Հավելվածը բաց է», ինչը կանգնեցնում է մոնիտորը, երբ դուք լքում եք հավելվածը:</string>
|
||||
<string name="general_fix_it_action">Շտկել</string>
|
||||
<string name="device_settings_experimental_title">Փորձնական հատկություն</string>
|
||||
<string name="device_settings_experimental_description">Այս հատկությունը դեռ չի փորձարկվել բոլոր սարքերում: Եթե ինչ-որ բան ճիշտ չի աշխատում, խնդրում ենք բացել հարց՝ կազմաբերման մատյանով:</string>
|
||||
<string name="device_settings_experimental_action">Բացել հարցերի հետևիչը</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Շնորհակալագրեր</string>
|
||||
<string name="settings_debug_autoreports_label">Սխալների ավտոմատ հաշվետվություններ</string>
|
||||
<string name="settings_debug_autoreports_description">Ավտոմատ կերպով հաղորդում է խնդիրների մասին, օրինակ՝ հավելվածի խափանման մանրամասները, որպեսզի կարողանամ պարզել, թե ինչպես այն շտկել։</string>
|
||||
<string name="settings_debug_mode_label">Կարգաբերման ռեժիմ</string>
|
||||
<string name="settings_debug_mode_description">Ցուցադրել լրացուցիչ տեղեկատվություն՝ խնդիրները լուծելու համար։</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Չզտված BLE տվյալներ</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Հեռացրեք ցանկացած զտիչ BLE սկաներից՝ ցուցադրելու բոլոր հեռարձակվող BLE տվյալները։ Օգտակար է նոր տեսակի ականջակալների աջակցություն ավելացնելու համար։</string>
|
||||
<string name="settings_compatibility_mode_label">Համատեղելիության ռեժիմ</string>
|
||||
<string name="settings_compatibility_mode_description">Անջատեք օպտիմիզացումները՝ համատեղելիությունը բարելավելու համար։ Փորձեք սա, եթե տվյալներ չեք տեսնում։</string>
|
||||
<string name="help_translate_label">Թարգմանություն</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Այս վիջեթը պահանջում է ուղղակի կապ (AAP) ձեր սարքի հետ: Համոզվեք, որ ձեր սարքը զուգակցված և կապակցված է հավելվածում, նախքան այս վիջեթն օգտագործելը:</string>
|
||||
<string name="anc_widget_no_anc_support_label">Այս սարքը չի աջակցում աղմուկի վերահսկմանը</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Կապ չկա</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Մոտակայքում է, բայց կապված չէ</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Մոտակայքում չէ</string>
|
||||
<string name="anc_widget_aap_connecting_label">Կապակցվում է…</string>
|
||||
<string name="tile_anc_label">Աղմուկի կառավարում</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Թույլտվություն պահանջվում է</string>
|
||||
<string name="tile_anc_subtitle_no_device">Սարք չկա</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Աղմուկի կառավարում չկա</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth-ն անջատված է</string>
|
||||
<string name="widget_config_screen_title">Վիջեթի կարգավորում</string>
|
||||
<string name="widget_configuration_title">Ընտրել սարք</string>
|
||||
<string name="widget_configuration_description">Ընտրեք, թե որ սարքի պրոֆիլը պետք է ցուցադրի այս վիջեթը։</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Հետևյալ թույլտվությունն անհրաժեշտ է՝</string>
|
||||
<string name="permission_system_alert_window_label">Համակարգային զգուշացման պատուհան</string>
|
||||
<string name="permission_system_alert_window_description">Թույլ տվեք CAPod-ին նկարել այլ հավելվածների վերևում՝ \"Ցուցադրել բացվող պատուհան\" գործառույթը հնարավոր դարձնելու համար։</string>
|
||||
<string name="settings_monitor_mode_manual_label">Երբ հավելվածը բաց է</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Երբ սարքը միացված է</string>
|
||||
<string name="settings_monitor_mode_always_label">Միշտ</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Երբ տեսնվում է</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Պատյանը բաց է</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Ականջում է</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Թափանցիկություն</string>
|
||||
<string name="anc_mode_adaptive">Հարմարվող</string>
|
||||
<string name="conversation_awareness_label">Խոսակցության ճանաչում</string>
|
||||
<string name="settings_conversation_action_label">Երբ սկսել եք խոսել</string>
|
||||
<string name="settings_conversation_action_nothing_label">Ոչինչ չանել</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Ձայնն իջեցնել</string>
|
||||
<string name="settings_conversation_action_pause_label">Դադարեցնել մեդիան</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Ձայնի կրճատում</string>
|
||||
<string name="signal_badge_ble_cd">BLE սկանն ակտիվ է</string>
|
||||
<string name="signal_badge_key_irk_cd">Ինքնությունը հաստատված է</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Կոդավորված կապ</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Ծիրանագույն</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Պատկերի գույները</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Մոնիտորինգ</string>
|
||||
<string name="settings_category_appearance_label">Արտաքին տեսք</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Չպահպանված փոփոխություններ</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Ընդհանուր</string>
|
||||
<string name="device_settings_microphone_mode_label">Խոսափող</string>
|
||||
<string name="device_settings_microphone_mode_description">Որ AirPod-ն ոգտագործվում ե որպես խոսափոն</string>
|
||||
<string name="device_settings_microphone_mode_description">Որ ականջակալն օգտագործվում է որպես խոսափող</string>
|
||||
<string name="device_settings_microphone_mode_auto">Ավտոմատ</string>
|
||||
<string name="device_settings_microphone_mode_right">Աջ</string>
|
||||
<string name="device_settings_microphone_mode_left">Ձախ</string>
|
||||
@@ -515,16 +513,29 @@
|
||||
<!-- Press Controls -->
|
||||
<string name="press_controls_title">Սեղմումների կառավարում</string>
|
||||
<string name="press_controls_nav_description">Կարգավորել սեղմումների վարքը և կապել սեղմումները գործողություններին</string>
|
||||
<string name="press_controls_description">Կարգավորեք ինչպես են հայտնաբերվում սեղմումները, ընտրեք զանգի կոճակի վարքը և կարգավորեք սեղմումները գործողությունների։ Կարգավորված գործողությունները վերաբերում են միայն այս սարքին և թույլ են տալիս հավելվածին ընդհատել սեղմումը՝ AirPods-ի փոխարեն:</string>
|
||||
<string name="press_controls_single_press">Մեկ սեղմում</string>
|
||||
<string name="press_controls_double_press">Կրկնակի սեղմում</string>
|
||||
<string name="press_controls_triple_press">Եռակի սեղմում</string>
|
||||
<string name="press_controls_long_press">Երկար սեղմում</string>
|
||||
<string name="press_controls_long_press_anc_cycle_info">Երկար սեղմման գործողություն նշանակելը նաև անջատում է Noise Control ռեժիմների (օրինակ՝ Noise Cancellation, Transparency) ցիկլային փոփոխությունը AirPods-ի վրա սեղմելով և պահելով:</string>
|
||||
<string name="press_controls_mappings_section_title">Սեղմումների կապակցություն</string>
|
||||
<string name="press_controls_left">Ձախ</string>
|
||||
<string name="press_controls_right">Աջ</string>
|
||||
<string name="press_action_none">Լռելյայն</string>
|
||||
<string name="press_action_no_action">Գործություն չկա</string>
|
||||
<string name="press_action_play_pause">Նվագարկել/դադարել</string>
|
||||
<string name="press_action_next_track">Հաջորդ երգ</string>
|
||||
<string name="press_action_previous_track">Նախորդ երգ</string>
|
||||
<string name="press_action_volume_up">Ձայն բարձրացնել</string>
|
||||
<string name="press_action_volume_down">Ձայն իջեցնել</string>
|
||||
<string name="press_action_mute_toggle">Անձայնացնել երաժշտությունը</string>
|
||||
<string name="press_action_stop">Կանգնել</string>
|
||||
<string name="press_action_fast_forward">Արագ առաջ</string>
|
||||
<string name="press_action_rewind">Հետ փռոձ</string>
|
||||
<string name="press_action_cycle_anc">Աղմուկի կառավարումի շրջան</string>
|
||||
<string name="press_action_toggle_anc_transparency">Փոխանջատել թափանցիկությունը</string>
|
||||
<string name="press_controls_reset_label">Վերականգնել կանխադրվածները</string>
|
||||
<string name="press_controls_reset_confirm_message">Վերականգնե՞լ բոլոր սեղմումների կարգավորումները կանխադրվածների:</string>
|
||||
<string name="device_settings_noise_control_open_press_controls_action">Բացել Սեղմումների կառավարումը</string>
|
||||
</resources>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Jika Anda baru saja melakukan pembelian, mungkin butuh beberapa saat agar Google Play dapat menyinkronkan.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Coba lagi dalam beberapa menit jika pembelian Anda belum muncul.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Pastikan Anda masuk dengan akun Google yang sama yang digunakan untuk pembelian.</string>
|
||||
<string name="settings_monitor_mode_label">Mode pantau</string>
|
||||
<string name="settings_monitor_mode_description">Dalam kondisi apa aplikasi ini memantau data Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Notifikasi tambahan</string>
|
||||
<string name="settings_monitor_connected_notification_description">Menampilkan notifikasi tambahan ketika perangkat terhubung. Ini memungkinkan Anda menyembunyikan notifikasi permanen \"Tidak ada perangkat\" dengan menonaktifkan saluran \"Status perangkat\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Pertahankan notifikasi setelah terputus</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Jeda otomatis</string>
|
||||
<string name="settings_autopause_description">Jeda audio saat melepas perangkat dari telinga Anda.</string>
|
||||
<string name="settings_autopplay_label">Putar otomatis</string>
|
||||
<string name="settings_autoplay_description">Mulai pemutaran audio saat perangkat dipakai.</string>
|
||||
<string name="settings_autoplay_description">Lanjutkan musik saat memakai pods lagi, tetapi hanya jika Auto jeda yang menghentikannya. Jeda yang kamu picu sendiri (telepon, batang AirPods, tidur) tetap dijeda.</string>
|
||||
<string name="settings_start_music_on_wear_label">Mulai musik saat dipakai</string>
|
||||
<string name="settings_start_music_on_wear_description">Selalu mencoba memutar musik saat kamu memakai pods, bahkan setelah jeda manual.</string>
|
||||
<string name="settings_eardetection_info_label">Catatan deteksi telinga</string>
|
||||
<string name="settings_eardetection_info_description">Jika deteksi telinga hanya berfungsi untuk satu pod, ini adalah batasan Apple. Hanya \"pod utama\" (digunakan untuk mikrofon) yang terdeteksi. Konfigurasikan di perangkat Apple: Pengaturan → Bluetooth → AirPods → Mikrofon.</string>
|
||||
<string name="settings_fake_data_label">Data palsu</string>
|
||||
<string name="settings_fake_data_description">Tampilkan data palsu, yaitu, simulasikan perangkat yang tidak ada.</string>
|
||||
<string name="settings_debug_label">Pengaturan debug</string>
|
||||
<string name="settings_debug_description">Pengaturan tambahan untuk membantu memecahkan masalah dengan aplikasi.</string>
|
||||
<string name="settings_signal_minimum_label">Kualitas sinyal minimum</string>
|
||||
<string name="settings_signal_minimum_description">Kualitas sinyal minimum yang harus dimiliki perangkat agar dianggap milik Anda.</string>
|
||||
<string name="settings_autoconnect_label">Sambungkan otomatis</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Tampilkan pop-up koneksi</string>
|
||||
<string name="settings_popup_connected_description">Tampilkan pop-up saat perangkat pertama kali terhubung.</string>
|
||||
<string name="settings_popup_info_not_in_app">Popup hanya ditampilkan saat Anda tidak berada di aplikasi.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Popup memerlukan monitor yang sedang berjalan. Mode monitor Anda diatur ke \"Saat aplikasi terbuka\", yang menghentikan monitor saat Anda meninggalkan aplikasi.</string>
|
||||
<string name="general_fix_it_action">Perbaiki</string>
|
||||
<string name="device_settings_experimental_title">Fitur eksperimental</string>
|
||||
<string name="device_settings_experimental_description">Fitur ini belum diuji di semua perangkat. Jika ada yang tidak berfungsi dengan benar, silakan buka laporan masalah beserta log debug.</string>
|
||||
<string name="device_settings_experimental_action">Buka Pelacak Masalah</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Ucapan Terima Kasih</string>
|
||||
<string name="settings_debug_autoreports_label">Laporan bug otomatis</string>
|
||||
<string name="settings_debug_autoreports_description">Melaporkan masalah secara otomatis, mis. detail tentang kerusakan aplikasi sehingga saya dapat mencari tahu cara memperbaikinya.</string>
|
||||
<string name="settings_debug_mode_label">Mode debug</string>
|
||||
<string name="settings_debug_mode_description">Tampilkan informasi tambahan untuk memecahkan masalah.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Data BLE yang tidak difilter</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Hapus semua filter dari pemindai BLE untuk menampilkan semua data BLE yang disiarkan. Berguna untuk menambahkan dukungan untuk jenis headphone baru.</string>
|
||||
<string name="settings_compatibility_mode_label">Mode kompatibilitas</string>
|
||||
<string name="settings_compatibility_mode_description">Nonaktifkan pengoptimalan untuk meningkatkan kompatibilitas. Coba ini jika Anda tidak melihat data apa pun.</string>
|
||||
<string name="help_translate_label">Terjemahan</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Widget ini memerlukan koneksi langsung (AAP) ke perangkat Anda. Pastikan perangkat Anda sudah dipasangkan dan terhubung di aplikasi sebelum menggunakan widget ini.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Perangkat ini tidak mendukung kontrol kebisingan</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Tidak terhubung</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Di dekat tetapi tidak terhubung</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Tidak di dekat</string>
|
||||
<string name="anc_widget_aap_connecting_label">Menghubungkan…</string>
|
||||
<string name="tile_anc_label">Kontrol Kebisingan</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Izin diperlukan</string>
|
||||
<string name="tile_anc_subtitle_no_device">Tidak ada perangkat</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Tidak ada kontrol kebisingan</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth mati</string>
|
||||
<string name="widget_config_screen_title">Konfigurasi Widget</string>
|
||||
<string name="widget_configuration_title">Pilih Perangkat</string>
|
||||
<string name="widget_configuration_description">Pilih profil perangkat mana yang akan ditampilkan widget ini.</string>
|
||||
@@ -218,9 +215,6 @@
|
||||
<string name="permission_required_title">Izin berikut diperlukan:</string>
|
||||
<string name="permission_system_alert_window_label">Jendela Peringatan Sistem</string>
|
||||
<string name="permission_system_alert_window_description">Izinkan CAPod menggambar di atas aplikasi lain untuk memungkinkan fitur \"Tampilkan PopUp\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">Saat aplikasi terbuka</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Saat perangkat terhubung</string>
|
||||
<string name="settings_monitor_mode_always_label">Selalu</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Saat terlihat</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Casing terbuka</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Di telinga</string>
|
||||
@@ -252,6 +246,11 @@
|
||||
<string name="anc_mode_transparency">Transparansi</string>
|
||||
<string name="anc_mode_adaptive">Adaptif</string>
|
||||
<string name="conversation_awareness_label">Kesadaran Percakapan</string>
|
||||
<string name="settings_conversation_action_label">Saat kamu mulai berbicara</string>
|
||||
<string name="settings_conversation_action_nothing_label">Tidak melakukan apa-apa</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Kurangi volume</string>
|
||||
<string name="settings_conversation_action_pause_label">Jeda media</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Pengurangan volume</string>
|
||||
<string name="signal_badge_ble_cd">Pemindaian BLE aktif</string>
|
||||
<string name="signal_badge_key_irk_cd">Identitas terverifikasi</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Koneksi terenkripsi</string>
|
||||
@@ -320,7 +319,6 @@
|
||||
<string name="ui_theme_color_amber_label">Kuning keemasan</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Menggunakan warna wallpaper</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Pemantauan</string>
|
||||
<string name="settings_category_appearance_label">Tampilan</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Perubahan Belum Disimpan</string>
|
||||
@@ -465,7 +463,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Umum</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">AirPod mana yang digunakan sebagai mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">Earbud mana yang digunakan sebagai mikrofon</string>
|
||||
<string name="device_settings_microphone_mode_auto">Otomatis</string>
|
||||
<string name="device_settings_microphone_mode_right">Kanan</string>
|
||||
<string name="device_settings_microphone_mode_left">Kiri</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Ef þú keyptir nýlega gæti það tekið smá tíma fyrir Google Play að samstilla.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Reyndu aftur eftir nokkrar mínútur ef kaupin þín birtast ekki.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Gakktu úr skugga um að þú sért skráður inn með sama Google-reikninginn sem notaður var við kaupin.</string>
|
||||
<string name="settings_monitor_mode_label">Vöktunarstilling</string>
|
||||
<string name="settings_monitor_mode_description">Undir hvaða kringumstæðum þetta forrit fylgist með Bluetooth gögnum.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Auka tilkynning</string>
|
||||
<string name="settings_monitor_connected_notification_description">Sýnir auka tilkynningu þegar tæki er tengt. Þetta gerir þér kleift að fela varanlega \"Engin tæki\" tilkynninguna með því að slökkva á \"Staða tækis\" rásinni.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Halda tilkynningu eftir aftengi</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Sjálfvirk hlé</string>
|
||||
<string name="settings_autopause_description">Gera hlé á hljóði þegar tækið er tekið úr eyranu.</string>
|
||||
<string name="settings_autopplay_label">Sjálfvirk spilun</string>
|
||||
<string name="settings_autoplay_description">Hefja hljóðspilun þegar tækið er notað.</string>
|
||||
<string name="settings_autoplay_description">Halda áfram tónlist þegar þú setur hlustunartækið á aftur, en aðeins ef Sjálfvirk hlé stöðvaði hana. Hlé sem þú settir sjálfur/sjálf (sími, AirPods stingill, svefn) haldast í bið.</string>
|
||||
<string name="settings_start_music_on_wear_label">Byrja tónlist þegar þú setur á</string>
|
||||
<string name="settings_start_music_on_wear_description">Reynir alltaf að spila tónlist þegar þú setur hlustunartækið á, jafnvel eftir handvirkt hlé.</string>
|
||||
<string name="settings_eardetection_info_label">Athugasemd um eyraskynjun</string>
|
||||
<string name="settings_eardetection_info_description">Ef eyraskynjun virkar aðeins fyrir annað heyrnartólið er þetta takmörkun frá Apple. Aðeins \"aðalheyrnartólið\" (notað fyrir hljóðnema) er skynjað. Stilla á Apple tækjum: Stillingar → Bluetooth → AirPods → Hljóðnemi.</string>
|
||||
<string name="settings_fake_data_label">Fölsuð gögn</string>
|
||||
<string name="settings_fake_data_description">Sýna fölsuð gögn, þ.e.a.s. herma eftir tækjum sem eru ekki til.</string>
|
||||
<string name="settings_debug_label">Villuleitarstillingar</string>
|
||||
<string name="settings_debug_description">Viðbótarstillingar til að hjálpa til við að leysa vandamál með forritið.</string>
|
||||
<string name="settings_signal_minimum_label">Lágmarksgæði merkis</string>
|
||||
<string name="settings_signal_minimum_description">Lágmarksgæði merkis sem tæki þarf að hafa til að teljast þitt.</string>
|
||||
<string name="settings_autoconnect_label">Sjálfvirk tenging</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Sýna upplýsingaglugga tengingar</string>
|
||||
<string name="settings_popup_connected_description">Sýna upplýsingaglugga þegar tækið tengist í fyrsta skipti.</string>
|
||||
<string name="settings_popup_info_not_in_app">Sprettigluggar eru aðeins sýndir þegar þú ert ekki í forritinu.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Sprettigluggar krefjast þess að vaktarinn sé í gangi. Vaktagreiningin þín er stillt á \"Þegar forrit er opið\", sem stöðvar vaktarann þegar þú yfirgefur forritið.</string>
|
||||
<string name="general_fix_it_action">Laga það</string>
|
||||
<string name="device_settings_experimental_title">Tilraunaeiginleiki</string>
|
||||
<string name="device_settings_experimental_description">Þessi eiginleiki hefur ekki verið prófaður á öllum tækjum enn. Ef eitthvað virkar ekki rétt skaltu opna málskrá með kembikladda.</string>
|
||||
<string name="device_settings_experimental_action">Opna málaskráreftirlit</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Þakkir</string>
|
||||
<string name="settings_debug_autoreports_label">Sjálfvirkar villuskýrslur</string>
|
||||
<string name="settings_debug_autoreports_description">Tilkynnir sjálfkrafa um vandamál, t.d. upplýsingar um hrun forrits svo ég geti fundið út hvernig á að laga það.</string>
|
||||
<string name="settings_debug_mode_label">Villuleitarstilling</string>
|
||||
<string name="settings_debug_mode_description">Sýna viðbótarupplýsingar til að leysa vandamál.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Ósíað BLE gögn</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Fjarlægðu allar síur úr BLE skannanum til að sýna öll send BLE gögn. Gagnlegt til að bæta við stuðningi fyrir nýjar gerðir heyrnartóla.</string>
|
||||
<string name="settings_compatibility_mode_label">Samhæfisstilling</string>
|
||||
<string name="settings_compatibility_mode_description">Slökkva á hagræðingum til að bæta samhæfni. Prófaðu þetta ef þú sérð engin gögn.</string>
|
||||
<string name="help_translate_label">Þýðing</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Þetta græja krefst beinnar tengingar (AAP) við tækið þitt. Gakktu úr skugga um að tækið þitt sé parað og tengt í forritinu áður en þú notar þetta græja.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Þetta tæki styður ekki hljóðstýringu</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Ekki tengt</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Í nánd en ekki tengt</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Ekki í nánd</string>
|
||||
<string name="anc_widget_aap_connecting_label">Tengist…</string>
|
||||
<string name="tile_anc_label">Hljóðstýring</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Heimild nauðsynleg</string>
|
||||
<string name="tile_anc_subtitle_no_device">Ekkert tæki</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Engin hljóðstýring</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth slökkt</string>
|
||||
<string name="widget_config_screen_title">Skilgreining viðbætar</string>
|
||||
<string name="widget_configuration_title">Velja tæki</string>
|
||||
<string name="widget_configuration_description">Veldu hvaða tækjasnið þessi græja á að sýna.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Eftirfarandi heimild er nauðsynleg:</string>
|
||||
<string name="permission_system_alert_window_label">Kerfisviðvörunargluggi</string>
|
||||
<string name="permission_system_alert_window_description">Leyfðu CAPod að teikna yfir önnur forrit til að gera eiginleikann \"Sýna upplýsingaglugga\" mögulegan.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Þegar forrit er opið</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Þegar tæki er tengt</string>
|
||||
<string name="settings_monitor_mode_always_label">Alltaf</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Þegar séð</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Hulstur opið</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Í eyra</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Gegnsæi</string>
|
||||
<string name="anc_mode_adaptive">Aðlægt</string>
|
||||
<string name="conversation_awareness_label">Samtalsvitund</string>
|
||||
<string name="settings_conversation_action_label">Þegar þú byrjar að tala</string>
|
||||
<string name="settings_conversation_action_nothing_label">Gera ekki neitt</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Lækka hljóðstyrk</string>
|
||||
<string name="settings_conversation_action_pause_label">Gera hlé á efni</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Hljóðstyrksmækkun</string>
|
||||
<string name="signal_badge_ble_cd">BLE skönnun virk</string>
|
||||
<string name="signal_badge_key_irk_cd">Auðkenni staðfest</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Dulkóðuð tenging</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Gulrauður</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Notar liti bakgrunnsmyndar</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Eftirlit</string>
|
||||
<string name="settings_category_appearance_label">Utsýni</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Óvistaðar breytingar</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Álmennt</string>
|
||||
<string name="device_settings_microphone_mode_label">Hljóðnemi</string>
|
||||
<string name="device_settings_microphone_mode_description">Hvaðan AirPod er notast sem hátalari</string>
|
||||
<string name="device_settings_microphone_mode_description">Hvaða hlustunartæki er notað sem hljóðnemi</string>
|
||||
<string name="device_settings_microphone_mode_auto">Sjálfvirkt</string>
|
||||
<string name="device_settings_microphone_mode_right">Hægri</string>
|
||||
<string name="device_settings_microphone_mode_left">Vinstri</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Se hai acquistato di recente, potrebbe volerci un momento affinché Google Play si sincronizzi.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Riprova tra qualche minuto se il tuo acquisto non appare.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Assicurati di essere connesso con lo stesso account Google utilizzato per l\'acquisto.</string>
|
||||
<string name="settings_monitor_mode_label">Modalità di monitoraggio</string>
|
||||
<string name="settings_monitor_mode_description">In quali circostanze questa applicazione monitora i dati Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Notifica aggiuntiva</string>
|
||||
<string name="settings_monitor_connected_notification_description">Mostra una notifica aggiuntiva quando un dispositivo è connesso. Ciò consente di nascondere la notifica permanente \"Nessun dispositivo\" disabilitando il canale \"Stato del dispositivo\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Mantieni notifica dopo la disconnessione</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Pausa automatica</string>
|
||||
<string name="settings_autopause_description">Metti in pausa l\'audio quando rimuovi il dispositivo dall\'orecchio.</string>
|
||||
<string name="settings_autopplay_label">Riproduzione automatica</string>
|
||||
<string name="settings_autoplay_description">Avvia la riproduzione audio quando il dispositivo è indossato.</string>
|
||||
<string name="settings_autoplay_description">Riprendi la musica quando indossi di nuovo i pod, ma solo se l\'ha fermata la pausa automatica. Le pause che hai attivato tu stesso (telefono, stelo AirPods, sleep) rimangono in pausa.</string>
|
||||
<string name="settings_start_music_on_wear_label">Avvia musica all\'indossaggio</string>
|
||||
<string name="settings_start_music_on_wear_description">Cerca sempre di riprodurre musica quando indossi i pod, anche dopo una pausa manuale.</string>
|
||||
<string name="settings_eardetection_info_label">Nota sul rilevamento dell\'orecchio</string>
|
||||
<string name="settings_eardetection_info_description">Se il rilevamento dell\'orecchio funziona solo per un auricolare, è una limitazione di Apple. Solo il \"pod principale\" (usato per il microfono) viene rilevato. Configura su dispositivi Apple: Impostazioni → Bluetooth → AirPods → Microfono.</string>
|
||||
<string name="settings_fake_data_label">Dati falsi</string>
|
||||
<string name="settings_fake_data_description">Mostra dati falsi, ad es. simula dispositivi inesistenti.</string>
|
||||
<string name="settings_debug_label">Impostazioni di debug</string>
|
||||
<string name="settings_debug_description">Impostazioni aggiuntive per aiutare a risolvere i problemi con l\'app.</string>
|
||||
<string name="settings_signal_minimum_label">Qualità minima del segnale</string>
|
||||
<string name="settings_signal_minimum_description">La qualità minima del segnale che un dispositivo deve avere per essere considerato tuo.</string>
|
||||
<string name="settings_autoconnect_label">Connessione automatica</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Mostra pop-up connessione</string>
|
||||
<string name="settings_popup_connected_description">Mostra un pop-up quando il dispositivo si connette per la prima volta.</string>
|
||||
<string name="settings_popup_info_not_in_app">I popup vengono mostrati solo quando non sei nell\'app.</string>
|
||||
<string name="settings_popup_warning_manual_mode">I popup richiedono che il monitor sia in esecuzione. La modalità monitor è impostata su \"Quando l\'app è aperta\", che interrompe il monitor quando esci dall\'app.</string>
|
||||
<string name="general_fix_it_action">Correggi</string>
|
||||
<string name="device_settings_experimental_title">Funzione sperimentale</string>
|
||||
<string name="device_settings_experimental_description">Questa funzione non è stata ancora testata su tutti i dispositivi. Se qualcosa non funziona correttamente, apri una segnalazione con un log di debug.</string>
|
||||
<string name="device_settings_experimental_action">Apri il tracker dei problemi</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Riconoscimenti</string>
|
||||
<string name="settings_debug_autoreports_label">Segnalazioni automatiche di bug</string>
|
||||
<string name="settings_debug_autoreports_description">Segnala automaticamente i problemi, ad es. dettagli su un arresto anomalo dell\'app in modo che io possa capire come risolverlo.</string>
|
||||
<string name="settings_debug_mode_label">Modalità debug</string>
|
||||
<string name="settings_debug_mode_description">Mostra informazioni aggiuntive per risolvere i problemi.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Dati BLE non filtrati</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Rimuovi eventuali filtri dallo scanner BLE per mostrare tutti i dati BLE trasmessi. Utile per aggiungere il supporto per nuovi tipi di cuffie.</string>
|
||||
<string name="settings_compatibility_mode_label">Modalità compatibilità</string>
|
||||
<string name="settings_compatibility_mode_description">Disabilita le ottimizzazioni per migliorare la compatibilità. Prova questa opzione se non vedi alcun dato.</string>
|
||||
<string name="help_translate_label">Traduzione</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Questo widget richiede una connessione diretta (AAP) al tuo dispositivo. Assicurati che il dispositivo sia associato e connesso nell\'app prima di utilizzare questo widget.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Questo dispositivo non supporta il controllo del rumore</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Non connesso</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Nelle vicinanze ma non connesso</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Non nelle vicinanze</string>
|
||||
<string name="anc_widget_aap_connecting_label">Connessione in corso…</string>
|
||||
<string name="tile_anc_label">Controllo rumore</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Permesso richiesto</string>
|
||||
<string name="tile_anc_subtitle_no_device">Nessun dispositivo</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Nessun controllo rumore</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth disattivato</string>
|
||||
<string name="widget_config_screen_title">Configurazione widget</string>
|
||||
<string name="widget_configuration_title">Seleziona dispositivo</string>
|
||||
<string name="widget_configuration_description">Scegli quale profilo dispositivo questo widget dovrebbe visualizzare.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">È richiesto il seguente permesso:</string>
|
||||
<string name="permission_system_alert_window_label">Finestra di avviso di sistema</string>
|
||||
<string name="permission_system_alert_window_description">Consenti a CAPod di disegnare sopra altre app per rendere possibile la funzionalità \"Mostra pop-up\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">Quando l\'app è aperta</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Quando il dispositivo è connesso</string>
|
||||
<string name="settings_monitor_mode_always_label">Sempre</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Quando rilevato</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Custodia aperta</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Nell\'orecchio</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Trasparenza</string>
|
||||
<string name="anc_mode_adaptive">Adattiva</string>
|
||||
<string name="conversation_awareness_label">Conversation Awareness</string>
|
||||
<string name="settings_conversation_action_label">Quando inizi a parlare</string>
|
||||
<string name="settings_conversation_action_nothing_label">Non fare nulla</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Abbassa il volume</string>
|
||||
<string name="settings_conversation_action_pause_label">Metti in pausa i media</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Riduzione del volume</string>
|
||||
<string name="signal_badge_ble_cd">Scansione BLE attiva</string>
|
||||
<string name="signal_badge_key_irk_cd">Identità verificata</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Connessione crittografata</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Ambra</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Utilizza i colori dello sfondo</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Monitoraggio</string>
|
||||
<string name="settings_category_appearance_label">Aspetto</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Modifiche non salvate</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Generale</string>
|
||||
<string name="device_settings_microphone_mode_label">Microfono</string>
|
||||
<string name="device_settings_microphone_mode_description">Quale AirPod viene usato come microfono</string>
|
||||
<string name="device_settings_microphone_mode_description">Quale auricolare viene usato come microfono</string>
|
||||
<string name="device_settings_microphone_mode_auto">Auto</string>
|
||||
<string name="device_settings_microphone_mode_right">Destra</string>
|
||||
<string name="device_settings_microphone_mode_left">Sinistra</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">אם רכשת לאחרונה, ייתכן שיידרש זמן מה כדי ש-Google Play יסתנכרן.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">נסה שוב בעוד כמה דקות אם הרכישה שלך לא מופיעה.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">ודא שאתה מחובר עם אותו חשבון Google שבו השתמשת לרכישה.</string>
|
||||
<string name="settings_monitor_mode_label">מצב מוניטור</string>
|
||||
<string name="settings_monitor_mode_description">באילו נסיבות אפליקציה זו עוקבת אחר נתוני Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">התראה נוספת</string>
|
||||
<string name="settings_monitor_connected_notification_description">מציג התראה נוספת כאשר מכשיר מחובר. זה מאפשר לך להסתיר את ההתראה הקבועה \"אין מכשירים\" על ידי השבתת הערוץ \"סטטוס מכשיר\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">שמור התראה לאחר ניתוק</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">השהייה אוטומטית</string>
|
||||
<string name="settings_autopause_description">עצירת אודיו בהסרת המכשיר מהאוזן.</string>
|
||||
<string name="settings_autopplay_label">הפעלה אוטומטית</string>
|
||||
<string name="settings_autoplay_description">התחלת ניגון אודיו בלבישת המכשיר.</string>
|
||||
<string name="settings_autoplay_description">ממשיך מוזיקה כשאתה חוזר לענוד את האוזניות, אך רק אם הפסקה אוטומטית עצרה אותה. הפסקות שהפעלת בעצמך (טלפון, גבעול AirPods, שינה) נשארות מושהות.</string>
|
||||
<string name="settings_start_music_on_wear_label">הפעל מוזיקה בלבישה</string>
|
||||
<string name="settings_start_music_on_wear_description">תמיד מנסה להשמיע מוזיקה כשאתה מניח את האוזניות, גם לאחר הפסקה ידנית.</string>
|
||||
<string name="settings_eardetection_info_label">הערה לגבי זיהוי אוזן</string>
|
||||
<string name="settings_eardetection_info_description">אם זיהוי אוזן עובד רק עבור אוזניה אחת, זוהי מגבלה של Apple. רק \"האוזניה הראשית\" (המשמשת למיקרופון) מזוהה. הגדר במכשירי Apple: הגדרות → Bluetooth → AirPods → מיקרופון.</string>
|
||||
<string name="settings_fake_data_label">נתונים מזויפים</string>
|
||||
<string name="settings_fake_data_description">הצגת נתונים מזויפים, לרבות, הדמיית מכשירים שאינם קיימים.</string>
|
||||
<string name="settings_debug_label">הגדרות ניפוי באגים</string>
|
||||
<string name="settings_debug_description">הגדרות נוספות שיסייעו בפתרון בעיות באפליקציה.</string>
|
||||
<string name="settings_signal_minimum_label">איכות אות מינימלית</string>
|
||||
<string name="settings_signal_minimum_description">איכות האות המינימלית שמכשיר צריך להתחשב עבורך.</string>
|
||||
<string name="settings_autoconnect_label">חיבור אוטומטי</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">הצג חלון קופץ של חיבור</string>
|
||||
<string name="settings_popup_connected_description">הצג חלון קופץ כאשר המכשיר מתחבר בפעם הראשונה.</string>
|
||||
<string name="settings_popup_info_not_in_app">חלונות קופצים מוצגים רק כשאינך בתוך האפליקציה.</string>
|
||||
<string name="settings_popup_warning_manual_mode">חלונות קופצים דורשים שהמנטור יפעל. מצב המנטור שלך מוגדר ל-\"כשהאפליקציה פתוחה\", מה שעוצר את המנטור כשאתה עוזב את האפליקציה.</string>
|
||||
<string name="general_fix_it_action">תקן זאת</string>
|
||||
<string name="device_settings_experimental_title">תכונה ניסיונית</string>
|
||||
<string name="device_settings_experimental_description">תכונה זו טרם נבדקה על כל המכשירים. אם משהו אינו פועל כראוי, אנא פתח בקשת תמיכה עם יומן ניפוי שגיאות.</string>
|
||||
<string name="device_settings_experimental_action">פתח מעקב בעיות</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">תודות</string>
|
||||
<string name="settings_debug_autoreports_label">דוחות באגים אוטומטיים</string>
|
||||
<string name="settings_debug_autoreports_description">מדווח אוטומטית על בעיות, למשל, פרטים על קריסת אפליקציה כדי שאוכל להבין איך לתקן את זה.</string>
|
||||
<string name="settings_debug_mode_label">מצב ניפוי באגים</string>
|
||||
<string name="settings_debug_mode_description">הצג מידע נוסף לפתרון בעיות.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">נתוני BLE לא מפולטרים</string>
|
||||
<string name="settings_blescanner_unfiltered_description">הסר מסננים מסורק BLE כדי להציג את כל נתוני BLE ששודרו. שימושי להוספת תמיכה בסוגי אוזניות חדשים.</string>
|
||||
<string name="settings_compatibility_mode_label">מצב תאימות</string>
|
||||
<string name="settings_compatibility_mode_description">נטרול אופטימיזציה לשיפור התאימות. נסו את זה אם לא מוצגים נתונים כלל.</string>
|
||||
<string name="help_translate_label">תרגום</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">וידג\'ט זה דורש חיבור ישיר (AAP) למכשיר שלך. ודא שהמכשיר שלך מקושר ומחובר באפליקציה לפני שימוש בוידג\'ט זה.</string>
|
||||
<string name="anc_widget_no_anc_support_label">מכשיר זה אינו תומך בבקרת רעש</string>
|
||||
<string name="anc_widget_aap_not_connected_label">לא מחובר</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">בקרבת מקום אך לא מחובר</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">לא בקרבת מקום</string>
|
||||
<string name="anc_widget_aap_connecting_label">מתחבר…</string>
|
||||
<string name="tile_anc_label">בקרת רעש</string>
|
||||
<string name="tile_anc_subtitle_permission_required">דרושה הרשאה</string>
|
||||
<string name="tile_anc_subtitle_no_device">מכשיר לא קיים</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">אין בקרת רעש</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">בלוטות\' כבוי</string>
|
||||
<string name="widget_config_screen_title">תצורת הווידג\'ט</string>
|
||||
<string name="widget_configuration_title">בחירת מכשיר</string>
|
||||
<string name="widget_configuration_description">בחר איזה פרופיל מכשיר הווידג\'ט צריך להציג.</string>
|
||||
@@ -224,9 +221,6 @@
|
||||
<string name="permission_required_title">ההרשאה הבאה נדרשת:</string>
|
||||
<string name="permission_system_alert_window_label">חלון התראת מערכת</string>
|
||||
<string name="permission_system_alert_window_description">אפשר ל-CAPod לצייר מעל אפליקציות אחרות כדי לאפשר את תכונת \"הצג חלון קופץ\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">כשהאפליקציה פתוחה</string>
|
||||
<string name="settings_monitor_mode_automatic_label">כשמכשיר מחובר</string>
|
||||
<string name="settings_monitor_mode_always_label">תמיד</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">כשנראה</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">מארז פתוח</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">באוזן</string>
|
||||
@@ -258,6 +252,11 @@
|
||||
<string name="anc_mode_transparency">שקיפות</string>
|
||||
<string name="anc_mode_adaptive">אדפטיבי</string>
|
||||
<string name="conversation_awareness_label">מודעות לשיחה</string>
|
||||
<string name="settings_conversation_action_label">כשאתה מתחיל לדבר</string>
|
||||
<string name="settings_conversation_action_nothing_label">אל תעשה כלום</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">הורד עוצמת שמע</string>
|
||||
<string name="settings_conversation_action_pause_label">השהה מדיה</string>
|
||||
<string name="settings_conversation_volume_reduction_label">הפחתת עוצמת שמע</string>
|
||||
<string name="signal_badge_ble_cd">סריקת BLE פעילה</string>
|
||||
<string name="signal_badge_key_irk_cd">זהות אומתה</string>
|
||||
<string name="signal_badge_key_encrypted_cd">חיבור מוצפן</string>
|
||||
@@ -326,7 +325,6 @@
|
||||
<string name="ui_theme_color_amber_label">ענבר</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">משתמש בצבעי טפט השולחן</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">ניטור</string>
|
||||
<string name="settings_category_appearance_label">מראה</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">שינויים שלא נשמרו</string>
|
||||
@@ -480,7 +478,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">כללי</string>
|
||||
<string name="device_settings_microphone_mode_label">מיקרופון</string>
|
||||
<string name="device_settings_microphone_mode_description">איזה AirPod משמש כמיקרופון</string>
|
||||
<string name="device_settings_microphone_mode_description">איזה אוזנייה משמשת כמיקרופון</string>
|
||||
<string name="device_settings_microphone_mode_auto">אוטומטי</string>
|
||||
<string name="device_settings_microphone_mode_right">ימין</string>
|
||||
<string name="device_settings_microphone_mode_left">שמאל</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">最近購入した場合、Google Playが同期するまで少し時間がかかる場合があります。</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">購入が表示されない場合は、数分後に再度お試しください。</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">購入に使用したGoogleアカウントでサインインしていることを確認してください。</string>
|
||||
<string name="settings_monitor_mode_label">モニターモード</string>
|
||||
<string name="settings_monitor_mode_description">このアプリがBluetoothデータを監視する状況。</string>
|
||||
<string name="settings_monitor_connected_notification_label">追加通知</string>
|
||||
<string name="settings_monitor_connected_notification_description">デバイスが接続されると追加の通知を表示します。これにより、「デバイスステータス」チャネルを無効にすることで、永続的な「デバイスなし」通知を非表示にできます。</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">切断後も通知を維持</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">自動一時停止</string>
|
||||
<string name="settings_autopause_description">デバイスを耳から外すとオーディオを一時停止します。</string>
|
||||
<string name="settings_autopplay_label">自動再生</string>
|
||||
<string name="settings_autoplay_description">デバイスを装着するとオーディオ再生を開始します。</string>
|
||||
<string name="settings_autoplay_description">自動一時停止で停止した場合のみ、ポッドを再装着したときに音楽を再開します。自分で一時停止した場合(電話、AirPodsステム、スリープ)は一時停止のままになります。</string>
|
||||
<string name="settings_start_music_on_wear_label">装着時に音楽を開始</string>
|
||||
<string name="settings_start_music_on_wear_description">手動で一時停止した後でも、ポッドを装着したときに常に音楽の再生を試みます。</string>
|
||||
<string name="settings_eardetection_info_label">耳検出に関する注意</string>
|
||||
<string name="settings_eardetection_info_description">耳検出が片方のpodでしか動作しない場合、これはAppleの制限です。検出されるのは「primary pod」(マイクに使われる側)だけです。Appleデバイスで設定してください: 設定 → Bluetooth → AirPods → マイク。</string>
|
||||
<string name="settings_fake_data_label">偽のデータ</string>
|
||||
<string name="settings_fake_data_description">偽のデータを表示します。つまり、存在しないデバイスをシミュレートします。</string>
|
||||
<string name="settings_debug_label">デバッグ設定</string>
|
||||
<string name="settings_debug_description">アプリの問題のトラブルシューティングに役立つ追加設定。</string>
|
||||
<string name="settings_signal_minimum_label">最小信号品質</string>
|
||||
<string name="settings_signal_minimum_description">デバイスがあなたのものと見なされるために必要な最小信号品質。</string>
|
||||
<string name="settings_autoconnect_label">自動接続</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">接続ポップアップを表示</string>
|
||||
<string name="settings_popup_connected_description">デバイスが初めて接続されたときにポップアップを表示します。</string>
|
||||
<string name="settings_popup_info_not_in_app">ポップアップはアプリを使用していない時のみ表示されます。</string>
|
||||
<string name="settings_popup_warning_manual_mode">ポップアップにはモニターが実行中である必要があります。モニターモードが「アプリが開いている時」に設定されており、アプリを離れるとモニターが停止します。</string>
|
||||
<string name="general_fix_it_action">修正する</string>
|
||||
<string name="device_settings_experimental_title">実験的機能</string>
|
||||
<string name="device_settings_experimental_description">この機能はまだすべてのデバイスでテストされていません。正しく動作しない場合は、デバッグログを添えてイシューを開いてください。</string>
|
||||
<string name="device_settings_experimental_action">イシュートラッカーを開く</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">謝辞</string>
|
||||
<string name="settings_debug_autoreports_label">自動バグレポート</string>
|
||||
<string name="settings_debug_autoreports_description">アプリのクラッシュに関する詳細など、問題を自動的に報告して、修正方法を把握できるようにします。</string>
|
||||
<string name="settings_debug_mode_label">デバッグモード</string>
|
||||
<string name="settings_debug_mode_description">問題のトラブルシューティングのために追加情報を表示します。</string>
|
||||
<string name="settings_blescanner_unfiltered_label">未フィルタリングBLEデータ</string>
|
||||
<string name="settings_blescanner_unfiltered_description">BLEスキャナーからすべてのフィルターを削除して、ブロードキャストされたすべてのBLEデータを表示します。新しいタイプのヘッドフォンのサポートを追加するのに役立ちます。</string>
|
||||
<string name="settings_compatibility_mode_label">互換モード</string>
|
||||
<string name="settings_compatibility_mode_description">互換性を向上させるために最適化を無効にします。データが表示されない場合は、これを試してください。</string>
|
||||
<string name="help_translate_label">翻訳</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">このウィジェットはデバイスへの直接接続(AAP)が必要です。このウィジェットを使用する前に、アプリでデバイスがペアリングおよび接続されていることを確認してください。</string>
|
||||
<string name="anc_widget_no_anc_support_label">このデバイスはノイズコントロールに対応していません</string>
|
||||
<string name="anc_widget_aap_not_connected_label">未接続</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">近くにいるが未接続</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">近くにいない</string>
|
||||
<string name="anc_widget_aap_connecting_label">接続中…</string>
|
||||
<string name="tile_anc_label">ノイズコントロール</string>
|
||||
<string name="tile_anc_subtitle_permission_required">権限の許可が必要です</string>
|
||||
<string name="tile_anc_subtitle_no_device">デバイスなし</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">ノイズコントロールなし</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetoothオフ</string>
|
||||
<string name="widget_config_screen_title">ウィジェット設定</string>
|
||||
<string name="widget_configuration_title">デバイスを選択</string>
|
||||
<string name="widget_configuration_description">このウィジェットに表示するデバイスプロファイルを選択してください。</string>
|
||||
@@ -218,9 +215,6 @@
|
||||
<string name="permission_required_title">次の権限が必要です:</string>
|
||||
<string name="permission_system_alert_window_label">システムアラートウィンドウ</string>
|
||||
<string name="permission_system_alert_window_description">「ポップアップを表示」機能を有効にするため、CAPodが他のアプリの上に表示できるようにします。</string>
|
||||
<string name="settings_monitor_mode_manual_label">アプリを開いているとき</string>
|
||||
<string name="settings_monitor_mode_automatic_label">デバイス接続時</string>
|
||||
<string name="settings_monitor_mode_always_label">常に</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">検出時</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">ケースが開いているとき</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">装着時</string>
|
||||
@@ -252,6 +246,11 @@
|
||||
<string name="anc_mode_transparency">外音取り込み</string>
|
||||
<string name="anc_mode_adaptive">アダプティブ</string>
|
||||
<string name="conversation_awareness_label">会話感知</string>
|
||||
<string name="settings_conversation_action_label">話し始めたとき</string>
|
||||
<string name="settings_conversation_action_nothing_label">何もしない</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">音量を下げる</string>
|
||||
<string name="settings_conversation_action_pause_label">メディアを一時停止</string>
|
||||
<string name="settings_conversation_volume_reduction_label">音量低下</string>
|
||||
<string name="signal_badge_ble_cd">BLEスキャン中</string>
|
||||
<string name="signal_badge_key_irk_cd">本人確認済み</string>
|
||||
<string name="signal_badge_key_encrypted_cd">暗号化接続</string>
|
||||
@@ -320,7 +319,6 @@
|
||||
<string name="ui_theme_color_amber_label">アンバー</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">壁紙の色を使用</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">モニタリング</string>
|
||||
<string name="settings_category_appearance_label">外観</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">未保存の変更</string>
|
||||
@@ -465,7 +463,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">一般</string>
|
||||
<string name="device_settings_microphone_mode_label">マイク</string>
|
||||
<string name="device_settings_microphone_mode_description">マイクとして使用するAirPod</string>
|
||||
<string name="device_settings_microphone_mode_description">マイクとして使用するイヤーバッド</string>
|
||||
<string name="device_settings_microphone_mode_auto">自動</string>
|
||||
<string name="device_settings_microphone_mode_right">右</string>
|
||||
<string name="device_settings_microphone_mode_left">左</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">თუ ახლახანს შეიძინეთ, Google Play-ს სინქრონიზაციას შეიძლება გარკვეული დრო დასჭირდეს.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">რამდენიმე წუთში სცადეთ თავიდან, თუ თქვენი შეძენა არ ჩანს.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">დარწმუნდით, რომ შესულა ხართ იმავე Google ანგარიშით, რომელიც გამოიყენეთ შეძენისას.</string>
|
||||
<string name="settings_monitor_mode_label">მონიტორინგის რეჟიმი</string>
|
||||
<string name="settings_monitor_mode_description">რა გარემოებებში აკონტროლებს ეს აპლიკაცია Bluetooth-ის მონაცემებს.</string>
|
||||
<string name="settings_monitor_connected_notification_label">დამატებითი შეტყობინება</string>
|
||||
<string name="settings_monitor_connected_notification_description">აჩვენებს დამატებით შეტყობინებას, როდესაც მოწყობილობა დაკავშირებულია. ეს საშუალებას გაძლევთ დამალოთ მუდმივი \"მოწყობილობები არ არის\" შეტყობინება \"მოწყობილობის სტატუსის\" არხის გამორთვით.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">შეტყობინების შენარჩუნება გათიშვის შემდეგ</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">ავტომატური პაუზა</string>
|
||||
<string name="settings_autopause_description">აუდიოს დაპაუზება მოწყობილობის ყურიდან ამოღებისას.</string>
|
||||
<string name="settings_autopplay_label">ავტომატური დაკვრა</string>
|
||||
<string name="settings_autoplay_description">აუდიო დაკვრის დაწყება მოწყობილობის ტარებისას.</string>
|
||||
<string name="settings_autoplay_description">მუსიკის განახლება ყურსასმენების ხელახლა ჩადებისას, მხოლოდ იმ შემთხვევაში, თუ ავტო-პაუზამ შეაჩერა. პაუზები, რომლებიც თქვენ თვითონ გააკეთეთ (ტელეფონი, AirPods ღერო, ძილი), პაუზირებულია.</string>
|
||||
<string name="settings_start_music_on_wear_label">მუსიკის დაწყება ჩადებისას</string>
|
||||
<string name="settings_start_music_on_wear_description">ყოველთვის ცდილობს მუსიკის დაკვრას ყურსასმენების ჩადებისას, მანუალური პაუზის შემდეგაც კი.</string>
|
||||
<string name="settings_eardetection_info_label">ყურში აღმოჩენის შენიშვნა</string>
|
||||
<string name="settings_eardetection_info_description">თუ ყურში აღმოჩენა მხოლოდ ერთი ყურსასმენისთვის მუშაობს, ეს Apple-ის შეზღუდვაა. აღმოჩენილია მხოლოდ \"primary pod\" (მიკროფონისთვის გამოყენებული). კონფიგურაცია Apple მოწყობილობებზე: Settings → Bluetooth → AirPods → Microphone.</string>
|
||||
<string name="settings_fake_data_label">ყალბი მონაცემები</string>
|
||||
<string name="settings_fake_data_description">აჩვენეთ ყალბი მონაცემები, ე.ი. არარსებული მოწყობილობების სიმულაცია.</string>
|
||||
<string name="settings_debug_label">გამართვის პარამეტრები</string>
|
||||
<string name="settings_debug_description">დამატებითი პარამეტრები აპლიკაციასთან დაკავშირებული პრობლემების აღმოსაფხვრელად.</string>
|
||||
<string name="settings_signal_minimum_label">სიგნალის მინიმალური ხარისხი</string>
|
||||
<string name="settings_signal_minimum_description">სიგნალის მინიმალური ხარისხი, რომელიც მოწყობილობას უნდა ჰქონდეს, რომ თქვენად ჩაითვალოს.</string>
|
||||
<string name="settings_autoconnect_label">ავტომატური დაკავშირება</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">დაკავშირების ამომხტარი ფანჯრის ჩვენება</string>
|
||||
<string name="settings_popup_connected_description">აჩვენეთ ამომხტარი ფანჯარა მოწყობილობის პირველად დაკავშირებისას.</string>
|
||||
<string name="settings_popup_info_not_in_app">პოპ-აპები მხოლოდ მაშინ ჩანს, როცა არ ხართ აპლიკაციაში.</string>
|
||||
<string name="settings_popup_warning_manual_mode">პოპ-აპებისთვის საჭიროა მონიტორის გაშვება. თქვენი მონიტორის რეჟიმი დაყენებულია \"აპლიკაცია ღიაა\"-ზე, რაც მონიტორს აჩერებს, როცა აპლიკაციას ტოვებთ.</string>
|
||||
<string name="general_fix_it_action">გამოსწორება</string>
|
||||
<string name="device_settings_experimental_title">ექსპერიმენტული ფუნქცია</string>
|
||||
<string name="device_settings_experimental_description">ეს ფუნქცია ჯერ ყველა მოწყობილობაზე გამოცდილი არ არის. თუ რამე სწორად არ მუშაობს, გთხოვთ გახსნათ ხარვეზი debug ლოგთან ერთად.</string>
|
||||
<string name="device_settings_experimental_action">ხარვეზების ტრეკერის გახსნა</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">მადლობები</string>
|
||||
<string name="settings_debug_autoreports_label">შეცდომების ავტომატური ანგარიშები</string>
|
||||
<string name="settings_debug_autoreports_description">ავტომატურად აცნობებს პრობლემების შესახებ, მაგ. აპლიკაციის ავარიის დეტალებს, რათა გავარკვიო, როგორ გამოვასწორო.</string>
|
||||
<string name="settings_debug_mode_label">გამართვის რეჟიმი</string>
|
||||
<string name="settings_debug_mode_description">აჩვენეთ დამატებითი ინფორმაცია პრობლემების აღმოსაფხვრელად.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">გაუფილტრავი BLE მონაცემები</string>
|
||||
<string name="settings_blescanner_unfiltered_description">ამოიღეთ ნებისმიერი ფილტრი BLE სკანერიდან, რათა აჩვენოთ ყველა გადაცემული BLE მონაცემი. სასარგებლოა ახალი ტიპის ყურსასმენების მხარდაჭერის დასამატებლად.</string>
|
||||
<string name="settings_compatibility_mode_label">თავსებადობის რეჟიმი</string>
|
||||
<string name="settings_compatibility_mode_description">გამორთეთ ოპტიმიზაციები თავსებადობის გასაუმჯობესებლად. სცადეთ ეს, თუ მონაცემებს ვერ ხედავთ.</string>
|
||||
<string name="help_translate_label">თარგმანი</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">ეს ვიჯეტი საჭიროებს პირდაპირ კავშირს (AAP) თქვენს მოწყობილობასთან. დარწმუნდით, რომ მოწყობილობა აპარატში დაწყვილებული და დაკავშირებულია ამ ვიჯეტის გამოყენებამდე.</string>
|
||||
<string name="anc_widget_no_anc_support_label">ეს მოწყობილობა არ უჭერს მხარს ხმაურის კონტროლს</string>
|
||||
<string name="anc_widget_aap_not_connected_label">არ არის დაკავშირებული</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">ახლოს, მაგრამ დაუკავშირებელი</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">არ არის ახლოს</string>
|
||||
<string name="anc_widget_aap_connecting_label">მიმდინარეობს კავშირი…</string>
|
||||
<string name="tile_anc_label">ხმაურის კონტროლი</string>
|
||||
<string name="tile_anc_subtitle_permission_required">საჭიროა ნებართვა</string>
|
||||
<string name="tile_anc_subtitle_no_device">მოწყობილობა არ არის</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">ხმაურის კონტროლი არ არის</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth გამორთულია</string>
|
||||
<string name="widget_config_screen_title">ვიჯეტის კონფიგურაცია</string>
|
||||
<string name="widget_configuration_title">მოწყობილობის არჩევა</string>
|
||||
<string name="widget_configuration_description">აირჩიეთ, რომელი მოწყობილობის პროფილი უნდა აჩვენოს ამ ვიჯეტმა.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">საჭიროა შემდეგი ნებართვა:</string>
|
||||
<string name="permission_system_alert_window_label">სისტემური გამაფრთხილებელი ფანჯარა</string>
|
||||
<string name="permission_system_alert_window_description">დაუშვით, რომ CAPod სხვა აპებზე ზემოდან გამოჩნდეს, რათა \"Show PopUp\" ფუნქცია შესაძლებელი გახდეს.</string>
|
||||
<string name="settings_monitor_mode_manual_label">როცა აპი ღიაა</string>
|
||||
<string name="settings_monitor_mode_automatic_label">როცა მოწყობილობა დაკავშირებულია</string>
|
||||
<string name="settings_monitor_mode_always_label">ყოველთვის</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">როცა გამოჩნდება</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">ქეისი ღიაა</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">ყურშია</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">გამჭვირვალობა</string>
|
||||
<string name="anc_mode_adaptive">ადაპტური</string>
|
||||
<string name="conversation_awareness_label">საუბრის ცნობიერება</string>
|
||||
<string name="settings_conversation_action_label">როდესაც ლაპარაკს იწყებ</string>
|
||||
<string name="settings_conversation_action_nothing_label">არაფრის გაკეთება</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">ხმის დაწევა</string>
|
||||
<string name="settings_conversation_action_pause_label">მედიის პაუზა</string>
|
||||
<string name="settings_conversation_volume_reduction_label">ხმის შემცირება</string>
|
||||
<string name="signal_badge_ble_cd">BLE სკანირება აქტიურია</string>
|
||||
<string name="signal_badge_key_irk_cd">პირაობა დადასტურებულია</string>
|
||||
<string name="signal_badge_key_encrypted_cd">დაშიფრული კავშირი</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">ყვითელი</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">იყენებს ფონის ფერებს</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">მონიტორინგი</string>
|
||||
<string name="settings_category_appearance_label">გარეგნობა</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">შეუნახავი ცვლილებები</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">ზოგადი</string>
|
||||
<string name="device_settings_microphone_mode_label">მიკროფონი</string>
|
||||
<string name="device_settings_microphone_mode_description">რომელი AirPod გამოიყენება მიკროფონად</string>
|
||||
<string name="device_settings_microphone_mode_description">რომელი ყურსასმენი გამოიყენება მიკროფონად</string>
|
||||
<string name="device_settings_microphone_mode_auto">ავტო</string>
|
||||
<string name="device_settings_microphone_mode_right">მარჯვენა</string>
|
||||
<string name="device_settings_microphone_mode_left">მარცხენა</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">ប្រសិនបើអ្នកបានតិញថ្មី៦ វាអាចចំណាយពេលបន្តិចដើម្បីឥយ្វ Google Play ធ្វើការធ្វើឥ្ស្របគ្នា។</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">ព្យាយាមម្តងតិឡតក្នុងរយែពេលប៉ុន្មានាតិប្រសិនបើការតិញរបស់អ្នកមិនបានបង្ហាញ។</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">ត្រូវប្រាកតថ្លៃអ្នកបានចូលដោយប្រើកគណនី Google ដូចគ្នាដែលប្រើសម្រាប់ការតិញ។</string>
|
||||
<string name="settings_monitor_mode_label">របៀបតាមដាន</string>
|
||||
<string name="settings_monitor_mode_description">នៅក្រោមលក្ខខណ្ឌអ្វីខ្លះដែលកម្មវិធីនេះតាមដានទិន្នន័យ Bluetooth។</string>
|
||||
<string name="settings_monitor_connected_notification_label">ការជូនដំណឹងបន្ថែម</string>
|
||||
<string name="settings_monitor_connected_notification_description">បង្ហាញការជូនដំណឹងបន្ថែមនៅពេលឧបករណ៍ត្រូវបានភ្ជាប់។ វាអនុញ្ញាតឱ្យអ្នកលាក់ការជូនដំណឹងអចិន្ត្រៃយ៍ \"គ្មានឧបករណ៍\" ដោយបិទឆានែល \"ស្ថានភាពឧបករណ៍\"។</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">រក្សាការជូនដំណឹងបន្ទាប់ពីផ្តាច់</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">ផ្អាកដោយស្វ័យប្រវត្តិ</string>
|
||||
<string name="settings_autopause_description">ផ្អាកសំឡេងនៅពេលដកឧបករណ៍ចេញពីត្រចៀករបស់អ្នក។</string>
|
||||
<string name="settings_autopplay_label">ចាក់ដោយស្វ័យប្រវត្តិ</string>
|
||||
<string name="settings_autoplay_description">ចាប់ផ្តើមចាក់សំឡេងនៅពេលឧបករណ៍ត្រូវបានពាក់។</string>
|
||||
<string name="settings_autoplay_description">បន្តតន្ត្រី នៅពេលពាក់ pods របស់អ្នកម្តងទៀត ប៉ុន្តែតែក្នុងករណីដែល Auto pause បានបញ្ឈប់វា។ ការផ្អាកដែលអ្នកបានធ្វើដោយខ្លួនឯង (ទូរស័ព្ទ, AirPods stem, ការគេង) នឹងនៅតែផ្អាក។</string>
|
||||
<string name="settings_start_music_on_wear_label">ចាប់ផ្តើមតន្ត្រីនៅពេលពាក់</string>
|
||||
<string name="settings_start_music_on_wear_description">តែងតែព្យាយាមចាក់តន្ត្រី នៅពេលអ្នកពាក់ pods សូម្បីតែបន្ទាប់ពីការផ្អាកដោយដៃ។</string>
|
||||
<string name="settings_eardetection_info_label">ចំណាំការរកឃើញត្រចៀក</string>
|
||||
<string name="settings_eardetection_info_description">ប្រសិនបើការរកឃើញត្រចៀកដំណើរការតែសម្រាប់ផតមួយ នេះជាដែនកំណត់របស់ Apple។ មានតែ \"ផតចម្បង\" (ប្រើសម្រាប់មីក្រូហ្វូន) ប៉ុណ្ណោះត្រូវបានរកឃើញ។ កំណត់រចនាសម្ព័ន្ធនៅលើឧបករណ៍ Apple: ការកំណត់ → Bluetooth → AirPods → មីក្រូហ្វូន។</string>
|
||||
<string name="settings_fake_data_label">ទិន្នន័យក្លែងក្លាយ</string>
|
||||
<string name="settings_fake_data_description">បង្ហាញទិន្នន័យក្លែងក្លាយ ពោលគឺក្លែងធ្វើឧបករណ៍ដែលមិនមាន។</string>
|
||||
<string name="settings_debug_label">ការកំណត់កែកំហុស</string>
|
||||
<string name="settings_debug_description">ការកំណត់បន្ថែមដើម្បីជួយដោះស្រាយបញ្ហាជាមួយកម្មវិធី។</string>
|
||||
<string name="settings_signal_minimum_label">គុណភាពសញ្ញាអប្បបរមា</string>
|
||||
<string name="settings_signal_minimum_description">គុណភាពសញ្ញាអប្បបរមាដែលឧបករណ៍ត្រូវតែមានដើម្បីចាត់ទុកថាជារបស់អ្នក។</string>
|
||||
<string name="settings_autoconnect_label">ភ្ជាប់ដោយស្វ័យប្រវត្តិ</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">បង្ហាញផ្ទាំងលោតការភ្ជាប់</string>
|
||||
<string name="settings_popup_connected_description">បង្ហាញផ្ទាំងលោតនៅពេលឧបករណ៍ភ្ជាប់ជាលើកដំបូង។</string>
|
||||
<string name="settings_popup_info_not_in_app">ការបង្ហាញលេចឡើងត្រូវបានបង្ហាញតែពេលអ្នកមិននៅក្នុងកម្មវិធីប៉ុណ្ណោះ។</string>
|
||||
<string name="settings_popup_warning_manual_mode">ការបង្ហាញលេចឡើងតម្រូវឱ្យម៉ូនីទ័រដំណើរការ។ របៀបម៉ូនីទ័ររបស់អ្នកត្រូវបានកំណត់ជា \"នៅពេលកម្មវិធីបើក\" ដែលបញ្ឈប់ម៉ូនីទ័រពេលអ្នកចាកចេញពីកម្មវិធី។</string>
|
||||
<string name="general_fix_it_action">កែប្រែ</string>
|
||||
<string name="device_settings_experimental_title">មុខងារពិសោធន៍</string>
|
||||
<string name="device_settings_experimental_description">មុខងារនេះមិនទាន់ត្រូវបានសាកល្បងនៅលើឧបករណ៍ទាំងអស់នៅឡើយទេ។ ប្រសិនបើអ្វីមួយមិនដំណើរការត្រឹមត្រូវ សូមបើកបញ្ហាជាមួយកំណត់ហេតុ debug។</string>
|
||||
<string name="device_settings_experimental_action">បើក Issue Tracker</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">ការទទួលស្គាល់</string>
|
||||
<string name="settings_debug_autoreports_label">របាយការណ៍កំហុសដោយស្វ័យប្រវត្តិ</string>
|
||||
<string name="settings_debug_autoreports_description">រាយការណ៍បញ្ហាដោយស្វ័យប្រវត្តិ ឧ. ព័ត៌មានលម្អិតអំពីការគាំងកម្មវិធី ដូច្នេះខ្ញុំអាចរកវិធីដោះស្រាយវាបាន។</string>
|
||||
<string name="settings_debug_mode_label">របៀបកែកំហុស</string>
|
||||
<string name="settings_debug_mode_description">បង្ហាញព័ត៌មានបន្ថែមដើម្បីដោះស្រាយបញ្ហា។</string>
|
||||
<string name="settings_blescanner_unfiltered_label">ទិន្នន័យ BLE ដែលមិនបានត្រង</string>
|
||||
<string name="settings_blescanner_unfiltered_description">ដកតម្រងណាមួយចេញពីម៉ាស៊ីនវិភាគ BLE ដើម្បីបង្ហាញទិន្នន័យ BLE ដែលបានផ្សាយទាំងអស់។ មានប្រយោជន៍សម្រាប់ការបន្ថែមការគាំទ្រសម្រាប់ប្រភេទកាសស្តាប់ត្រចៀកថ្មី។</string>
|
||||
<string name="settings_compatibility_mode_label">របៀបភាពឆបគ្នា</string>
|
||||
<string name="settings_compatibility_mode_description">បិទការបង្កើនប្រសិទ្ធភាពដើម្បីកែលម្អភាពឆបគ្នា។ សាកល្បងវានៅពេលអ្នកមិនឃើញទិន្នន័យណាមួយ។</string>
|
||||
<string name="help_translate_label">ការបកប្រែ</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">វីដជិតនេះតម្រូវឱ្យមានការតភ្ជាប់ផ្ទាល់ (AAP) ទៅឧបករណ៍របស់អ្នក។ ត្រូវប្រាកដថាឧបករណ៍របស់អ្នកត្រូវបានផ្គូផ្គង និងភ្ជាប់ក្នុងកម្មវិធីមុនពេលប្រើប្រាស់វីដជិតនេះ។</string>
|
||||
<string name="anc_widget_no_anc_support_label">ឧបករណ៍នេះមិនគាំទ្រការគ្រប់គ្រងសំឡេងរំខាន</string>
|
||||
<string name="anc_widget_aap_not_connected_label">មិនបានភ្ជាប់</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">នៅជិតប៉ុន្តែមិនបានភ្ជាប់</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">មិននៅជិត</string>
|
||||
<string name="anc_widget_aap_connecting_label">កំពុងភ្ជាប់…</string>
|
||||
<string name="tile_anc_label">ការគ្រប់គ្រងសំឡេងរំខាន</string>
|
||||
<string name="tile_anc_subtitle_permission_required">តម្រូវការការអនុញ្ញាត</string>
|
||||
<string name="tile_anc_subtitle_no_device">គ្មានឧបករណ៍</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">គ្មានការគ្រប់គ្រងសំឡេងរំខាន</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth បិទ</string>
|
||||
<string name="widget_config_screen_title">ការកំណត់រចនាសម្ព័ន្ធវិជេត</string>
|
||||
<string name="widget_configuration_title">ជ្រើសរើសឧបករណ៍</string>
|
||||
<string name="widget_configuration_description">ជ្រើសរើសទម្រង់ឧបករណ៍ណាមួយដែលធាតុក្រាហ្វិកនេះគួរបង្ហាញ។</string>
|
||||
@@ -218,9 +215,6 @@
|
||||
<string name="permission_required_title">ការអនុញ្ញាតខាងក្រោមត្រូវបានទាមទារ:</string>
|
||||
<string name="permission_system_alert_window_label">បង្អួចជូនដំណឹងប្រព័ន្ធ</string>
|
||||
<string name="permission_system_alert_window_description">អនុញ្ញាតឱ្យ CAPod គូរពីលើកម្មវិធីផ្សេងទៀតដើម្បីធ្វើឱ្យមុខងារ \"បង្ហាញផ្ទាំងលោត\" អាចធ្វើទៅបាន។</string>
|
||||
<string name="settings_monitor_mode_manual_label">នៅពេលកម្មវិធីបើក</string>
|
||||
<string name="settings_monitor_mode_automatic_label">នៅពេលឧបករណ៍បានភ្ជាប់</string>
|
||||
<string name="settings_monitor_mode_always_label">ជានិច្ច</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">នៅពេលឃើញ</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">ប្រអប់បើក</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">ក្នុងត្រចៀក</string>
|
||||
@@ -252,6 +246,11 @@
|
||||
<string name="anc_mode_transparency">ភាពថ្លា</string>
|
||||
<string name="anc_mode_adaptive">ការប្រែប្រួល</string>
|
||||
<string name="conversation_awareness_label">ការយល់ដឹងការសន្ទនា</string>
|
||||
<string name="settings_conversation_action_label">នៅពេលអ្នកចាប់ផ្តើមនិយាយ</string>
|
||||
<string name="settings_conversation_action_nothing_label">មិនធ្វើអ្វី</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">បន្ថយសំឡេង</string>
|
||||
<string name="settings_conversation_action_pause_label">ផ្អាកមេឌៀ</string>
|
||||
<string name="settings_conversation_volume_reduction_label">ការបន្ថយសំឡេង</string>
|
||||
<string name="signal_badge_ble_cd">កំពុងស្កេន BLE</string>
|
||||
<string name="signal_badge_key_irk_cd">អត្តសញ្ញាណបានផ្ទៀងផ្ទាត់</string>
|
||||
<string name="signal_badge_key_encrypted_cd">ការភ្ជាប់ដែលបានអ៊ិនគ្រីប</string>
|
||||
@@ -320,7 +319,6 @@
|
||||
<string name="ui_theme_color_amber_label">ពណ៌លើងតឹកក្រូច</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">ប្រើពណ៌ wallpaper</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">ការត្រួតពិនិត្យ</string>
|
||||
<string name="settings_category_appearance_label">រូបរាង</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">ការផ្លាស់ប្តូរមិនបានរក្សាទុក</string>
|
||||
@@ -464,7 +462,8 @@
|
||||
<string name="overview_reactions_hint_body">ការចាក់ស្វ័យប្រវត្តិ ការផ្អាកស្វ័យប្រវត្តិ និងបង្អួចលេចឡើង ឥឡូវនេះត្រូវបានកំណត់រៀងរាល់ឧបករណ៍។ ចុចលើរូបតំណាងការកំណត់នៅលើកាតខណៈពេលដែលកាស귀យន្តស្ដាប់របស់អ្នកភ្ជាប់។</string>
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">ជាទូទៅ</string>
|
||||
<string name="device_settings_microphone_mode_description">AirPod ណាមួយដែលប្រើជាមីក្រូហ្វូន</string>
|
||||
<string name="device_settings_microphone_mode_label">មីក្រូហ្វូន</string>
|
||||
<string name="device_settings_microphone_mode_description">កាសណាដែលប្រើជាមីក្រូហ្វូន</string>
|
||||
<string name="device_settings_microphone_mode_auto">ស្វ័យប្រវត្តិ</string>
|
||||
<string name="device_settings_microphone_mode_right">ស្តាំ</string>
|
||||
<string name="device_settings_microphone_mode_left">ឃ្វេង</string>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<string name="upgrade_benefit_popups">Popup dema vekirina qutiyê & girêdanê</string>
|
||||
<string name="upgrade_benefit_widgets">Widgetên ekrana malê</string>
|
||||
<string name="upgrade_benefit_device_settings">Mîhengen pêşkertî yên cîhazê</string>
|
||||
<string name="upgrade_benefit_device_controls">Kontrolên cîhazê — deng, stûn & zêdetir</string>
|
||||
<string name="upgrade_benefit_device_controls">Kontrolên cîhazê — deng, stûn & zêdetir</string>
|
||||
<string name="upgrade_benefit_support">Pêşdebir piştgirî bike</string>
|
||||
<string name="upgrade_benefit_disclaimer">Hebûna taybet mendêyê bi kulaklîkên we û amûrê ve girêdayî ye.</string>
|
||||
<string name="upgrade_screen_options_description">Heman taybetmendî, bihayên cûda. Abonê ceribandineke belaş vedihewîne û her dem dikare were betal kirin.</string>
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Heke hûn vê dawiyê kirînek kirin, dibe ku hinek dem bigire ku Google Play hevdem bibe.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Heke kirîna we xuya nebe, çend xulekan şûnda dîsa biceribîne.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Pê ewle be ku hûn bi heman hesabê Google yê ku ji bo kirînê hatiye bikaranîn ketine hundur.</string>
|
||||
<string name="settings_monitor_mode_label">Moda çavdêriyê</string>
|
||||
<string name="settings_monitor_mode_description">Di kîjan şert û mercan de ev sepan daneyên Bluetooth dişopîne.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Agahdariya zêde</string>
|
||||
<string name="settings_monitor_connected_notification_description">Dema ku amûrek girêdayî ye agahdariyek zêde nîşan dide. Ev dihêle hûn agahdariya daîmî ya \"Amûr tune\" bi neçalakkirina kanala \"Rewşa amûrê\" veşêrin.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Piştî qutbûnê agahdariyê biparêze</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Rawestandina otomatîk</string>
|
||||
<string name="settings_autopause_description">Dema ku amûrê ji guhê xwe derdixin, deng rawestînin.</string>
|
||||
<string name="settings_autopplay_label">Lîstina otomatîk</string>
|
||||
<string name="settings_autoplay_description">Dema ku amûr li xwe kirî ye, lîstina deng dest pê bike.</string>
|
||||
<string name="settings_autoplay_description">Gava ku ji nû ve podên xwe li xwe dikî muzîkê berdewam bike, lê tenê heke Auto pause ew rawestandibe. Rawestandinên ku xwe kirine (têlefon, AirPods stem, xew) rawestayî dimînin.</string>
|
||||
<string name="settings_start_music_on_wear_label">Muzîkê li ser li xwe kirinê dest pê bike</string>
|
||||
<string name="settings_start_music_on_wear_description">Her hewl dide ku muzîkê lêbixe gava tu podên xwe li xwe dikî, tewra piştî rawestandinek destan.</string>
|
||||
<string name="settings_eardetection_info_label">Nîşeya tespîtkirina guhê</string>
|
||||
<string name="settings_eardetection_info_description">Heke tespîtkirina guhê tenê ji bo yek podê dixebite, ev sînordariya Apple ye. Tenê \"poda sereke\" (ji bo mîkrofonê tê bikaranîn) tê tespîtkirin. Li ser amûrên Apple saz bikin: Mîheng → Bluetooth → AirPods → Mîkrofon.</string>
|
||||
<string name="settings_fake_data_label">Daneyên sexte</string>
|
||||
<string name="settings_fake_data_description">Daneyên sexte nîşan bide, ango amûrên ku tune ne simul bike.</string>
|
||||
<string name="settings_debug_label">Mîhengên çareserkirinê</string>
|
||||
<string name="settings_debug_description">Mîhengên zêde ji bo alîkariya çareserkirina pirsgirêkên bi sepanê re.</string>
|
||||
<string name="settings_signal_minimum_label">Qalîteya sînyala herî kêm</string>
|
||||
<string name="settings_signal_minimum_description">Qalîteya sînyala herî kêm a ku divê amûrek hebe da ku ya we were hesibandin.</string>
|
||||
<string name="settings_autoconnect_label">Girêdana otomatîk</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Pop-upa girêdanê nîşan bide</string>
|
||||
<string name="settings_popup_connected_description">Dema ku amûr cara yekem girêdide pop-upek nîşan bide.</string>
|
||||
<string name="settings_popup_info_not_in_app">Pencereyên daqurtandinê tenê dema tu di serîlêdanê de nî nîn in tên nîşandan.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Pencereyên daqurtandinê hewce ne ku çavdêr bixebite. Moda çavdêriya te li ser \"Dema serîlêdan vekirî ye\" hatiye danîn, ku çavdêr dema tu serîlêdanê dihêlî radiweste.</string>
|
||||
<string name="general_fix_it_action">Rast bike</string>
|
||||
<string name="device_settings_experimental_title">Taybetmendiya ezmûnî</string>
|
||||
<string name="device_settings_experimental_description">Ev taybetmendî hê li ser hemî amûran nehatiye ceribandin. Eger tiştek rast nexebite, ji kerema xwe pirsgirêkek bi têkelbûnek debug vekin.</string>
|
||||
<string name="device_settings_experimental_action">Şopînerê Pirsgirêkê Veke</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Spasdarî</string>
|
||||
<string name="settings_debug_autoreports_label">Raporên xeletiyan ên otomatîk</string>
|
||||
<string name="settings_debug_autoreports_description">Pirsgirêkan bixweber rapor dike, mînak hûrguliyên li ser têkçûna sepanê da ku ez bikaribim fêhm bikim ka meriv çawa wê sererast bike.</string>
|
||||
<string name="settings_debug_mode_label">Moda çareserkirinê</string>
|
||||
<string name="settings_debug_mode_description">Ji bo çareserkirina pirsgirêkan agahdariya zêde nîşan bide.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Daneyên BLE yên neparzandî</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Hemî parzûnan ji skanera BLE rakin da ku hemî daneyên BLE yên weşandî nîşan bidin. Ji bo lêzêdekirina piştgiriyê ji bo cûreyên nû yên guhêran bikêr e.</string>
|
||||
<string name="settings_compatibility_mode_label">Moda lihevhatinê</string>
|
||||
<string name="settings_compatibility_mode_description">Ji bo baştirkirina lihevhatinê xweşbîniyan neçalak bikin. Heke hûn tu daneyan nabînin vê biceribînin.</string>
|
||||
<string name="help_translate_label">Werger</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Ev widget girêdanek rasterast (AAP) bi amûra we re hewce dike. Berî ku vê widgetê bikar bînin, pê ewle bin ku amûra we di sepanê de hatiye cotkirinê û girêdanê.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Ev amûr piştgiriya kontrola dengê nagire</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Negrêdayî</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Nêzîk lê ne girêdayî</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Ne nêzîk</string>
|
||||
<string name="anc_widget_aap_connecting_label">Girêdan…</string>
|
||||
<string name="tile_anc_label">Kontrola Dengê</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Destûr hewce ye</string>
|
||||
<string name="tile_anc_subtitle_no_device">Cîhaz tune</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Kontrola dengê tune</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth veşartî</string>
|
||||
<string name="widget_config_screen_title">Mîhengkirina Widgetê</string>
|
||||
<string name="widget_configuration_title">Amûr Hilbijêre</string>
|
||||
<string name="widget_configuration_description">Hilbijêrin ka kîjan profîla amûrê divê ev widget nîşan bide.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Destûra jêrîn hewce ye:</string>
|
||||
<string name="permission_system_alert_window_label">Pencereya Hişyariya Pergalê</string>
|
||||
<string name="permission_system_alert_window_description">Destûrê bidin CAPod ku li ser sepanên din xêz bike da ku taybetmendiya \"Pop-Up Nîşan Bide\" gengaz bike.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Dema sepan vekirî ye</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Dema amûr girêdayî ye</string>
|
||||
<string name="settings_monitor_mode_always_label">Herdem</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Dema tê dîtin</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Qapax vekirî ye</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Di guhê de</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Zelalbûn</string>
|
||||
<string name="anc_mode_adaptive">Adaptîf</string>
|
||||
<string name="conversation_awareness_label">Hişyariya Sohbetê</string>
|
||||
<string name="settings_conversation_action_label">Gava tu dest bi axaftinê dikî</string>
|
||||
<string name="settings_conversation_action_nothing_label">Tiştek meke</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Dengê kêm bike</string>
|
||||
<string name="settings_conversation_action_pause_label">Medyayê raweste</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Kêmkirina dengê</string>
|
||||
<string name="signal_badge_ble_cd">Lêgerîna BLE çalak e</string>
|
||||
<string name="signal_badge_key_irk_cd">Nasnameya piştrast kir</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Girêdana şîfrekirî</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Amber</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Rengên dîwarê bikartîne</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Çavdêrî</string>
|
||||
<string name="settings_category_appearance_label">Xuyang</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Guhertinên netomarkirî</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Giştî</string>
|
||||
<string name="device_settings_microphone_mode_label">Mîkrofon</string>
|
||||
<string name="device_settings_microphone_mode_description">Kîjan AirPod wekî mîkrofon tê bikaranîn</string>
|
||||
<string name="device_settings_microphone_mode_description">Kîjan guhêrk wekî mîkrofon tê bikaranîn</string>
|
||||
<string name="device_settings_microphone_mode_auto">Xweber</string>
|
||||
<string name="device_settings_microphone_mode_right">Rastê</string>
|
||||
<string name="device_settings_microphone_mode_left">Çepê</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">ನೀವು ಇತ್ತೀಚೆಗೆ ಖರೀದಿಸಿದ್ದರೆ, Google Play ಸಿಂಕ್ ಆಗಲು ಸ್ವಲ್ಪ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">ನಿಮ್ಮ ಖರೀದಿ ಕಾಣಿಸದಿದ್ದರೆ ಕೆಲವು ನಿಮಿಷಗಳ ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">ಖರೀದಿಗೆ ಬಳಸಿದ ಅದೇ Google ಖಾತೆಯಿಂದ ಸೈನ್ ಇನ್ ಮಾಡಿರುವಿರಿ ಎಂದು ಖಚಿತಪಡಿಸಿ.</string>
|
||||
<string name="settings_monitor_mode_label">ಮಾನಿಟರ್ ಮೋಡ್</string>
|
||||
<string name="settings_monitor_mode_description">ಯಾವ ಸಂದರ್ಭಗಳಲ್ಲಿ ಈ ಅಪ್ಲಿಕೇಶನ್ ಬ್ಲೂಟೂತ್ ಡೇಟಾವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತದೆ.</string>
|
||||
<string name="settings_monitor_connected_notification_label">ಹೆಚ್ಚುವರಿ ಅಧಿಸೂಚನೆ</string>
|
||||
<string name="settings_monitor_connected_notification_description">ಸಾಧನ ಸಂಪರ್ಕಗೊಂಡಾಗ ಹೆಚ್ಚುವರಿ ಅಧಿಸೂಚನೆಯನ್ನು ತೋರಿಸುತ್ತದೆ. ಇದು \"ಸಾಧನ ಸ್ಥಿತಿ\" ಚಾನಲ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವ ಮೂಲಕ ಶಾಶ್ವತ \"ಯಾವುದೇ ಸಾಧನಗಳಿಲ್ಲ\" ಅಧಿಸೂಚನೆಯನ್ನು ಮರೆಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">ಸಂಪರ್ಕ ಕಡಿತದ ನಂತರ ಅಧಿಸೂಚನೆ ಇರಿಸಿ</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">ಸ್ವಯಂ-ವಿರಾಮ</string>
|
||||
<string name="settings_autopause_description">ನಿಮ್ಮ ಕಿವಿಯಿಂದ ಸಾಧನವನ್ನು ತೆಗೆದುಹಾಕಿದಾಗ ಆಡಿಯೊವನ್ನು ವಿರಾಮಗೊಳಿಸಿ.</string>
|
||||
<string name="settings_autopplay_label">ಸ್ವಯಂ-ಪ್ಲೇ</string>
|
||||
<string name="settings_autoplay_description">ಸಾಧನವನ್ನು ಧರಿಸಿದಾಗ ಆಡಿಯೊ ಪ್ಲೇಬ್ಯಾಕ್ ಪ್ರಾರಂಭಿಸಿ.</string>
|
||||
<string name="settings_autoplay_description">ನಿಮ್ಮ ಪಾಡ್ಗಳನ್ನು ಮತ್ತೆ ಧರಿಸಿದಾಗ ಸಂಗೀತವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ, ಆದರೆ ಆಟೋ ಪಾಸ್ ನಿಲ್ಲಿಸಿದ್ದರೆ ಮಾತ್ರ. ನೀವೇ ಪ್ರಚೋದಿಸಿದ ವಿರಾಮಗಳು (ಫೋನ್, AirPods ಸ್ಟೆಮ್, ನಿದ್ರೆ) ವಿರಾಮದಲ್ಲಿ ಉಳಿಯುತ್ತವೆ.</string>
|
||||
<string name="settings_start_music_on_wear_label">ಧರಿಸಿದಾಗ ಸಂಗೀತ ಪ್ರಾರಂಭಿಸಿ</string>
|
||||
<string name="settings_start_music_on_wear_description">ನಿಮ್ಮ ಪಾಡ್ಗಳನ್ನು ಹಾಕಿಕೊಂಡಾಗ ಯಾವಾಗಲೂ ಸಂಗೀತ ಪ್ಲೇ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ, ಮ್ಯಾನ್ಯುವಲ್ ವಿರಾಮದ ನಂತರವೂ ಸಹ.</string>
|
||||
<string name="settings_eardetection_info_label">ಕಿವಿ ಗುರುತಿಸುವಿಕೆ ಟಿಪ್ಪಣಿ</string>
|
||||
<string name="settings_eardetection_info_description">ಕಿವಿ ಗುರುತಿಸುವಿಕೆ ಒಂದು ಪಾಡ್ಗೆ ಮಾತ್ರ ಕೆಲಸ ಮಾಡಿದರೆ, ಇದು Apple ಮಿತಿಯಾಗಿದೆ. \"ಪ್ರಾಥಮಿಕ ಪಾಡ್\" (ಮೈಕ್ರೋಫೋನ್ಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ) ಮಾತ್ರ ಗುರುತಿಸಲಾಗುತ್ತದೆ. Apple ಸಾಧನಗಳಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ: ಸೆಟ್ಟಿಂಗ್ಗಳು → Bluetooth → AirPods → ಮೈಕ್ರೋಫೋನ್.</string>
|
||||
<string name="settings_fake_data_label">ನಕಲಿ ಡೇಟಾ</string>
|
||||
<string name="settings_fake_data_description">ನಕಲಿ ಡೇಟಾವನ್ನು ತೋರಿಸಿ, ಅಂದರೆ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಸಾಧನಗಳನ್ನು ಅನುಕರಿಸಿ.</string>
|
||||
<string name="settings_debug_label">ಡೀಬಗ್ ಸೆಟ್ಟಿಂಗ್ಗಳು</string>
|
||||
<string name="settings_debug_description">ಅಪ್ಲಿಕೇಶನ್ನೊಂದಿಗಿನ ಸಮಸ್ಯೆಗಳನ್ನು ನಿವಾರಿಸಲು ಸಹಾಯ ಮಾಡುವ ಹೆಚ್ಚುವರಿ ಸೆಟ್ಟಿಂಗ್ಗಳು.</string>
|
||||
<string name="settings_signal_minimum_label">ಕನಿಷ್ಠ ಸಿಗ್ನಲ್ ಗುಣಮಟ್ಟ</string>
|
||||
<string name="settings_signal_minimum_description">ನಿಮ್ಮದೆಂದು ಪರಿಗಣಿಸಲು ಸಾಧನವು ಹೊಂದಿರಬೇಕಾದ ಕನಿಷ್ಠ ಸಿಗ್ನಲ್ ಗುಣಮಟ್ಟ.</string>
|
||||
<string name="settings_autoconnect_label">ಸ್ವಯಂ-ಸಂಪರ್ಕ</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">ಸಂಪರ್ಕ ಪಾಪ್ಅಪ್ ತೋರಿಸಿ</string>
|
||||
<string name="settings_popup_connected_description">ಸಾಧನವು ಮೊದಲ ಬಾರಿಗೆ ಸಂಪರ್ಕಗೊಂಡಾಗ ಪಾಪ್ಅಪ್ ತೋರಿಸಿ.</string>
|
||||
<string name="settings_popup_info_not_in_app">ನೀವು ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ಇಲ್ಲದಿರುವಾಗ ಮಾತ್ರ ಪಾಪ್ಅಪ್ಗಳನ್ನು ತೋರಿಸಲಾಗುತ್ತದೆ.</string>
|
||||
<string name="settings_popup_warning_manual_mode">ಪಾಪ್ಅಪ್ಗಳಿಗೆ ಮಾನಿಟರ್ ಚಾಲನೆಯಲ್ಲಿರಬೇಕು. ನಿಮ್ಮ ಮಾನಿಟರ್ ಮೋಡ್ \"ಅಪ್ಲಿಕೇಶನ್ ತೆರೆದಿರುವಾಗ\" ಎಂದು ಹೊಂದಿಸಲಾಗಿದೆ, ಇದು ನೀವು ಅಪ್ಲಿಕೇಶನ್ ಬಿಟ್ಟು ಹೋದಾಗ ಮಾನಿಟರ್ ಅನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ.</string>
|
||||
<string name="general_fix_it_action">ಸರಿಪಡಿಸಿ</string>
|
||||
<string name="device_settings_experimental_title">ಪ್ರಯೋಗಾತ್ಮಕ ವೈಶಿಷ್ಟ್ಯ</string>
|
||||
<string name="device_settings_experimental_description">ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಇನ್ನೂ ಎಲ್ಲಾ ಸಾಧನಗಳಲ್ಲಿ ಪರೀಕ್ಷಿಸಲಾಗಿಲ್ಲ. ಏನಾದರೂ ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡದಿದ್ದರೆ, ದಯವಿಟ್ಟು ಡಿಬಗ್ ಲಾಗ್ನೊಂದಿಗೆ ಸಮಸ್ಯೆ ತೆರೆಯಿರಿ.</string>
|
||||
<string name="device_settings_experimental_action">ಸಮಸ್ಯೆ ಟ್ರ್ಯಾಕರ್ ತೆರೆಯಿರಿ</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">ಕೃತಜ್ಞತೆಗಳು</string>
|
||||
<string name="settings_debug_autoreports_label">ಸ್ವಯಂಚಾಲಿತ ಬಗ್ ವರದಿಗಳು</string>
|
||||
<string name="settings_debug_autoreports_description">ಸಮಸ್ಯೆಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ವರದಿ ಮಾಡುತ್ತದೆ, ಉದಾ. ಅಪ್ಲಿಕೇಶನ್ ಕ್ರ್ಯಾಶ್ ಕುರಿತು ವಿವರಗಳು ಇದರಿಂದ ಅದನ್ನು ಹೇಗೆ ಸರಿಪಡಿಸುವುದು ಎಂದು ನಾನು ಕಂಡುಹಿಡಿಯಬಹುದು.</string>
|
||||
<string name="settings_debug_mode_label">ಡೀಬಗ್ ಮೋಡ್</string>
|
||||
<string name="settings_debug_mode_description">ಸಮಸ್ಯೆಗಳನ್ನು ನಿವಾರಿಸಲು ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿಯನ್ನು ತೋರಿಸಿ.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">ಫಿಲ್ಟರ್ ಮಾಡದ BLE ಡೇಟಾ</string>
|
||||
<string name="settings_blescanner_unfiltered_description">ಎಲ್ಲಾ ಪ್ರಸಾರವಾದ BLE ಡೇಟಾವನ್ನು ತೋರಿಸಲು BLE ಸ್ಕ್ಯಾನರ್ನಿಂದ ಯಾವುದೇ ಫಿಲ್ಟರ್ಗಳನ್ನು ತೆಗೆದುಹಾಕಿ. ಹೊಸ ಹೆಡ್ಫೋನ್ ಪ್ರಕಾರಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲು ಉಪಯುಕ್ತವಾಗಿದೆ.</string>
|
||||
<string name="settings_compatibility_mode_label">ಹೊಂದಾಣಿಕೆ ಮೋಡ್</string>
|
||||
<string name="settings_compatibility_mode_description">ಹೊಂದಾಣಿಕೆಯನ್ನು ಸುಧಾರಿಸಲು ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ. ನೀವು ಯಾವುದೇ ಡೇಟಾವನ್ನು ನೋಡದಿದ್ದರೆ ಇದನ್ನು ಪ್ರಯತ್ನಿಸಿ.</string>
|
||||
<string name="help_translate_label">ಅನುವಾದ</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">ಈ ವಿಜೆಟ್ಗೆ ನಿಮ್ಮ ಸಾಧನಕ್ಕೆ ನೇರ ಸಂಪರ್ಕ (AAP) ಅಗತ್ಯವಿದೆ. ಈ ವಿಜೆಟ್ ಬಳಸುವ ಮೊದಲು ನಿಮ್ಮ ಸಾಧನ ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ಜೋಡಿಸಲಾಗಿದೆ ಮತ್ತು ಸಂಪರ್ಕಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.</string>
|
||||
<string name="anc_widget_no_anc_support_label">ಈ ಸಾಧನ ಶಬ್ದ ನಿಯಂತ್ರಣವನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ</string>
|
||||
<string name="anc_widget_aap_not_connected_label">ಸಂಪರ್ಕಿಸಲಾಗಿಲ್ಲ</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">ಸಮೀಪದಲ್ಲಿದೆ ಆದರೆ ಸಂಪರ್ಕಿತವಾಗಿಲ್ಲ</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">ಸಮೀಪದಲ್ಲಿಲ್ಲ</string>
|
||||
<string name="anc_widget_aap_connecting_label">ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ…</string>
|
||||
<string name="tile_anc_label">ಶಬ್ದ ನಿಯಂತ್ರಣ</string>
|
||||
<string name="tile_anc_subtitle_permission_required">ಅನುಮತಿ ಅಗತ್ಯವಿದೆ</string>
|
||||
<string name="tile_anc_subtitle_no_device">ಯಾವುದೇ ಸಾಧನವಿಲ್ಲ</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">ಯಾವುದೇ ಶಬ್ದ ನಿಯಂತ್ರಣವಿಲ್ಲ</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">ಬ್ಲೂಟೂತ್ ಆಫ್</string>
|
||||
<string name="widget_config_screen_title">ವಿಜೆಟ್ ಕಾನ್ಫಿಗರೇಶನ್</string>
|
||||
<string name="widget_configuration_title">ಸಾಧನ ಆಯ್ಕೆಮಾಡಿ</string>
|
||||
<string name="widget_configuration_description">ಈ ವಿಜೆಟ್ ಯಾವ ಸಾಧನ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸಬೇಕು ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">ಕೆಳಗಿನ ಅನುಮತಿ ಅಗತ್ಯವಿದೆ:</string>
|
||||
<string name="permission_system_alert_window_label">ಸಿಸ್ಟಮ್ ಅಲರ್ಟ್ ವಿಂಡೋ</string>
|
||||
<string name="permission_system_alert_window_description">\"ಪಾಪ್ಅಪ್ ತೋರಿಸಿ\" ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸಾಧ್ಯವಾಗಿಸಲು CAPod ಇತರ ಅಪ್ಲಿಕೇಶನ್ಗಳ ಮೇಲೆ ಚಿತ್ರಿಸಲು ಅನುಮತಿಸಿ.</string>
|
||||
<string name="settings_monitor_mode_manual_label">ಅಪ್ಲಿಕೇಶನ್ ತೆರೆದಿರುವಾಗ</string>
|
||||
<string name="settings_monitor_mode_automatic_label">ಸಾಧನ ಸಂಪರ್ಕಗೊಂಡಾಗ</string>
|
||||
<string name="settings_monitor_mode_always_label">ಯಾವಾಗಲೂ</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">ಕಂಡಾಗ</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">ಕೇಸ್ ತೆರೆದಿದೆ</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">ಕಿವಿಯಲ್ಲಿ</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">ಪಾರದರ್ಶಕತೆ</string>
|
||||
<string name="anc_mode_adaptive">ಅಡಾಪ್ಟಿವ್</string>
|
||||
<string name="conversation_awareness_label">ಸಂವಾದ ಜಾಗೃತಿ</string>
|
||||
<string name="settings_conversation_action_label">ನೀವು ಮಾತನಾಡಲು ಪ್ರಾರಂಭಿಸಿದಾಗ</string>
|
||||
<string name="settings_conversation_action_nothing_label">ಏನೂ ಮಾಡಬೇಡಿ</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">ವಾಲ್ಯೂಮ್ ಕಡಿಮೆ ಮಾಡಿ</string>
|
||||
<string name="settings_conversation_action_pause_label">ಮೀಡಿಯಾ ವಿರಾಮ ಮಾಡಿ</string>
|
||||
<string name="settings_conversation_volume_reduction_label">ವಾಲ್ಯೂಮ್ ಕಡಿತ</string>
|
||||
<string name="signal_badge_ble_cd">BLE ಸ್ಕ್ಯಾನ್ ಸಕ್ರಿಯವಾಗಿದೆ</string>
|
||||
<string name="signal_badge_key_irk_cd">ಗುರುತು ಪರಿಶೀಲಿಸಲಾಗಿದೆ</string>
|
||||
<string name="signal_badge_key_encrypted_cd">ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಸಂಪರ್ಕ</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">ಆಂಬರ್</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">ವೊಯಲ್ಪೇಪರ್ ಬಣ್ಣಗಳನ್ನು ಬಳಸುತ್ತದೆ</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">ಮೇಲ್ವಳಿಕೆ</string>
|
||||
<string name="settings_category_appearance_label">ನೋಟರೂಪ</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">ಉಳಿಸದ ಬದಲಾವಣೆಗಳು</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">ಸಾಮಾನ್ಯ</string>
|
||||
<string name="device_settings_microphone_mode_label">ಮೈಕ್ರೊಫೋನ್</string>
|
||||
<string name="device_settings_microphone_mode_description">ಯಾವ AirPod ಮೈಕ್ರೋಫೋನ್ ಆಗಿ ಬಳಸಲಾಗುತ್ತದೆ</string>
|
||||
<string name="device_settings_microphone_mode_description">ಮೈಕ್ರೊಫೋನ್ ಆಗಿ ಯಾವ ಇಯರ್ಬಡ್ ಬಳಸಲಾಗುತ್ತದೆ</string>
|
||||
<string name="device_settings_microphone_mode_auto">ಆಟೋ</string>
|
||||
<string name="device_settings_microphone_mode_right">ಬಲಗಡೆ</string>
|
||||
<string name="device_settings_microphone_mode_left">ೆಡಗಡೆ</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">최근에 구매하셨다면 Google Play가 동기화하는 데 잠시 시간이 걸릴 수 있습니다.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">구매 내역이 표시되지 않으면 몇 분 후 다시 시도해 주세요.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">구매에 사용한 Google 계정으로 로그인되어 있는지 확인해 주세요.</string>
|
||||
<string name="settings_monitor_mode_label">모니터링 모드</string>
|
||||
<string name="settings_monitor_mode_description">이 앱이 Bluetooth 데이터를 모니터링하는 상황입니다.</string>
|
||||
<string name="settings_monitor_connected_notification_label">추가 알림</string>
|
||||
<string name="settings_monitor_connected_notification_description">기기가 연결되면 추가 알림을 표시합니다. 이렇게 하면 \"기기 상태\" 채널을 비활성화하여 영구적인 \"기기 없음\" 알림을 숨길 수 있습니다.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">연결 해제 후에도 알림 유지하기</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">자동 일시 중지</string>
|
||||
<string name="settings_autopause_description">기기를 귀에서 빼면 오디오를 일시 중지합니다.</string>
|
||||
<string name="settings_autopplay_label">자동 재생</string>
|
||||
<string name="settings_autoplay_description">기기를 착용하면 오디오 재생을 시작합니다.</string>
|
||||
<string name="settings_autoplay_description">자동 일시 정지로 멈춘 경우에만 이어팟을 다시 착용하면 음악이 재개됩니다. 직접 일시 정지한 경우(전화, AirPods 스템, 절전)는 그대로 유지됩니다.</string>
|
||||
<string name="settings_start_music_on_wear_label">착용 시 음악 시작</string>
|
||||
<string name="settings_start_music_on_wear_description">수동으로 일시 정지한 후에도 이어팟을 착용하면 항상 음악 재생을 시도합니다.</string>
|
||||
<string name="settings_eardetection_info_label">착용 감지 알림</string>
|
||||
<string name="settings_eardetection_info_description">Apple의 제한으로 착용 감지가 마이크를 이용하는 데 사용되는 한쪽 유닛만 작동할 수 있습니다. Apple 기기에서 다음에 따라 설정할 수 있습니다. 설정 → 블루투스 → Airpods → 마이크</string>
|
||||
<string name="settings_fake_data_label">가짜 데이터</string>
|
||||
<string name="settings_fake_data_description">가짜 데이터를 표시합니다. 즉, 존재하지 않는 기기를 시뮬레이션합니다.</string>
|
||||
<string name="settings_debug_label">디버그 설정</string>
|
||||
<string name="settings_debug_description">앱 관련 문제 해결에 도움이 되는 추가 설정입니다.</string>
|
||||
<string name="settings_signal_minimum_label">최소 신호 품질</string>
|
||||
<string name="settings_signal_minimum_description">기기가 사용자의 것으로 간주되기 위해 필요한 최소 신호 품질입니다.</string>
|
||||
<string name="settings_autoconnect_label">자동 연결</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">연결 팝업 표시</string>
|
||||
<string name="settings_popup_connected_description">기기가 처음 연결될 때 팝업을 표시합니다.</string>
|
||||
<string name="settings_popup_info_not_in_app">팝업은 앱 내에 있지 않을 때만 표시됩니다.</string>
|
||||
<string name="settings_popup_warning_manual_mode">팝업을 사용하려면 모니터가 실행 중이어야 합니다. 현재 모니터 모드가 \"앱을 열었을 때\"로 설정되어 있어 앱을 벗어나면 모니터가 중지됩니다.</string>
|
||||
<string name="general_fix_it_action">수정하기</string>
|
||||
<string name="device_settings_experimental_title">실험적 기능</string>
|
||||
<string name="device_settings_experimental_description">이 기능은 아직 모든 기기에서 테스트되지 않았습니다. 제대로 작동하지 않는 경우 디버그 로그와 함께 이슈를 열어주세요.</string>
|
||||
<string name="device_settings_experimental_action">이슈 트래커 열기</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">감사의 말</string>
|
||||
<string name="settings_debug_autoreports_label">자동 버그 보고서</string>
|
||||
<string name="settings_debug_autoreports_description">앱 충돌에 대한 세부 정보와 같이 문제를 자동으로 보고하여 해결 방법을 파악할 수 있도록 합니다.</string>
|
||||
<string name="settings_debug_mode_label">디버그 모드</string>
|
||||
<string name="settings_debug_mode_description">문제 해결을 위한 추가 정보를 표시합니다.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">필터링되지 않은 BLE 데이터</string>
|
||||
<string name="settings_blescanner_unfiltered_description">모든 브로드캐스트된 BLE 데이터를 표시하려면 BLE 스캐너에서 모든 필터를 제거합니다. 새로운 유형의 헤드폰에 대한 지원을 추가하는 데 유용합니다.</string>
|
||||
<string name="settings_compatibility_mode_label">호환성 모드</string>
|
||||
<string name="settings_compatibility_mode_description">호환성을 향상시키려면 최적화를 비활성화합니다. 데이터가 표시되지 않으면 이 옵션을 사용해 보십시오.</string>
|
||||
<string name="help_translate_label">번역</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">이 위젯은 기기에 직접 연결(AAP)이 필요합니다. 이 위젯을 사용하기 전에 앱에서 기기가 페어링되고 연결되어 있는지 확인하세요.</string>
|
||||
<string name="anc_widget_no_anc_support_label">이 기기는 소음 제어를 지원하지 않습니다</string>
|
||||
<string name="anc_widget_aap_not_connected_label">연결되지 않음</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">근처에 있지만 연결되지 않음</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">근처에 없음</string>
|
||||
<string name="anc_widget_aap_connecting_label">연결 중…</string>
|
||||
<string name="tile_anc_label">소음 제어</string>
|
||||
<string name="tile_anc_subtitle_permission_required">권한 필요</string>
|
||||
<string name="tile_anc_subtitle_no_device">기기 없음</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">소음 제어 없음</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">블루투스 꺼짐</string>
|
||||
<string name="widget_config_screen_title">위젯 구성</string>
|
||||
<string name="widget_configuration_title">기기 선택</string>
|
||||
<string name="widget_configuration_description">이 위젯에 표시할 기기 프로필을 선택해 주세요.</string>
|
||||
@@ -218,9 +215,6 @@
|
||||
<string name="permission_required_title">다음과 같은 권한이 필요합니다:</string>
|
||||
<string name="permission_system_alert_window_label">시스템 알림창</string>
|
||||
<string name="permission_system_alert_window_description">\"팝업 표시\" 기능을 사용하려면 다른 앱 위에 그리기를 허용해야 합니다.</string>
|
||||
<string name="settings_monitor_mode_manual_label">앱이 열려있을때</string>
|
||||
<string name="settings_monitor_mode_automatic_label">장치가 연결되었을때</string>
|
||||
<string name="settings_monitor_mode_always_label">항상</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">앱이 장치를 찾았을때</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">케이스가 열렸을때</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">귀에 착용했을 때</string>
|
||||
@@ -252,6 +246,11 @@
|
||||
<string name="anc_mode_transparency">투명도</string>
|
||||
<string name="anc_mode_adaptive">적응형</string>
|
||||
<string name="conversation_awareness_label">대화 인식</string>
|
||||
<string name="settings_conversation_action_label">말하기 시작할 때</string>
|
||||
<string name="settings_conversation_action_nothing_label">아무것도 하지 않음</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">볼륨 낮추기</string>
|
||||
<string name="settings_conversation_action_pause_label">미디어 일시 정지</string>
|
||||
<string name="settings_conversation_volume_reduction_label">볼륨 감소</string>
|
||||
<string name="signal_badge_ble_cd">BLE 스캔 활성</string>
|
||||
<string name="signal_badge_key_irk_cd">신원 확인됨</string>
|
||||
<string name="signal_badge_key_encrypted_cd">암호화된 연결</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">호박색</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">바탕화면 색상 사용</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">모니터링</string>
|
||||
<string name="settings_category_appearance_label">외관</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">저장되지 않은 변경 사항</string>
|
||||
@@ -467,7 +465,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">일반</string>
|
||||
<string name="device_settings_microphone_mode_label">마이크</string>
|
||||
<string name="device_settings_microphone_mode_description">어느 AirPod이 마이크로 사용되는지</string>
|
||||
<string name="device_settings_microphone_mode_description">마이크로 사용할 이어버드</string>
|
||||
<string name="device_settings_microphone_mode_auto">자동</string>
|
||||
<string name="device_settings_microphone_mode_right">오른쪽</string>
|
||||
<string name="device_settings_microphone_mode_left">왼쪽</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Эгер жакында сатып алган болсоңуз, Google Play синхрондоо үчүн бир аз убакыт кетиши мүмкүн.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Сатып алуу чагылдырылбаса, бир нече мүнөттөн кийин кайра аракет кылыңыз.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Сатып алуу үчүн колдонулган Google аккаунтуна кирип турганыңызды текшериңиз.</string>
|
||||
<string name="settings_monitor_mode_label">Мониторинг режими</string>
|
||||
<string name="settings_monitor_mode_description">Бул колдонмо Bluetooth маалыматтарын кайсы шарттарда көзөмөлдөйт.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Кошумча билдирүү</string>
|
||||
<string name="settings_monitor_connected_notification_description">Түзмөк туташканда кошумча билдирүү көрсөтүлөт. Бул \"Түзмөктүн абалы\" каналын өчүрүү менен туруктуу \"Түзмөктөр жок\" билдирүүсүн жашырууга мүмкүндүк берет.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Ажыратылгандан кийин билдирүүнү сактоо</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Авто тыным</string>
|
||||
<string name="settings_autopause_description">Түзмөктү кулагыңыздан чыгарганда аудиону тындырыңыз.</string>
|
||||
<string name="settings_autopplay_label">Авто ойнотуу</string>
|
||||
<string name="settings_autoplay_description">Түзмөк тагылганда аудио ойнотууну баштаңыз.</string>
|
||||
<string name="settings_autoplay_description">Подкасттарыңызды кайра кийгенде музыканы улантат, бирок Auto pause токтоткон учурда гана. Өзүңүз токтоткон үзүлүүлөр (телефон, AirPods сабы, уйку) токтоп калат.</string>
|
||||
<string name="settings_start_music_on_wear_label">Кийгенде музыканы баштоо</string>
|
||||
<string name="settings_start_music_on_wear_description">Подкасттарыңызды кийгенде музыканы ойнотууга аракет кылат, кол менен токтотулгандан кийин да.</string>
|
||||
<string name="settings_eardetection_info_label">Кулак аныктоо эскертмеси</string>
|
||||
<string name="settings_eardetection_info_description">Кулак аныктоо бир эле кулакчын үчүн иштесе, бул Apple чектөөсү. Микрофон үчүн колдонулган \"негизги кулакчын\" гана аныкталат. Apple түзмөктөрүндө тууралаңыз: Жөндөөлөр → Bluetooth → AirPods → Микрофон.</string>
|
||||
<string name="settings_fake_data_label">Жасалма маалыматтар</string>
|
||||
<string name="settings_fake_data_description">Жасалма маалыматтарды көрсөтүңүз, б.а., жок түзмөктөрдү симуляциялаңыз.</string>
|
||||
<string name="settings_debug_label">Мүчүлүштүктөрдү оңдоо орнотуулары</string>
|
||||
<string name="settings_debug_description">Колдонмодогу көйгөйлөрдү чечүүгө жардам берүүчү кошумча орнотуулар.</string>
|
||||
<string name="settings_signal_minimum_label">Минималдуу сигнал сапаты</string>
|
||||
<string name="settings_signal_minimum_description">Түзмөктүн сиздики деп эсептелиши үчүн талап кылынган минималдуу сигнал сапаты.</string>
|
||||
<string name="settings_autoconnect_label">Авто туташуу</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Туташуу калкыма терезесин көрсөтүү</string>
|
||||
<string name="settings_popup_connected_description">Түзмөк биринчи жолу туташканда калкыма терезени көрсөтүү.</string>
|
||||
<string name="settings_popup_info_not_in_app">Калкыма терезелер колдонмодо болбогондо гана көрсөтүлөт.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Калкыма терезелер мониторду иштетүүнү талап кылат. Монитор режими \"Колдонмо ачык болгондо\" деп коюлган, бул колдонмодон чыкканда мониторду токтотот.</string>
|
||||
<string name="general_fix_it_action">Оңдоо</string>
|
||||
<string name="device_settings_experimental_title">Эксперименталдык функция</string>
|
||||
<string name="device_settings_experimental_description">Бул функция азырынча бардык түзмөктөрдө сыналган жок. Эгер бир нерсе туура иштебесе, отладка журналы менен маселе ачыңыз.</string>
|
||||
<string name="device_settings_experimental_action">Маселе трекерин ачуу</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Ыраазычылыктар</string>
|
||||
<string name="settings_debug_autoreports_label">Автоматтык ката отчеттору</string>
|
||||
<string name="settings_debug_autoreports_description">Маселелерди автоматтык түрдө кабарлайт, мис., колдонмонун бузулушу жөнүндө маалымат, ошентип мен аны кантип оңдоону аныктай алам.</string>
|
||||
<string name="settings_debug_mode_label">Мүчүлүштүктөрдү оңдоо режими</string>
|
||||
<string name="settings_debug_mode_description">Маселелерди чечүү үчүн кошумча маалыматты көрсөтүңүз.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Чыпкаланбаган BLE маалыматтары</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Бардык уктурулган BLE маалыматтарын көрсөтүү үчүн BLE сканеринен бардык чыпкаларды алып салыңыз. Жаңы гарнитура түрлөрүнө колдоо кошуу үчүн пайдалуу.</string>
|
||||
<string name="settings_compatibility_mode_label">Шайкештик режими</string>
|
||||
<string name="settings_compatibility_mode_description">Шайкештикти жакшыртуу үчүн оптималдаштырууларды өчүрүңүз. Эгер эч кандай маалымат көрбөсөңүз, муну байкап көрүңүз.</string>
|
||||
<string name="help_translate_label">Котормо</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Бул виджет түзмөгүңүзгө түздөн-түз туташуу (AAP) талап кылат. Бул виджетти колдонуудан мурун колдонмодо түзмөгүңүз жупталган жана туташкан болушун камсыздаңыз.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Бул түзмөк шуум башкаруусун колдобойт</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Туташкан жок</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Жакын жерде, бирок туташпаган</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Жакын жерде эмес</string>
|
||||
<string name="anc_widget_aap_connecting_label">Туташуу…</string>
|
||||
<string name="tile_anc_label">Ызы-чуу башкаруу</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Уруксат талап кылынат</string>
|
||||
<string name="tile_anc_subtitle_no_device">Түзмөк жок</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Ызы-чуу башкаруу жок</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth өчүк</string>
|
||||
<string name="widget_config_screen_title">Виджетти конфигурациялоо</string>
|
||||
<string name="widget_configuration_title">Түзмөк тандоо</string>
|
||||
<string name="widget_configuration_description">Бул виджетте кайсы түзмөк профили көрсөтүлүшү керектигин тандаңыз.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Төмөнкү уруксат талап кылынат:</string>
|
||||
<string name="permission_system_alert_window_label">Тутум эскертүү терезеси</string>
|
||||
<string name="permission_system_alert_window_description">\"Калкыма терезе көрсөтүү\" функциясын мүмкүн кылуу үчүн CAPod\'го башка колдонмолордун үстүнөн тартууга уруксат бериңиз.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Колдонмо ачык болгондо</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Түзмөк туташканда</string>
|
||||
<string name="settings_monitor_mode_always_label">Ар дайым</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Көрүнгөндө</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Кап ачык</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Кулакта</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Ачыктык</string>
|
||||
<string name="anc_mode_adaptive">Адаптивдүү</string>
|
||||
<string name="conversation_awareness_label">Суроо-талапты таануу</string>
|
||||
<string name="settings_conversation_action_label">Сүйлөй баштаганыңызда</string>
|
||||
<string name="settings_conversation_action_nothing_label">Эч нерсе кылба</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Үнүн азайтуу</string>
|
||||
<string name="settings_conversation_action_pause_label">Медианы токтотуу</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Үн деңгээлин азайтуу</string>
|
||||
<string name="signal_badge_ble_cd">BLE скан активдүү</string>
|
||||
<string name="signal_badge_key_irk_cd">Инсандык тастыкталды</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Шифрленген байланыш</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Сары</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Түсказгын түсүн пайдаланат</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Мониторинг</string>
|
||||
<string name="settings_category_appearance_label">Көрүнүш</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Сакталбаган өзгөртүүлөр</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Жалпы</string>
|
||||
<string name="device_settings_microphone_mode_label">Микрофон</string>
|
||||
<string name="device_settings_microphone_mode_description">Кайсы AirPod микрофон катары колдонулат</string>
|
||||
<string name="device_settings_microphone_mode_description">Кайсы кулакчын микрофон катары колдонулат</string>
|
||||
<string name="device_settings_microphone_mode_auto">Авто</string>
|
||||
<string name="device_settings_microphone_mode_right">Оң</string>
|
||||
<string name="device_settings_microphone_mode_left">Сол</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">ຖ້າທ່ານຊື້ຜ່ານມາບໍ່ດົນ, ອາດໃຊ້ເວລາໜ້ອຍໜຶ່ງສຳລັບ Google Play ໃນການຊິ້ງຂໍ້ມູນ.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">ລອງໃໝ່ຫຼັງຈາກສອງສາມນາທີ ຖ້າການຊື້ຂອງທ່ານຍັງບໍ່ສະແດງ.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">ໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ລ໋ອກອິນດ້ວຍບັນຊີ Google ດຽວກັນກັບທີ່ໃຊ້ຊື້.</string>
|
||||
<string name="settings_monitor_mode_label">ໂໝດຕິດຕາມ</string>
|
||||
<string name="settings_monitor_mode_description">ແອັບນີ້ຕິດຕາມຂໍ້ມູນ Bluetooth ພາຍໃຕ້ສະຖານະການໃດ.</string>
|
||||
<string name="settings_monitor_connected_notification_label">ການແຈ້ງເຕືອນເພີ່ມເຕີມ</string>
|
||||
<string name="settings_monitor_connected_notification_description">ສະແດງການແຈ້ງເຕືອນເພີ່ມເຕີມເມື່ອອຸປະກອນເຊື່ອມຕໍ່ແລ້ວ. ນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດເຊື່ອງການແຈ້ງເຕືອນຖາວອນ \"ບໍ່ມີອຸປະກອນ\" ໂດຍການປິດຊ່ອງ \"ສະຖານະອຸປະກອນ\" .</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">ຮັກສາການແຈ້ງເຕືອນຫຼັງຈາກຕັດການເຊື່ອມຕໍ່</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">ຢຸດອັດຕະໂນມັດ</string>
|
||||
<string name="settings_autopause_description">ຢຸດສຽງຊົ່ວຄາວເມື່ອຖອດອຸປະກອນອອກຈາກຫູຂອງທ່ານ.</string>
|
||||
<string name="settings_autopplay_label">ຫຼິ້ນອັດຕະໂນມັດ</string>
|
||||
<string name="settings_autoplay_description">ເລີ່ມການຫຼິ້ນສຽງເມື່ອໃສ่อຸປະກອນ.</string>
|
||||
<string name="settings_autoplay_description">ຫຼິ້ນດົນຕີຕໍ່ເມື່ອໃສ່ pods ອີກຄັ້ງ, ແຕ່ເທົ່ານັ້ນຖ້າ Auto pause ຢຸດມັນ. ການຢຸດທີ່ທ່ານເຮັດດ້ວຍຕົວເອງ (ໂທລະສັບ, ກ້ານ AirPods, ນອນ) ຍັງຄົງຢຸດຢູ່.</string>
|
||||
<string name="settings_start_music_on_wear_label">ເລີ່ມດົນຕີເມື່ອໃສ່</string>
|
||||
<string name="settings_start_music_on_wear_description">ພະຍາຍາມຫຼິ້ນດົນຕີທຸກຄັ້ງທີ່ທ່ານໃສ່ pods, ແມ່ນແຕ່ຫຼັງຈາກຢຸດດ້ວຍຕົນເອງ.</string>
|
||||
<string name="settings_eardetection_info_label">ໝາຍເຫດການກວດຈັບຫູ</string>
|
||||
<string name="settings_eardetection_info_description">ຖ້າການກວດຈັບຫູເຮັດວຽກສຳລັບພອດດຽວເທົ່ານັ້ນ, ນີ້ແມ່ນຂໍ້ຈຳກັດຂອງ Apple. ສະເພາະ \"ພອດຫຼັກ\" (ໃຊ້ສຳລັບໄມໂຄຣໂຟນ) ເທົ່ານັ້ນທີ່ຖືກກວດຈັບ. ຕັ້ງຄ່າໃນອຸປະກອນ Apple: ການຕັ້ງຄ່າ → Bluetooth → AirPods → ໄມໂຄຣໂຟນ.</string>
|
||||
<string name="settings_fake_data_label">ຂໍ້ມູນປອມ</string>
|
||||
<string name="settings_fake_data_description">ສະແດງຂໍ້ມູນປອມ, ເຊັ່ນ: ຈຳລອງອຸປະກອນທີ່ບໍ່ມີຢູ່.</string>
|
||||
<string name="settings_debug_label">ການຕັ້ງຄ່າດີບັກ</string>
|
||||
<string name="settings_debug_description">ການຕັ້ງຄ່າເພີ່ມເຕີມເພື່ອຊ່ວຍແກ້ໄຂບັນຫາກັບແອັບ.</string>
|
||||
<string name="settings_signal_minimum_label">ຄຸນນະພາບສັນຍານຂັ້ນຕໍ່າ</string>
|
||||
<string name="settings_signal_minimum_description">ຄຸນນະພາບສັນຍານຂັ້ນຕໍ່າທີ່ອຸປະກອນຕ້ອງມີເພື່ອຖືວ່າເປັນຂອງທ່ານ.</string>
|
||||
<string name="settings_autoconnect_label">ເຊື່ອມຕໍ່ອັດຕະໂນມັດ</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">ສະແດງປັອບອັບການເຊື່ອມຕໍ່</string>
|
||||
<string name="settings_popup_connected_description">ສະແດງປັອບອັບເມື່ອອຸປະກອນເຊື່ອມຕໍ່ຄັ້ງທຳອິດ.</string>
|
||||
<string name="settings_popup_info_not_in_app">ປ໋ອບອັບຈະສະແດງໃຫ້ເຫັນສະເພາະເມື່ອທ່ານບໍ່ຢູ່ໃນແອັບ.</string>
|
||||
<string name="settings_popup_warning_manual_mode">ປ໋ອບອັບຕ້ອງການໃຫ້ຕົວຕິດຕາມເຮັດວຽກຢູ່. ໂໝດຕິດຕາມຂອງທ່ານຖືກຕັ້ງເປັນ \"ເມື່ອແອັບເປີດ\" ເຊິ່ງຈະຢຸດຕົວຕິດຕາມເມື່ອທ່ານອອກຈາກແອັບ.</string>
|
||||
<string name="general_fix_it_action">ແກ້ໄຂ</string>
|
||||
<string name="device_settings_experimental_title">ຟີເຈີທົດລອງ</string>
|
||||
<string name="device_settings_experimental_description">ຟີເຈີນີ້ຍັງບໍ່ໄດ້ຮັບການທົດສອບໃນທຸກອຸປະກອນ. ຖ້າມີບາງຢ່າງທີ່ບໍ່ເຮັດວຽກຢ່າງຖືກຕ້ອງ, ກະລຸນາເປີດ issue ພ້ອມ debug log.</string>
|
||||
<string name="device_settings_experimental_action">ເປີດ Issue Tracker</string>
|
||||
@@ -97,8 +91,8 @@
|
||||
<string name="debug_debuglog_recording_progress">ກໍາລັງບັນທຶກບັນທຶກດີບັກ</string>
|
||||
<string name="debug_debuglog_record_action">ບັນທຶກບັນທຶກດີບັກ</string>
|
||||
<string name="debug_debuglog_stop_action">ຢຸດການບັນທຶກ</string>
|
||||
<string name="debug_debuglog_sensitive_information_message">ໄຟລ໌ທີ່ສ້າງຂຶ້ນມີຂໍ້ມູນທີ່ละเอียดອ່ອນ (ຕົວຢ່າງ: ລາຍລະອຽດອຸປະກອນ Bluetooth). ແບ່ງປັນມັນກັບຝ່າຍທີ່ເຊື່ອຖືໄດ້ເທົ່ານັ້ນ.</string>
|
||||
<string name="settings_debuglog_explanation">ຄຸນສົມບັດນີ້ບັນທຶກທຸກຢ່າງທີ່ແອັບກຳລັງເຮັດໃສ່ໃນໄຟລ໌ທີ່ສາມາດແບ່ງປັນໄດ້. ໄຟລ໌ທີ່ສ້າງຂຶ້ນມີຂໍ້ມູນທີ່ละเอียดອ່ອນ (ຕົວຢ່າງ: ລາຍລະອຽດອຸປະກອນ Bluetooth). ແບ່ງປັນມັນກັບຝ່າຍທີ່ເຊື່ອຖືໄດ້ເທົ່ານັ້ນ (ຕົວຢ່າງ: ຜູ້ພັດທະນາທີ່ກຳລັງແກ້ໄຂບັນຫາ).</string>
|
||||
<string name="debug_debuglog_sensitive_information_message">ໄຟລ໌ທີ່ສ້າງຂຶ້ນມີຂໍ້ມູນທີ່ລະອຽດອ່ອນ (ຕົວຢ່າງ: ລາຍລະອຽດອຸປະກອນ Bluetooth). ແບ່ງປັນມັນກັບຝ່າຍທີ່ເຊື່ອຖືໄດ້ເທົ່ານັ້ນ.</string>
|
||||
<string name="settings_debuglog_explanation">ຄຸນສົມບັດນີ້ບັນທຶກທຸກຢ່າງທີ່ແອັບກຳລັງເຮັດໃສ່ໃນໄຟລ໌ທີ່ສາມາດແບ່ງປັນໄດ້. ໄຟລ໌ທີ່ສ້າງຂຶ້ນມີຂໍ້ມູນທີ່ລະອຽດອ່ອນ (ຕົວຢ່າງ: ລາຍລະອຽດອຸປະກອນ Bluetooth). ແບ່ງປັນມັນກັບຝ່າຍທີ່ເຊື່ອຖືໄດ້ເທົ່ານັ້ນ (ຕົວຢ່າງ: ຜູ້ພັດທະນາທີ່ກຳລັງແກ້ໄຂບັນຫາ).</string>
|
||||
<string name="settings_support_installid_label">ID ການຕິດຕັ້ງ</string>
|
||||
<string name="settings_support_installid_desc">ບົດລາຍງານຂໍ້ຜິດພາດອັດຕະໂນມັດແມ່ນບໍ່ເປີດເຜີຍຊື່. ແບ່ງປັນ ID ຕິດຕັ້ງຂອງທ່ານຖ້າຜູ້ພັດທະນາຕ້ອງການຊອກຫາບົດລາຍງານຂໍ້ຜິດພາດຂອງທ່ານ.</string>
|
||||
<string name="settings_support_label">ການຊ່ວຍເຫຼືອ</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">ການຮັບຮູ້</string>
|
||||
<string name="settings_debug_autoreports_label">ລາຍງານຂໍ້ບົກພ່ອງອັດຕະໂນມັດ</string>
|
||||
<string name="settings_debug_autoreports_description">ລາຍງານບັນຫາໂດຍອັດຕະໂນມັດ, ຕົວຢ່າງ: ລາຍລະອຽດກ່ຽວກັບການຂັດຂ້ອງຂອງແອັບ ເພື່ອໃຫ້ຂ້ອຍສາມາດຫາວິທີແກ້ໄຂໄດ້.</string>
|
||||
<string name="settings_debug_mode_label">ໂໝດດີບັກ</string>
|
||||
<string name="settings_debug_mode_description">ສະແດງຂໍ້ມູນເພີ່ມເຕີມເພື່ອແກ້ໄຂບັນຫາ.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">ຂໍ້ມູນ BLE ທີ່ບໍ່ໄດ້ກັ່ນຕອງ</string>
|
||||
<string name="settings_blescanner_unfiltered_description">ລຶບຕົວກັ່ນຕອງໃດໆອອກຈາກເຄື່ອງສະແກນ BLE ເພື່ອສະແດງຂໍ້ມູນ BLE ທີ່ອອກອາກາດທັງໝົດ. ມີປະໂຫຍດສຳລັບການເພີ່ມການຮອງຮັບປະເພດຫູຟັງໃໝ່.</string>
|
||||
<string name="settings_compatibility_mode_label">ໂໝດຄວາມເຂົ້າກັນໄດ້</string>
|
||||
<string name="settings_compatibility_mode_description">ປິດການປັບແຕ່ງໃຫ້ເໝາະສົມເພື່ອປັບປຸງຄວາມເຂົ້າກັນໄດ້. ລອງໃຊ້ອັນນີ້ຖ້າທ່ານບໍ່ເຫັນຂໍ້ມູນໃດໆ.</string>
|
||||
<string name="help_translate_label">ການແປພາສາ</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">ວິດເຈັດນີ້ຕ້ອງການການເຊື່ອມຕໍ່ໂດຍກົງ (AAP) ກັບອຸປະກອນຂອງທ່ານ. ກວດໃຫ້ແນ່ໃຈວ່າອຸປະກອນຂອງທ່ານໄດ້ຈັບຄູ່ ແລະ ເຊື່ອມຕໍ່ໃນແອັບກ່ອນທີ່ຈະໃຊ້ວິດເຈັດນີ້.</string>
|
||||
<string name="anc_widget_no_anc_support_label">ອຸປະກອນນີ້ບໍ່ຮອງຮັບການຄວບຄຸມສຽງລົບກວນ</string>
|
||||
<string name="anc_widget_aap_not_connected_label">ບໍ່ໄດ້ເຊື່ອມຕໍ່</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">ຢູ່ໃກ້ແຕ່ບໍ່ໄດ້ເຊື່ອມຕໍ່</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">ບໍ່ຢູ່ໃກ້</string>
|
||||
<string name="anc_widget_aap_connecting_label">ກຳລັງເຊື່ອມຕໍ່…</string>
|
||||
<string name="tile_anc_label">ຄວບຄຸມສຽງລົບກວນ</string>
|
||||
<string name="tile_anc_subtitle_permission_required">ຕ້ອງການສິດທິ</string>
|
||||
<string name="tile_anc_subtitle_no_device">ບໍ່ມີອຸປະກອນ</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">ບໍ່ມີການຄວບຄຸມສຽງລົບກວນ</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth ປິດຢູ່</string>
|
||||
<string name="widget_config_screen_title">ການຕັ້ງຄ່າວິດເຈັດ</string>
|
||||
<string name="widget_configuration_title">ເລືອກອຸປະກອນ</string>
|
||||
<string name="widget_configuration_description">ເລືອກໂປຣໄຟລ໌ອຸປະກອນທີ່ວິດເຈັດນີ້ຄວນສະແດງ.</string>
|
||||
@@ -163,7 +160,7 @@
|
||||
<string name="troubleshooter_title">ຕົວແກ້ໄຂບັນຫາ</string>
|
||||
<string name="troubleshooter_summary">ກວດຫາ ແລະ ແກ້ໄຂບັນຫາການເຊື່ອມຕໍ່ Bluetooth.</string>
|
||||
<string name="troubleshooter_ble_intro_title">ການອອກອາກາດ Bluetooth Low Energy</string>
|
||||
<string name="troubleshooter_ble_intro_body1">AirPods (ແລະຫູຟັງທີ່ຄ້າຍຄືກັນ) ອອກອາກາດຂໍ້ມູນສະຖານະໂດຍໃຊ້ເທັກໂນໂລຢີ BLE ທີ່ເອີ້ນວ່າ \"ການໂຄສະນາ\" . ໂທລະສັບບາງລຸ້ນບໍ່ໄດ້ປະຕິບັດເທັກໂນໂລຢີນີ້ຢ່າງຖືກຕ້ອງ. CAPod ສາມາດພະຍາຍາມແກ້ໄຂปัญหานี้ໂດຍການລອງຕົວເລືອກຄວາມເຂົ້າກັນໄດ້ຕ່າງໆຈົນກວ່າຈະໄດ້ຮັບຂໍ້ມູນ. ເລີ່ມການຫຼິ້ນເພງໃນຫູຟັງຂອງທ່ານ ແລະວາງໄວ້ໃກ้ກັບໂທລະສັບຂອງທ່ານ, ຈາກນັ້ນເລີ່ມຂະບວນການ.</string>
|
||||
<string name="troubleshooter_ble_intro_body1">AirPods (ແລະຫູຟັງທີ່ຄ້າຍຄືກັນ) ອອກອາກາດຂໍ້ມູນສະຖານະໂດຍໃຊ້ເທັກໂນໂລຢີ BLE ທີ່ເອີ້ນວ່າ \"ການໂຄສະນາ\" . ໂທລະສັບບາງລຸ້ນບໍ່ໄດ້ປະຕິບັດເທັກໂນໂລຢີນີ້ຢ່າງຖືກຕ້ອງ. CAPod ສາມາດພະຍາຍາມແກ້ໄຂບັນຫານີ້ໂດຍການລອງຕົວເລືອກຄວາມເຂົ້າກັນໄດ້ຕ່າງໆຈົນກວ່າຈະໄດ້ຮັບຂໍ້ມູນ. ເລີ່ມການຫຼິ້ນເພງໃນຫູຟັງຂອງທ່ານ ແລະວາງໄວ້ໃກ້ກັບໂທລະສັບຂອງທ່ານ, ຈາກນັ້ນເລີ່ມຂະບວນການ.</string>
|
||||
<string name="troubleshooter_ble_intro_start_action">ເລີ່ມການແກ້ໄຂບັນຫາ</string>
|
||||
<string name="troubleshooter_ble_process_title">ກຳລັງແກ້ໄຂບັນຫາ</string>
|
||||
<string name="troubleshooter_ble_process_subtile">ແຕ່ລະຂັ້ນຕອນໃຊ້ເວລາ 5-10 ວິນາທີ</string>
|
||||
@@ -218,9 +215,6 @@
|
||||
<string name="permission_required_title">ຕ້ອງການການອະນຸຍາດຕໍ່ໄປນີ້:</string>
|
||||
<string name="permission_system_alert_window_label">ໜ້າຕ່າງການແຈ້ງເຕືອນລະບົບ</string>
|
||||
<string name="permission_system_alert_window_description">ອະນຸຍາດໃຫ້ CAPod ແຕ້ມທັບແອັບອື່ນເພື່ອໃຫ້ຄຸນສົມບັດ \"ສະແດງປັອບອັບ\" ເປັນໄປໄດ້.</string>
|
||||
<string name="settings_monitor_mode_manual_label">ເມື່ອແອັບເປີດ</string>
|
||||
<string name="settings_monitor_mode_automatic_label">ເມື່ອອຸປະກອນເຊື່ອມຕໍ່</string>
|
||||
<string name="settings_monitor_mode_always_label">ສະເໝີ</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">ເມື່ອເຫັນ</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">ເຄສເປີດ</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">ໃນຫູ</string>
|
||||
@@ -252,6 +246,12 @@
|
||||
<string name="anc_mode_transparency">ການໂປ່ງໃສ</string>
|
||||
<string name="anc_mode_adaptive">ການປັບຕົວ</string>
|
||||
<string name="conversation_awareness_label">ການຮັບຮູ້ການສົນທະນາ</string>
|
||||
<string name="settings_conversation_action_label">ເມື່ອທ່ານເລີ່ມເວົ້າ</string>
|
||||
<string name="settings_conversation_action_nothing_label">ບໍ່ເຮັດຫຍັງ</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">ຫຼຸດລະດັບສຽງ</string>
|
||||
<string name="settings_conversation_action_pause_label">ຢຸດສື່ກາງ</string>
|
||||
<string name="settings_conversation_volume_reduction_label">ການຫຼຸດລະດັບສຽງ</string>
|
||||
<string name="signal_badge_ble_cd">ການສະແກນ BLE ໃຊ້ງານຢູ່</string>
|
||||
<string name="signal_badge_key_irk_cd">ຢືນຢັນຕົວຕົນແລ້ວ</string>
|
||||
<string name="signal_badge_key_encrypted_cd">ການເຊື່ອມຕໍ່ທີ່ເຂົ້າລະຫັດ</string>
|
||||
<string name="signal_badge_aap_cd">ການເຊື່ອມຕໍ່ໂດຍກົງທີ່ເຄື່ອນໄຫວ</string>
|
||||
@@ -319,7 +319,6 @@
|
||||
<string name="ui_theme_color_amber_label">ສີເຫຼືອງອຳ</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">ໃຊ້ສີຮູບພາບພື້ນຫຼັງ</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">ການຕິດຕາມ</string>
|
||||
<string name="settings_category_appearance_label">ຮູບລັກສະນະ</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">ການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກ</string>
|
||||
@@ -464,7 +463,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">ທົ່ວໄປ</string>
|
||||
<string name="device_settings_microphone_mode_label">ໄມໂຄຣໂຟນ</string>
|
||||
<string name="device_settings_microphone_mode_description">AirPod ໝິ່ວໃດຖືກໃຊ້ເປັນໄມຂອບພາກ</string>
|
||||
<string name="device_settings_microphone_mode_description">ຫູຟັງຂ້າງໃດທີ່ໃຊ້ເປັນໄມໂຄໂຟນ</string>
|
||||
<string name="device_settings_microphone_mode_auto">ອັດຕະໂນມັດ</string>
|
||||
<string name="device_settings_microphone_mode_right">ຂວາ</string>
|
||||
<string name="device_settings_microphone_mode_left">້າຍ</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Jei neseniai įsigįjote, gali užtrukti kol „Google Play“ sinchronizuosis.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Pabandykite dar kartą po kelių minučių, jei jūsų pirkimas neatsiranda.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Patikrinkite, ar esate prisijungę ta pačia „Google“ paskyra, kuri buvo naudota pirkiniui.</string>
|
||||
<string name="settings_monitor_mode_label">Stebėjimo režimas</string>
|
||||
<string name="settings_monitor_mode_description">Kokiomis aplinkybėmis ši programa stebi „Bluetooth\" duomenis.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Papildomas pranešimas</string>
|
||||
<string name="settings_monitor_connected_notification_description">Rodo papildomą pranešimą, kai prijungiamas įrenginys. Tai leidžia paslėpti nuolatinį pranešimą \"Nėra įrenginių\" išjungiant kanalą \"Įrenginio būsena\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Palikti pranešimą atjungus</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Automatinė pauzė</string>
|
||||
<string name="settings_autopause_description">Pristabdyti garsą išėmus įrenginį iš ausies.</string>
|
||||
<string name="settings_autopplay_label">Automatinis grojimas</string>
|
||||
<string name="settings_autoplay_description">Pradėti garso atkūrimą, kai įrenginys nešiojamas.</string>
|
||||
<string name="settings_autoplay_description">Tęsti muziką vėl užsidėjus ausines, bet tik jei ją sustabdė automatinis pristabdymas. Pristabdymai, kuriuos inicijavote patys (telefonas, AirPods koteliai, miegas), lieka pristabdyti.</string>
|
||||
<string name="settings_start_music_on_wear_label">Pradėti muziką užsidėjus</string>
|
||||
<string name="settings_start_music_on_wear_description">Visada bando paleisti muziką, kai užsidedatе ausines, net po rankinio pristabdymo.</string>
|
||||
<string name="settings_eardetection_info_label">Ausies aptikimo pastaba</string>
|
||||
<string name="settings_eardetection_info_description">Jei ausies aptikimas veikia tik vienam „pod\", tai yra „Apple\" apribojimas. Aptinkamas tik „pagrindinis pod\" (naudojamas mikrofonui). Konfigūruokite „Apple\" įrenginiuose: Nustatymai → „Bluetooth\" → „AirPods\" → Mikrofonas.</string>
|
||||
<string name="settings_fake_data_label">Netikri duomenys</string>
|
||||
<string name="settings_fake_data_description">Rodyti netikrus duomenis, t. y. imituoti neegzistuojančius įrenginius.</string>
|
||||
<string name="settings_debug_label">Derinimo nustatymai</string>
|
||||
<string name="settings_debug_description">Papildomi nustatymai, padedantys spręsti programos problemas.</string>
|
||||
<string name="settings_signal_minimum_label">Minimali signalo kokybė</string>
|
||||
<string name="settings_signal_minimum_description">Minimali signalo kokybė, kurią turi turėti įrenginys, kad būtų laikomas jūsų.</string>
|
||||
<string name="settings_autoconnect_label">Automatinis prisijungimas</string>
|
||||
@@ -80,7 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Rodyti prisijungimo iškylantįjį langą</string>
|
||||
<string name="settings_popup_connected_description">Rodyti iškylantįjį langą, kai įrenginys prisijungia pirmą kartą.</string>
|
||||
<string name="settings_popup_info_not_in_app">Iskylantieji langai rodomi tik tada, kai nesate programoje.</string>
|
||||
<string name="general_fix_it_action">Sutaisyti</string>
|
||||
<string name="device_settings_experimental_title">Eksperimentinė funkcija</string>
|
||||
<string name="device_settings_experimental_description">Ši funkcija dar neišbandyta visuose įrenginiuose. Jei kažkas neveikia tinkamai, atidarykite problemų sąrašą su derinimo žurnalu.</string>
|
||||
<string name="device_settings_experimental_action">Atidaryti problemų sąrašą</string>
|
||||
@@ -121,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Padėkos</string>
|
||||
<string name="settings_debug_autoreports_label">Automatinės klaidų ataskaitos</string>
|
||||
<string name="settings_debug_autoreports_description">Automatiškai praneša apie problemas, pvz., išsamią informaciją apie programos strigtį, kad galėčiau išsiaiškinti, kaip ją ištaisyti.</string>
|
||||
<string name="settings_debug_mode_label">Derinimo režimas</string>
|
||||
<string name="settings_debug_mode_description">Rodyti papildomą informaciją problemoms spręsti.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Nefiltruoti BLE duomenys</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Pašalinkite visus filtrus iš BLE skaitytuvo, kad būtų rodomi visi transliuojami BLE duomenys. Naudinga pridedant palaikymą naujiems ausinių tipams.</string>
|
||||
<string name="settings_compatibility_mode_label">Suderinamumo režimas</string>
|
||||
<string name="settings_compatibility_mode_description">Išjunkite optimizavimą, kad pagerintumėte suderinamumą. Išbandykite tai, jei nematote jokių duomenų.</string>
|
||||
<string name="help_translate_label">Vertimas</string>
|
||||
@@ -136,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Šiam valdikliui reikalingas tiesioginis ryšys (AAP) su jūsų įrenginiu. Prieš naudodami šį valdiklį, įsitikinkite, kad įrenginys yra susietas ir prijungtas programoje.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Šis įrenginys nepalaiko triukšmo valdymo</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Neprijungta</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Šalia, bet neprijungta</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Nešalia</string>
|
||||
<string name="anc_widget_aap_connecting_label">Jungiamasi…</string>
|
||||
<string name="tile_anc_label">Triukšmo valdymas</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Reikalingas leidimas</string>
|
||||
<string name="tile_anc_subtitle_no_device">Nėra įrenginio</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Nėra triukšmo valdymo</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth išjungtas</string>
|
||||
<string name="widget_config_screen_title">Valdiklio konfigūracija</string>
|
||||
<string name="widget_configuration_title">Pasirinkite įrenginį</string>
|
||||
<string name="widget_configuration_description">Pasirinkite, kurio įrenginio profilį šis valdiklis turėtų rodyti.</string>
|
||||
@@ -223,9 +221,6 @@
|
||||
<string name="permission_required_title">Reikalingas šis leidimas:</string>
|
||||
<string name="permission_system_alert_window_label">Sistemos perspėjimo langas</string>
|
||||
<string name="permission_system_alert_window_description">Leiskite CAPod piešti virš kitų programų, kad būtų galima naudoti funkciją „Rodyti iškylantįjį langą\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">Kai programa atidaryta</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Kai įrenginys prijungtas</string>
|
||||
<string name="settings_monitor_mode_always_label">Visada</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Kai pastebėtas</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Dėklas atidarytas</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Ausyje</string>
|
||||
@@ -257,6 +252,11 @@
|
||||
<string name="anc_mode_transparency">Skaidrumas</string>
|
||||
<string name="anc_mode_adaptive">Adaptyvus</string>
|
||||
<string name="conversation_awareness_label">Pokalbių atpažinimas</string>
|
||||
<string name="settings_conversation_action_label">Kai pradedate kalbėti</string>
|
||||
<string name="settings_conversation_action_nothing_label">Nieko nedaryti</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Sumažinti garsų</string>
|
||||
<string name="settings_conversation_action_pause_label">Pristabdyti mediją</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Garsumo mažinimas</string>
|
||||
<string name="signal_badge_ble_cd">BLE nuskaitymas aktyvus</string>
|
||||
<string name="signal_badge_key_irk_cd">Tapatybė patvirtinta</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Šifruotas ryšys</string>
|
||||
@@ -325,7 +325,6 @@
|
||||
<string name="ui_theme_color_amber_label">Gintarinė</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Naudoja fono paveikslėlio spalvas</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Stebėjimas</string>
|
||||
<string name="settings_category_appearance_label">Išvaizda</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Neišsaugoti pakeitimai</string>
|
||||
@@ -407,7 +406,7 @@
|
||||
<string name="support_contact_sent_title">El. laiškas išsiųstas?</string>
|
||||
<string name="support_contact_sent_message">Ar el. laiškas buvo sėkmingai išsiųstas? Pridėtas derinimo žurnalas bus ištrintas.</string>
|
||||
<!-- Device Settings -->
|
||||
<string name="device_settings_title">Ĭrenginio nustatymai</string>
|
||||
<string name="device_settings_title">Įrenginio nustatymai</string>
|
||||
<string name="device_settings_subtitle_profile_prefix">Profilis: %s</string>
|
||||
<string name="device_settings_info_name_label">Pavadinimas</string>
|
||||
<string name="device_settings_info_bt_name_label">Bluetooth įrenginio žnyma</string>
|
||||
@@ -479,7 +478,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Bendrieji</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofonas</string>
|
||||
<string name="device_settings_microphone_mode_description">Kuris AirPod naudojamas kaip mikrofonas</string>
|
||||
<string name="device_settings_microphone_mode_description">Kuris ausinis naudojamas kaip mikrofonas</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automatinis</string>
|
||||
<string name="device_settings_microphone_mode_right">Dešinė</string>
|
||||
<string name="device_settings_microphone_mode_left">Kairė</string>
|
||||
@@ -502,7 +501,7 @@
|
||||
<string name="reaction_sleep_notification_title">Pristabdyta miego aptikimo</string>
|
||||
<string name="reaction_sleep_notification_text">%1$s pranešė, kad užmigote, todėl jūsų muzika buvo pristabdyta. Tai galite išjungti įrenginio nustatymuose.</string>
|
||||
<string name="device_settings_rename_label">Pervadinti</string>
|
||||
<string name="device_settings_rename_hint">Ĭrenginio pavadinimas</string>
|
||||
<string name="device_settings_rename_hint">Įrenginio pavadinimas</string>
|
||||
<string name="device_settings_rename_confirm">Pervadinti</string>
|
||||
<string name="device_settings_rename_invalid_ascii">Palaikomi tik ASCII simboliai</string>
|
||||
<string name="device_settings_rename_system_unavailable_title">Pervadinimas nebaigtas</string>
|
||||
@@ -516,7 +515,7 @@
|
||||
<string name="device_settings_charge_cap_rejected_message">Optimizuoto įkrovimo limito nepavyko pakeisti. Tai eksperimentinė funkcija – praneškite, jei ji toliau neveikia.</string>
|
||||
<string name="device_settings_category_connections_label">Prijungti įrenginiai</string>
|
||||
<string name="device_settings_connected_devices_description">Kiti šiuo metu prijungti prie šių AirPods įrenginiai</string>
|
||||
<string name="device_settings_connected_device_label">Ĭrenginys %d</string>
|
||||
<string name="device_settings_connected_device_label">Įrenginys %d</string>
|
||||
<string name="device_settings_connected_device_call">Skambučio metu</string>
|
||||
<string name="device_settings_connected_device_media">Groja medija</string>
|
||||
<string name="device_settings_noise_control_label">Triukšmo valdymas</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Ja esat nesen iegādājies, Google Play var aizņemt brīdi, lai sinhronizētu.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Mēģiniet vēlreiz pēc dažām minūtēm, ja jūsu pirkums neparādās.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Pārliecinieties, ka esat pieteicies ar to pašu Google kontu, kas izmantots pirkumam.</string>
|
||||
<string name="settings_monitor_mode_label">Monitorēšanas režīms</string>
|
||||
<string name="settings_monitor_mode_description">Kādos apstākļos šī lietotne monitorē Bluetooth datus.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Papildu paziņojums</string>
|
||||
<string name="settings_monitor_connected_notification_description">Rāda papildu paziņojumu, kad ierīce ir pievienota. Tas ļauj paslēpt pastāvīgo paziņojumu \"Nav ierīču\", atspējojot kanālu \"Ierīces statuss\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Saglabāt paziņojumu pēc atvienošanas</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Automātiska pauze</string>
|
||||
<string name="settings_autopause_description">Pauzēt audio, noņemot ierīci no auss.</string>
|
||||
<string name="settings_autopplay_label">Automātiska atskaņošana</string>
|
||||
<string name="settings_autoplay_description">Sākt audio atskaņošanu, kad ierīce tiek nēsāta.</string>
|
||||
<string name="settings_autoplay_description">Atsāk mūziku, kad valkājat savus austiņas atkal, bet tikai tad, ja to apturēja automātiskā pauze. Pauzes, ko aktivizējāt pats (tālrunis, AirPods kāts, miegs), paliek pauzētas.</string>
|
||||
<string name="settings_start_music_on_wear_label">Sākt mūziku uzvelkot</string>
|
||||
<string name="settings_start_music_on_wear_description">Vienmēr mēģina atskaņot mūziku, kad uzliekat austiņas, pat pēc manuālas pauzes.</string>
|
||||
<string name="settings_eardetection_info_label">Piezīme par auss noteikšanu</string>
|
||||
<string name="settings_eardetection_info_description">Ja auss noteikšana darbojas tikai vienai austiņai, tas ir Apple ierobežojums. Tiek noteikta tikai \"galvenā austiņa\" (ko izmanto mikrofonam). Konfigurējiet Apple ierīcēs: Settings → Bluetooth → AirPods → Microphone.</string>
|
||||
<string name="settings_fake_data_label">Viltus dati</string>
|
||||
<string name="settings_fake_data_description">Rādīt viltus datus, t.i., simulēt neesošas ierīces.</string>
|
||||
<string name="settings_debug_label">Atkļūdošanas iestatījumi</string>
|
||||
<string name="settings_debug_description">Papildu iestatījumi, lai palīdzētu novērst problēmas ar lietotni.</string>
|
||||
<string name="settings_signal_minimum_label">Minimālā signāla kvalitāte</string>
|
||||
<string name="settings_signal_minimum_description">Minimālā signāla kvalitāte, kādai jābūt ierīcei, lai tā tiktu uzskatīta par jūsu.</string>
|
||||
<string name="settings_autoconnect_label">Automātiska savienošana</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Rādīt savienojuma uznirstošo logu</string>
|
||||
<string name="settings_popup_connected_description">Rādīt uznirstošo logu, kad ierīce pirmo reizi izveido savienojumu.</string>
|
||||
<string name="settings_popup_info_not_in_app">Uznirstošie logi tiek rādīti tikai tad, kad neatrodaties lietotnē.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Uznirstošajiem logiem nepieciešams, lai monitors darbotos. Monitora režīms ir iestatīts uz \"Kad lietotne ir atvērta\", kas aptur monitoru, kad izejat no lietotnes.</string>
|
||||
<string name="general_fix_it_action">Labot</string>
|
||||
<string name="device_settings_experimental_title">Eksperimentāla funkcija</string>
|
||||
<string name="device_settings_experimental_description">Šī funkcija vēl nav pārbaudīta visās ierīcēs. Ja kaut kas nedarbojas pareizi, lūdzu atveriet problēmziņojumu ar atkļūdošanas žurnālu.</string>
|
||||
<string name="device_settings_experimental_action">Atvērt problēmu izsekotāju</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Pateicības</string>
|
||||
<string name="settings_debug_autoreports_label">Automātiski kļūdu ziņojumi</string>
|
||||
<string name="settings_debug_autoreports_description">Automātiski ziņo par problēmām, piem., informāciju par lietotnes avāriju, lai es varētu izdomāt, kā to labot.</string>
|
||||
<string name="settings_debug_mode_label">Atkļūdošanas režīms</string>
|
||||
<string name="settings_debug_mode_description">Rādīt papildu informāciju problēmu novēršanai.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Nefiltrēti BLE dati</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Noņemiet visus filtrus no BLE skenera, lai parādītu visus pārraidītos BLE datus. Noderīgi, lai pievienotu atbalstu jauniem austiņu veidiem.</string>
|
||||
<string name="settings_compatibility_mode_label">Saderības režīms</string>
|
||||
<string name="settings_compatibility_mode_description">Atspējojiet optimizācijas, lai uzlabotu saderību. Izmēģiniet šo, ja neredzat nekādus datus.</string>
|
||||
<string name="help_translate_label">Tulkošana</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Šim logrīkam ir nepieciešams tiešs savienojums (AAP) ar jūsu ierīci. Pirms lietot šo logrīku, pārliecinieties, ka ierīce ir savienota pārī un pievienota lietotnē.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Šī ierīce neatbalsta trokšņu kontroli</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Nav savienots</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Tuvumā, bet nav savienots</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Nav tuvumā</string>
|
||||
<string name="anc_widget_aap_connecting_label">Savienojas…</string>
|
||||
<string name="tile_anc_label">Trokšņa kontrole</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Nepieciešama atļauja</string>
|
||||
<string name="tile_anc_subtitle_no_device">Nav ierīces</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Nav trokšņa kontroles</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth izslēgts</string>
|
||||
<string name="widget_config_screen_title">Logrīka konfigurācija</string>
|
||||
<string name="widget_configuration_title">Izvēlieties ierīci</string>
|
||||
<string name="widget_configuration_description">Izvēlieties, kuru ierīces profilu šim logrīkam vajadzētu rādīt.</string>
|
||||
@@ -222,9 +219,6 @@
|
||||
<string name="permission_required_title">Nepieciešama šāda atļauja:</string>
|
||||
<string name="permission_system_alert_window_label">Sistēmas brīdinājuma logs</string>
|
||||
<string name="permission_system_alert_window_description">Atļaujiet CAPod zīmēt virs citām lietotnēm, lai iespējotu funkciju \"Rādīt uznirstošo logu\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">Kad lietotne ir atvērta</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Kad ierīce ir savienota</string>
|
||||
<string name="settings_monitor_mode_always_label">Vienmēr</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Kad redzēta</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Korpuss ir atvērts</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Ausī</string>
|
||||
@@ -256,6 +250,11 @@
|
||||
<string name="anc_mode_transparency">Caurspīdīgums</string>
|
||||
<string name="anc_mode_adaptive">Adaptīvs</string>
|
||||
<string name="conversation_awareness_label">Sarunu apzināšanās</string>
|
||||
<string name="settings_conversation_action_label">Kad sākat runāt</string>
|
||||
<string name="settings_conversation_action_nothing_label">Nedārīt neko</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Samazināt skaļumu</string>
|
||||
<string name="settings_conversation_action_pause_label">Pauzēt multividi</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Skaļuma samazinājums</string>
|
||||
<string name="signal_badge_ble_cd">BLE skenēšana aktīva</string>
|
||||
<string name="signal_badge_key_irk_cd">Identitāte pārbaudīta</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Šifrēts savienojums</string>
|
||||
@@ -324,7 +323,6 @@
|
||||
<string name="ui_theme_color_amber_label">Dzintara</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Izmanto tapetes krāsas</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Uzraudzība</string>
|
||||
<string name="settings_category_appearance_label">Izskats</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Nesaglabātas izmaiņas</string>
|
||||
@@ -435,14 +433,14 @@
|
||||
<string name="device_settings_category_sound_label">Skaņa</string>
|
||||
<string name="device_settings_category_controls_label">Vadīklēšana</string>
|
||||
<string name="device_settings_nc_one_airpod_label">ANC ar vienu austiņu</string>
|
||||
<string name="device_settings_nc_one_airpod_description">Saglabāt troksnisņemšanu aktomiskā ar tikai vienu AirPod</string>
|
||||
<string name="device_settings_nc_one_airpod_description">Saglabāt trokšņu slāpēšanu aktīvu ar tikai vienu AirPod</string>
|
||||
<string name="device_settings_personalized_volume_label">Personālizots skaļumā</string>
|
||||
<string name="device_settings_personalized_volume_description">Pielago vides multivides skaļumu atbilstoši apkārtējai vid</string>
|
||||
<string name="device_settings_personalized_volume_description">Pielāgo multivides skaļumu atbilstoši apkārtējai videi</string>
|
||||
<string name="device_settings_conversation_awareness_description">Samazināt multivides skaļumu un troksni, kad kāds runā ar jums</string>
|
||||
<string name="device_settings_tone_volume_label">Dziľľu skaļums</string>
|
||||
<string name="device_settings_tone_volume_description">Apstiprinājuma skaņu un zvanāmāsignalājumu skaļums</string>
|
||||
<string name="device_settings_adaptive_noise_label">Adaptīvais audīo troksnis</string>
|
||||
<string name="device_settings_adaptive_noise_description">Cik daudz apkārtējās vides trokšņa tiek caurl aists</string>
|
||||
<string name="device_settings_adaptive_noise_description">Cik daudz apkārtējās vides trokšņa tiek caurlaistu</string>
|
||||
<string name="device_settings_adaptive_noise_requires_adaptive">Nepieciešama adaptīvā trokšņu kontrole</string>
|
||||
<string name="device_settings_pending_info">Izmaiņas stājas spēkā, kad AirPods ir ausīs</string>
|
||||
<string name="device_settings_press_speed_label">Nospiēšanas ātrums</string>
|
||||
@@ -461,7 +459,7 @@
|
||||
<string name="device_settings_volume_swipe_length_description">Lai novērstu nejaušas skaļuma izmaiņas, izvēlieties, cik ilgi gaidīt starp vilkšanas žestiem.</string>
|
||||
<string name="device_settings_volume_swipe_length_default">Noklusējuma</string>
|
||||
<string name="device_settings_volume_swipe_length_longer">Garāks</string>
|
||||
<string name="device_settings_volume_swipe_length_longest">Visg arāks</string>
|
||||
<string name="device_settings_volume_swipe_length_longest">Visgarāks</string>
|
||||
<string name="device_settings_end_call_mute_mic_label">Zvanāmā vadība</string>
|
||||
<string name="device_settings_end_call_mute_mic_description">Izvēlieties, kas notiek, nospiežot kātienu zvanāšanas laikā</string>
|
||||
<string name="device_settings_end_call_mute_mic_option_a_title">Vienu reizi nospiežot, beidz zvanu</string>
|
||||
@@ -475,7 +473,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Vispārīgi</string>
|
||||
<string name="device_settings_microphone_mode_label">Mikrofons</string>
|
||||
<string name="device_settings_microphone_mode_description">Kurš AirPod tiek izmantots kā mikrofons</string>
|
||||
<string name="device_settings_microphone_mode_description">Kura austiņa tiek izmantota kā mikrofons</string>
|
||||
<string name="device_settings_microphone_mode_auto">Automātiski</string>
|
||||
<string name="device_settings_microphone_mode_right">Labais</string>
|
||||
<string name="device_settings_microphone_mode_left">Kreisais</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Ако неодамна сте купиле, можно е да поминат неколку моменти додека Google Play не се синхронизира.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Обидете се повторно за неколку минути ако купувачката не се прикажува.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Проверете дали сте најавени со истата сметка на Google која е употребена за купувачката.</string>
|
||||
<string name="settings_monitor_mode_label">Режим на мониторинг</string>
|
||||
<string name="settings_monitor_mode_description">Под кои околности оваа апликација ги следи податоците од Bluetooth.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Дополнително известување</string>
|
||||
<string name="settings_monitor_connected_notification_description">Прикажува дополнително известување кога уредот е поврзан. Ова ви овозможува да го скриете трајното известување \"Нема уреди\" со оневозможување на каналот \"Статус на уредот\".</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Задржи го известувањето по прекинување</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Автоматска пауза</string>
|
||||
<string name="settings_autopause_description">Паузирајте го аудиото кога го отстранувате уредот од увото.</string>
|
||||
<string name="settings_autopplay_label">Автоматско репродуцирање</string>
|
||||
<string name="settings_autoplay_description">Започнете со репродукција на аудио кога уредот се носи.</string>
|
||||
<string name="settings_autoplay_description">Продолжи со музика кога повторно ги носиш слушалките, но само ако Авто-пауза ја запрела. Паузите кои ги активирал самиот (телефон, стебло на AirPods, спиење) остануваат паузирани.</string>
|
||||
<string name="settings_start_music_on_wear_label">Пушти музика при ставање</string>
|
||||
<string name="settings_start_music_on_wear_description">Секогаш се обидува да пушти музика кога ги ставаш слушалките, дури и по рачна пауза.</string>
|
||||
<string name="settings_eardetection_info_label">Белешка за детекција на уво</string>
|
||||
<string name="settings_eardetection_info_description">Ако детекцијата на увото работи само за еден pod, ова е ограничување на Apple. Се детектира само \"примарниот pod\" (користен за микрофон). Конфигурирајте на Apple уреди: Поставки → Bluetooth → AirPods → Микрофон.</string>
|
||||
<string name="settings_fake_data_label">Лажни податоци</string>
|
||||
<string name="settings_fake_data_description">Прикажете лажни податоци, т.е. симулирајте уреди што не постојат.</string>
|
||||
<string name="settings_debug_label">Поставки за дебагирање</string>
|
||||
<string name="settings_debug_description">Дополнителни поставки за помош при решавање проблеми со апликацијата.</string>
|
||||
<string name="settings_signal_minimum_label">Минимален квалитет на сигналот</string>
|
||||
<string name="settings_signal_minimum_description">Минималниот квалитет на сигналот што уредот мора да го има за да се смета за ваш.</string>
|
||||
<string name="settings_autoconnect_label">Автоматско поврзување</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Прикажи скокачки прозорец за поврзување</string>
|
||||
<string name="settings_popup_connected_description">Прикажи скокачки прозорец кога уредот се поврзува за прв пат.</string>
|
||||
<string name="settings_popup_info_not_in_app">Скокачките прозорци се прикажуваат само кога не сте во апликацијата.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Скокачките прозорци бараат мониторот да работи. Вашиот режим на мониторирање е поставен на „Кога апликацијата е отворена“, што го запира мониторот кога ќе ја напуштите апликацијата.</string>
|
||||
<string name="general_fix_it_action">Поправи го</string>
|
||||
<string name="device_settings_experimental_title">Експериментална функција</string>
|
||||
<string name="device_settings_experimental_description">Оваа функција сè уште не е тестирана на сите уреди. Ако нешто не работи правилно, ве молиме отворете проблем со дневник за дебагирање.</string>
|
||||
<string name="device_settings_experimental_action">Отвори следач на проблеми</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Благодарници</string>
|
||||
<string name="settings_debug_autoreports_label">Автоматски извештаи за грешки</string>
|
||||
<string name="settings_debug_autoreports_description">Автоматски пријавува проблеми, на пр. детали за пад на апликацијата за да можам да откријам како да го поправам.</string>
|
||||
<string name="settings_debug_mode_label">Режим на дебагирање</string>
|
||||
<string name="settings_debug_mode_description">Прикажи дополнителни информации за решавање проблеми.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Нефилтрирани BLE податоци</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Отстранете ги сите филтри од BLE скенерот за да ги прикажете сите емитувани BLE податоци. Корисно за додавање поддршка за нови типови слушалки.</string>
|
||||
<string name="settings_compatibility_mode_label">Режим на компатибилност</string>
|
||||
<string name="settings_compatibility_mode_description">Оневозможете ги оптимизациите за да ја подобрите компатибилноста. Обидете се со ова ако не гледате никакви податоци.</string>
|
||||
<string name="help_translate_label">Превод</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Овој виџет бара директна врска (AAP) со вашиот уред. Осигурете се дека вашиот уред е спарен и поврзан во апликацијата пред да го користите овој виџет.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Овој уред не поддржува контрола на бучава</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Не е поврзан</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Во близина, но не поврзан</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Не е во близина</string>
|
||||
<string name="anc_widget_aap_connecting_label">Поврзување…</string>
|
||||
<string name="tile_anc_label">Контрола на бучава</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Потребна е дозвола</string>
|
||||
<string name="tile_anc_subtitle_no_device">Нема уред</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Нема контрола на бучава</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth исклучен</string>
|
||||
<string name="widget_config_screen_title">Конфигурација на виџетот</string>
|
||||
<string name="widget_configuration_title">Изберете уред</string>
|
||||
<string name="widget_configuration_description">Изберете кој профил на уред треба да го прикажува овој виџет.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Потребна е следната дозвола:</string>
|
||||
<string name="permission_system_alert_window_label">Системски прозорец за предупредување</string>
|
||||
<string name="permission_system_alert_window_description">Дозволете CAPod да црта преку други апликации за да ја овозможи функцијата \"Прикажи попап\".</string>
|
||||
<string name="settings_monitor_mode_manual_label">Кога апликацијата е отворена</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Кога уредот е поврзан</string>
|
||||
<string name="settings_monitor_mode_always_label">Секогаш</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Кога е забележан</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Куќиштето е отворено</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Во уво</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Транспарентност</string>
|
||||
<string name="anc_mode_adaptive">Адаптивно</string>
|
||||
<string name="conversation_awareness_label">Свесност за разговор</string>
|
||||
<string name="settings_conversation_action_label">Кога почнуваш да зборуваш</string>
|
||||
<string name="settings_conversation_action_nothing_label">Не прави ништо</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Намали јачина</string>
|
||||
<string name="settings_conversation_action_pause_label">Паузирај медиуми</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Намалување на јачината</string>
|
||||
<string name="signal_badge_ble_cd">BLE скенирање активно</string>
|
||||
<string name="signal_badge_key_irk_cd">Идентитетот е потврден</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Шифрирана врска</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Килибара</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Користи бои од тапетот</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Мониторинг</string>
|
||||
<string name="settings_category_appearance_label">Изглед</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Незачувани промени</string>
|
||||
@@ -345,7 +343,7 @@
|
||||
<item quantity="one">%1$d датотека готова (%2$s)</item>
|
||||
<item quantity="other">%1$d датотеки готови (%2$s)</item>
|
||||
</plurals>
|
||||
<string name="debug_debuglog_screen_discard_action">Избирши</string>
|
||||
<string name="debug_debuglog_screen_discard_action">Избриши</string>
|
||||
<string name="debug_debuglog_screen_keep_action">Задржи</string>
|
||||
<!-- Log management -->
|
||||
<plurals name="support_debuglog_folder_summary">
|
||||
@@ -361,10 +359,10 @@
|
||||
<string name="support_debuglog_session_delete_title">Да се избрише сесијата?</string>
|
||||
<string name="support_debuglog_session_delete_message">Оваа дијагностичка сесија ќе биде трајно избришана.</string>
|
||||
<string name="support_debuglog_clear_all_message">Сите дијагностички сесии ќе бидат трајно избришани.</string>
|
||||
<string name="support_debuglog_failed_empty_log">Неуспеано: датотеката со дневник е празна</string>
|
||||
<string name="support_debuglog_failed_missing_log">Неуспеано: датотеката со дневник недостасува</string>
|
||||
<string name="support_debuglog_failed_corrupt_zip">Неуспеано: zip датотеката е оштетена</string>
|
||||
<string name="support_debuglog_failed_zip_failed">Неуспеано: компресијата не успеа</string>
|
||||
<string name="support_debuglog_failed_empty_log">Неуспешно: датотеката со дневник е празна</string>
|
||||
<string name="support_debuglog_failed_missing_log">Неуспешно: датотеката со дневник недостасува</string>
|
||||
<string name="support_debuglog_failed_corrupt_zip">Неуспешно: zip датотеката е оштетена</string>
|
||||
<string name="support_debuglog_failed_zip_failed">Неуспешно: компресијата не успеа</string>
|
||||
<!-- Contact form -->
|
||||
<string name="support_contact_label">Контактирајте го развивачот</string>
|
||||
<string name="support_contact_desc">Пополнете формулар за да му пратите е-пошта на развивачот.</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Генерално</string>
|
||||
<string name="device_settings_microphone_mode_label">Микрофон</string>
|
||||
<string name="device_settings_microphone_mode_description">Кој AirPod се користи како микрофон</string>
|
||||
<string name="device_settings_microphone_mode_description">Кој слушалец се користи како микрофон</string>
|
||||
<string name="device_settings_microphone_mode_auto">Автоматски</string>
|
||||
<string name="device_settings_microphone_mode_right">Десно</string>
|
||||
<string name="device_settings_microphone_mode_left">Лево</string>
|
||||
@@ -486,6 +484,7 @@
|
||||
<string name="device_settings_listening_mode_cycle_transparency">Транспарентност</string>
|
||||
<string name="device_settings_listening_mode_cycle_adaptive">Адаптивно</string>
|
||||
<string name="device_settings_allow_off_label">Дозволете режим Исклучено</string>
|
||||
<string name="device_settings_allow_off_description">Дозволи Исклучено како избирачки режим за контрола на бучава. Кога е оневозможено, стеблата прескокнуваат Исклучено при циклирање.</string>
|
||||
<string name="device_settings_sleep_detection_label">Откривање сон</string>
|
||||
<string name="device_settings_sleep_detection_description">Автоматски паузирање на звукот кога заспиете</string>
|
||||
<string name="reaction_sleep_channel_label">Детекција на спиење</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">നിങ്ങൾ അടുത്തിടെ വാങ്ങിയിട്ടുണ്ടെങ്കിൽ, Google Play സമന്വയിക്കാൻ കുറച്ച് സമയമെടുക്കാം.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">നിങ്ങളുടെ വാങ്ങൽ ദൃശ്യമാകുന്നില്ലെങ്കിൽ കുറച്ച് മിനിറ്റുകൾക്ക് ശേഷം വീണ്ടും ശ്രമിക്കുക.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">വാങ്ങലിനായി ഉപയോഗിച്ച അതേ Google അക്കൗണ്ടിൽ സൈൻ ഇൻ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.</string>
|
||||
<string name="settings_monitor_mode_label">മോണിറ്റർ മോഡ്</string>
|
||||
<string name="settings_monitor_mode_description">ഈ ആപ്പ് ഏത് സാഹചര്യത്തിലാണ് ബ്ലൂടൂത്ത് ഡാറ്റ നിരീക്ഷിക്കുന്നത്.</string>
|
||||
<string name="settings_monitor_connected_notification_label">അധിക അറിയിപ്പ്</string>
|
||||
<string name="settings_monitor_connected_notification_description">ഒരു ഉപകരണം കണക്റ്റുചെയ്യുമ്പോൾ ഒരു അധിക അറിയിപ്പ് കാണിക്കുന്നു. \"ഉപകരണ നില\" ചാനൽ പ്രവർത്തനരഹിതമാക്കി സ്ഥിരമായ \"ഉപകരണങ്ങളൊന്നുമില്ല\" അറിയിപ്പ് മറയ്ക്കാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">വിച്ഛേദിച്ച ശേഷം അറിയിപ്പ് നിലനിർത്തുക</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">യാന്ത്രികമായി താൽക്കാലികമായി നിർത്തുക</string>
|
||||
<string name="settings_autopause_description">നിങ്ങളുടെ ചെവിയിൽ നിന്ന് ഉപകരണം നീക്കം ചെയ്യുമ്പോൾ ഓഡിയോ താൽക്കാലികമായി നിർത്തുക.</string>
|
||||
<string name="settings_autopplay_label">യാന്ത്രികമായി പ്ലേ ചെയ്യുക</string>
|
||||
<string name="settings_autoplay_description">ഉപകരണം ധരിക്കുമ്പോൾ ഓഡിയോ പ്ലേബാക്ക് ആരംഭിക്കുക.</string>
|
||||
<string name="settings_autoplay_description">പോഡ്സ് വീണ്ടും ധരിക്കുമ്പോൾ സംഗീതം പുനരാരംഭിക്കും, എന്നാൽ ഓട്ടോ പോസ് നിർത്തിയ ഘട്ടത്തിൽ മാത്രം. നിങ്ങൾ സ്വയം ചെയ്ത പോസുകൾ (ഫോൺ, AirPods സ്റ്റെം, ഉറക്കം) പോസ് ആയി തുടരും.</string>
|
||||
<string name="settings_start_music_on_wear_label">ധരിക്കുമ്പോൾ സംഗീതം ആരംഭിക്കുക</string>
|
||||
<string name="settings_start_music_on_wear_description">പോഡ്സ് ഇടുമ്പോൾ സംഗീതം പ്ലേ ചെയ്യാൻ എപ്പോഴും ശ്രമിക്കും, ഒരു മാനുവൽ പോസിന് ശേഷം പോലും.</string>
|
||||
<string name="settings_eardetection_info_label">ഇയർ ഡിറ്റക്ഷൻ കുറിപ്പ്</string>
|
||||
<string name="settings_eardetection_info_description">ഇയർ ഡിറ്റക്ഷൻ ഒരു പോഡിന് മാത്രമേ പ്രവർത്തിക്കുകയുള്ളൂവെങ്കിൽ, ഇത് Apple-ന്റെ പരിമിതിയാണ്. \"പ്രൈമറി പോഡ്\" (മൈക്രോഫോണിനായി ഉപയോഗിക്കുന്നത്) മാത്രമേ കണ്ടെത്തുകയുള്ളൂ. Apple ഉപകരണങ്ങളിൽ ക്രമീകരിക്കുക: ക്രമീകരണങ്ങൾ → Bluetooth → AirPods → മൈക്രോഫോൺ.</string>
|
||||
<string name="settings_fake_data_label">വ്യാജ ഡാറ്റ</string>
|
||||
<string name="settings_fake_data_description">വ്യാജ ഡാറ്റ കാണിക്കുക, അതായത് നിലവിലില്ലാത്ത ഉപകരണങ്ങളെ അനുകരിക്കുക.</string>
|
||||
<string name="settings_debug_label">ഡീബഗ് ക്രമീകരണങ്ങൾ</string>
|
||||
<string name="settings_debug_description">ആപ്പിലെ പ്രശ്നങ്ങൾ പരിഹരിക്കാൻ സഹായിക്കുന്ന അധിക ക്രമീകരണങ്ങൾ.</string>
|
||||
<string name="settings_signal_minimum_label">കുറഞ്ഞ സിഗ്നൽ നിലവാരം</string>
|
||||
<string name="settings_signal_minimum_description">ഒരു ഉപകരണം നിങ്ങളുടേതാണെന്ന് കണക്കാക്കാൻ ആവശ്യമായ ഏറ്റവും കുറഞ്ഞ സിഗ്നൽ നിലവാരം.</string>
|
||||
<string name="settings_autoconnect_label">യാന്ത്രികമായി കണക്റ്റുചെയ്യുക</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">കണക്ഷൻ പോപ്പ്അപ്പ് കാണിക്കുക</string>
|
||||
<string name="settings_popup_connected_description">ഉപകരണം ആദ്യമായി കണക്റ്റുചെയ്യുമ്പോൾ ഒരു പോപ്പ്അപ്പ് കാണിക്കുക.</string>
|
||||
<string name="settings_popup_info_not_in_app">നിങ്ങൾ ആപ്പിൽ ഇല്ലാത്തപ്പോൾ മാത്രം പോപ്പപ്പുകൾ കാണിക്കും.</string>
|
||||
<string name="settings_popup_warning_manual_mode">പോപ്പപ്പുകൾക്ക് മോണിറ്റർ പ്രവർത്തിക്കേണ്ടതുണ്ട്. നിങ്ങളുടെ മോണിറ്റർ മോഡ് \"ആപ്പ് തുറന്നിരിക്കുമ്പോൾ\" എന്നതിലേക്ക് സജ്ജീകരിച്ചിരിക്കുന്നു, ഇത് നിങ്ങൾ ആപ്പ് വിടുമ്പോൾ മോണിറ്റർ നിർത്തും.</string>
|
||||
<string name="general_fix_it_action">ശരിയാക്കുക</string>
|
||||
<string name="device_settings_experimental_title">പരീക്ഷണ സവിശേഷത</string>
|
||||
<string name="device_settings_experimental_description">ഈ സവിശേഷത ഇതുവരെ എല്ലാ ഡിവൈസുകളിലും പരീക്ഷിച്ചിട്ടില്ല. എന്തെങ്കിലും ശരിയായി പ്രവർത്തിക്കുന്നില്ലെങ്കിൽ, ദയവായി ഒരു ഡീബഗ് ലോഗ് സഹിതം ഒരു ഇഷ്യൂ തുറക്കുക.</string>
|
||||
<string name="device_settings_experimental_action">ഇഷ്യൂ ട്രാക്കർ തുറക്കുക</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">അംഗീകാരങ്ങൾ</string>
|
||||
<string name="settings_debug_autoreports_label">യാന്ത്രിക ബഗ് റിപ്പോർട്ടുകൾ</string>
|
||||
<string name="settings_debug_autoreports_description">പ്രശ്നങ്ങൾ യാന്ത്രികമായി റിപ്പോർട്ട് ചെയ്യുന്നു, ഉദാ. ആപ്പ് ക്രാഷിനെക്കുറിച്ചുള്ള വിശദാംശങ്ങൾ, അതുവഴി എനിക്കത് എങ്ങനെ പരിഹരിക്കാമെന്ന് കണ്ടെത്താനാകും.</string>
|
||||
<string name="settings_debug_mode_label">ഡീബഗ് മോഡ്</string>
|
||||
<string name="settings_debug_mode_description">പ്രശ്നങ്ങൾ പരിഹരിക്കാൻ അധിക വിവരങ്ങൾ കാണിക്കുക.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">ഫിൽട്ടർ ചെയ്യാത്ത BLE ഡാറ്റ</string>
|
||||
<string name="settings_blescanner_unfiltered_description">എല്ലാ പ്രക്ഷേപണം ചെയ്ത BLE ഡാറ്റയും കാണിക്കാൻ BLE സ്കാനറിൽ നിന്ന് ഏതെങ്കിലും ഫിൽട്ടറുകൾ നീക്കം ചെയ്യുക. പുതിയ ഹെഡ്ഫോൺ തരങ്ങൾക്കുള്ള പിന്തുണ ചേർക്കാൻ ഇത് ഉപയോഗപ്രദമാണ്.</string>
|
||||
<string name="settings_compatibility_mode_label">അനുയോജ്യത മോഡ്</string>
|
||||
<string name="settings_compatibility_mode_description">അനുയോജ്യത മെച്ചപ്പെടുത്താൻ ഒപ്റ്റിമൈസേഷനുകൾ പ്രവർത്തനരഹിതമാക്കുക. നിങ്ങൾക്ക് ഡാറ്റയൊന്നും കാണുന്നില്ലെങ്കിൽ ഇത് പരീക്ഷിക്കുക.</string>
|
||||
<string name="help_translate_label">പരിഭാഷ</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">ഈ വിജറ്റ് നിങ്ങളുടെ ഡിവൈസിലേക്ക് ഒരു നേരിട്ടുള്ള കണക്ഷൻ (AAP) ആവശ്യപ്പെടുന്നു. ഈ വിജറ്റ് ഉപയോഗിക്കുന്നതിന് മുമ്പ് നിങ്ങളുടെ ഡിവൈസ് ആപ്പിൽ ജോടിയാക്കി കണക്ട് ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.</string>
|
||||
<string name="anc_widget_no_anc_support_label">ഈ ഡിവൈസ് ശബ്ദ നിയന്ത്രണം പിന്തുണയ്ക്കുന്നില്ല</string>
|
||||
<string name="anc_widget_aap_not_connected_label">കണക്ട് ചെയ്തിട്ടില്ല</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">അടുത്തുണ്ട്, പക്ഷേ കണക്റ്റ് ചെയ്തിട്ടില്ല</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">അടുത്തില്ല</string>
|
||||
<string name="anc_widget_aap_connecting_label">കണക്ട് ചെയ്യുന്നു…</string>
|
||||
<string name="tile_anc_label">നോയ്സ് കൺട്രോൾ</string>
|
||||
<string name="tile_anc_subtitle_permission_required">അനുമതി ആവശ്യമാണ്</string>
|
||||
<string name="tile_anc_subtitle_no_device">ഉപകരണമില്ല</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">നോയ്സ് കൺട്രോൾ ഇല്ല</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">ബ്ലൂടൂത്ത് ഓഫ്</string>
|
||||
<string name="widget_config_screen_title">വിജറ്റ് കോൺഫിഗറേഷൻ</string>
|
||||
<string name="widget_configuration_title">ഉപകരണം തിരഞ്ഞെടുക്കുക</string>
|
||||
<string name="widget_configuration_description">ഈ വിഡ്ജറ്റ് ഏത് ഉപകരണ പ്രൊഫൈൽ പ്രദർശിപ്പിക്കണമെന്ന് തിരഞ്ഞെടുക്കുക.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">ഇനിപ്പറയുന്ന അനുമതി ആവശ്യമാണ്:</string>
|
||||
<string name="permission_system_alert_window_label">സിസ്റ്റം അലേർട്ട് വിൻഡോ</string>
|
||||
<string name="permission_system_alert_window_description">\"പോപ്പ്അപ്പ് കാണിക്കുക\" സവിശേഷത സാധ്യമാക്കാൻ മറ്റ് ആപ്പുകളുടെ മുകളിൽ വരയ്ക്കാൻ CAPod-നെ അനുവദിക്കുക.</string>
|
||||
<string name="settings_monitor_mode_manual_label">ആപ്പ് തുറന്നിരിക്കുമ്പോൾ</string>
|
||||
<string name="settings_monitor_mode_automatic_label">ഉപകരണം കണക്റ്റുചെയ്യുമ്പോൾ</string>
|
||||
<string name="settings_monitor_mode_always_label">എപ്പോഴും</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">കാണുമ്പോൾ</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">കേസ് തുറന്നിരിക്കുന്നു</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">ചെവിയിൽ</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">ട്രാൻസ്പേരൻസി</string>
|
||||
<string name="anc_mode_adaptive">അഡാപ്റ്റീവ്</string>
|
||||
<string name="conversation_awareness_label">സംഭാഷണ അവബോധം</string>
|
||||
<string name="settings_conversation_action_label">നിങ്ങൾ സംസാരിക്കാൻ തുടങ്ങുമ്പോൾ</string>
|
||||
<string name="settings_conversation_action_nothing_label">ഒന്നും ചെയ്യേണ്ട</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">വോളിയം കുറയ്ക്കുക</string>
|
||||
<string name="settings_conversation_action_pause_label">മീഡിയ പോസ് ചെയ്യുക</string>
|
||||
<string name="settings_conversation_volume_reduction_label">വോളിയം കുറയ്ക്കൽ</string>
|
||||
<string name="signal_badge_ble_cd">BLE സ്കാൻ സജീവം</string>
|
||||
<string name="signal_badge_key_irk_cd">ഐഡന്റിറ്റി സ്ഥിരീകരിച്ചു</string>
|
||||
<string name="signal_badge_key_encrypted_cd">എൻക്രിപ്റ്റഡ് കണക്ഷൻ</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">ആംബർ</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">വാൾപ്പേപർ നിറങ്ങൾ ഉപയോഗിക്കുന്നു</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">നിരീക്ഷണം</string>
|
||||
<string name="settings_category_appearance_label">രൂപഭാവം</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">സേവ് ചെയ്യാത്ത മാറ്റങ്ങൾ</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">പൊതുവായ</string>
|
||||
<string name="device_settings_microphone_mode_label">മൈക്രോഫോൺ</string>
|
||||
<string name="device_settings_microphone_mode_description">ഏത് ചെവിയിൽ മൈക്രോഫോണായി AirPod ഉപയോഗിക്കുന്നു</string>
|
||||
<string name="device_settings_microphone_mode_description">ഏത് ഇയർബഡ് മൈക്രോഫോണായി ഉപയോഗിക്കുന്നു</string>
|
||||
<string name="device_settings_microphone_mode_auto">ഓട്ടോ</string>
|
||||
<string name="device_settings_microphone_mode_right">വലത്</string>
|
||||
<string name="device_settings_microphone_mode_left">ഇടത്</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">Хэрэв та саяхан худалдан авсан бол Google Play синхрончлоход хэдэн мөч зарцуулж магадгүй.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">Худалдан авалт таны дансанд харагдахгүй байвал хэдэн минутын дараа дахин оролдоно уу.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">Худалдан авалтад ашигласан Google аккаунтаараа нэвтэрсэн эсэхийг шалгаарай.</string>
|
||||
<string name="settings_monitor_mode_label">Хяналтын горим</string>
|
||||
<string name="settings_monitor_mode_description">Энэ апп Bluetooth-н өгөгдлийг ямар нөхцөлд хянадаг.</string>
|
||||
<string name="settings_monitor_connected_notification_label">Нэмэлт мэдэгдэл</string>
|
||||
<string name="settings_monitor_connected_notification_description">Төхөөрөмж холбогдсон үед нэмэлт мэдэгдэл харуулна. Энэ нь \"Төхөөрөмжийн төлөв\" сувгийг идэвхгүй болгосноор \"Төхөөрөмж алга\" гэсэн байнгын мэдэгдлийг нуух боломжийг олгоно.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">Салсны дараа мэдэгдлийг хадгалах</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">Автомат түр зогсоох</string>
|
||||
<string name="settings_autopause_description">Төхөөрөмжийг чихнээсээ салгахад дууг түр зогсооно.</string>
|
||||
<string name="settings_autopplay_label">Автомат тоглуулах</string>
|
||||
<string name="settings_autoplay_description">Төхөөрөмжийг зүүсэн үед дуу тоглуулалтыг эхлүүлнэ.</string>
|
||||
<string name="settings_autoplay_description">Pods-аа дахин зүүх үед хөгжмийг үргэлжлүүлнэ, гэхдээ зөвхөн Автомат түр зогсоолт зогсоосон тохиолдолд. Өөрөө идэвхжүүлсэн түр зогсоолтууд (утас, AirPods иш, унтах горим) түр зогсоолтоор үлдэнэ.</string>
|
||||
<string name="settings_start_music_on_wear_label">Зүүх үед хөгжим эхлүүлэх</string>
|
||||
<string name="settings_start_music_on_wear_description">Pods-аа зүүх үед хөгжмийг тоглуулахыг үргэлж оролдоно, гар аргаар түр зогсоосны дараа ч гэсэн.</string>
|
||||
<string name="settings_eardetection_info_label">Чих илрүүлэлтийн тэмдэглэл</string>
|
||||
<string name="settings_eardetection_info_description">Хэрэв чих илрүүлэлт зөвхөн нэг чихэвчинд ажиллаж байвал энэ нь Apple-ийн хязгаарлалт юм. Зөвхөн \"үндсэн чихэвч\" (микрофонд ашигладаг) илрүүлэгдэнэ. Apple төхөөрөмжүүд дээр тохируулах: Тохиргоо → Bluetooth → AirPods → Микрофон.</string>
|
||||
<string name="settings_fake_data_label">Хуурамч өгөгдөл</string>
|
||||
<string name="settings_fake_data_description">Хуурамч өгөгдлийг харуулна, өөрөөр хэлбэл байхгүй төхөөрөмжүүдийг дуурайлган харуулна.</string>
|
||||
<string name="settings_debug_label">Дибаг тохиргоо</string>
|
||||
<string name="settings_debug_description">Апп-тай холбоотой асуудлыг шийдвэрлэхэд туслах нэмэлт тохиргоонууд.</string>
|
||||
<string name="settings_signal_minimum_label">Дохионы хамгийн бага чанар</string>
|
||||
<string name="settings_signal_minimum_description">Төхөөрөмж таных гэж тооцогдохын тулд байх ёстой дохионы хамгийн бага чанар.</string>
|
||||
<string name="settings_autoconnect_label">Автомат холболт</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">Холболтын попап цонхыг харуулах</string>
|
||||
<string name="settings_popup_connected_description">Төхөөрөмж анх удаа холбогдоход попап цонхыг харуулна.</string>
|
||||
<string name="settings_popup_info_not_in_app">Попап нь зөвхөн та аппликейшнд байхгүй үед харагдана.</string>
|
||||
<string name="settings_popup_warning_manual_mode">Попап нь монитор ажиллаж байхыг шаарддаг. Таны монитор горим \"Апп нээлттэй үед\" гэж тохируулагдсан бөгөөд энэ нь аппликейшнаас гарахад мониторыг зогсооно.</string>
|
||||
<string name="general_fix_it_action">Засах</string>
|
||||
<string name="device_settings_experimental_title">Туршилтын онцлог</string>
|
||||
<string name="device_settings_experimental_description">Энэ функцийг бүх төхөөрөмж дээр туршиж үзээгүй байна. Хэрэв ямар нэг зүйл буруу ажиллаж байвал debug лог хавсаргаж асуудал нээнэ үү.</string>
|
||||
<string name="device_settings_experimental_action">Асуудлын жагсаалт нээх</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">Талархал</string>
|
||||
<string name="settings_debug_autoreports_label">Автомат алдааны тайлан</string>
|
||||
<string name="settings_debug_autoreports_description">Апп-н ослын дэлгэрэнгүй мэдээлэл гэх мэт асуудлуудыг автоматаар мэдээлдэг бөгөөд ингэснээр би түүнийг хэрхэн засахаа олж мэдэх боломжтой.</string>
|
||||
<string name="settings_debug_mode_label">Дибаг горим</string>
|
||||
<string name="settings_debug_mode_description">Асуудлыг шийдвэрлэхэд зориулж нэмэлт мэдээлэл харуулна.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">Шүүлтүүргүй BLE өгөгдөл</string>
|
||||
<string name="settings_blescanner_unfiltered_description">Бүх цацагдсан BLE өгөгдлийг харуулахын тулд BLE сканнерээс бүх шүүлтүүрийг арилгана. Шинэ төрлийн чихэвчний дэмжлэгийг нэмэхэд хэрэгтэй.</string>
|
||||
<string name="settings_compatibility_mode_label">Тохиромжтой байдлын горим</string>
|
||||
<string name="settings_compatibility_mode_description">Тохиромжтой байдлыг сайжруулахын тулд оновчлолыг идэвхгүй болгоно. Хэрэв та ямар ч өгөгдөл харахгүй байвал үүнийг туршиж үзнэ үү.</string>
|
||||
<string name="help_translate_label">Орчуулга</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">Энэ виджет таны төхөөрөмжтэй шууд холболт (AAP) шаарддаг. Энэ виджетийг ашиглахаасаа өмнө апп дотор таны төхөөрөмж хосолсон болон холбогдсон эсэхийг шалгаарай.</string>
|
||||
<string name="anc_widget_no_anc_support_label">Энэ төхөөрөмж шуугианы хяналтыг дэмждэггүй</string>
|
||||
<string name="anc_widget_aap_not_connected_label">Холбогдоогүй</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">Ойролцоо байгаа боловч холбогдоогүй</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">Ойролцоо биш</string>
|
||||
<string name="anc_widget_aap_connecting_label">Холбогдож байна…</string>
|
||||
<string name="tile_anc_label">Дуу чимээний хяналт</string>
|
||||
<string name="tile_anc_subtitle_permission_required">Зөвшөөрөл шаардлагатай</string>
|
||||
<string name="tile_anc_subtitle_no_device">Төхөөрөмж байхгүй</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">Дуу чимээний хяналтгүй</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">Bluetooth унтраалттай</string>
|
||||
<string name="widget_config_screen_title">Виджет тохиргоо</string>
|
||||
<string name="widget_configuration_title">Төхөөрөмж сонгох</string>
|
||||
<string name="widget_configuration_description">Энэ виджет аль төхөөрөмжийн профайлыг харуулахыг сонгоно уу.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">Дараах зөвшөөрөл шаардлагатай:</string>
|
||||
<string name="permission_system_alert_window_label">Системийн анхааруулгын цонх</string>
|
||||
<string name="permission_system_alert_window_description">CAPod-д \"Попап харуулах\" боломжийг ажиллуулахын тулд бусад апп-уудын дээр зурах зөвшөөрөл олгоно уу.</string>
|
||||
<string name="settings_monitor_mode_manual_label">Апп нээлттэй үед</string>
|
||||
<string name="settings_monitor_mode_automatic_label">Төхөөрөмж холбогдсон үед</string>
|
||||
<string name="settings_monitor_mode_always_label">Үргэлж</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">Харагдах үед</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">Кейс нээлттэй</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">Чихэнд</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">Тунгалаг горим</string>
|
||||
<string name="anc_mode_adaptive">Дасан зохицох</string>
|
||||
<string name="conversation_awareness_label">Яриа таних</string>
|
||||
<string name="settings_conversation_action_label">Ярих үед</string>
|
||||
<string name="settings_conversation_action_nothing_label">Юу ч хийхгүй</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">Дууны хэмжээг бууруулах</string>
|
||||
<string name="settings_conversation_action_pause_label">Медиа түр зогсоох</string>
|
||||
<string name="settings_conversation_volume_reduction_label">Дууны хэмжээний бууралт</string>
|
||||
<string name="signal_badge_ble_cd">BLE скан идэвхтэй</string>
|
||||
<string name="signal_badge_key_irk_cd">Хэрэглэгч баталгаажсан</string>
|
||||
<string name="signal_badge_key_encrypted_cd">Шифрлэгдсэн холболт</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">Хув</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">Ханын цаасны өнгийг ашиглана</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">Хяналт</string>
|
||||
<string name="settings_category_appearance_label">Гадаад төрх</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">Хадгалаагүй өөрчлөлтүүд</string>
|
||||
@@ -425,6 +423,7 @@
|
||||
<string name="device_settings_not_nearby_label">Төхөөрөмж ойролцоо байхгүй</string>
|
||||
<string name="device_settings_not_nearby_description">Тохиргоо нь энэ төхөөрөмж ойролцоо байж, таны утастай холбогдсон үед л боломжтой.</string>
|
||||
<string name="device_settings_aap_unavailable_label">Нарийвчилсан тохиргоо боломжгүй</string>
|
||||
<string name="device_settings_aap_unavailable_description">Нарийвчилсан AirPods тохиргоонд энэ утсанд байхгүй Bluetooth функц шаардлагатай. Энэ асуудлыг төхөөрөмжийн үйлдвэрлэгчийн ирээдүйн Android шинэчлэлтээр шийдэж болзошгүй.</string>
|
||||
<string name="device_settings_aap_unavailable_action">Нийцтэй байдлын хянагчийг үзэх</string>
|
||||
<string name="device_settings_category_sound_label">Дуу</string>
|
||||
<string name="device_settings_category_controls_label">Удирдлага</string>
|
||||
@@ -469,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">Ерөнхий</string>
|
||||
<string name="device_settings_microphone_mode_label">Микрофон</string>
|
||||
<string name="device_settings_microphone_mode_description">Аль AirPod микрофон болгон ашиглагдаж байна</string>
|
||||
<string name="device_settings_microphone_mode_description">Микрофон болгон ашиглах чихэвч</string>
|
||||
<string name="device_settings_microphone_mode_auto">Автомат</string>
|
||||
<string name="device_settings_microphone_mode_right">Баруун</string>
|
||||
<string name="device_settings_microphone_mode_left">Зүүн</string>
|
||||
@@ -479,6 +478,7 @@
|
||||
<string name="device_settings_listening_mode_cycle_dialog_title">Урт даруулах мөчлөгийг тохиргоолах</string>
|
||||
<string name="device_settings_listening_mode_cycle_summary_helper">Иш даруулах болон быстран шилжих цэснэг ашиглахад ашиглагдагдана</string>
|
||||
<string name="device_settings_listening_mode_cycle_summary_helper_override">Быстран шилжих цэснэг ашиглахад ашиглагдагдана. Төхөөрөмжийн ишийн AirPods цикл эелэхийг орлана.</string>
|
||||
<string name="device_settings_listening_mode_cycle_minimum">Наименш 2 горим идэвхтэй байх ёстой.</string>
|
||||
<string name="device_settings_listening_mode_cycle_off">Унтраалттай</string>
|
||||
<string name="device_settings_listening_mode_cycle_anc">Чимээ хаах</string>
|
||||
<string name="device_settings_listening_mode_cycle_transparency">Тунгалаг горим</string>
|
||||
|
||||
@@ -40,8 +40,6 @@
|
||||
<string name="upgrade_screen_restore_troubleshooting_msg">जर तुम्ही नुकतीच खरेदी केली असेल, तर Google Play ला समक्रमित होण्यास थोडा वेळ लागू शकतो.</string>
|
||||
<string name="upgrade_screen_restore_sync_patience_hint">जर तुमची खरेदी दिसत नसेल, तर काही मिनिटांनी पुन्हा प्रयत्न करा.</string>
|
||||
<string name="upgrade_screen_restore_multiaccount_hint">खरेदीसाठी वापरलेल्या त्याच Google खात्याने साइन इन असल्याची खात्री करा.</string>
|
||||
<string name="settings_monitor_mode_label">मॉनिटर मोड</string>
|
||||
<string name="settings_monitor_mode_description">हे अॅप कोणत्या परिस्थितीत ब्लूटूथ डेटाचे निरीक्षण करते.</string>
|
||||
<string name="settings_monitor_connected_notification_label">अतिरिक्त सूचना</string>
|
||||
<string name="settings_monitor_connected_notification_description">जेव्हा एखादे डिव्हाइस कनेक्ट केलेले असते तेव्हा अतिरिक्त सूचना दर्शविते. हे आपल्याला \"डिव्हाइस स्थिती\" चॅनेल अक्षम करून कायमस्वरूपी \"कोणतेही डिव्हाइस नाही\" सूचना लपविण्यास अनुमती देते.</string>
|
||||
<string name="settings_keep_notification_after_disconnect_label">डिस्कनेक्ट झाल्यानंतर सूचना ठेवा</string>
|
||||
@@ -49,13 +47,11 @@
|
||||
<string name="settings_autopause_label">ऑटो-पॉज</string>
|
||||
<string name="settings_autopause_description">आपल्या कानातून डिव्हाइस काढताना ऑडिओ थांबवा.</string>
|
||||
<string name="settings_autopplay_label">ऑटो-प्ले</string>
|
||||
<string name="settings_autoplay_description">डिव्हाइस घातल्यावर ऑडिओ प्लेबॅक सुरू करा.</string>
|
||||
<string name="settings_autoplay_description">तुम्ही पुन्हा पॉड्स घातल्यावर संगीत पुन्हा सुरू करा, परंतु केवळ तेव्हाच जेव्हा Auto pause ने ते थांबवले असेल. तुम्ही स्वतः थांबवलेले (फोन, AirPods stem, झोप) थांबलेलेच राहतात.</string>
|
||||
<string name="settings_start_music_on_wear_label">घातल्यावर संगीत सुरू करा</string>
|
||||
<string name="settings_start_music_on_wear_description">तुम्ही पॉड्स घातल्यावर नेहमी संगीत वाजवण्याचा प्रयत्न करतो, अगदी मॅन्युअल पॉजनंतरही.</string>
|
||||
<string name="settings_eardetection_info_label">कान ओळख टीप</string>
|
||||
<string name="settings_eardetection_info_description">कान ओळख फक्त एका पॉडसाठी काम करत असल्यास, ही Apple ची मर्यादा आहे. फक्त \"प्राथमिक पॉड\" (मायक्रोफोनसाठी वापरला जातो) ओळखला जातो. Apple डिव्हाइसवर कॉन्फिगर करा: सेटिंग्ज → ब्लूटूथ → AirPods → मायक्रोफोन.</string>
|
||||
<string name="settings_fake_data_label">बनावट डेटा</string>
|
||||
<string name="settings_fake_data_description">बनावट डेटा दर्शवा, म्हणजे अस्तित्वात नसलेल्या डिव्हाइसची नक्कल करा.</string>
|
||||
<string name="settings_debug_label">डीबग सेटिंग्ज</string>
|
||||
<string name="settings_debug_description">अॅपमधील समस्यांचे निवारण करण्यात मदत करण्यासाठी अतिरिक्त सेटिंग्ज.</string>
|
||||
<string name="settings_signal_minimum_label">किमान सिग्नल गुणवत्ता</string>
|
||||
<string name="settings_signal_minimum_description">डिव्हाइसला आपले मानण्यासाठी आवश्यक असलेली किमान सिग्नल गुणवत्ता.</string>
|
||||
<string name="settings_autoconnect_label">ऑटो-कनेक्ट</string>
|
||||
@@ -80,8 +76,6 @@
|
||||
<string name="settings_popup_connected_label">कनेक्शन पॉपअप दर्शवा</string>
|
||||
<string name="settings_popup_connected_description">डिव्हाइस पहिल्यांदा कनेक्ट झाल्यावर पॉपअप दर्शवा.</string>
|
||||
<string name="settings_popup_info_not_in_app">पॉपअप केवळ तेव्हा दाखवले जातात जेव्हा तुम्ही अॅपमध्ये नसता.</string>
|
||||
<string name="settings_popup_warning_manual_mode">पॉपअपसाठी मॉनिटर चालू असणे आवश्यक आहे. तुमचा मॉनिटर मोड \"अॅप उघडे असताना\" असा सेट केला आहे, जो तुम्ही अॅप सोडल्यावर मॉनिटर बंद करतो.</string>
|
||||
<string name="general_fix_it_action">दुरुस्त करा</string>
|
||||
<string name="device_settings_experimental_title">प्रयोगात्मक वैशिष्ट्य</string>
|
||||
<string name="device_settings_experimental_description">हे वैशिष्ट्य अद्याप सर्व डिव्हाइसवर तपासले गेले नाही. जर काही योग्यरित्या काम करत नसेल, तर कृपया डीबग लॉगसह एक समस्या उघडा.</string>
|
||||
<string name="device_settings_experimental_action">समस्या ट्रॅकर उघडा</string>
|
||||
@@ -122,10 +116,6 @@
|
||||
<string name="settings_acknowledgements_label">पोचपावती</string>
|
||||
<string name="settings_debug_autoreports_label">स्वयंचलित बग अहवाल</string>
|
||||
<string name="settings_debug_autoreports_description">समस्या स्वयंचलितपणे नोंदवते, उदा. अॅप क्रॅशबद्दल तपशील जेणेकरून मी ते कसे दुरुस्त करायचे हे शोधू शकेन.</string>
|
||||
<string name="settings_debug_mode_label">डीबग मोड</string>
|
||||
<string name="settings_debug_mode_description">समस्यांचे निवारण करण्यासाठी अतिरिक्त माहिती दर्शवा.</string>
|
||||
<string name="settings_blescanner_unfiltered_label">फिल्टर न केलेला BLE डेटा</string>
|
||||
<string name="settings_blescanner_unfiltered_description">सर्व प्रसारित BLE डेटा दर्शविण्यासाठी BLE स्कॅनरमधून कोणतेही फिल्टर काढून टाका. नवीन हेडफोन प्रकारांसाठी समर्थन जोडण्यासाठी उपयुक्त.</string>
|
||||
<string name="settings_compatibility_mode_label">सुसंगतता मोड</string>
|
||||
<string name="settings_compatibility_mode_description">सुसंगतता सुधारण्यासाठी ऑप्टिमायझेशन अक्षम करा. तुम्हाला कोणताही डेटा दिसत नसल्यास हे वापरून पहा.</string>
|
||||
<string name="help_translate_label">भाषांतर</string>
|
||||
@@ -137,7 +127,14 @@
|
||||
<string name="anc_widget_config_aap_required_hint">या विजेटसाठी तुमच्या डिव्हाइसशी थेट कनेक्शन (AAP) आवश्यक आहे. हे विजेट वापरण्यापूर्वी तुमचे डिव्हाइस अॅपमध्ये पेअर आणि कनेक्ट केलेले असल्याची खात्री करा.</string>
|
||||
<string name="anc_widget_no_anc_support_label">हे डिव्हाइस आवाज नियंत्रणास समर्थन देत नाही</string>
|
||||
<string name="anc_widget_aap_not_connected_label">कनेक्ट केलेले नाही</string>
|
||||
<string name="anc_widget_aap_not_connected_nearby_description">जवळ आहे पण कनेक्ट नाही</string>
|
||||
<string name="anc_widget_aap_not_connected_not_nearby_description">जवळ नाही</string>
|
||||
<string name="anc_widget_aap_connecting_label">कनेक्ट होत आहे…</string>
|
||||
<string name="tile_anc_label">आवाज नियंत्रण</string>
|
||||
<string name="tile_anc_subtitle_permission_required">परवानगी आवश्यक आहे</string>
|
||||
<string name="tile_anc_subtitle_no_device">डिव्हाइस नाही</string>
|
||||
<string name="tile_anc_subtitle_no_anc_support">आवाज नियंत्रण नाही</string>
|
||||
<string name="tile_anc_subtitle_bluetooth_off">ब्लूटूथ बंद आहे</string>
|
||||
<string name="widget_config_screen_title">विजेट कॉन्फिगरेशन</string>
|
||||
<string name="widget_configuration_title">डिव्हाइस निवडा</string>
|
||||
<string name="widget_configuration_description">या विजेटने कोणत्या डिव्हाइस प्रोफाइलचे प्रदर्शन करावे ते निवडा.</string>
|
||||
@@ -220,9 +217,6 @@
|
||||
<string name="permission_required_title">खालील परवानगी आवश्यक आहे:</string>
|
||||
<string name="permission_system_alert_window_label">सिस्टम अलर्ट विंडो</string>
|
||||
<string name="permission_system_alert_window_description">\"पॉपअप दर्शवा\" वैशिष्ट्य शक्य करण्यासाठी CAPod ला इतर अॅप्सवर चित्रे काढण्याची अनुमती द्या.</string>
|
||||
<string name="settings_monitor_mode_manual_label">अॅप उघडे असताना</string>
|
||||
<string name="settings_monitor_mode_automatic_label">डिव्हाइस कनेक्ट असताना</string>
|
||||
<string name="settings_monitor_mode_always_label">नेहमी</string>
|
||||
<string name="settings_reaction_autoconnect_whenseen_label">दिसल्यावर</string>
|
||||
<string name="settings_reaction_autoconnect_caseopen_label">केस उघडे</string>
|
||||
<string name="settings_reaction_autoconnect_inear_label">कानात</string>
|
||||
@@ -254,6 +248,11 @@
|
||||
<string name="anc_mode_transparency">पारदर्शकता</string>
|
||||
<string name="anc_mode_adaptive">अनुकूली</string>
|
||||
<string name="conversation_awareness_label">संभाषण जागरूकता</string>
|
||||
<string name="settings_conversation_action_label">जेव्हा तुम्ही बोलण्यास सुरुवात करता</string>
|
||||
<string name="settings_conversation_action_nothing_label">काहीही करू नका</string>
|
||||
<string name="settings_conversation_action_lower_volume_label">आवाज कमी करा</string>
|
||||
<string name="settings_conversation_action_pause_label">मीडिया थांबवा</string>
|
||||
<string name="settings_conversation_volume_reduction_label">आवाज कपात</string>
|
||||
<string name="signal_badge_ble_cd">BLE स्कॅन सक्रिय</string>
|
||||
<string name="signal_badge_key_irk_cd">ओळख सत्यापित</string>
|
||||
<string name="signal_badge_key_encrypted_cd">एनक्रिप्टेड कनेक्शन</string>
|
||||
@@ -322,7 +321,6 @@
|
||||
<string name="ui_theme_color_amber_label">अंबर</string>
|
||||
<string name="ui_theme_color_disabled_materialyou">वॉलपेपर रंग वापरतो</string>
|
||||
<!-- Settings categories -->
|
||||
<string name="settings_category_monitoring_label">मॉनिटरिंग</string>
|
||||
<string name="settings_category_appearance_label">स्वरूप</string>
|
||||
<!-- Unsaved changes dialog -->
|
||||
<string name="general_unsaved_changes_title">सेव्ह न केलेले बदल</string>
|
||||
@@ -470,7 +468,7 @@
|
||||
<!-- New device settings -->
|
||||
<string name="device_settings_category_general_label">सामान्य</string>
|
||||
<string name="device_settings_microphone_mode_label">मायक्रोफोन</string>
|
||||
<string name="device_settings_microphone_mode_description">कोणता AirPod मायक्रोफोन म्हणून वापरला जातो</string>
|
||||
<string name="device_settings_microphone_mode_description">कोणता इअरबड मायक्रोफोन म्हणून वापरला जातो</string>
|
||||
<string name="device_settings_microphone_mode_auto">स्वयंचलित</string>
|
||||
<string name="device_settings_microphone_mode_right">उजवा</string>
|
||||
<string name="device_settings_microphone_mode_left">डावा</string>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user