Translations (#467)

* english done

* de

* more extraction

* wip strings en

* translations work

* remove unneeded translations

* remove notification message

* add languages

* new languages
This commit is contained in:
callebtc
2025-10-12 18:54:20 +02:00
committed by GitHub
parent 3b2241e891
commit ad28cc710c
64 changed files with 10051 additions and 347 deletions
@@ -103,7 +103,7 @@ private fun BatteryOptimizationEnabledContent(
verticalArrangement = Arrangement.spacedBy(8.dp)
) {
Text(
text = "bitchat",
text = stringResource(R.string.app_name),
style = MaterialTheme.typography.headlineLarge.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -113,7 +113,7 @@ private fun BatteryOptimizationEnabledContent(
)
Text(
text = "battery optimization detected",
text = stringResource(R.string.battery_optimization_detected_title),
fontSize = 12.sp,
fontFamily = FontFamily.Monospace,
color = colorScheme.onBackground.copy(alpha = 0.7f)
@@ -136,7 +136,7 @@ private fun BatteryOptimizationEnabledContent(
) {
Icon(
imageVector = Icons.Filled.Power,
contentDescription = "Battery Optimization",
contentDescription = stringResource(R.string.cd_battery_optimization),
tint = colorScheme.primary,
modifier = Modifier
.padding(top = 2.dp)
@@ -144,14 +144,14 @@ private fun BatteryOptimizationEnabledContent(
)
Column {
Text(
text = "Battery Optimization Enabled",
text = stringResource(R.string.battery_optimization_enabled_title),
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Medium,
color = colorScheme.onBackground
)
Spacer(modifier = Modifier.height(4.dp))
Text(
text = "bitchat needs to run in the background to maintain mesh connections. battery optimization can interrupt these connections.",
text = stringResource(R.string.battery_optimization_explanation_short),
style = MaterialTheme.typography.bodySmall,
color = colorScheme.onBackground.copy(alpha = 0.8f)
)
@@ -176,7 +176,7 @@ private fun BatteryOptimizationEnabledContent(
) {
Icon(
imageVector = Icons.Filled.CheckCircle,
contentDescription = "Benefits",
contentDescription = stringResource(R.string.cd_benefits),
tint = colorScheme.primary,
modifier = Modifier
.padding(top = 2.dp)
@@ -184,14 +184,14 @@ private fun BatteryOptimizationEnabledContent(
)
Column {
Text(
text = "Benefits of Disabling",
text = stringResource(R.string.benefits_of_disabling),
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Medium,
color = colorScheme.onBackground
)
Spacer(modifier = Modifier.height(4.dp))
Text(
text = "• reliable message delivery\n• maintains mesh connectivity\n• prevents connection drops",
text = stringResource(R.string.battery_benefits_short),
style = MaterialTheme.typography.bodySmall,
color = colorScheme.onBackground.copy(alpha = 0.8f)
)
@@ -223,7 +223,7 @@ private fun BatteryOptimizationEnabledContent(
Spacer(modifier = Modifier.width(8.dp))
}
Text(
text = "Disable Battery Optimization",
text = stringResource(R.string.disable_battery_optimization),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold
@@ -241,7 +241,7 @@ private fun BatteryOptimizationEnabledContent(
enabled = !isLoading
) {
Text(
text = "Check Again",
text = stringResource(R.string.check_again),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace
)
@@ -257,7 +257,7 @@ private fun BatteryOptimizationEnabledContent(
enabled = !isLoading
) {
Text(
text = "Skip for Now",
text = stringResource(R.string.battery_optimization_skip),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace
)
@@ -282,7 +282,7 @@ private fun BatteryOptimizationCheckingContent(
horizontalAlignment = Alignment.CenterHorizontally
) {
Text(
text = "bitchat",
text = stringResource(R.string.app_name),
style = MaterialTheme.typography.headlineLarge.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -292,7 +292,7 @@ private fun BatteryOptimizationCheckingContent(
)
Text(
text = "battery optimization disabled",
text = stringResource(R.string.battery_optimization_disabled_title),
fontSize = 12.sp,
fontFamily = FontFamily.Monospace,
color = colorScheme.onBackground.copy(alpha = 0.7f)
@@ -312,7 +312,7 @@ private fun BatteryOptimizationCheckingContent(
Icon(
imageVector = Icons.Filled.BatteryStd,
contentDescription = "Checking Battery Optimization",
contentDescription = stringResource(R.string.cd_checking_battery_optimization),
modifier = Modifier
.size(64.dp)
.rotate(rotation),
@@ -320,7 +320,7 @@ private fun BatteryOptimizationCheckingContent(
)
Text(
text = "bitchat can run reliably in the background",
text = stringResource(R.string.battery_optimization_success_message),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onBackground.copy(alpha = 0.8f)
@@ -345,7 +345,7 @@ private fun BatteryOptimizationNotSupportedContent(
horizontalAlignment = Alignment.CenterHorizontally
) {
Text(
text = "bitchat",
text = stringResource(R.string.app_name),
style = MaterialTheme.typography.headlineLarge.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -355,7 +355,7 @@ private fun BatteryOptimizationNotSupportedContent(
)
Text(
text = "battery optimization not required",
text = stringResource(R.string.battery_optimization_not_required),
fontSize = 12.sp,
fontFamily = FontFamily.Monospace,
color = colorScheme.onBackground.copy(alpha = 0.7f)
@@ -364,13 +364,13 @@ private fun BatteryOptimizationNotSupportedContent(
Icon(
imageVector = Icons.Filled.CheckCircle,
contentDescription = "Battery Optimization Not Supported",
contentDescription = stringResource(R.string.cd_not_supported_battery_optimization),
modifier = Modifier.size(64.dp),
tint = colorScheme.primary
)
Text(
text = "your device doesn't require battery optimization settings. bitchat will run normally.",
text = stringResource(R.string.battery_optimization_not_supported_message),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onBackground.copy(alpha = 0.8f)
@@ -386,7 +386,7 @@ private fun BatteryOptimizationNotSupportedContent(
)
) {
Text(
text = "Continue",
text = stringResource(R.string.continue_btn),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold
@@ -14,6 +14,8 @@ import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
/**
* Screen shown when checking Bluetooth status or requesting Bluetooth enable
@@ -69,13 +71,13 @@ private fun BluetoothDisabledContent(
// Bluetooth icon - using Bluetooth outlined icon in app's green color
Icon(
imageVector = Icons.Outlined.Bluetooth,
contentDescription = "Bluetooth",
contentDescription = stringResource(R.string.cd_bluetooth),
modifier = Modifier.size(64.dp),
tint = Color(0xFF00C851) // App's main green color
)
Text(
text = "Bluetooth Required",
text = stringResource(R.string.bluetooth_required),
style = MaterialTheme.typography.headlineSmall.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -96,7 +98,7 @@ private fun BluetoothDisabledContent(
verticalArrangement = Arrangement.spacedBy(8.dp)
) {
Text(
text = "bitchat needs Bluetooth to:",
text = stringResource(R.string.bluetooth_needs_for),
style = MaterialTheme.typography.bodyMedium.copy(
fontWeight = FontWeight.Medium,
color = colorScheme.onSurface
@@ -106,10 +108,7 @@ private fun BluetoothDisabledContent(
)
Text(
text = "• Discover nearby users\n" +
"• Create mesh network connections\n" +
"• Send and receive messages\n" +
"• Work without internet or servers",
text = stringResource(R.string.bluetooth_needs_bullets),
style = MaterialTheme.typography.bodySmall.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.8f)
@@ -133,7 +132,7 @@ private fun BluetoothDisabledContent(
)
) {
Text(
text = "Enable Bluetooth",
text = stringResource(R.string.enable_bluetooth),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold
@@ -177,14 +176,14 @@ private fun BluetoothNotSupportedContent(
elevation = CardDefaults.cardElevation(defaultElevation = 4.dp)
) {
Text(
text = "",
text = stringResource(R.string.warning_emoji),
style = MaterialTheme.typography.headlineLarge,
modifier = Modifier.padding(16.dp)
)
}
Text(
text = "Bluetooth Not Supported",
text = stringResource(R.string.bluetooth_not_supported),
style = MaterialTheme.typography.headlineSmall.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -201,7 +200,7 @@ private fun BluetoothNotSupportedContent(
elevation = CardDefaults.cardElevation(defaultElevation = 2.dp)
) {
Text(
text = "This device doesn't support Bluetooth Low Energy (BLE), which is required for bitchat to function.\n\nbitchat needs BLE to create mesh networks and communicate with nearby devices without internet.",
text = stringResource(R.string.bluetooth_unsupported_explanation),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface
@@ -222,7 +221,7 @@ private fun BluetoothCheckingContent(
horizontalAlignment = Alignment.CenterHorizontally
) {
Text(
text = "bitchat",
text = stringResource(R.string.app_name),
style = MaterialTheme.typography.headlineLarge.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -234,7 +233,7 @@ private fun BluetoothCheckingContent(
BluetoothLoadingIndicator()
Text(
text = "Checking Bluetooth status...",
text = stringResource(R.string.checking_bluetooth_status),
style = MaterialTheme.typography.bodyLarge.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.7f)
@@ -12,6 +12,8 @@ import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
/**
* Loading screen shown during app initialization after permissions are granted
@@ -59,7 +61,7 @@ fun InitializingScreen(modifier: Modifier) {
) {
// App title
Text(
text = "bitchat",
text = stringResource(R.string.app_name),
style = MaterialTheme.typography.headlineLarge.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -88,7 +90,7 @@ fun InitializingScreen(modifier: Modifier) {
horizontalArrangement = Arrangement.Center
) {
Text(
text = "Initializing mesh network",
text = stringResource(R.string.initializing_mesh_network),
style = MaterialTheme.typography.bodyLarge.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.7f)
@@ -98,7 +100,7 @@ fun InitializingScreen(modifier: Modifier) {
// Animated dots
dots.forEach { alpha ->
Text(
text = ".",
text = stringResource(R.string.dot),
style = MaterialTheme.typography.bodyLarge.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = alpha)
@@ -123,7 +125,7 @@ fun InitializingScreen(modifier: Modifier) {
horizontalAlignment = Alignment.CenterHorizontally
) {
Text(
text = "Setting up Bluetooth mesh networking...",
text = stringResource(R.string.setting_up_bluetooth),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.8f)
@@ -132,7 +134,7 @@ fun InitializingScreen(modifier: Modifier) {
)
Text(
text = "This should only take a few seconds",
text = stringResource(R.string.should_take_seconds),
style = MaterialTheme.typography.bodySmall.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.6f)
@@ -173,14 +175,14 @@ fun InitializationErrorScreen(
elevation = CardDefaults.cardElevation(defaultElevation = 4.dp)
) {
Text(
text = "⚠️",
text = stringResource(R.string.warning_emoji),
style = MaterialTheme.typography.headlineLarge,
modifier = Modifier.padding(16.dp)
)
}
Text(
text = "Setup Not Complete",
text = stringResource(R.string.setup_not_complete),
style = MaterialTheme.typography.headlineSmall.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -216,7 +218,7 @@ fun InitializationErrorScreen(
modifier = Modifier.fillMaxWidth()
) {
Text(
text = "Try Again",
text = stringResource(R.string.try_again),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold
@@ -230,7 +232,7 @@ fun InitializationErrorScreen(
modifier = Modifier.fillMaxWidth()
) {
Text(
text = "Open Settings",
text = stringResource(R.string.open_settings),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace
),
@@ -15,6 +15,8 @@ import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
/**
* Screen shown when checking location services status or requesting location services enable
@@ -70,13 +72,13 @@ private fun LocationDisabledContent(
// Location icon - using LocationOn outlined icon in app's green color
Icon(
imageVector = Icons.Outlined.LocationOn,
contentDescription = "Location Services",
contentDescription = stringResource(R.string.cd_location_services),
modifier = Modifier.size(64.dp),
tint = Color(0xFF00C851) // App's main green color
)
Text(
text = "Location Services Required",
text = stringResource(R.string.location_services_required),
style = MaterialTheme.typography.headlineSmall.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -103,13 +105,13 @@ private fun LocationDisabledContent(
) {
Icon(
imageVector = Icons.Filled.Security,
contentDescription = "Privacy",
contentDescription = stringResource(R.string.cd_privacy),
tint = Color(0xFF4CAF50),
modifier = Modifier.size(20.dp)
)
Spacer(modifier = Modifier.width(8.dp))
Text(
text = "Privacy First",
text = stringResource(R.string.privacy_first),
style = MaterialTheme.typography.bodyMedium.copy(
fontWeight = FontWeight.Bold,
color = colorScheme.onSurface
@@ -118,7 +120,7 @@ private fun LocationDisabledContent(
}
Text(
text = "bitchat does NOT track your location.\n\nLocation services are required for Bluetooth scanning and for the Geohash chat feature.",
text = stringResource(R.string.location_explanation),
style = MaterialTheme.typography.bodySmall.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.8f)
@@ -128,7 +130,7 @@ private fun LocationDisabledContent(
Spacer(modifier = Modifier.height(4.dp))
Text(
text = "bitchat needs location services for:",
text = stringResource(R.string.location_needs_for),
style = MaterialTheme.typography.bodyMedium.copy(
fontWeight = FontWeight.Medium,
color = colorScheme.onSurface
@@ -138,10 +140,7 @@ private fun LocationDisabledContent(
)
Text(
text = "• Bluetooth device scanning\n" +
"• Discovering nearby users on mesh network\n" +
"• Geohash chat feature\n" +
"• No tracking or location collection",
text = stringResource(R.string.location_needs_bullets),
style = MaterialTheme.typography.bodySmall.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.8f)
@@ -165,7 +164,7 @@ private fun LocationDisabledContent(
)
) {
Text(
text = "Open Location Settings",
text = stringResource(R.string.open_location_settings),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold
@@ -179,7 +178,7 @@ private fun LocationDisabledContent(
modifier = Modifier.fillMaxWidth()
) {
Text(
text = "Check Again",
text = stringResource(R.string.check_again),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace
),
@@ -202,13 +201,13 @@ private fun LocationNotAvailableContent(
// Error icon
Icon(
imageVector = Icons.Filled.ErrorOutline,
contentDescription = "Error",
contentDescription = stringResource(R.string.cd_error),
modifier = Modifier.size(64.dp),
tint = colorScheme.error
)
Text(
text = "Location Services Unavailable",
text = stringResource(R.string.location_services_unavailable),
style = MaterialTheme.typography.headlineSmall.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -225,7 +224,7 @@ private fun LocationNotAvailableContent(
elevation = CardDefaults.cardElevation(defaultElevation = 2.dp)
) {
Text(
text = "Location services are not available on this device. This is unusual as location services are standard on Android devices.\n\nbitchat needs location services for Bluetooth scanning to work properly (Android requirement). Without this, the app cannot discover nearby users.",
text = stringResource(R.string.location_unavailable_explanation),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface
@@ -246,7 +245,7 @@ private fun LocationCheckingContent(
horizontalAlignment = Alignment.CenterHorizontally
) {
Text(
text = "bitchat",
text = stringResource(R.string.app_name),
style = MaterialTheme.typography.headlineLarge.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -258,7 +257,7 @@ private fun LocationCheckingContent(
LocationLoadingIndicator()
Text(
text = "Checking location services...",
text = stringResource(R.string.checking_location_services),
style = MaterialTheme.typography.bodyLarge.copy(
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.7f)
@@ -24,6 +24,8 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
/**
* Permission explanation screen shown before requesting permissions
@@ -65,7 +67,7 @@ fun PermissionExplanationScreen(
modifier = Modifier.fillMaxWidth()
) {
Text(
text = "bitchat",
text = stringResource(R.string.app_name),
style = MaterialTheme.typography.headlineLarge.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -76,7 +78,7 @@ fun PermissionExplanationScreen(
}
Text(
text = "decentralized mesh messaging with end-to-end encryption",
text = stringResource(R.string.about_tagline),
fontSize = 12.sp,
fontFamily = FontFamily.Monospace,
color = colorScheme.onBackground.copy(alpha = 0.7f)
@@ -99,7 +101,7 @@ fun PermissionExplanationScreen(
) {
Icon(
imageVector = Icons.Filled.Security,
contentDescription = "Privacy Protected",
contentDescription = stringResource(R.string.cd_privacy_protected),
tint = colorScheme.primary,
modifier = Modifier
.padding(top = 2.dp)
@@ -107,16 +109,14 @@ fun PermissionExplanationScreen(
)
Column {
Text(
text = "Your Privacy is Protected",
text = stringResource(R.string.privacy_protected),
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Medium,
color = colorScheme.onBackground
)
Spacer(modifier = Modifier.height(4.dp))
Text(
text = "• no tracking or data collection\n" +
"• Bluetooth mesh chats are fully offline\n" +
"• Geohash chats use the internet",
text = stringResource(R.string.privacy_bullets),
style = MaterialTheme.typography.bodySmall,
fontFamily = FontFamily.Monospace,
color = colorScheme.onBackground.copy(alpha = 0.8f)
@@ -128,7 +128,7 @@ fun PermissionExplanationScreen(
// Section header
Text(
text = "permissions",
text = stringResource(R.string.permissions_header),
style = MaterialTheme.typography.labelLarge,
color = colorScheme.onBackground.copy(alpha = 0.7f),
modifier = Modifier.padding(top = 8.dp, bottom = 8.dp)
@@ -163,7 +163,7 @@ fun PermissionExplanationScreen(
)
) {
Text(
text = "Grant Permissions",
text = stringResource(R.string.grant_permissions),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold
@@ -218,12 +218,12 @@ private fun PermissionCategoryCard(
) {
Icon(
imageVector = Icons.Filled.Warning,
contentDescription = "Warning",
contentDescription = stringResource(R.string.cd_warning),
tint = Color(0xFFFF9800),
modifier = Modifier.size(16.dp)
)
Text(
text = "bitchat does NOT track your location",
text = stringResource(R.string.location_tracking_warning),
style = MaterialTheme.typography.bodySmall.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Medium,
@@ -29,7 +29,8 @@ import androidx.compose.ui.unit.sp
import com.bitchat.android.nostr.NostrProofOfWork
import com.bitchat.android.nostr.PoWPreferenceManager
import com.bitchat.android.ui.debug.DebugSettingsSheet
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
/**
* About Sheet for bitchat app information
* Matches the design language of LocationChannelsSheet
@@ -102,7 +103,7 @@ fun AboutSheet(
verticalAlignment = Alignment.Bottom
) {
Text(
text = "bitchat",
text = stringResource(R.string.app_name),
style = TextStyle(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -112,7 +113,7 @@ fun AboutSheet(
)
Text(
text = "v$versionName",
text = stringResource(R.string.version_prefix, versionName?:""),
fontSize = 11.sp,
fontFamily = FontFamily.Monospace,
color = colorScheme.onBackground.copy(alpha = 0.5f),
@@ -123,7 +124,7 @@ fun AboutSheet(
}
Text(
text = "decentralized mesh messaging with end-to-end encryption",
text = stringResource(R.string.about_tagline),
fontSize = 12.sp,
fontFamily = FontFamily.Monospace,
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.7f)
@@ -141,7 +142,7 @@ fun AboutSheet(
) {
Icon(
imageVector = Icons.Filled.Bluetooth,
contentDescription = "Offline Mesh Chat",
contentDescription = stringResource(R.string.cd_offline_mesh_chat),
tint = MaterialTheme.colorScheme.primary,
modifier = Modifier
.padding(top = 2.dp)
@@ -150,14 +151,14 @@ fun AboutSheet(
Spacer(modifier = Modifier.width(16.dp))
Column {
Text(
text = "Offline Mesh Chat",
text = stringResource(R.string.about_offline_mesh_title),
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Medium,
color = MaterialTheme.colorScheme.onBackground
)
Spacer(modifier = Modifier.height(4.dp))
Text(
text = "Communicate directly via Bluetooth LE without internet or servers. Messages relay through nearby devices to extend range.",
text = stringResource(R.string.about_offline_mesh_desc),
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.8f)
)
@@ -173,7 +174,7 @@ fun AboutSheet(
) {
Icon(
imageVector = Icons.Default.Public,
contentDescription = "Online Geohash Channels",
contentDescription = stringResource(R.string.cd_online_geohash_channels),
tint = MaterialTheme.colorScheme.primary,
modifier = Modifier
.padding(top = 2.dp)
@@ -182,14 +183,14 @@ fun AboutSheet(
Spacer(modifier = Modifier.width(16.dp))
Column {
Text(
text = "Online Geohash Channels",
text = stringResource(R.string.about_online_geohash_title),
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Medium,
color = MaterialTheme.colorScheme.onBackground
)
Spacer(modifier = Modifier.height(4.dp))
Text(
text = "Connect with people in your area using geohash-based channels. Extend the mesh using public internet relays.",
text = stringResource(R.string.about_online_geohash_desc),
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.8f)
)
@@ -205,7 +206,7 @@ fun AboutSheet(
) {
Icon(
imageVector = Icons.Default.Lock,
contentDescription = "End-to-End Encryption",
contentDescription = stringResource(R.string.cd_end_to_end_encryption),
tint = MaterialTheme.colorScheme.primary,
modifier = Modifier
.padding(top = 2.dp)
@@ -214,14 +215,14 @@ fun AboutSheet(
Spacer(modifier = Modifier.width(16.dp))
Column {
Text(
text = "End-to-End Encryption",
text = stringResource(R.string.about_e2e_title),
style = MaterialTheme.typography.titleMedium,
fontWeight = FontWeight.Medium,
color = MaterialTheme.colorScheme.onBackground
)
Spacer(modifier = Modifier.height(4.dp))
Text(
text = "Private messages are encrypted. Channel messages are public.",
text = stringResource(R.string.about_e2e_desc),
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.8f)
)
@@ -232,7 +233,7 @@ fun AboutSheet(
// Appearance Section
item(key = "appearance_section") {
Text(
text = "appearance",
text = stringResource(R.string.about_appearance),
style = MaterialTheme.typography.labelLarge,
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.7f),
modifier = Modifier
@@ -247,24 +248,24 @@ fun AboutSheet(
FilterChip(
selected = themePref.isSystem,
onClick = { com.bitchat.android.ui.theme.ThemePreferenceManager.set(context, com.bitchat.android.ui.theme.ThemePreference.System) },
label = { Text("system", fontFamily = FontFamily.Monospace) }
label = { Text(stringResource(R.string.about_system), fontFamily = FontFamily.Monospace) }
)
FilterChip(
selected = themePref.isLight,
onClick = { com.bitchat.android.ui.theme.ThemePreferenceManager.set(context, com.bitchat.android.ui.theme.ThemePreference.Light) },
label = { Text("light", fontFamily = FontFamily.Monospace) }
label = { Text(stringResource(R.string.about_light), fontFamily = FontFamily.Monospace) }
)
FilterChip(
selected = themePref.isDark,
onClick = { com.bitchat.android.ui.theme.ThemePreferenceManager.set(context, com.bitchat.android.ui.theme.ThemePreference.Dark) },
label = { Text("dark", fontFamily = FontFamily.Monospace) }
label = { Text(stringResource(R.string.about_dark), fontFamily = FontFamily.Monospace) }
)
}
}
// Proof of Work Section
item(key = "pow_section") {
Text(
text = "proof of work",
text = stringResource(R.string.about_pow),
style = MaterialTheme.typography.labelLarge,
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.7f),
modifier = Modifier
@@ -289,7 +290,7 @@ fun AboutSheet(
FilterChip(
selected = !powEnabled,
onClick = { PoWPreferenceManager.setPowEnabled(false) },
label = { Text("pow off", fontFamily = FontFamily.Monospace) }
label = { Text(stringResource(R.string.about_pow_off), fontFamily = FontFamily.Monospace) }
)
FilterChip(
selected = powEnabled,
@@ -299,7 +300,7 @@ fun AboutSheet(
horizontalArrangement = Arrangement.spacedBy(6.dp),
verticalAlignment = Alignment.CenterVertically
) {
Text("pow on", fontFamily = FontFamily.Monospace)
Text(stringResource(R.string.about_pow_on), fontFamily = FontFamily.Monospace)
// Show current difficulty
if (powEnabled) {
Surface(
@@ -313,7 +314,7 @@ fun AboutSheet(
}
Text(
text = "add proof of work to geohash messages for spam deterrence.",
text = stringResource(R.string.about_pow_tip),
fontSize = 10.sp,
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.6f)
@@ -326,7 +327,7 @@ fun AboutSheet(
verticalArrangement = Arrangement.spacedBy(8.dp)
) {
Text(
text = "difficulty: $powDifficulty bits (~${NostrProofOfWork.estimateMiningTime(powDifficulty)})",
text = stringResource(R.string.about_pow_difficulty, powDifficulty, NostrProofOfWork.estimateMiningTime(powDifficulty)),
fontSize = 11.sp,
fontFamily = FontFamily.Monospace,
)
@@ -353,20 +354,20 @@ fun AboutSheet(
verticalArrangement = Arrangement.spacedBy(4.dp)
) {
Text(
text = "difficulty $powDifficulty requires ~${NostrProofOfWork.estimateWork(powDifficulty)} hash attempts",
text = stringResource(R.string.about_pow_difficulty_attempts, powDifficulty, NostrProofOfWork.estimateWork(powDifficulty)),
fontSize = 10.sp,
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.7f)
)
Text(
text = when {
powDifficulty == 0 -> "no proof of work required"
powDifficulty <= 8 -> "very low - minimal spam protection"
powDifficulty <= 12 -> "low - basic spam protection"
powDifficulty <= 16 -> "medium - good spam protection"
powDifficulty <= 20 -> "high - strong spam protection"
powDifficulty <= 24 -> "very high - may cause delays"
else -> "extreme - significant computation required"
powDifficulty == 0 -> stringResource(R.string.about_pow_desc_none)
powDifficulty <= 8 -> stringResource(R.string.about_pow_desc_very_low)
powDifficulty <= 12 -> stringResource(R.string.about_pow_desc_low)
powDifficulty <= 16 -> stringResource(R.string.about_pow_desc_medium)
powDifficulty <= 20 -> stringResource(R.string.about_pow_desc_high)
powDifficulty <= 24 -> stringResource(R.string.about_pow_desc_very_high)
else -> stringResource(R.string.about_pow_desc_extreme)
},
fontSize = 10.sp,
fontFamily = FontFamily.Monospace,
@@ -384,7 +385,7 @@ fun AboutSheet(
val torMode = remember { mutableStateOf(com.bitchat.android.net.TorPreferenceManager.get(context)) }
val torStatus by com.bitchat.android.net.TorManager.statusFlow.collectAsState()
Text(
text = "network",
text = stringResource(R.string.about_network),
style = MaterialTheme.typography.labelLarge,
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.7f),
modifier = Modifier
@@ -429,7 +430,7 @@ fun AboutSheet(
)
}
Text(
text = "route internet over tor for enhanced privacy.",
text = stringResource(R.string.about_tor_route),
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.6f)
)
@@ -446,14 +447,14 @@ fun AboutSheet(
verticalArrangement = Arrangement.spacedBy(6.dp)
) {
Text(
text = "tor Status: $statusText, bootstrap ${torStatus.bootstrapPercent}%",
text = stringResource(R.string.about_tor_status, statusText, torStatus.bootstrapPercent),
style = MaterialTheme.typography.bodySmall,
color = colorScheme.onSurface.copy(alpha = 0.75f)
)
val lastLog = torStatus.lastLogLine
if (lastLog.isNotEmpty()) {
Text(
text = "Last: ${lastLog.take(160)}",
text = stringResource(R.string.about_last, lastLog.take(160)),
style = MaterialTheme.typography.labelSmall,
color = colorScheme.onSurface.copy(alpha = 0.6f)
)
@@ -483,20 +484,20 @@ fun AboutSheet(
) {
Icon(
imageVector = Icons.Filled.Warning,
contentDescription = "Warning",
contentDescription = stringResource(R.string.cd_warning),
tint = errorColor,
modifier = Modifier.size(16.dp)
)
Column(verticalArrangement = Arrangement.spacedBy(4.dp)) {
Text(
text = "Emergency Data Deletion",
text = stringResource(R.string.about_emergency_title),
fontSize = 12.sp,
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
color = errorColor
)
Text(
text = "Tip: Triple-click the app title to emergency delete all stored data including messages, keys, and settings.",
text = stringResource(R.string.about_emergency_tip),
fontSize = 11.sp,
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.8f)
@@ -523,14 +524,14 @@ fun AboutSheet(
)
) {
Text(
text = "Debug Settings",
text = stringResource(R.string.about_debug_settings),
fontSize = 11.sp,
fontFamily = FontFamily.Monospace
)
}
}
Text(
text = "Open Source • Privacy First • Decentralized",
text = stringResource(R.string.about_footer),
fontSize = 11.sp,
fontFamily = FontFamily.Monospace,
color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.7f),
@@ -557,7 +558,7 @@ fun AboutSheet(
.padding(horizontal = 16.dp)
) {
Text(
text = "Close",
text = stringResource(R.string.close_plain),
style = MaterialTheme.typography.labelMedium.copy(fontWeight = FontWeight.Bold),
color = MaterialTheme.colorScheme.onBackground
)
@@ -588,7 +589,7 @@ fun PasswordPromptDialog(
onDismissRequest = onDismiss,
title = {
Text(
text = "Enter Channel Password",
text = stringResource(R.string.pwd_prompt_title),
style = MaterialTheme.typography.titleMedium,
color = colorScheme.onSurface
)
@@ -596,7 +597,7 @@ fun PasswordPromptDialog(
text = {
Column {
Text(
text = "Channel $channelName is password protected. Enter the password to join.",
text = stringResource(R.string.pwd_prompt_message, channelName ?: ""),
style = MaterialTheme.typography.bodyMedium,
color = colorScheme.onSurface
)
@@ -605,7 +606,7 @@ fun PasswordPromptDialog(
OutlinedTextField(
value = passwordInput,
onValueChange = onPasswordChange,
label = { Text("Password", style = MaterialTheme.typography.bodyMedium) },
label = { Text(stringResource(R.string.pwd_label), style = MaterialTheme.typography.bodyMedium) },
textStyle = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace
),
@@ -619,7 +620,7 @@ fun PasswordPromptDialog(
confirmButton = {
TextButton(onClick = onConfirm) {
Text(
text = "Join",
text = stringResource(R.string.join),
style = MaterialTheme.typography.bodyMedium,
color = colorScheme.primary
)
@@ -628,7 +629,7 @@ fun PasswordPromptDialog(
dismissButton = {
TextButton(onClick = onDismiss) {
Text(
text = "Cancel",
text = stringResource(R.string.cancel),
style = MaterialTheme.typography.bodyMedium,
color = colorScheme.onSurface
)
@@ -21,6 +21,8 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.platform.LocalFocusManager
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.unit.dp
@@ -64,7 +66,7 @@ fun TorStatusIcon(
}
Icon(
imageVector = Icons.Outlined.Cable,
contentDescription = "Tor status",
contentDescription = stringResource(R.string.cd_tor_status),
modifier = modifier,
tint = cableColor
)
@@ -80,23 +82,23 @@ fun NoiseSessionIcon(
"uninitialized" -> Triple(
Icons.Outlined.NoEncryption,
Color(0x87878700), // Grey - ready to establish
"Ready for handshake"
stringResource(R.string.cd_ready_for_handshake)
)
"handshaking" -> Triple(
Icons.Outlined.Sync,
Color(0x87878700), // Grey - in progress
"Handshake in progress"
stringResource(R.string.cd_handshake_in_progress)
)
"established" -> Triple(
Icons.Filled.Lock,
Color(0xFFFF9500), // Orange - secure
"End-to-end encrypted"
stringResource(R.string.cd_encrypted)
)
else -> { // "failed" or any other state
Triple(
Icons.Outlined.Warning,
Color(0xFFFF4444), // Red - error
"Handshake failed"
stringResource(R.string.cd_handshake_failed)
)
}
}
@@ -129,7 +131,7 @@ fun NicknameEditor(
modifier = modifier
) {
Text(
text = "@",
text = stringResource(R.string.at_symbol),
style = MaterialTheme.typography.bodyMedium,
color = colorScheme.primary.copy(alpha = 0.8f)
)
@@ -193,8 +195,8 @@ fun PeerCounter(
Icon(
imageVector = Icons.Default.Group,
contentDescription = when (selectedLocationChannel) {
is com.bitchat.android.geohash.ChannelID.Location -> "Geohash participants"
else -> "Connected peers"
is com.bitchat.android.geohash.ChannelID.Location -> stringResource(R.string.cd_geohash_participants)
else -> stringResource(R.string.cd_connected_peers)
},
modifier = Modifier.size(16.dp),
tint = countColor
@@ -211,7 +213,7 @@ fun PeerCounter(
if (joinedChannels.isNotEmpty()) {
Text(
text = " · ⧉ ${joinedChannels.size}",
text = stringResource(R.string.channel_count_prefix) + "${joinedChannels.size}",
style = MaterialTheme.typography.bodyMedium,
color = if (isConnected) Color(0xFF00C851) else Color.Red,
fontSize = 16.sp,
@@ -373,13 +375,13 @@ private fun PrivateChatHeader(
) {
Icon(
imageVector = Icons.Filled.ArrowBack,
contentDescription = "Back",
contentDescription = stringResource(R.string.back),
modifier = Modifier.size(16.dp),
tint = colorScheme.primary
)
Spacer(modifier = Modifier.width(4.dp))
Text(
text = "back",
text = stringResource(R.string.chat_back),
style = MaterialTheme.typography.bodyMedium,
color = colorScheme.primary
)
@@ -405,7 +407,7 @@ private fun PrivateChatHeader(
if (showGlobe) {
Icon(
imageVector = Icons.Outlined.Public,
contentDescription = "Nostr reachable",
contentDescription = stringResource(R.string.cd_nostr_reachable),
modifier = Modifier.size(14.dp),
tint = Color(0xFF9B59B6) // Purple like iOS
)
@@ -428,7 +430,7 @@ private fun PrivateChatHeader(
) {
Icon(
imageVector = if (isFavorite) Icons.Filled.Star else Icons.Outlined.Star,
contentDescription = if (isFavorite) "Remove from favorites" else "Add to favorites",
contentDescription = if (isFavorite) stringResource(R.string.cd_remove_favorite) else stringResource(R.string.cd_add_favorite),
modifier = Modifier.size(18.dp), // Slightly larger than sidebar icon
tint = if (isFavorite) Color(0xFFFFD700) else Color(0x87878700) // Yellow or grey
)
@@ -463,13 +465,13 @@ private fun ChannelHeader(
) {
Icon(
imageVector = Icons.Filled.ArrowBack,
contentDescription = "Back",
contentDescription = stringResource(R.string.back),
modifier = Modifier.size(16.dp),
tint = colorScheme.primary
)
Spacer(modifier = Modifier.width(4.dp))
Text(
text = "back",
text = stringResource(R.string.chat_back),
style = MaterialTheme.typography.bodyMedium,
color = colorScheme.primary
)
@@ -478,7 +480,7 @@ private fun ChannelHeader(
// Title - perfectly centered regardless of other elements
Text(
text = "channel: $channel",
text = stringResource(R.string.chat_channel_prefix, channel),
style = MaterialTheme.typography.titleMedium,
color = Color(0xFFFF9500), // Orange to match input field
modifier = Modifier
@@ -492,7 +494,7 @@ private fun ChannelHeader(
modifier = Modifier.align(Alignment.CenterEnd)
) {
Text(
text = "leave",
text = stringResource(R.string.chat_leave),
style = MaterialTheme.typography.bodySmall,
color = Color.Red
)
@@ -534,7 +536,7 @@ private fun MainHeader(
verticalAlignment = Alignment.CenterVertically
) {
Text(
text = "bitchat/",
text = stringResource(R.string.app_brand),
style = MaterialTheme.typography.headlineSmall,
color = colorScheme.primary,
modifier = Modifier.singleOrTripleClickable(
@@ -562,7 +564,7 @@ private fun MainHeader(
// Render icon directly to avoid symbol resolution issues
Icon(
imageVector = Icons.Filled.Email,
contentDescription = "Unread private messages",
contentDescription = stringResource(R.string.cd_unread_private_messages),
modifier = Modifier
.size(16.dp)
.clickable { viewModel.openLatestUnreadPrivateChat() },
@@ -593,7 +595,7 @@ private fun MainHeader(
) {
Icon(
imageVector = if (isBookmarked) Icons.Filled.Bookmark else Icons.Outlined.BookmarkBorder,
contentDescription = "Toggle bookmark",
contentDescription = stringResource(R.string.cd_toggle_bookmark),
tint = if (isBookmarked) Color(0xFF00C851) else MaterialTheme.colorScheme.onSurface.copy(alpha = 0.75f),
modifier = Modifier.size(16.dp)
)
@@ -668,7 +670,7 @@ private fun LocationChannelsButton(
Spacer(modifier = Modifier.width(2.dp))
Icon(
imageVector = Icons.Default.PinDrop,
contentDescription = "Teleported",
contentDescription = stringResource(R.string.cd_teleported),
modifier = Modifier.size(12.dp),
tint = badgeColor
)
@@ -19,6 +19,7 @@ import androidx.compose.material.icons.filled.ArrowDownward
import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.IconButton
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.TextRange
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.unit.dp
@@ -294,7 +295,7 @@ fun ChatScreen(viewModel: ChatViewModel) {
IconButton(onClick = { forceScrollToBottom = !forceScrollToBottom }) {
Icon(
imageVector = Icons.Filled.ArrowDownward,
contentDescription = "Scroll to bottom",
contentDescription = stringResource(com.bitchat.android.R.string.cd_scroll_to_bottom),
tint = Color(0xFF00C851)
)
}
@@ -12,6 +12,8 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.bitchat.android.ui.theme.BASE_FONT_SIZE
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.text.AnnotatedString
import kotlinx.coroutines.launch
@@ -61,7 +63,7 @@ fun ChatUserSheet(
) {
// Header
Text(
text = "@$targetNickname",
text = stringResource(R.string.at_nickname, targetNickname),
fontSize = 18.sp,
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -69,7 +71,7 @@ fun ChatUserSheet(
)
Text(
text = if (selectedMessage != null) "choose an action for this message or user" else "choose an action for this user",
text = if (selectedMessage != null) stringResource(R.string.choose_action_message_or_user) else stringResource(R.string.choose_action_user),
fontSize = 12.sp,
fontFamily = FontFamily.Monospace,
color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.7f)
@@ -83,8 +85,8 @@ fun ChatUserSheet(
selectedMessage?.let { message ->
item {
UserActionRow(
title = "copy message",
subtitle = "copy this message to clipboard",
title = stringResource(R.string.action_copy_message_title),
subtitle = stringResource(R.string.action_copy_message_subtitle),
titleColor = standardGrey,
onClick = {
// Copy the message content to clipboard
@@ -100,8 +102,8 @@ fun ChatUserSheet(
// Slap action
item {
UserActionRow(
title = "slap $targetNickname",
subtitle = "send a playful slap message",
title = stringResource(R.string.action_slap_title, targetNickname),
subtitle = stringResource(R.string.action_slap_subtitle),
titleColor = standardBlue,
onClick = {
// Send slap command
@@ -114,8 +116,8 @@ fun ChatUserSheet(
// Hug action
item {
UserActionRow(
title = "hug $targetNickname",
subtitle = "send a friendly hug message",
title = stringResource(R.string.action_hug_title, targetNickname),
subtitle = stringResource(R.string.action_hug_subtitle),
titleColor = standardGreen,
onClick = {
// Send hug command
@@ -128,8 +130,8 @@ fun ChatUserSheet(
// Block action
item {
UserActionRow(
title = "block $targetNickname",
subtitle = "block all messages from this user",
title = stringResource(R.string.action_block_title, targetNickname),
subtitle = stringResource(R.string.action_block_subtitle),
titleColor = standardRed,
onClick = {
// Check if we're in a geohash channel
@@ -158,7 +160,7 @@ fun ChatUserSheet(
modifier = Modifier.fillMaxWidth()
) {
Text(
text = "cancel",
text = stringResource(R.string.cancel_lower),
fontSize = BASE_FONT_SIZE.sp,
fontFamily = FontFamily.Monospace
)
@@ -227,20 +227,6 @@ class ChatViewModel(
// Note: Mesh service is now started by MainActivity
// Show welcome message if no peers after delay
viewModelScope.launch {
delay(10000)
if (state.getConnectedPeersValue().isEmpty() && state.getMessagesValue().isEmpty()) {
val welcomeMessage = BitchatMessage(
sender = "system",
content = "get people around you to download bitchat and chat with them here!",
timestamp = Date(),
isRelay = false
)
messageManager.addMessage(welcomeMessage)
}
}
// BLE receives are inserted by MessageHandler path; no VoiceNoteBus for Tor in this branch.
}
@@ -20,6 +20,8 @@ import androidx.compose.ui.unit.sp
import com.bitchat.android.ui.theme.BASE_FONT_SIZE
import java.util.*
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
/**
* GeohashPeopleList - iOS-compatible component for displaying geohash participants
@@ -66,7 +68,7 @@ fun GeohashPeopleList(
)
Spacer(modifier = Modifier.width(6.dp))
Text(
text = "PEOPLE",
text = stringResource(R.string.geohash_people_header),
style = MaterialTheme.typography.labelSmall.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold
@@ -78,7 +80,7 @@ fun GeohashPeopleList(
if (geohashPeople.isEmpty()) {
// Empty state - matches iOS "nobody around..."
Text(
text = "nobody around...",
text = stringResource(R.string.nobody_around),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
fontSize = BASE_FONT_SIZE.sp
@@ -182,7 +184,7 @@ private fun GeohashPersonItem(
// Unread DM indicator (orange envelope)
Icon(
imageVector = Icons.Filled.Email,
contentDescription = "Unread message",
contentDescription = stringResource(R.string.cd_unread_message),
modifier = Modifier.size(12.dp),
tint = Color(0xFFFF9500) // iOS orange
)
@@ -253,7 +255,7 @@ private fun GeohashPersonItem(
// "You" indicator for current user
if (isMe) {
Text(
text = " (you)",
text = stringResource(R.string.you_suffix),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace,
fontSize = BASE_FONT_SIZE.sp
@@ -37,6 +37,8 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.compose.ui.viewinterop.AndroidView
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
import androidx.core.view.updateLayoutParams
import com.bitchat.android.geohash.Geohash
import com.bitchat.android.geohash.LocationChannelManager
@@ -175,7 +177,7 @@ class GeohashPickerActivity : ComponentActivity() {
shadowElevation = 6.dp
) {
Text(
text = "pan and zoom to select a geohash",
text = stringResource(R.string.pan_zoom_instruction),
fontSize = 12.sp,
textAlign = TextAlign.Center,
fontFamily = FontFamily.Monospace,
@@ -228,7 +230,7 @@ class GeohashPickerActivity : ComponentActivity() {
)
) {
Row(verticalAlignment = Alignment.CenterVertically) {
Icon(Icons.Filled.Remove, contentDescription = "Decrease precision")
Icon(Icons.Filled.Remove, contentDescription = stringResource(R.string.cd_decrease_precision))
}
}
@@ -244,7 +246,7 @@ class GeohashPickerActivity : ComponentActivity() {
)
) {
Row(verticalAlignment = Alignment.CenterVertically) {
Icon(Icons.Filled.Add, contentDescription = "Increase precision")
Icon(Icons.Filled.Add, contentDescription = stringResource(R.string.cd_increase_precision))
}
}
@@ -264,10 +266,10 @@ class GeohashPickerActivity : ComponentActivity() {
)
) {
Row(verticalAlignment = Alignment.CenterVertically) {
Icon(Icons.Filled.Check, contentDescription = "Select geohash")
Icon(Icons.Filled.Check, contentDescription = stringResource(R.string.cd_select_geohash))
Spacer(Modifier.width(6.dp))
Text(
text = "select",
text = stringResource(R.string.select),
fontSize = (BASE_FONT_SIZE - 2).sp,
fontFamily = FontFamily.Monospace
)
@@ -217,7 +217,7 @@ fun MessageInput(
// Show placeholder when there's no text and not recording
if (value.text.isEmpty() && !isRecording) {
Text(
text = "type a message...",
text = stringResource(R.string.type_a_message_placeholder),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = FontFamily.Monospace
),
@@ -486,7 +486,7 @@ fun MentionSuggestionItem(
verticalAlignment = Alignment.CenterVertically
) {
Text(
text = "@$suggestion",
text = stringResource(R.string.mention_suggestion_at, suggestion),
style = MaterialTheme.typography.bodySmall.copy(
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.SemiBold
@@ -498,7 +498,7 @@ fun MentionSuggestionItem(
Spacer(modifier = Modifier.weight(1f))
Text(
text = "mention",
text = stringResource(R.string.mention),
style = MaterialTheme.typography.bodySmall.copy(
fontFamily = FontFamily.Monospace
),
@@ -16,6 +16,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
@@ -94,7 +95,7 @@ fun LinkPreviewPill(
) {
Icon(
imageVector = Icons.Outlined.Link,
contentDescription = "Link",
contentDescription = stringResource(com.bitchat.android.R.string.cd_link),
modifier = Modifier.size(24.dp),
tint = Color.Blue
)
@@ -37,6 +37,8 @@ import com.bitchat.android.geohash.GeohashChannelLevel
import com.bitchat.android.geohash.LocationChannelManager
import com.bitchat.android.geohash.GeohashBookmarksStore
import com.bitchat.android.ui.theme.BASE_FONT_SIZE
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
/**
* Location Channels Sheet for selecting geohash-based location channels
@@ -133,7 +135,7 @@ fun LocationChannelsSheet(
verticalArrangement = Arrangement.spacedBy(4.dp)
) {
Text(
text = "#location channels",
text = stringResource(R.string.location_channels_title),
style = MaterialTheme.typography.headlineSmall,
fontFamily = FontFamily.Monospace,
fontWeight = FontWeight.Bold,
@@ -141,7 +143,7 @@ fun LocationChannelsSheet(
)
Text(
text = "chat with people near you using geohash channels. only a coarse geohash is shared, never exact gps. do not screenshot or share this screen to protect your privacy.",
text = stringResource(R.string.location_channels_desc),
fontSize = 12.sp,
fontFamily = FontFamily.Monospace,
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.7f)
@@ -170,7 +172,7 @@ fun LocationChannelsSheet(
modifier = Modifier.fillMaxWidth()
) {
Text(
text = "grant location permission",
text = stringResource(R.string.grant_location_permission),
fontSize = 12.sp,
fontFamily = FontFamily.Monospace
)
@@ -180,7 +182,7 @@ fun LocationChannelsSheet(
LocationChannelManager.PermissionState.RESTRICTED -> {
Column(verticalArrangement = Arrangement.spacedBy(4.dp)) {
Text(
text = "location permission denied. enable in settings to use location channels.",
text = stringResource(R.string.location_permission_denied),
fontSize = 11.sp,
fontFamily = FontFamily.Monospace,
color = Color.Red.copy(alpha = 0.8f)
@@ -194,7 +196,7 @@ fun LocationChannelsSheet(
}
) {
Text(
text = "open settings",
text = stringResource(R.string.open_settings),
fontSize = 11.sp,
fontFamily = FontFamily.Monospace
)
@@ -203,7 +205,7 @@ fun LocationChannelsSheet(
}
LocationChannelManager.PermissionState.AUTHORIZED -> {
Text(
text = "✓ location permission granted",
text = stringResource(R.string.location_permission_granted),
fontSize = 11.sp,
fontFamily = FontFamily.Monospace,
color = standardGreen
@@ -216,7 +218,7 @@ fun LocationChannelsSheet(
) {
CircularProgressIndicator(modifier = Modifier.size(12.dp))
Text(
text = "checking permissions...",
text = stringResource(R.string.checking_permissions),
fontSize = 11.sp,
fontFamily = FontFamily.Monospace,
color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.7f)
@@ -232,7 +234,7 @@ fun LocationChannelsSheet(
item(key = "mesh") {
ChannelRow(
title = meshTitleWithCount(viewModel),
subtitle = "#bluetooth • ${bluetoothRangeString()}",
subtitle = stringResource(R.string.location_bluetooth_subtitle, bluetoothRangeString()),
isSelected = selectedChannel is ChannelID.Mesh,
titleColor = standardBlue,
titleBold = meshCount(viewModel) > 0,
@@ -265,7 +267,7 @@ fun LocationChannelsSheet(
IconButton(onClick = { bookmarksStore.toggle(channel.geohash) }) {
Icon(
imageVector = if (isBookmarked) Icons.Filled.Bookmark else Icons.Outlined.BookmarkBorder,
contentDescription = if (isBookmarked) "Unbookmark" else "Bookmark",
contentDescription = if (isBookmarked) stringResource(R.string.cd_remove_bookmark) else stringResource(R.string.cd_add_bookmark),
tint = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.8f),
)
}
@@ -286,7 +288,7 @@ fun LocationChannelsSheet(
) {
CircularProgressIndicator(modifier = Modifier.size(16.dp))
Text(
text = "finding nearby channels…",
text = stringResource(R.string.finding_nearby_channels),
fontSize = 12.sp,
fontFamily = FontFamily.Monospace
)
@@ -298,7 +300,7 @@ fun LocationChannelsSheet(
if (bookmarks.isNotEmpty()) {
item(key = "bookmarked_header") {
Text(
text = "bookmarked",
text = stringResource(R.string.bookmarked),
style = MaterialTheme.typography.labelLarge,
fontFamily = FontFamily.Monospace,
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.7f),
@@ -328,7 +330,7 @@ fun LocationChannelsSheet(
IconButton(onClick = { bookmarksStore.toggle(gh) }) {
Icon(
imageVector = Icons.Filled.Bookmark,
contentDescription = "Remove bookmark",
contentDescription = stringResource(R.string.cd_remove_bookmark),
tint = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.8f),
)
}
@@ -366,7 +368,7 @@ fun LocationChannelsSheet(
verticalAlignment = Alignment.CenterVertically
) {
Text(
text = "#",
text = stringResource(R.string.hash_symbol),
fontSize = BASE_FONT_SIZE.sp,
fontFamily = FontFamily.Monospace,
color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.6f)
@@ -409,7 +411,7 @@ fun LocationChannelsSheet(
decorationBox = { innerTextField ->
if (customGeohash.isEmpty()) {
Text(
text = "geohash",
text = stringResource(R.string.geohash_placeholder),
fontSize = BASE_FONT_SIZE.sp,
fontFamily = FontFamily.Monospace,
color = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.4f)
@@ -435,7 +437,7 @@ fun LocationChannelsSheet(
}) {
Icon(
imageVector = Icons.Filled.Map,
contentDescription = "Open map",
contentDescription = stringResource(R.string.cd_open_map),
tint = MaterialTheme.colorScheme.onSurface.copy(alpha = 0.8f)
)
}
@@ -453,7 +455,7 @@ fun LocationChannelsSheet(
locationManager.select(ChannelID.Location(channel))
onDismiss()
} else {
customError = "invalid geohash"
customError = context.getString(R.string.invalid_geohash)
}
},
enabled = isValid,
@@ -467,14 +469,13 @@ fun LocationChannelsSheet(
verticalAlignment = Alignment.CenterVertically
) {
Text(
text = "teleport",
text = stringResource(R.string.teleport),
fontSize = BASE_FONT_SIZE.sp,
fontFamily = FontFamily.Monospace
)
// iOS has a face.dashed icon, use closest Material equivalent
Icon(
imageVector = Icons.Filled.PinDrop,
contentDescription = "Teleport",
contentDescription = stringResource(R.string.cd_teleport),
modifier = Modifier.size(14.dp),
tint = MaterialTheme.colorScheme.onSurface
)
@@ -530,11 +531,7 @@ fun LocationChannelsSheet(
modifier = Modifier.fillMaxWidth()
) {
Text(
text = if (locationServicesEnabled) {
"disable location services"
} else {
"enable location services"
},
text = if (locationServicesEnabled) stringResource(R.string.disable_location_services) else stringResource(R.string.enable_location_services),
fontSize = 12.sp,
fontFamily = FontFamily.Monospace
)
@@ -558,7 +555,7 @@ fun LocationChannelsSheet(
.padding(horizontal = 16.dp)
) {
Text(
text = "Close",
text = stringResource(R.string.close_plain),
style = MaterialTheme.typography.labelMedium.copy(fontWeight = FontWeight.Bold),
color = MaterialTheme.colorScheme.onBackground
)
@@ -668,7 +665,7 @@ private fun ChannelRow(
if (isSelected) {
Icon(
imageVector = Icons.Filled.Check,
contentDescription = "Selected",
contentDescription = stringResource(R.string.cd_selected),
tint = Color(0xFF32D74B), // iOS green for checkmark
modifier = Modifier.size(20.dp)
)
@@ -695,10 +692,13 @@ private fun splitTitleAndCount(title: String): Pair<String, String?> {
}
}
@Composable
private fun meshTitleWithCount(viewModel: ChatViewModel): String {
val meshCount = meshCount(viewModel)
val noun = if (meshCount == 1) "person" else "people"
return "mesh [$meshCount $noun]"
val ctx = androidx.compose.ui.platform.LocalContext.current
val peopleText = ctx.resources.getQuantityString(com.bitchat.android.R.plurals.people_count, meshCount, meshCount)
val meshLabel = stringResource(com.bitchat.android.R.string.mesh_label)
return "$meshLabel [$peopleText]"
}
private fun meshCount(viewModel: ChatViewModel): Int {
@@ -708,14 +708,25 @@ private fun meshCount(viewModel: ChatViewModel): Int {
} ?: 0
}
@Composable
private fun geohashTitleWithCount(channel: GeohashChannel, participantCount: Int): String {
val noun = if (participantCount == 1) "person" else "people"
return "${channel.level.displayName.lowercase()} [$participantCount $noun]"
val ctx = androidx.compose.ui.platform.LocalContext.current
val peopleText = ctx.resources.getQuantityString(com.bitchat.android.R.plurals.people_count, participantCount, participantCount)
val levelName = when (channel.level) {
com.bitchat.android.geohash.GeohashChannelLevel.BLOCK -> stringResource(com.bitchat.android.R.string.location_level_block)
com.bitchat.android.geohash.GeohashChannelLevel.NEIGHBORHOOD -> stringResource(com.bitchat.android.R.string.location_level_neighborhood)
com.bitchat.android.geohash.GeohashChannelLevel.CITY -> stringResource(com.bitchat.android.R.string.location_level_city)
com.bitchat.android.geohash.GeohashChannelLevel.PROVINCE -> stringResource(com.bitchat.android.R.string.location_level_province)
com.bitchat.android.geohash.GeohashChannelLevel.REGION -> stringResource(com.bitchat.android.R.string.location_level_region)
}
return "$levelName [$peopleText]"
}
@Composable
private fun geohashHashTitleWithCount(geohash: String, participantCount: Int): String {
val noun = if (participantCount == 1) "person" else "people"
return "#$geohash [$participantCount $noun]"
val ctx = androidx.compose.ui.platform.LocalContext.current
val peopleText = ctx.resources.getQuantityString(com.bitchat.android.R.plurals.people_count, participantCount, participantCount)
return "#$geohash [$peopleText]"
}
private fun isChannelSelected(channel: GeohashChannel, selectedChannel: ChannelID?): Boolean {
@@ -43,6 +43,9 @@ import androidx.compose.foundation.clickable
import androidx.compose.foundation.shape.CircleShape
import com.bitchat.android.ui.media.FileMessageItem
import com.bitchat.android.model.BitchatMessageType
import com.bitchat.android.R
import androidx.compose.ui.res.stringResource
// VoiceNotePlayer moved to com.bitchat.android.ui.media.VoiceNotePlayer
@@ -334,11 +337,11 @@ fun MessageItem(
.clickable { onCancelTransfer?.invoke(message) },
contentAlignment = Alignment.Center
) {
Icon(imageVector = Icons.Filled.Close, contentDescription = "Cancel", tint = Color.White, modifier = Modifier.size(14.dp))
Icon(imageVector = Icons.Filled.Close, contentDescription = stringResource(R.string.cd_cancel), tint = Color.White, modifier = Modifier.size(14.dp))
}
}
} else {
Text(text = "[file unavailable]", fontFamily = FontFamily.Monospace, color = Color.Gray)
Text(text = stringResource(R.string.file_unavailable), fontFamily = FontFamily.Monospace, color = Color.Gray)
}
}
}
@@ -471,7 +474,7 @@ fun DeliveryStatusIcon(status: DeliveryStatus) {
when (status) {
is DeliveryStatus.Sending -> {
Text(
text = "",
text = stringResource(R.string.status_sending),
fontSize = 10.sp,
color = colorScheme.primary.copy(alpha = 0.6f)
)
@@ -479,7 +482,7 @@ fun DeliveryStatusIcon(status: DeliveryStatus) {
is DeliveryStatus.Sent -> {
// Use a subtle hollow marker for Sent; single check is reserved for Delivered (iOS parity)
Text(
text = "",
text = stringResource(R.string.status_pending),
fontSize = 10.sp,
color = colorScheme.primary.copy(alpha = 0.6f)
)
@@ -487,14 +490,14 @@ fun DeliveryStatusIcon(status: DeliveryStatus) {
is DeliveryStatus.Delivered -> {
// Single check for Delivered (matches iOS expectations)
Text(
text = "",
text = stringResource(R.string.status_sent),
fontSize = 10.sp,
color = colorScheme.primary.copy(alpha = 0.8f)
)
}
is DeliveryStatus.Read -> {
Text(
text = "✓✓",
text = stringResource(R.string.status_delivered),
fontSize = 10.sp,
color = Color(0xFF007AFF), // Blue
fontWeight = FontWeight.Bold
@@ -502,7 +505,7 @@ fun DeliveryStatusIcon(status: DeliveryStatus) {
}
is DeliveryStatus.Failed -> {
Text(
text = "",
text = stringResource(R.string.status_failed),
fontSize = 10.sp,
color = Color.Red.copy(alpha = 0.8f)
)
@@ -510,7 +513,7 @@ fun DeliveryStatusIcon(status: DeliveryStatus) {
is DeliveryStatus.PartiallyDelivered -> {
// Show a single subdued check without numeric label
Text(
text = "",
text = stringResource(R.string.status_sent),
fontSize = 10.sp,
color = colorScheme.primary.copy(alpha = 0.6f)
)
@@ -258,7 +258,10 @@ class NotificationManager(
}
if (messageCount > 5) {
style.setSummaryText("and ${messageCount - 5} more")
val extra = messageCount - 5
style.setSummaryText(context.resources.getQuantityString(
R.plurals.notification_and_more, extra, extra
))
}
builder.setStyle(style)
@@ -291,11 +294,11 @@ class NotificationManager(
)
// Build notification content
val contentTitle = "👥 bitchatters nearby!"
val contentTitle = context.getString(R.string.notification_active_peers_title)
val contentText = if (peersSize == 1) {
"1 person around"
context.getString(R.string.notification_active_peers_one)
} else {
"$peersSize people around"
context.getString(R.string.notification_active_peers_many, peersSize)
}
val builder = NotificationCompat.Builder(context, CHANNEL_ID)
@@ -331,8 +334,8 @@ class NotificationManager(
val builder = NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle("bitchat")
.setContentText("$totalMessages messages from $senderCount people")
.setContentTitle(context.getString(R.string.app_name))
.setContentText(context.getString(R.string.notification_messages_from_people, totalMessages, senderCount))
.setContentIntent(pendingIntent)
.setAutoCancel(true)
.setPriority(NotificationCompat.PRIORITY_HIGH)
@@ -342,7 +345,7 @@ class NotificationManager(
// Add inbox style showing recent senders
val style = NotificationCompat.InboxStyle()
.setBigContentTitle("New Messages")
.setBigContentTitle(context.getString(R.string.notification_new_location_messages))
pendingNotifications.entries.take(5).forEach { (peerID, notifications) ->
val latestNotif = notifications.last()
@@ -356,7 +359,7 @@ class NotificationManager(
}
if (pendingNotifications.size > 5) {
style.setSummaryText("and ${pendingNotifications.size - 5} more conversations")
style.setSummaryText(context.getString(R.string.notification_more_conversations, pendingNotifications.size - 5))
}
builder.setStyle(style)
@@ -459,15 +462,15 @@ class NotificationManager(
// Build notification content with location name if available
val geohashDisplay = latestNotification.locationName?.let { "$it (#$geohash)" } ?: "#$geohash"
val contentTitle = when {
mentionCount > 0 && firstMessageCount > 0 && messageCount > 1 -> "Mentioned in $geohashDisplay (+${messageCount - 1} more)"
mentionCount > 0 -> if (mentionCount == 1) "Mentioned in $geohashDisplay" else "$mentionCount mentions in $geohashDisplay"
firstMessageCount > 0 -> "New activity in $geohashDisplay"
else -> "Messages in $geohashDisplay"
mentionCount > 0 && firstMessageCount > 0 && messageCount > 1 -> context.getString(R.string.notification_mentions_in_more, geohashDisplay, messageCount - 1)
mentionCount > 0 -> if (mentionCount == 1) context.getString(R.string.notification_mentions_in, geohashDisplay) else context.getString(R.string.notification_mentions_in_plural, mentionCount, geohashDisplay)
firstMessageCount > 0 -> context.getString(R.string.notification_new_activity_in, geohashDisplay)
else -> context.getString(R.string.notification_messages_in, geohashDisplay)
}
val contentText = when {
latestNotification.isMention -> "${latestNotification.senderNickname}: ${latestNotification.messageContent}"
latestNotification.isFirstMessage -> "${latestNotification.senderNickname} joined the conversation"
latestNotification.isFirstMessage -> context.getString(R.string.notification_joined_conversation, latestNotification.senderNickname)
else -> "${latestNotification.senderNickname}: ${latestNotification.messageContent}"
}
@@ -503,7 +506,8 @@ class NotificationManager(
}
if (messageCount > 5) {
style.setSummaryText("and ${messageCount - 5} more")
val extra = messageCount - 5
style.setSummaryText(context.resources.getQuantityString(R.plurals.notification_and_more, extra, extra))
}
builder.setStyle(style)
@@ -543,12 +547,12 @@ class NotificationManager(
)
val contentTitle = if (totalMentions > 0) {
"bitchat - $totalMentions mentions"
context.getString(R.string.notification_geohash_summary_title_mentions, totalMentions)
} else {
"bitchat - location chats"
context.getString(R.string.notification_geohash_summary_title)
}
val contentText = "$totalMessages messages from $geohashCount locations"
val contentText = context.getString(R.string.notification_geohash_summary_text, totalMessages, geohashCount)
val builder = NotificationCompat.Builder(context, GEOHASH_CHANNEL_ID)
.setSmallIcon(R.drawable.ic_notification)
@@ -563,7 +567,7 @@ class NotificationManager(
// Add inbox style showing recent geohashes
val style = NotificationCompat.InboxStyle()
.setBigContentTitle("New Location Messages")
.setBigContentTitle(context.getString(R.string.notification_new_messages))
pendingGeohashNotifications.entries.take(5).forEach { (geohash, notifications) ->
val mentionCount = notifications.count { it.isMention }
@@ -579,7 +583,7 @@ class NotificationManager(
}
if (pendingGeohashNotifications.size > 5) {
style.setSummaryText("and ${pendingGeohashNotifications.size - 5} more locations")
style.setSummaryText(context.getString(R.string.notification_more_locations, pendingGeohashNotifications.size - 5))
}
builder.setStyle(style)
@@ -676,9 +680,9 @@ class NotificationManager(
// Build notification content
val contentTitle = if (messageCount == 1) {
"Mentioned in Mesh Chat"
context.getString(R.string.notification_mesh_mention_title_singular)
} else {
"$messageCount mentions in Mesh Chat"
context.getString(R.string.notification_mesh_mention_title_plural, messageCount)
}
val contentText = "${latestNotification.senderNickname}: ${latestNotification.messageContent}"
@@ -710,7 +714,8 @@ class NotificationManager(
}
if (messageCount > 5) {
style.setSummaryText("and ${messageCount - 5} more")
val extra = messageCount - 5
style.setSummaryText(context.resources.getQuantityString(R.plurals.notification_and_more, extra, extra))
}
builder.setStyle(style)
@@ -15,6 +15,8 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.bitchat.android.nostr.NostrProofOfWork
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
import com.bitchat.android.nostr.PoWPreferenceManager
/**
@@ -54,7 +56,7 @@ fun PoWStatusIndicator(
Icon(
imageVector = Icons.Filled.Security,
contentDescription = "Mining PoW",
contentDescription = stringResource(R.string.cd_mining_pow),
tint = Color(0xFFFF9500), // Orange for mining
modifier = Modifier
.size(12.dp)
@@ -63,7 +65,7 @@ fun PoWStatusIndicator(
} else {
Icon(
imageVector = Icons.Filled.Security,
contentDescription = "PoW Enabled",
contentDescription = stringResource(R.string.cd_pow_enabled),
tint = if (isDark) Color(0xFF32D74B) else Color(0xFF248A3D), // Green when ready
modifier = Modifier.size(12.dp)
)
@@ -85,7 +87,7 @@ fun PoWStatusIndicator(
// PoW icon
Icon(
imageVector = Icons.Filled.Security,
contentDescription = "Proof of Work",
contentDescription = stringResource(R.string.cd_proof_of_work),
tint = if (isMining) Color(0xFFFF9500) else {
if (isDark) Color(0xFF32D74B) else Color(0xFF248A3D)
},
@@ -95,9 +97,9 @@ fun PoWStatusIndicator(
// Status text
Text(
text = if (isMining) {
"mining..."
stringResource(R.string.pow_mining_ellipsis)
} else {
"pow: ${powDifficulty}bit"
stringResource(R.string.pow_label_format, powDifficulty)
},
fontSize = 11.sp,
fontFamily = FontFamily.Monospace,
@@ -109,7 +111,7 @@ fun PoWStatusIndicator(
// Time estimate
if (!isMining && powDifficulty > 0) {
Text(
text = "(~${NostrProofOfWork.estimateMiningTime(powDifficulty)})",
text = stringResource(R.string.pow_time_estimate, NostrProofOfWork.estimateMiningTime(powDifficulty)),
fontSize = 9.sp,
fontFamily = FontFamily.Monospace,
color = colorScheme.onSurface.copy(alpha = 0.5f)
@@ -237,7 +237,7 @@ fun ChannelsSection(
) {
Icon(
imageVector = Icons.Default.Close,
contentDescription = "Leave channel",
contentDescription = stringResource(com.bitchat.android.R.string.cd_leave_channel),
modifier = Modifier.size(14.dp),
tint = colorScheme.onSurface.copy(alpha = 0.5f)
)
@@ -552,7 +552,7 @@ private fun PeerItem(
// Show mail icon for unread DMs (iOS orange)
Icon(
imageVector = Icons.Filled.Email,
contentDescription = "Unread message",
contentDescription = stringResource(com.bitchat.android.R.string.cd_unread_message),
modifier = Modifier.size(16.dp),
tint = Color(0xFFFF9500) // iOS orange
)
@@ -562,7 +562,7 @@ private fun PeerItem(
// Purple globe to indicate Nostr availability
Icon(
imageVector = Icons.Filled.Public,
contentDescription = "Reachable via Nostr",
contentDescription = stringResource(com.bitchat.android.R.string.cd_reachable_via_nostr),
modifier = Modifier.size(16.dp),
tint = Color(0xFF9C27B0) // Purple
)
@@ -571,7 +571,7 @@ private fun PeerItem(
Icon(
//painter = androidx.compose.ui.res.painterResource(id = R.drawable.ic_offline_favorite),
imageVector = Icons.Outlined.Circle,
contentDescription = "Offline favorite",
contentDescription = stringResource(com.bitchat.android.R.string.cd_offline_favorite),
modifier = Modifier.size(16.dp),
tint = Color.Gray
)
@@ -15,6 +15,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.platform.LocalHapticFeedback
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
import androidx.compose.ui.unit.dp
@@ -129,7 +130,7 @@ fun VoiceRecordButton(
) {
Icon(
imageVector = Icons.Filled.Mic,
contentDescription = "Record voice note",
contentDescription = stringResource(com.bitchat.android.R.string.cd_record_voice),
tint = Color.Black,
modifier = Modifier.size(20.dp)
)
@@ -25,6 +25,8 @@ import androidx.compose.ui.unit.sp
import androidx.compose.ui.draw.rotate
import com.bitchat.android.mesh.BluetoothMeshService
import kotlinx.coroutines.launch
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
@OptIn(ExperimentalMaterial3Api::class)
@Composable
@@ -97,10 +99,10 @@ fun DebugSettingsSheet(
item {
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp)) {
Icon(Icons.Filled.BugReport, contentDescription = null, tint = Color(0xFFFF9500))
Text("debug tools", fontFamily = FontFamily.Monospace, fontSize = 18.sp, fontWeight = FontWeight.Medium)
Text(stringResource(R.string.debug_tools), fontFamily = FontFamily.Monospace, fontSize = 18.sp, fontWeight = FontWeight.Medium)
}
Text(
text = "developer utilities for diagnostics and control",
text = stringResource(R.string.debug_tools_desc),
fontFamily = FontFamily.Monospace,
fontSize = 12.sp,
color = colorScheme.onSurface.copy(alpha = 0.7f)
@@ -113,12 +115,12 @@ fun DebugSettingsSheet(
Column(Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(10.dp)) {
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp)) {
Icon(Icons.Filled.SettingsEthernet, contentDescription = null, tint = Color(0xFF00C851))
Text("verbose logging", fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
Text(stringResource(R.string.debug_verbose_logging), fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
Spacer(Modifier.weight(1f))
Switch(checked = verboseLogging, onCheckedChange = { manager.setVerboseLoggingEnabled(it) })
}
Text(
"logs peer joins/leaves, connection direction, packet routing and relays",
stringResource(R.string.debug_verbose_hint),
fontFamily = FontFamily.Monospace,
fontSize = 11.sp,
color = colorScheme.onSurface.copy(alpha = 0.7f)
@@ -133,10 +135,10 @@ fun DebugSettingsSheet(
Column(Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(12.dp)) {
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp)) {
Icon(Icons.Filled.Bluetooth, contentDescription = null, tint = Color(0xFF007AFF))
Text("bluetooth roles", fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
Text(stringResource(R.string.debug_bluetooth_roles), fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
}
Row(verticalAlignment = Alignment.CenterVertically) {
Text("gatt server", fontFamily = FontFamily.Monospace, modifier = Modifier.weight(1f))
Text(stringResource(R.string.debug_gatt_server), fontFamily = FontFamily.Monospace, modifier = Modifier.weight(1f))
Switch(checked = gattServerEnabled, onCheckedChange = {
manager.setGattServerEnabled(it)
scope.launch {
@@ -145,9 +147,9 @@ fun DebugSettingsSheet(
})
}
val serverCount = connectedDevices.count { it.connectionType == ConnectionType.GATT_SERVER }
Text("connections: $serverCount / $maxServer", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Text(stringResource(R.string.debug_connections_fmt, serverCount, maxServer), fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Row(verticalAlignment = Alignment.CenterVertically) {
Text("max server", fontFamily = FontFamily.Monospace, modifier = Modifier.width(90.dp))
Text(stringResource(R.string.debug_max_server), fontFamily = FontFamily.Monospace, modifier = Modifier.width(90.dp))
Slider(
value = maxServer.toFloat(),
onValueChange = { manager.setMaxServerConnections(it.toInt().coerceAtLeast(1)) },
@@ -156,7 +158,7 @@ fun DebugSettingsSheet(
)
}
Row(verticalAlignment = Alignment.CenterVertically) {
Text("gatt client", fontFamily = FontFamily.Monospace, modifier = Modifier.weight(1f))
Text(stringResource(R.string.debug_gatt_client), fontFamily = FontFamily.Monospace, modifier = Modifier.weight(1f))
Switch(checked = gattClientEnabled, onCheckedChange = {
manager.setGattClientEnabled(it)
scope.launch {
@@ -165,9 +167,9 @@ fun DebugSettingsSheet(
})
}
val clientCount = connectedDevices.count { it.connectionType == ConnectionType.GATT_CLIENT }
Text("connections: $clientCount / $maxClient", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Text(stringResource(R.string.debug_connections_fmt, clientCount, maxClient), fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Row(verticalAlignment = Alignment.CenterVertically) {
Text("max client", fontFamily = FontFamily.Monospace, modifier = Modifier.width(90.dp))
Text(stringResource(R.string.debug_max_client), fontFamily = FontFamily.Monospace, modifier = Modifier.width(90.dp))
Slider(
value = maxClient.toFloat(),
onValueChange = { manager.setMaxClientConnections(it.toInt().coerceAtLeast(1)) },
@@ -176,9 +178,9 @@ fun DebugSettingsSheet(
)
}
val overallCount = connectedDevices.size
Text("connections: $overallCount / $maxOverall", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Text(stringResource(R.string.debug_overall_connections_fmt, overallCount, maxOverall), fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Row(verticalAlignment = Alignment.CenterVertically) {
Text("max overall", fontFamily = FontFamily.Monospace, modifier = Modifier.width(90.dp))
Text(stringResource(R.string.debug_max_overall), fontFamily = FontFamily.Monospace, modifier = Modifier.width(90.dp))
Slider(
value = maxOverall.toFloat(),
onValueChange = { manager.setMaxConnectionsOverall(it.toInt().coerceAtLeast(1)) },
@@ -187,7 +189,7 @@ fun DebugSettingsSheet(
)
}
Text(
"turn roles on/off and close all connections when disabled",
stringResource(R.string.debug_roles_hint),
fontFamily = FontFamily.Monospace,
fontSize = 11.sp,
color = colorScheme.onSurface.copy(alpha = 0.7f)
@@ -202,12 +204,12 @@ fun DebugSettingsSheet(
Column(Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(12.dp)) {
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp)) {
Icon(Icons.Filled.PowerSettingsNew, contentDescription = null, tint = Color(0xFFFF9500))
Text("packet relay", fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
Text(stringResource(R.string.debug_packet_relay), fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
Spacer(Modifier.weight(1f))
Switch(checked = packetRelayEnabled, onCheckedChange = { manager.setPacketRelayEnabled(it) })
}
Text("since start: ${relayStats.totalRelaysCount}", fontFamily = FontFamily.Monospace, fontSize = 11.sp)
Text("last 10s: ${relayStats.last10SecondRelays} • 1m: ${relayStats.lastMinuteRelays} • 15m: ${relayStats.last15MinuteRelays}", fontFamily = FontFamily.Monospace, fontSize = 11.sp)
Text(stringResource(R.string.debug_since_start_fmt, relayStats.totalRelaysCount), fontFamily = FontFamily.Monospace, fontSize = 11.sp)
Text(stringResource(R.string.debug_relays_window_fmt, relayStats.last10SecondRelays, relayStats.lastMinuteRelays, relayStats.last15MinuteRelays), fontFamily = FontFamily.Monospace, fontSize = 11.sp)
// Realtime graph: per-second relays, full-width canvas, bottom-up bars, fast decay
var series by remember { mutableStateOf(List(60) { 0f }) }
LaunchedEffect(isPresented) {
@@ -295,15 +297,15 @@ fun DebugSettingsSheet(
Icon(Icons.Filled.SettingsEthernet, contentDescription = null, tint = Color(0xFF9C27B0))
Text("sync settings", fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
}
Text("max packets per sync: $seenCapacity", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Text(stringResource(R.string.debug_max_packets_per_sync_fmt, seenCapacity), fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Slider(value = seenCapacity.toFloat(), onValueChange = { manager.setSeenPacketCapacity(it.toInt()) }, valueRange = 10f..1000f, steps = 99)
Text("max GCS filter size: $gcsMaxBytes bytes (1281024)", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Text(stringResource(R.string.debug_max_gcs_filter_size_fmt, gcsMaxBytes), fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Slider(value = gcsMaxBytes.toFloat(), onValueChange = { manager.setGcsMaxBytes(it.toInt()) }, valueRange = 128f..1024f, steps = 0)
Text("target FPR: ${String.format("%.2f", gcsFpr)}%", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Text(stringResource(R.string.debug_target_fpr_fmt, String.format("%.2f", gcsFpr)), fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Slider(value = gcsFpr.toFloat(), onValueChange = { manager.setGcsFprPercent(it.toDouble()) }, valueRange = 0.1f..5.0f, steps = 49)
val p = remember(gcsFpr) { com.bitchat.android.sync.GCSFilter.deriveP(gcsFpr / 100.0) }
val nmax = remember(gcsFpr, gcsMaxBytes) { com.bitchat.android.sync.GCSFilter.estimateMaxElementsForSize(gcsMaxBytes, p) }
Text("derived P: $p • est. max elements: $nmax", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Text(stringResource(R.string.debug_derived_p_fmt, p, nmax), fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
}
}
}
@@ -314,10 +316,10 @@ fun DebugSettingsSheet(
Column(Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) {
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp)) {
Icon(Icons.Filled.Devices, contentDescription = null, tint = Color(0xFF4CAF50))
Text("connected devices", fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
Text(stringResource(R.string.debug_connected_devices), fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
}
val localAddr = remember { meshService.connectionManager.getLocalAdapterAddress() }
Text("our device id: ${localAddr ?: "unknown"}", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Text(stringResource(R.string.debug_our_device_id_fmt, localAddr ?: stringResource(R.string.unknown)), fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
if (connectedDevices.isEmpty()) {
Text("none", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.6f))
} else {
@@ -325,11 +327,11 @@ fun DebugSettingsSheet(
Surface(shape = RoundedCornerShape(8.dp), color = colorScheme.surface.copy(alpha = 0.6f)) {
Row(Modifier.fillMaxWidth().padding(10.dp), verticalAlignment = Alignment.CenterVertically) {
Column(Modifier.weight(1f)) {
Text("${dev.peerID ?: "unknown"}${dev.deviceAddress}", fontFamily = FontFamily.Monospace, fontSize = 12.sp)
val roleLabel = if (dev.connectionType == ConnectionType.GATT_SERVER) "as server (we host)" else "as client (we connect)"
Text("${dev.nickname ?: ""}RSSI: ${dev.rssi ?: "?"}$roleLabel${if (dev.isDirectConnection) " • direct" else ""}", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Text((dev.peerID ?: stringResource(R.string.unknown)) + "${dev.deviceAddress}", fontFamily = FontFamily.Monospace, fontSize = 12.sp)
val roleLabel = if (dev.connectionType == ConnectionType.GATT_SERVER) stringResource(R.string.debug_role_server) else stringResource(R.string.debug_role_client)
Text("${dev.nickname ?: ""}" + stringResource(R.string.debug_rssi_fmt, dev.rssi ?: stringResource(R.string.debug_question_mark)) + "$roleLabel" + (if (dev.isDirectConnection) stringResource(R.string.debug_direct_suffix) else ""), fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
}
Text("disconnect", color = Color(0xFFBF1A1A), fontFamily = FontFamily.Monospace, modifier = Modifier.clickable {
Text(stringResource(R.string.debug_disconnect), color = Color(0xFFBF1A1A), fontFamily = FontFamily.Monospace, modifier = Modifier.clickable {
meshService.connectionManager.disconnectAddress(dev.deviceAddress)
})
}
@@ -346,19 +348,19 @@ fun DebugSettingsSheet(
Column(Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) {
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp)) {
Icon(Icons.Filled.Bluetooth, contentDescription = null, tint = Color(0xFF007AFF))
Text("recent scan results", fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
Text(stringResource(R.string.debug_recent_scan_results), fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
}
if (scanResults.isEmpty()) {
Text("none", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.6f))
Text(stringResource(R.string.debug_none), fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.6f))
} else {
scanResults.forEach { res ->
Surface(shape = RoundedCornerShape(8.dp), color = colorScheme.surface.copy(alpha = 0.6f)) {
Row(Modifier.fillMaxWidth().padding(10.dp), verticalAlignment = Alignment.CenterVertically) {
Column(Modifier.weight(1f)) {
Text("${res.peerID ?: "unknown"}${res.deviceAddress}", fontFamily = FontFamily.Monospace, fontSize = 12.sp)
Text("${res.deviceName ?: ""} • RSSI: ${res.rssi}", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
Text((res.peerID ?: stringResource(R.string.unknown)) + "${res.deviceAddress}", fontFamily = FontFamily.Monospace, fontSize = 12.sp)
Text(stringResource(R.string.debug_rssi_fmt, res.rssi.toString()), fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.7f))
}
Text("connect", color = Color(0xFF00C851), fontFamily = FontFamily.Monospace, modifier = Modifier.clickable {
Text(stringResource(R.string.debug_connect), color = Color(0xFF00C851), fontFamily = FontFamily.Monospace, modifier = Modifier.clickable {
meshService.connectionManager.connectToAddress(res.deviceAddress)
})
}
@@ -375,9 +377,9 @@ fun DebugSettingsSheet(
Column(Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) {
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp)) {
Icon(Icons.Filled.BugReport, contentDescription = null, tint = Color(0xFFFF9500))
Text("debug console", fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
Text(stringResource(R.string.debug_debug_console), fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
Spacer(Modifier.weight(1f))
Text("clear", color = Color(0xFFBF1A1A), fontFamily = FontFamily.Monospace, modifier = Modifier.clickable {
Text(stringResource(R.string.debug_clear), color = Color(0xFFBF1A1A), fontFamily = FontFamily.Monospace, modifier = Modifier.clickable {
manager.clearDebugMessages()
})
}
@@ -19,6 +19,8 @@ import androidx.compose.ui.platform.LocalHapticFeedback
import androidx.compose.ui.text.TextLayoutResult
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.unit.dp
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
import com.bitchat.android.mesh.BluetoothMeshService
import com.bitchat.android.model.BitchatMessage
import androidx.compose.material3.ColorScheme
@@ -91,7 +93,7 @@ fun AudioMessageItem(
.clickable { onCancelTransfer?.invoke(message) },
contentAlignment = Alignment.Center
) {
Icon(imageVector = Icons.Filled.Close, contentDescription = "Cancel", tint = Color.White, modifier = Modifier.size(16.dp))
Icon(imageVector = Icons.Filled.Close, contentDescription = stringResource(R.string.cd_cancel), tint = Color.White, modifier = Modifier.size(16.dp))
}
}
}
@@ -19,6 +19,8 @@ import androidx.compose.material3.CardDefaults
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
@@ -28,6 +30,7 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import com.bitchat.android.features.file.FileUtils
import com.bitchat.android.model.BitchatFilePacket
@@ -60,7 +63,7 @@ fun FileMessageItem(
// File icon
Icon(
imageVector = Icons.Filled.Description,
contentDescription = "File",
contentDescription = stringResource(com.bitchat.android.R.string.cd_file),
tint = getFileIconColor(packet.fileName),
modifier = Modifier.size(32.dp)
)
@@ -14,6 +14,8 @@ import androidx.compose.ui.draw.rotate
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dp
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
import com.bitchat.android.features.file.FileUtils
@Composable
@@ -44,7 +46,7 @@ fun FilePickerButton(
) {
Icon(
imageVector = Icons.Filled.Attachment,
contentDescription = "Pick file",
contentDescription = stringResource(R.string.cd_pick_file),
tint = Color.Gray,
modifier = Modifier.size(20.dp).rotate(90f)
)
@@ -28,6 +28,9 @@ import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.drawscope.Stroke
import androidx.compose.ui.unit.dp
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
import kotlinx.coroutines.delay
/**
@@ -77,7 +80,7 @@ fun FileSendingAnimation(
// File icon
Icon(
imageVector = Icons.Filled.Description,
contentDescription = "File",
contentDescription = stringResource(R.string.cd_file),
tint = Color(0xFF00C851), // Green like app theme
modifier = Modifier.size(32.dp)
)
@@ -102,7 +105,7 @@ fun FileSendingAnimation(
// Blinking cursor (only if not fully revealed)
if (animatedChars < fileName.length && showCursor) {
androidx.compose.material3.Text(
text = "_",
text = stringResource(R.string.underscore),
style = MaterialTheme.typography.bodyMedium.copy(
fontFamily = androidx.compose.ui.text.font.FontFamily.Monospace,
color = Color.White
@@ -132,10 +135,12 @@ private fun FileProgressBars(
val filledBars = (progress * bars).toInt()
// Create a matrix-style progress bar string
val ctx = LocalContext.current
val progressString = buildString {
val brackets = ctx.getString(R.string.progress_bar_brackets, "", 0)
append("[")
for (i in 0 until bars) {
append(if (i < filledBars) "" else "")
append(if (i < filledBars) ctx.getString(R.string.progress_filled) else ctx.getString(R.string.progress_empty))
}
append("] ")
append("${(progress * 100).toInt()}%")
@@ -20,9 +20,11 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import com.bitchat.android.R
import com.bitchat.android.features.file.FileUtils
import com.bitchat.android.model.BitchatFilePacket
import kotlinx.coroutines.launch
@@ -54,7 +56,7 @@ fun FileViewerDialog(
) {
// File received header
Text(
text = "📎 File Received",
text = stringResource(R.string.file_viewer_title),
style = MaterialTheme.typography.headlineSmall,
color = MaterialTheme.colorScheme.primary
)
@@ -65,17 +67,17 @@ fun FileViewerDialog(
horizontalAlignment = Alignment.Start
) {
Text(
text = "📄 ${packet.fileName}",
text = stringResource(R.string.file_viewer_name, packet.fileName),
style = MaterialTheme.typography.bodyLarge,
fontWeight = androidx.compose.ui.text.font.FontWeight.Medium
)
Text(
text = "📏 Size: ${FileUtils.formatFileSize(packet.fileSize)}",
text = stringResource(R.string.file_viewer_size, FileUtils.formatFileSize(packet.fileSize)),
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
Text(
text = "🏷️ Type: ${packet.mimeType}",
text = stringResource(R.string.file_viewer_type, packet.mimeType),
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.onSurfaceVariant
)
@@ -108,7 +110,7 @@ fun FileViewerDialog(
containerColor = MaterialTheme.colorScheme.primary
)
) {
Text("📂 Open / Save")
Text(stringResource(R.string.file_viewer_open_save))
}
// Dismiss button
@@ -119,7 +121,7 @@ fun FileViewerDialog(
containerColor = MaterialTheme.colorScheme.secondary
)
) {
Text("❌ Close")
Text(stringResource(R.string.close_with_emoji))
}
}
}
@@ -32,6 +32,8 @@ import androidx.compose.foundation.Image
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.DialogProperties
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
import java.io.File
/**
@@ -75,13 +77,13 @@ fun FullScreenImageViewer(imagePaths: List<String>, initialIndex: Int = 0, onClo
bmp?.let {
androidx.compose.foundation.Image(
bitmap = it.asImageBitmap(),
contentDescription = "Image ${page + 1} of ${imagePaths.size}",
contentDescription = stringResource(R.string.cd_image_index_of, page + 1, imagePaths.size),
modifier = Modifier.fillMaxSize(),
contentScale = ContentScale.Fit
)
} ?: run {
Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
Text(text = "Image unavailable", color = Color.White)
Text(text = stringResource(R.string.image_unavailable), color = Color.White)
}
}
}
@@ -96,7 +98,7 @@ fun FullScreenImageViewer(imagePaths: List<String>, initialIndex: Int = 0, onClo
.padding(horizontal = 12.dp, vertical = 4.dp)
) {
Text(
text = "${(pagerState.currentPage ?: 0) + 1} / ${imagePaths.size}",
text = stringResource(R.string.image_counter, (pagerState.currentPage ?: 0) + 1, imagePaths.size),
color = Color.White,
fontSize = 14.sp,
fontFamily = androidx.compose.ui.text.font.FontFamily.Monospace
@@ -118,7 +120,7 @@ fun FullScreenImageViewer(imagePaths: List<String>, initialIndex: Int = 0, onClo
.clickable { saveToDownloads(context, imagePaths[pagerState.currentPage].toString()) },
contentAlignment = Alignment.Center
) {
androidx.compose.material3.Icon(Icons.Filled.Download, "Save current image", tint = Color.White)
androidx.compose.material3.Icon(Icons.Filled.Download, stringResource(R.string.cd_save_current_image), tint = Color.White)
}
Spacer(Modifier.width(12.dp))
Box(
@@ -128,7 +130,7 @@ fun FullScreenImageViewer(imagePaths: List<String>, initialIndex: Int = 0, onClo
.clickable { onClose() },
contentAlignment = Alignment.Center
) {
androidx.compose.material3.Icon(Icons.Filled.Close, "Close", tint = Color.White)
androidx.compose.material3.Icon(Icons.Filled.Close, stringResource(R.string.cd_close), tint = Color.White)
}
}
}
@@ -161,10 +163,10 @@ private fun saveToDownloads(context: android.content.Context, path: String) {
context.contentResolver.update(uri, v2, null, null)
}
// Show toast message indicating the image has been saved
Toast.makeText(context, "Image saved to Downloads", Toast.LENGTH_SHORT).show()
Toast.makeText(context, context.getString(R.string.toast_image_saved), Toast.LENGTH_SHORT).show()
}
}.onFailure {
// Optionally handle failure case (e.g., show error toast)
Toast.makeText(context, "Failed to save image", Toast.LENGTH_SHORT).show()
Toast.makeText(context, context.getString(R.string.toast_failed_to_save_image), Toast.LENGTH_SHORT).show()
}
}
@@ -16,15 +16,17 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.draw.clip
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
import androidx.compose.ui.platform.LocalHapticFeedback
import androidx.compose.ui.text.TextLayoutResult
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.text.font.FontFamily
import com.bitchat.android.mesh.BluetoothMeshService
import com.bitchat.android.model.BitchatMessage
import com.bitchat.android.model.BitchatMessageType
@@ -113,7 +115,7 @@ fun ImageMessageItem(
// Fully revealed image
Image(
bitmap = img,
contentDescription = "Image",
contentDescription = stringResource(com.bitchat.android.R.string.cd_image),
modifier = Modifier
.widthIn(max = 300.dp)
.aspectRatio(aspect)
@@ -137,13 +139,13 @@ fun ImageMessageItem(
.clickable { onCancelTransfer?.invoke(message) },
contentAlignment = Alignment.Center
) {
Icon(imageVector = Icons.Filled.Close, contentDescription = "Cancel", tint = Color.White, modifier = Modifier.size(14.dp))
Icon(imageVector = Icons.Filled.Close, contentDescription = stringResource(com.bitchat.android.R.string.cd_cancel), tint = Color.White, modifier = Modifier.size(14.dp))
}
}
}
}
} else {
Text(text = "[image unavailable]", fontFamily = FontFamily.Monospace, color = Color.Gray)
Text(text = stringResource(com.bitchat.android.R.string.image_unavailable), fontFamily = FontFamily.Monospace, color = Color.Gray)
}
}
}
@@ -11,6 +11,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import com.bitchat.android.features.media.ImageUtils
@@ -35,7 +36,7 @@ fun ImagePickerButton(
) {
Icon(
imageVector = Icons.Filled.Photo,
contentDescription = "Pick image",
contentDescription = stringResource(com.bitchat.android.R.string.pick_image),
tint = Color.Gray,
modifier = Modifier.size(20.dp)
)
@@ -26,6 +26,8 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import androidx.compose.ui.res.stringResource
import com.bitchat.android.R
/**
* Media picker that offers image and file options
@@ -53,7 +55,7 @@ fun MediaPickerOptions(
) {
Icon(
imageVector = Icons.Filled.Add,
contentDescription = "Pick media",
contentDescription = stringResource(R.string.cd_pick_media),
tint = Color.Black,
modifier = Modifier.size(20.dp)
)
@@ -98,7 +100,7 @@ fun MediaPickerOptions(
modifier = Modifier.size(16.dp)
)
androidx.compose.material3.Text(
text = "Image",
text = stringResource(R.string.media_type_image),
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onPrimaryContainer
)
@@ -126,7 +128,7 @@ fun MediaPickerOptions(
modifier = Modifier.size(16.dp)
)
androidx.compose.material3.Text(
text = "File",
text = stringResource(R.string.media_type_file),
style = MaterialTheme.typography.bodySmall,
color = MaterialTheme.colorScheme.onSecondaryContainer
)
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- مبررات الأذونات -->
<string name="permission_bluetooth_rationale">إذن البلوتوث مطلوب للدردشة مباشرة مع الآخرين بدون إنترنت.</string>
<string name="permission_location_rationale">إذن الموقع مطلوب للعثور على الأجهزة القريبة عبر البلوتوث.</string>
<string name="permission_notification_rationale">إذن الإشعارات مطلوب لتنبيهك بالرسائل الجديدة.</string>
<!-- عناصر نائبة / واجهة أساسية -->
<string name="nickname_hint">اسم مستعار</string>
<string name="message_hint">اكتب رسالة…</string>
<string name="channel_password_hint">كلمة المرور</string>
<string name="join_channel">الانضمام إلى القناة</string>
<string name="leave_channel">مغادرة</string>
<string name="send_message">إرسال</string>
<string name="show_commands">عرض الأوامر</string>
<string name="back">رجوع</string>
<string name="people">أشخاص</string>
<string name="channels">القنوات</string>
<string name="online_users">مستخدمون متصلون</string>
<string name="no_one_connected">لا أحد متصل</string>
<string name="emergency_clear_hint">انقر ثلاث مرات لمسح جميع البيانات</string>
<string name="your_network">شبكتك</string>
<!-- تحسين البطارية -->
<string name="battery_optimization_detected">تم اكتشاف تحسين البطارية</string>
<string name="battery_optimization_disabled">تحسين البطارية معطّل</string>
<string name="battery_optimization_not_required">لا حاجة لتحسين البطارية</string>
<string name="battery_optimization_checking">جارٍ التحقق من تحسين البطارية</string>
<string name="battery_optimization_why_disable">لماذا تعطيل تحسين البطارية؟</string>
<string name="battery_optimization_explanation">تعمل bitchat في الخلفية للحفاظ على اتصالات الشبكة المتشابكة مع الأجهزة القريبة. قد يقطع تحسين البطارية هذه الاتصالات مما يؤدي إلى تأخير الرسائل أو فقدانها.\n\nيساعد تعطيل تحسين البطارية في ضمان اتصال موثوق بين النظراء.</string>
<string name="battery_optimization_disable_button">تعطيل تحسين البطارية</string>
<string name="battery_optimization_note">ملاحظة: يمكنك تغيير ذلك لاحقًا من إعدادات أندرويد &gt; التطبيقات &gt; bitchat &gt; البطارية.</string>
<string name="battery_optimization_not_supported_explanation">جهازك لا يحتاج إلى إعدادات تحسين البطارية. ستعمل bitchat بشكل طبيعي.</string>
<string name="battery_optimization_not_supported_message">جهازك لا يحتاج إلى إعدادات تحسين البطارية. ستعمل bitchat بشكل طبيعي.</string>
<string name="battery_optimization_success_message">يمكن لـ bitchat العمل بشكل موثوق في الخلفية</string>
<string name="battery_optimization_benefits">• تسليم موثوق للرسائل\n• الحفاظ على اتصال الشبكة المتشابكة\n• تمرير الرسائل في الخلفية\n• منع انقطاع الاتصال</string>
<string name="battery_optimization_check_again">التحقق مرة أخرى</string>
<string name="battery_optimization_skip">تخطي الآن</string>
<string name="battery_optimization_continue">متابعة</string>
<string name="retry">إعادة المحاولة</string>
<string name="skip">تخطي</string>
<!-- الإشعارات -->
<string name="notification_summary_more">و%1$d إضافية</string>
<string name="notification_messages_from_people">%1$d رسالة من %2$d أشخاص</string>
<string name="notification_more_conversations">و%1$d محادثات أخرى</string>
<string name="notification_active_peers_title">👥 مستخدمون قريبون!</string>
<string name="notification_active_peers_one">شخص واحد قريب</string>
<string name="notification_active_peers_many">%1$d أشخاص قريبون</string>
<string name="notification_new_messages">رسائل جديدة</string>
<string name="notification_new_location_messages">رسائل موقع جديدة</string>
<string name="notification_mentions_in">تم ذكرك في %1$s</string>
<string name="notification_mentions_in_more">تم ذكرك في %1$s (+%2$d أخرى)</string>
<string name="notification_mentions_in_plural">%1$d من الإشارات في %2$s</string>
<string name="notification_new_activity_in">نشاط جديد في %1$s</string>
<string name="notification_messages_in">رسائل في %1$s</string>
<string name="notification_joined_conversation">%1$s انضم إلى المحادثة</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d إشارات</string>
<string name="notification_geohash_summary_title">bitchat – محادثات المواقع</string>
<string name="notification_geohash_summary_text">%1$d رسائل من %2$d مواقع</string>
<string name="notification_mesh_mention_title_singular">تم ذكرك في محادثة الشبكة</string>
<string name="notification_mesh_mention_title_plural">%1$d من الإشارات في محادثة الشبكة</string>
<string name="notification_more_locations">و%1$d مواقع أخرى</string>
<string name="notification_and_more">و%1$d إضافية</string>
<!-- سهولة الوصول للمفضلة -->
<string name="cd_add_favorite">إضافة إلى المفضلة</string>
<string name="cd_remove_favorite">إزالة من المفضلة</string>
<string name="cd_add_bookmark">إضافة إشارة مرجعية</string>
<!-- ترويسة الدردشة وسهولة الوصول -->
<string name="chat_back">رجوع</string>
<string name="chat_channel_prefix">القناة: %1$s</string>
<string name="chat_leave">مغادرة</string>
<string name="cd_nostr_reachable">يمكن الوصول عبر Nostr</string>
<string name="cd_unread_private_messages">رسائل خاصة غير مقروءة</string>
<string name="cd_toggle_bookmark">تبديل الإشارة المرجعية</string>
<string name="cd_teleported">تم الانتقال</string>
<string name="cd_tor_status">حالة Tor</string>
<string name="cd_connected_peers">الأقران المتصلون</string>
<string name="cd_geohash_participants">مشاركو geohash</string>
<string name="cd_ready_for_handshake">جاهز للمصافحة</string>
<string name="cd_handshake_in_progress">المصافحة جارية</string>
<string name="cd_encrypted">تشفير طرف إلى طرف</string>
<string name="cd_handshake_failed">فشلت المصافحة</string>
<!-- مربع عرض الملفات -->
<string name="file_viewer_title">📎 تم استلام ملف</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 الحجم: %1$s</string>
<string name="file_viewer_type">🏷️ النوع: %1$s</string>
<string name="file_viewer_open_save">📂 فتح / حفظ</string>
<string name="close_with_emoji">❌ إغلاق</string>
<string name="pick_image">اختيار صورة</string>
<!-- ورقة حول التطبيق -->
<string name="about_tagline">دردشة شبكية لامركزية مع تشفير طرف إلى طرف</string>
<string name="about_offline_mesh_title">دردشة شبكية دون اتصال</string>
<string name="about_offline_mesh_desc">تواصل مباشرة عبر Bluetooth LE بدون إنترنت أو خوادم. تُعاد توجيه الرسائل عبر الأجهزة القريبة لتوسيع النطاق.</string>
<string name="about_online_geohash_title">قنوات geohash عبر الإنترنت</string>
<string name="about_online_geohash_desc">تواصل مع أشخاص بالقرب منك عبر قنوات تعتمد على geohash. وسّع الشبكة عبر مرحلات الإنترنت العامة.</string>
<string name="about_e2e_title">تشفير طرف إلى طرف</string>
<string name="about_e2e_desc">الرسائل الخاصة مشفّرة. رسائل القنوات عامة.</string>
<string name="about_appearance">المظهر</string>
<string name="about_system">النظام</string>
<string name="about_light">فاتح</string>
<string name="about_dark">داكن</string>
<string name="about_pow">برهان العمل</string>
<string name="about_pow_off">PoW معطّل</string>
<string name="about_pow_on">PoW مفعّل</string>
<string name="about_pow_tip">أضف برهان العمل لرسائل geohash للحد من الرسائل المزعجة.</string>
<string name="about_pow_difficulty">الصعوبة: %1$d بت (~%2$s)</string>
<string name="about_pow_difficulty_attempts">الصعوبة %1$d تتطلب ~%2$s من محاولات الهاش</string>
<string name="about_pow_desc_none">لا حاجة لبرهان العمل</string>
<string name="about_pow_desc_very_low">منخفض جدًا – حماية دنيا من الرسائل المزعجة</string>
<string name="about_pow_desc_low">منخفض – حماية أساسية</string>
<string name="about_pow_desc_medium">متوسط حماية جيدة</string>
<string name="about_pow_desc_high">عالٍ حماية قوية</string>
<string name="about_pow_desc_very_high">عالٍ جدًا – قد يسبب تأخيرًا</string>
<string name="about_pow_desc_extreme">شديد – يتطلب قدرة حوسبية كبيرة</string>
<string name="about_network">الشبكة</string>
<string name="about_tor_off">Tor معطّل</string>
<string name="about_tor_on">Tor مفعّل</string>
<string name="about_tor_route">توجيه حركة الإنترنت عبر Tor لمزيد من الخصوصية.</string>
<string name="about_tor_status">حالة Tor: %1$s، التمهيد %2$d%%</string>
<string name="about_last">آخر: %1$s</string>
<string name="about_emergency_title">مسح البيانات الطارئ</string>
<string name="about_emergency_tip">تلميح: انقر ثلاث مرات على عنوان التطبيق لمسح كل البيانات المحفوظة – بما في ذلك الرسائل والمفاتيح والإعدادات.</string>
<string name="about_debug_settings">إعدادات التصحيح</string>
<string name="about_footer">مفتوح المصدر • الخصوصية أولاً • لامركزي</string>
<string name="close_plain">إغلاق</string>
<string name="cancel_lower">إلغاء</string>
<!-- أوصاف عامة للمحتوى -->
<string name="cd_warning">تحذير</string>
<string name="cd_location_services">خدمات الموقع</string>
<string name="cd_privacy">الخصوصية</string>
<string name="cd_error">خطأ</string>
<string name="cd_battery_optimization">تحسين البطارية</string>
<string name="cd_benefits">الفوائد</string>
<string name="cd_checking_battery_optimization">جارٍ التحقق من تحسين البطارية</string>
<string name="cd_not_supported_battery_optimization">تحسين البطارية غير مدعوم</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">رسالة غير مقروءة</string>
<string name="cd_open_map">فتح الخريطة</string>
<string name="cd_remove_bookmark">إزالة الإشارة المرجعية</string>
<string name="cd_teleport">انتقال</string>
<string name="cd_selected">محدد</string>
<string name="cd_leave_channel">مغادرة القناة</string>
<string name="cd_reachable_via_nostr">يمكن الوصول عبر Nostr</string>
<string name="cd_offline_favorite">مفضل (غير متصل)</string>
<string name="cd_decrease_precision">خفض الدقة</string>
<string name="cd_increase_precision">رفع الدقة</string>
<string name="cd_select_geohash">اختر geohash</string>
<string name="cd_scroll_to_bottom">التمرير إلى الأسفل</string>
<string name="cd_file">ملف</string>
<string name="cd_image">صورة</string>
<string name="cd_cancel">إلغاء</string>
<string name="cd_link">رابط</string>
<string name="cd_pick_media">اختيار وسائط</string>
<string name="cd_pick_file">اختيار ملف</string>
<string name="cd_save_current_image">حفظ الصورة الحالية</string>
<string name="cd_close">إغلاق</string>
<string name="cd_image_index_of">صورة %1$d من %2$d</string>
<string name="cd_privacy_protected">الخصوصية محمية</string>
<string name="cd_record_voice">تسجيل مذكرة صوتية</string>
<string name="cd_offline_mesh_chat">دردشة شبكية دون اتصال</string>
<string name="cd_online_geohash_channels">قنوات geohash عبر الإنترنت</string>
<string name="cd_end_to_end_encryption">تشفير طرف إلى طرف</string>
<!-- الصور والملفات -->
<string name="image_page_of">صورة %1$d من %2$d</string>
<string name="image_unavailable">الصورة غير متاحة</string>
<string name="image_saved_to_downloads">تم حفظ الصورة في "التنزيلات"</string>
<string name="image_save_failed">تعذّر حفظ الصورة</string>
<string name="toast_image_saved">تم حفظ الصورة في "التنزيلات"</string>
<string name="toast_failed_to_save_image">تعذّر حفظ الصورة</string>
<string name="pick_file">اختيار ملف</string>
<string name="file_unavailable">[الملف غير متاح]</string>
<string name="unknown">غير معروف</string>
<!-- ورقة إجراءات المستخدم -->
<string name="choose_action_message_or_user">اختر إجراءً لهذه الرسالة أو هذا المستخدم</string>
<string name="choose_action_user">اختر إجراءً لهذا المستخدم</string>
<string name="action_copy_message_title">نسخ الرسالة</string>
<string name="action_copy_message_subtitle">انسخ هذه الرسالة إلى الحافظة</string>
<string name="action_slap_title">صفع %1$s</string>
<string name="action_slap_subtitle">إرسال صفعة ودّية</string>
<string name="action_hug_title">عناق %1$s</string>
<string name="action_hug_subtitle">إرسال عناق ودي</string>
<string name="action_block_title">حظر %1$s</string>
<string name="action_block_subtitle">حظر جميع رسائل هذا المستخدم</string>
<!-- ورقة قنوات geohash -->
<string name="location_channels_title">#قنوات الموقع</string>
<string name="location_channels_desc">دردش مع أشخاص قريبين منك عبر قنوات geohash. تتم مشاركة geohash تقريبي فقط، وليس بيانات GPS الدقيقة. للحفاظ على خصوصيتك، لا تلتقط لقطات شاشة ولا تشارك هذه الشاشة.</string>
<string name="grant_location_permission">منح إذن الموقع</string>
<string name="location_permission_denied">تم رفض إذن الموقع. فعّله من الإعدادات لاستخدام قنوات الموقع.</string>
<string name="open_settings">فتح الإعدادات</string>
<string name="location_permission_granted">\u2713 تم منح إذن الموقع</string>
<string name="checking_permissions">جارٍ التحقق من الأذونات…</string>
<string name="finding_nearby_channels">البحث عن قنوات قريبة…</string>
<string name="bookmarked">محفوظة</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">geohash غير صالح</string>
<string name="teleport">انتقال</string>
<string name="disable_location_services">تعطيل خدمات الموقع</string>
<string name="enable_location_services">تمكين خدمات الموقع</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">مربّع سكني</string>
<string name="location_level_neighborhood">حيّ</string>
<string name="location_level_city">مدينة</string>
<string name="location_level_province">إقليم</string>
<string name="location_level_region">منطقة</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- التصحيح / التشخيص -->
<string name="debug_tools">أدوات التصحيح</string>
<string name="debug_tools_desc">أدوات المطوّر للتشخيص والتحكم</string>
<string name="debug_verbose_logging">سجل تفصيلي</string>
<string name="debug_verbose_hint">تسجّل انضمام/مغادرة الأقران، اتجاه الاتصال، تمرير الحزم والمرحلين</string>
<string name="debug_bluetooth_roles">أدوار البلوتوث</string>
<string name="debug_gatt_server">خادم GATT</string>
<string name="debug_connections_fmt">الاتصالات: %1$d / %2$d</string>
<string name="debug_max_server">الحد الأقصى للخادم</string>
<string name="debug_gatt_client">عميل GATT</string>
<string name="debug_max_client">الحد الأقصى للعميل</string>
<string name="debug_overall_connections_fmt">الاتصالات: %1$d / %2$d</string>
<string name="debug_max_overall">الحد الأقصى الكلي</string>
<string name="debug_packet_relay">تمرير الحزم</string>
<string name="debug_since_start_fmt">منذ البدء: %1$d</string>
<string name="debug_roles_hint">تبديل الأدوار وإغلاق جميع الاتصالات عند التعطيل</string>
<string name="debug_sync_settings">إعدادات المزامنة</string>
<string name="debug_max_packets_per_sync_fmt">الحد الأقصى للحزم لكل مزامنة: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">الحد الأقصى لحجم مرشح GCS: %1$d بايت (1281024)</string>
<string name="debug_target_fpr_fmt">نسبة الإيجابيات الكاذبة المستهدفة: %1$.2f%%</string>
<string name="debug_connected_devices">الأجهزة المتصلة</string>
<string name="debug_our_device_id_fmt">معرّف جهازنا: %1$s</string>
<string name="debug_none">لا شيء</string>
<string name="debug_disconnect">قطع الاتصال</string>
<string name="debug_recent_scan_results">الأجهزة التي تم فحصها مؤخرًا</string>
<string name="debug_connect">اتصال</string>
<string name="debug_debug_console">وحدة تصحيح</string>
<string name="debug_clear">مسح</string>
<string name="debug_relays_window_fmt">آخر 10 ثوان: %1$d • 1 دقيقة: %2$d • 15 دقيقة: %3$d</string>
<string name="debug_derived_p_fmt">قيمة P المشتقة: %1$s • الحد الأقصى للعناصر المقدّر: %2$s</string>
<string name="debug_direct_suffix"> • مباشر</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">كخادم (نحن نستضيف)</string>
<string name="debug_role_client">كعميل (نحن نتصل)</string>
<!-- شاشات البدء -->
<string name="location_services_required">خدمات الموقع مطلوبة</string>
<string name="privacy_first">الخصوصية أولاً</string>
<string name="location_explanation">bitchat لا يتتبع موقعك.\n\nخدمات الموقع مطلوبة لمسح البلوتوث وميزة دردشة geohash.</string>
<string name="location_needs_for">bitchat يحتاج خدمات الموقع من أجل:</string>
<string name="location_needs_bullets">• مسح أجهزة البلوتوث\n• اكتشاف المستخدمين القريبين في شبكة mesh\n• ميزة دردشة geohash\n• بدون تتبع أو جمع للموقع</string>
<string name="open_location_settings">فتح إعدادات الموقع</string>
<string name="check_again">التحقق مرة أخرى</string>
<string name="location_services_unavailable">خدمات الموقع غير متاحة</string>
<string name="location_unavailable_explanation">خدمات الموقع غير متاحة على هذا الجهاز. هذا غير معتاد لأن خدمات الموقع قياسية في أجهزة أندرويد.\n\nتتطلب bitchat خدمات الموقع لعمل مسح البلوتوث بشكل صحيح (متطلب أندرويد). بدون ذلك لا يمكن للتطبيق اكتشاف المستخدمين القريبين.</string>
<string name="checking_location_services">جارٍ التحقق من خدمات الموقع…</string>
<string name="bluetooth_required">البلوتوث مطلوب</string>
<string name="bluetooth_needs_for">bitchat يحتاج البلوتوث من أجل:</string>
<string name="bluetooth_needs_bullets">• اكتشاف المستخدمين القريبين\n• إنشاء اتصالات شبكة mesh\n• إرسال واستقبال الرسائل\n• العمل بدون إنترنت أو خوادم</string>
<string name="enable_bluetooth">تفعيل البلوتوث</string>
<string name="bluetooth_not_supported">البلوتوث غير مدعوم</string>
<string name="bluetooth_unsupported_explanation">هذا الجهاز لا يدعم Bluetooth Low Energy (BLE) المطلوب لعمل bitchat.\n\nتحتاج bitchat إلى BLE لإنشاء شبكات mesh والتواصل مع الأجهزة القريبة بدون إنترنت.</string>
<string name="checking_bluetooth_status">جارٍ التحقق من حالة البلوتوث…</string>
<string name="battery_optimization_detected_title">تم اكتشاف تحسين البطارية</string>
<string name="battery_optimization_enabled_title">تحسين البطارية مفعّل</string>
<string name="battery_optimization_explanation_short">تحتاج bitchat للعمل في الخلفية للحفاظ على اتصالات mesh. قد يقطع تحسين البطارية هذه الاتصالات.</string>
<string name="benefits_of_disabling">فوائد التعطيل</string>
<string name="battery_benefits_short">• تسليم موثوق للرسائل\n• يحافظ على اتصال mesh\n• يمنع انقطاع الاتصال</string>
<string name="disable_battery_optimization">تعطيل تحسين البطارية</string>
<string name="battery_optimization_disabled_title">تم تعطيل تحسين البطارية</string>
<string name="continue_btn">متابعة</string>
<string name="initializing_mesh_network">جارٍ تهيئة شبكة mesh</string>
<string name="setting_up_bluetooth">جارٍ إعداد شبكة Bluetooth mesh…</string>
<string name="should_take_seconds">يجب أن يستغرق ذلك بضع ثوانٍ فقط</string>
<string name="setup_not_complete">الإعداد غير مكتمل</string>
<string name="try_again">حاول مرة أخرى</string>
<string name="privacy_protected">خصوصيتك محمية</string>
<string name="privacy_bullets">• بدون تتبع أو جمع للبيانات\n• دردشات Bluetooth mesh تعمل دون اتصال بالكامل\n• دردشات geohash تستخدم الإنترنت</string>
<string name="permissions_header">الأذونات</string>
<string name="grant_permissions">منح الأذونات</string>
<string name="location_tracking_warning">bitchat لا يتتبع موقعك</string>
<string name="geohash_people_header">الأشخاص</string>
<string name="nobody_around">لا أحد هنا…</string>
<string name="you_suffix"> (أنت)</string>
<string name="pan_zoom_instruction">حرّك وقرّب لاختيار geohash</string>
<string name="select">اختيار</string>
<string name="type_a_message_placeholder">اكتب رسالة…</string>
<string name="mention">إشارة</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">صورة</string>
<string name="media_type_file">ملف</string>
<!-- مساعدو نص الإشعارات -->
<string name="notification_sent_image">📷 أرسل صورة</string>
<string name="notification_sent_voice">🎤 أرسل مذكرة صوتية</string>
<string name="notification_sent_file">📎 أرسل ملفًا</string>
<!-- سهولة استخدام مشغّل الصوت -->
<string name="cd_play_voice">تشغيل</string>
<string name="cd_pause_voice">إيقاف مؤقت</string>
<string name="cd_mining_pow">تعدين PoW</string>
<string name="cd_pow_enabled">PoW مفعّل</string>
<string name="cd_proof_of_work">برهان العمل</string>
<string name="pow_mining_ellipsis">يتم التعدين…</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- أوصاف الأذونات -->
<string name="perm_nearby_devices_desc">مطلوب لاكتشاف مستخدمي bitchat عبر البلوتوث</string>
<string name="perm_nearby_devices_system">اسمح لـ bitchat بالاتصال بالأجهزة القريبة</string>
<string name="perm_location_desc">مطلوب من أندرويد لاكتشاف مستخدمي bitchat القريبين عبر البلوتوث</string>
<string name="perm_location_system">bitchat يحتاج ذلك لمسح الأجهزة القريبة</string>
<string name="perm_notifications_desc">تلقي إشعارات عند استلام رسائل خاصة</string>
<string name="perm_notifications_system">اسمح لـ bitchat بإرسال الإشعارات إليك</string>
<string name="perm_battery_desc">تعطيل تحسين البطارية لضمان أن bitchat يعمل بشكل موثوق في الخلفية ويحافظ على اتصالات الشبكة المتشابكة</string>
<string name="perm_battery_system">اسمح لـ bitchat بالعمل بدون قيود البطارية</string>
<!-- أنواع الأذونات -->
<string name="perm_type_nearby_devices">الأجهزة القريبة</string>
<string name="perm_type_precise_location">موقع دقيق</string>
<string name="perm_type_microphone">ميكروفون</string>
<string name="perm_type_notifications">إشعارات</string>
<string name="perm_type_battery_optimization">تحسين البطارية</string>
<string name="perm_type_other">أخرى</string>
<!-- مربع كلمة المرور -->
<string name="pwd_prompt_title">أدخل كلمة مرور القناة</string>
<string name="pwd_prompt_message">القناة %1$s محمية بكلمة مرور. أدخل كلمة المرور للانضمام.</string>
<string name="pwd_label">كلمة المرور</string>
<string name="join">انضمام</string>
<string name="cancel">إلغاء</string>
<!-- صيغ الجمع -->
<plurals name="notification_and_more">
<item quantity="one">و%d إضافية</item>
<item quantity="other">و%d إضافية</item>
</plurals>
<plurals name="people_count">
<item quantity="one">شخص واحد</item>
<item quantity="other">%d أشخاص</item>
</plurals>
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- অনুমতির যৌক্তিকতা -->
<string name="permission_bluetooth_rationale">ইন্টারনেট ছাড়াই অন্যদের সাথে সরাসরি চ্যাট করার জন্য ব্লুটুথ অনুমতি প্রয়োজন।</string>
<string name="permission_location_rationale">ব্লুটুথের মাধ্যমে কাছাকাছি ডিভাইস খুঁজে পেতে অবস্থান অনুমতি প্রয়োজন।</string>
<string name="permission_notification_rationale">নতুন বার্তা সম্পর্কে আপনাকে জানাতে বিজ্ঞপ্তি অনুমতি প্রয়োজন।</string>
<!-- প্লেসহোল্ডার / মৌলিক UI -->
<string name="nickname_hint">ডাকনাম</string>
<string name="message_hint">বার্তা টাইপ করুন…</string>
<string name="channel_password_hint">পাসওয়ার্ড</string>
<string name="join_channel">চ্যানেলে যোগ দিন</string>
<string name="leave_channel">ছেড়ে দিন</string>
<string name="send_message">পাঠান</string>
<string name="show_commands">কমান্ড দেখান</string>
<string name="back">ফিরে যান</string>
<string name="people">মানুষ</string>
<string name="channels">চ্যানেল</string>
<string name="online_users">অনলাইন ব্যবহারকারী</string>
<string name="no_one_connected">কেউ সংযুক্ত নেই</string>
<string name="emergency_clear_hint">সমস্ত ডেটা সাফ করতে তিনবার ট্যাপ করুন</string>
<string name="your_network">নেটওয়ার্ক</string>
<!-- ব্যাটারি অপ্টিমাইজেশন -->
<string name="battery_optimization_detected">ব্যাটারি অপ্টিমাইজেশন সনাক্ত</string>
<string name="battery_optimization_disabled">ব্যাটারি অপ্টিমাইজেশন নিষ্ক্রিয়</string>
<string name="battery_optimization_not_required">ব্যাটারি অপ্টিমাইজেশন প্রয়োজন নেই</string>
<string name="battery_optimization_checking">ব্যাটারি অপ্টিমাইজেশন পরীক্ষা করা হচ্ছে</string>
<string name="battery_optimization_why_disable">কেন ব্যাটারি অপ্টিমাইজেশন নিষ্ক্রিয় করবেন?</string>
<string name="battery_optimization_explanation">bitchat ব্যাকগ্রাউন্ডে চলে কাছাকাছি ডিভাইসগুলির সাথে মেশ সংযোগ বজায় রাখতে। ব্যাটারি অপ্টিমাইজেশন এই সংযোগগুলি বাধাগ্রস্ত করতে পারে, যার ফলে বার্তা বিলম্বিত বা হারিয়ে যেতে পারে।\n\nব্যাটারি অপ্টিমাইজেশন নিষ্ক্রিয় করা নির্ভরযোগ্য পিয়ার-টু-পিয়ার যোগাযোগ নিশ্চিত করে।</string>
<string name="battery_optimization_disable_button">ব্যাটারি অপ্টিমাইজেশন নিষ্ক্রিয় করুন</string>
<string name="battery_optimization_note">নোট: আপনি পরে Android Settings &gt; Apps &gt; bitchat &gt; Battery এ এটি পরিবর্তন করতে পারেন।</string>
<string name="battery_optimization_not_supported_explanation">আপনার ডিভাইসে ব্যাটারি অপ্টিমাইজেশন সেটিংসের প্রয়োজন নেই। bitchat স্বাভাবিকভাবে চলবে।</string>
<string name="battery_optimization_not_supported_message">আপনার ডিভাইসে ব্যাটারি অপ্টিমাইজেশন সেটিংসের প্রয়োজন নেই। bitchat স্বাভাবিকভাবে চলবে।</string>
<string name="battery_optimization_success_message">bitchat নির্ভরযোগ্যভাবে ব্যাকগ্রাউন্ডে চলতে পারে</string>
<string name="battery_optimization_benefits">• নির্ভরযোগ্য বার্তা ডেলিভারি\n• মেশ সংযোগ বজায় রাখা\n• ব্যাকগ্রাউন্ড বার্তা রিলে\n• সংযোগ বিচ্ছিন্নতা প্রতিরোধ</string>
<string name="battery_optimization_check_again">আবার পরীক্ষা করুন</string>
<string name="battery_optimization_skip">এখন এড়িয়ে যান</string>
<string name="battery_optimization_continue">চালিয়ে যান</string>
<string name="retry">আবার চেষ্টা করুন</string>
<string name="skip">এড়িয়ে যান</string>
<!-- বিজ্ঞপ্তি -->
<string name="notification_summary_more">এবং %1$d আরো</string>
<string name="notification_messages_from_people">%2$d জন থেকে %1$d বার্তা</string>
<string name="notification_more_conversations">এবং %1$d আরো কথোপকথন</string>
<string name="notification_active_peers_title">👥 কাছাকাছি bitchatter!</string>
<string name="notification_active_peers_one">কাছাকাছি ১ জন</string>
<string name="notification_active_peers_many">কাছাকাছি %1$d জন</string>
<string name="notification_new_messages">নতুন বার্তা</string>
<string name="notification_new_location_messages">নতুন অবস্থান বার্তা</string>
<string name="notification_mentions_in">%1$s এ উল্লিখিত</string>
<string name="notification_mentions_in_more">%1$s এ উল্লিখিত (+%2$d আরো)</string>
<string name="notification_mentions_in_plural">%2$s এ %1$d উল্লেখ</string>
<string name="notification_new_activity_in">%1$s এ নতুন কার্যকলাপ</string>
<string name="notification_messages_in">%1$s এ বার্তা</string>
<string name="notification_joined_conversation">%1$s কথোপকথনে যোগ দিয়েছে</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d উল্লেখ</string>
<string name="notification_geohash_summary_title">bitchat – অবস্থান চ্যাট</string>
<string name="notification_geohash_summary_text">%2$d অবস্থান থেকে %1$d বার্তা</string>
<string name="notification_mesh_mention_title_singular">মেশ চ্যাটে উল্লিখিত</string>
<string name="notification_mesh_mention_title_plural">মেশ চ্যাটে %1$d উল্লেখ</string>
<string name="notification_more_locations">এবং %1$d আরো অবস্থান</string>
<string name="notification_and_more">এবং %1$d আরো</string>
<!-- প্রিয় অ্যাক্সেসিবিলিটি -->
<string name="cd_add_favorite">প্রিয়তে যোগ করুন</string>
<string name="cd_remove_favorite">প্রিয় থেকে সরান</string>
<string name="cd_add_bookmark">বুকমার্ক যোগ করুন</string>
<!-- চ্যাট হেডার ও অ্যাক্সেসিবিলিটি -->
<string name="chat_back">ফিরে যান</string>
<string name="chat_channel_prefix">চ্যানেল: %1$s</string>
<string name="chat_leave">ছেড়ে দিন</string>
<string name="cd_nostr_reachable">Nostr এর মাধ্যমে পৌঁছানো যায়</string>
<string name="cd_unread_private_messages">অপঠিত ব্যক্তিগত বার্তা</string>
<string name="cd_toggle_bookmark">বুকমার্ক টগল করুন</string>
<string name="cd_teleported">টেলিপোর্ট করা হয়েছে</string>
<string name="cd_tor_status">Tor অবস্থা</string>
<string name="cd_connected_peers">সংযুক্ত পিয়ার</string>
<string name="cd_geohash_participants">জিওহ্যাশ অংশগ্রহণকারী</string>
<string name="cd_ready_for_handshake">হ্যান্ডশেকের জন্য প্রস্তুত</string>
<string name="cd_handshake_in_progress">হ্যান্ডশেক চলছে</string>
<string name="cd_encrypted">এন্ড-টু-এন্ড এনক্রিপ্ট করা</string>
<string name="cd_handshake_failed">হ্যান্ডশেক ব্যর্থ</string>
<!-- ফাইল ভিউয়ার ডায়ালগ -->
<string name="file_viewer_title">📎 ফাইল প্রাপ্ত</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 আকার: %1$s</string>
<string name="file_viewer_type">🏷️ ধরণ: %1$s</string>
<string name="file_viewer_open_save">📂 খুলুন / সংরক্ষণ করুন</string>
<string name="close_with_emoji">❌ বন্ধ করুন</string>
<string name="pick_image">ছবি নির্বাচন করুন</string>
<!-- সম্পর্কে শিট -->
<string name="about_tagline">এন্ড-টু-এন্ড এনক্রিপশন সহ বিকেন্দ্রীভূত মেশ চ্যাট</string>
<string name="about_offline_mesh_title">অফলাইন মেশ চ্যাট</string>
<string name="about_offline_mesh_desc">ইন্টারনেট বা সার্ভার ছাড়াই Bluetooth LE এর মাধ্যমে সরাসরি যোগাযোগ করুন। পরিসর বাড়ানোর জন্য কাছাকাছি ডিভাইসের মাধ্যমে বার্তা রিলে করা হয়।</string>
<string name="about_online_geohash_title">অনলাইন জিওহ্যাশ চ্যানেল</string>
<string name="about_online_geohash_desc">জিওহ্যাশ-ভিত্তিক চ্যানেলের মাধ্যমে আপনার এলাকার মানুষদের সাথে সংযুক্ত হন। পাবলিক ইন্টারনেট রিলেগুলির মাধ্যমে মেশ বিস্তৃত করুন।</string>
<string name="about_e2e_title">এন্ড-টু-এন্ড এনক্রিপশন</string>
<string name="about_e2e_desc">ব্যক্তিগত বার্তাগুলি এনক্রিপ্ট করা। চ্যানেল বার্তাগুলি পাবলিক।</string>
<string name="about_appearance">চেহারা</string>
<string name="about_system">সিস্টেম</string>
<string name="about_light">হালকা</string>
<string name="about_dark">অন্ধকার</string>
<string name="about_pow">প্রুফ অফ ওয়ার্ক</string>
<string name="about_pow_off">PoW বন্ধ</string>
<string name="about_pow_on">PoW চালু</string>
<string name="about_pow_tip">স্প্যাম কঠিন করতে জিওহ্যাশ বার্তায় প্রুফ অফ ওয়ার্ক যোগ করুন।</string>
<string name="about_pow_difficulty">কঠিনতা: %1$d বিট (~%2$s)</string>
<string name="about_pow_difficulty_attempts">কঠিনতা %1$d প্রয়োজন ~%2$s হ্যাশ প্রচেষ্টা</string>
<string name="about_pow_desc_none">কোন প্রুফ অফ ওয়ার্ক প্রয়োজন নেই</string>
<string name="about_pow_desc_very_low">খুব কম – ন্যূনতম স্প্যাম সুরক্ষা</string>
<string name="about_pow_desc_low">কম – মৌলিক স্প্যাম সুরক্ষা</string>
<string name="about_pow_desc_medium">মাঝারি – ভাল স্প্যাম সুরক্ষা</string>
<string name="about_pow_desc_high">উচ্চ – শক্তিশালী স্প্যাম সুরক্ষা</string>
<string name="about_pow_desc_very_high">খুব উচ্চ – বিলম্ব ঘটাতে পারে</string>
<string name="about_pow_desc_extreme">চরম – উল্লেখযোগ্য কম্পিউটিং পাওয়ার প্রয়োজন</string>
<string name="about_network">নেটওয়ার্ক</string>
<string name="about_tor_off">Tor বন্ধ</string>
<string name="about_tor_on">Tor চালু</string>
<string name="about_tor_route">আরো গোপনীয়তার জন্য Tor এর মাধ্যমে ইন্টারনেট ট্রাফিক রুট করুন।</string>
<string name="about_tor_status">Tor অবস্থা: %1$s, বুটস্ট্র্যাপ %2$d%%</string>
<string name="about_last">শেষ: %1$s</string>
<string name="about_emergency_title">জরুরী ডেটা ক্লিয়ার</string>
<string name="about_emergency_tip">টিপ: সংরক্ষিত সমস্ত ডেটা – বার্তা, কী এবং সেটিংস সহ – সাফ করতে অ্যাপ শিরোনামে তিনবার ট্যাপ করুন।</string>
<string name="about_debug_settings">ডিবাগ সেটিংস</string>
<string name="about_footer">ওপেন সোর্স • গোপনীয়তা প্রথম • বিকেন্দ্রীভূত</string>
<string name="close_plain">বন্ধ করুন</string>
<string name="cancel_lower">বাতিল</string>
<!-- সাধারণ বিষয়বস্তু বিবরণ -->
<string name="cd_warning">সতর্কতা</string>
<string name="cd_location_services">অবস্থান সেবা</string>
<string name="cd_privacy">গোপনীয়তা</string>
<string name="cd_error">ত্রুটি</string>
<string name="cd_battery_optimization">ব্যাটারি অপ্টিমাইজেশন</string>
<string name="cd_benefits">সুবিধা</string>
<string name="cd_checking_battery_optimization">ব্যাটারি অপ্টিমাইজেশন পরীক্ষা করা হচ্ছে</string>
<string name="cd_not_supported_battery_optimization">ব্যাটারি অপ্টিমাইজেশন সমর্থিত নয়</string>
<string name="cd_bluetooth">ব্লুটুথ</string>
<string name="cd_unread_message">অপঠিত বার্তা</string>
<string name="cd_open_map">মানচিত্র খুলুন</string>
<string name="cd_remove_bookmark">বুকমার্ক সরান</string>
<string name="cd_teleport">টেলিপোর্ট</string>
<string name="cd_selected">নির্বাচিত</string>
<string name="cd_leave_channel">চ্যানেল ছেড়ে দিন</string>
<string name="cd_reachable_via_nostr">Nostr এর মাধ্যমে পৌঁছানো যায়</string>
<string name="cd_offline_favorite">প্রিয় (অফলাইন)</string>
<string name="cd_decrease_precision">নির্ভুলতা কমান</string>
<string name="cd_increase_precision">নির্ভুলতা বাড়ান</string>
<string name="cd_select_geohash">জিওহ্যাশ নির্বাচন করুন</string>
<string name="cd_scroll_to_bottom">নিচে স্ক্রল করুন</string>
<string name="cd_file">ফাইল</string>
<string name="cd_image">ছবি</string>
<string name="cd_cancel">বাতিল</string>
<string name="cd_link">লিঙ্ক</string>
<string name="cd_pick_media">মিডিয়া নির্বাচন করুন</string>
<string name="cd_pick_file">ফাইল নির্বাচন করুন</string>
<string name="cd_save_current_image">বর্তমান ছবি সংরক্ষণ করুন</string>
<string name="cd_close">বন্ধ করুন</string>
<string name="cd_image_index_of">ছবি %1$d এর %2$d</string>
<string name="cd_privacy_protected">গোপনীয়তা সুরক্ষিত</string>
<string name="cd_record_voice">ভয়েস বার্তা রেকর্ড করুন</string>
<string name="cd_offline_mesh_chat">অফলাইন মেশ চ্যাট</string>
<string name="cd_online_geohash_channels">অনলাইন জিওহ্যাশ চ্যানেল</string>
<string name="cd_end_to_end_encryption">এন্ড-টু-এন্ড এনক্রিপশন</string>
<!-- ছবি ও ফাইল -->
<string name="image_page_of">ছবি %1$d এর %2$d</string>
<string name="image_unavailable">ছবি অনুপলব্ধ</string>
<string name="image_saved_to_downloads">ছবি \"Downloads\" এ সংরক্ষিত</string>
<string name="image_save_failed">ছবি সংরক্ষণ করতে ব্যর্থ</string>
<string name="toast_image_saved">ছবি \"Downloads\" এ সংরক্ষিত</string>
<string name="toast_failed_to_save_image">ছবি সংরক্ষণ করতে ব্যর্থ</string>
<string name="pick_file">ফাইল নির্বাচন করুন</string>
<string name="file_unavailable">[ফাইল অনুপলব্ধ]</string>
<string name="unknown">অজানা</string>
<!-- ব্যবহারকারী অ্যাকশন শিট -->
<string name="choose_action_message_or_user">এই বার্তা বা ব্যবহারকারীর জন্য অ্যাকশন নির্বাচন করুন</string>
<string name="choose_action_user">এই ব্যবহারকারীর জন্য অ্যাকশন নির্বাচন করুন</string>
<string name="action_copy_message_title">বার্তা কপি করুন</string>
<string name="action_copy_message_subtitle">এই বার্তাটি ক্লিপবোর্ডে কপি করুন</string>
<string name="action_slap_title">%1$s কে চড় দিন</string>
<string name="action_slap_subtitle">একটি কৌতুকপূর্ণ চড় পাঠান</string>
<string name="action_hug_title">%1$s কে আলিঙ্গন করুন</string>
<string name="action_hug_subtitle">একটি বন্ধুত্বপূর্ণ আলিঙ্গন পাঠান</string>
<string name="action_block_title">%1$s কে ব্লক করুন</string>
<string name="action_block_subtitle">এই ব্যবহারকারীর সমস্ত বার্তা ব্লক করুন</string>
<!-- জিওহ্যাশ চ্যানেল শিট -->
<string name="location_channels_title">#অবস্থান চ্যানেল</string>
<string name="location_channels_desc">জিওহ্যাশ চ্যানেলের মাধ্যমে আপনার কাছাকাছি মানুষদের সাথে চ্যাট করুন। শুধুমাত্র রূঢ় জিওহ্যাশ শেয়ার করা হয়, সঠিক GPS ডেটা নয়। গোপনীয়তার জন্য দয়া করে এই ভিউ স্ক্রিনশট করবেন না বা শেয়ার করবেন না।</string>
<string name="grant_location_permission">অবস্থান অনুমতি দিন</string>
<string name="location_permission_denied">অবস্থান অনুমতি প্রত্যাখ্যাত। অবস্থান চ্যানেল ব্যবহার করতে সেটিংসে সক্ষম করুন।</string>
<string name="open_settings">সেটিংস খুলুন</string>
<string name="location_permission_granted">\u2713 অবস্থান অনুমতি দেওয়া হয়েছে</string>
<string name="checking_permissions">অনুমতি পরীক্ষা করা হচ্ছে …</string>
<string name="finding_nearby_channels">কাছাকাছি চ্যানেল খোঁজা হচ্ছে …</string>
<string name="bookmarked">বুকমার্ক করা</string>
<string name="geohash_placeholder">জিওহ্যাশ</string>
<string name="invalid_geohash">অবৈধ জিওহ্যাশ</string>
<string name="teleport">টেলিপোর্ট</string>
<string name="disable_location_services">অবস্থান সেবা নিষ্ক্রিয় করুন</string>
<string name="enable_location_services">অবস্থান সেবা সক্রিয় করুন</string>
<string name="mesh_label">মেশ</string>
<string name="location_level_block">ব্লক</string>
<string name="location_level_neighborhood">আশপাশ</string>
<string name="location_level_city">শহর</string>
<string name="location_level_province">প্রদেশ</string>
<string name="location_level_region">অঞ্চল</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- ডিবাগ / ডায়াগনস্টিক -->
<string name="debug_tools">ডিবাগ টুল</string>
<string name="debug_tools_desc">ডায়াগনস্টিক এবং নিয়ন্ত্রণের জন্য ডেভেলপার টুল</string>
<string name="debug_verbose_logging">বিস্তারিত লগিং</string>
<string name="debug_verbose_hint">পিয়ার জয়েন/লিভ, সংযোগ দিক, প্যাকেট ফরওয়ার্ডিং এবং রিলে লগ করে</string>
<string name="debug_bluetooth_roles">ব্লুটুথ ভূমিকা</string>
<string name="debug_gatt_server">GATT সার্ভার</string>
<string name="debug_connections_fmt">সংযোগ: %1$d / %2$d</string>
<string name="debug_max_server">সর্বোচ্চ সার্ভার</string>
<string name="debug_gatt_client">GATT ক্লায়েন্ট</string>
<string name="debug_max_client">সর্বোচ্চ ক্লায়েন্ট</string>
<string name="debug_overall_connections_fmt">সংযোগ: %1$d / %2$d</string>
<string name="debug_max_overall">সর্বোচ্চ সামগ্রিক</string>
<string name="debug_packet_relay">প্যাকেট রিলে</string>
<string name="debug_since_start_fmt">শুরু থেকে: %1$d</string>
<string name="debug_roles_hint">ভূমিকা চালু/বন্ধ করুন এবং নিষ্ক্রিয় করার সময় সমস্ত সংযোগ বন্ধ করুন</string>
<string name="debug_sync_settings">সিঙ্ক সেটিংস</string>
<string name="debug_max_packets_per_sync_fmt">প্রতি সিঙ্কে সর্বোচ্চ প্যাকেট: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">সর্বোচ্চ GCS ফিল্টার আকার: %1$d বাইট (1281024)</string>
<string name="debug_target_fpr_fmt">লক্ষ্য FPR: %1$.2f%%</string>
<string name="debug_connected_devices">সংযুক্ত ডিভাইস</string>
<string name="debug_our_device_id_fmt">আমাদের ডিভাইস ID: %1$s</string>
<string name="debug_none">কোনটি নেই</string>
<string name="debug_disconnect">সংযোগ বিচ্ছিন্ন করুন</string>
<string name="debug_recent_scan_results">সাম্প্রতিক স্ক্যান করা ডিভাইস</string>
<string name="debug_connect">সংযোগ করুন</string>
<string name="debug_debug_console">ডিবাগ কনসোল</string>
<string name="debug_clear">সাফ করুন</string>
<string name="debug_relays_window_fmt">শেষ 10s: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">উৎপন্ন P: %1$s • আনুমানিক সর্বোচ্চ উপাদান: %2$s</string>
<string name="debug_direct_suffix"> • সরাসরি</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">সার্ভার হিসেবে (আমরা হোস্ট করি)</string>
<string name="debug_role_client">ক্লায়েন্ট হিসেবে (আমরা সংযোগ করি)</string>
<!-- অনবোর্ডিং স্ক্রিন -->
<string name="location_services_required">অবস্থান সেবা প্রয়োজন</string>
<string name="privacy_first">গোপনীয়তা প্রথম</string>
<string name="location_explanation">bitchat আপনার অবস্থান ট্র্যাক করে না।\n\nব্লুটুথ স্ক্যানিং এবং জিওহ্যাশ চ্যাট বৈশিষ্ট্যের জন্য অবস্থান সেবা প্রয়োজন।</string>
<string name="location_needs_for">bitchat এর জন্য অবস্থান সেবা প্রয়োজন:</string>
<string name="location_needs_bullets">• ব্লুটুথ ডিভাইস স্ক্যানিং\n• মেশ নেটওয়ার্কে কাছাকাছি ব্যবহারকারী আবিষ্কার\n• জিওহ্যাশ চ্যাট বৈশিষ্ট্য\n• কোন ট্র্যাকিং বা অবস্থান সংগ্রহ নেই</string>
<string name="open_location_settings">অবস্থান সেটিংস খুলুন</string>
<string name="check_again">আবার পরীক্ষা করুন</string>
<string name="location_services_unavailable">অবস্থান সেবা অনুপলব্ধ</string>
<string name="location_unavailable_explanation">এই ডিভাইসে অবস্থান সেবা উপলব্ধ নেই। এটি অস্বাভাবিক কারণ অবস্থান সেবা Android ডিভাইসে স্ট্যান্ডার্ড।\n\nব্লুটুথ স্ক্যানিং সঠিকভাবে কাজ করার জন্য bitchat এর অবস্থান সেবা প্রয়োজন (Android প্রয়োজনীয়তা)। এটি ছাড়া অ্যাপ কাছাকাছি ব্যবহারকারী আবিষ্কার করতে পারে না।</string>
<string name="checking_location_services">অবস্থান সেবা পরীক্ষা করা হচ্ছে …</string>
<string name="bluetooth_required">ব্লুটুথ প্রয়োজন</string>
<string name="bluetooth_needs_for">bitchat এর জন্য ব্লুটুথ প্রয়োজন:</string>
<string name="bluetooth_needs_bullets">• কাছাকাছি ব্যবহারকারী আবিষ্কার\n• মেশ নেটওয়ার্ক সংযোগ তৈরি\n• বার্তা পাঠানো এবং গ্রহণ\n• ইন্টারনেট বা সার্ভার ছাড়া কাজ</string>
<string name="enable_bluetooth">ব্লুটুথ সক্রিয় করুন</string>
<string name="bluetooth_not_supported">ব্লুটুথ সমর্থিত নয়</string>
<string name="bluetooth_unsupported_explanation">এই ডিভাইস Bluetooth Low Energy (BLE) সমর্থন করে না, যা bitchat কাজ করার জন্য প্রয়োজন।\n\nbitchat এর মেশ নেটওয়ার্ক তৈরি এবং ইন্টারনেট ছাড়াই কাছাকাছি ডিভাইসের সাথে যোগাযোগের জন্য BLE প্রয়োজন।</string>
<string name="checking_bluetooth_status">ব্লুটুথ অবস্থা পরীক্ষা করা হচ্ছে …</string>
<string name="battery_optimization_detected_title">ব্যাটারি অপ্টিমাইজেশন সনাক্ত</string>
<string name="battery_optimization_enabled_title">ব্যাটারি অপ্টিমাইজেশন সক্রিয়</string>
<string name="battery_optimization_explanation_short">মেশ সংযোগ বজায় রাখতে bitchat অবশ্যই ব্যাকগ্রাউন্ডে চলতে হবে। ব্যাটারি অপ্টিমাইজেশন এই সংযোগগুলি বাধাগ্রস্ত করতে পারে।</string>
<string name="benefits_of_disabling">নিষ্ক্রিয় করার সুবিধা</string>
<string name="battery_benefits_short">• নির্ভরযোগ্য বার্তা ডেলিভারি\n• মেশ সংযোগ বজায় রাখা\n• সংযোগ বিচ্ছিন্নতা প্রতিরোধ</string>
<string name="disable_battery_optimization">ব্যাটারি অপ্টিমাইজেশন নিষ্ক্রিয় করুন</string>
<string name="battery_optimization_disabled_title">ব্যাটারি অপ্টিমাইজেশন নিষ্ক্রিয়</string>
<string name="continue_btn">চালিয়ে যান</string>
<string name="initializing_mesh_network">মেশ নেটওয়ার্ক শুরু করা হচ্ছে</string>
<string name="setting_up_bluetooth">ব্লুটুথ মেশ নেটওয়ার্ক সেটআপ করা হচ্ছে …</string>
<string name="should_take_seconds">এটি মাত্র কয়েক সেকেন্ড সময় নেওয়া উচিত</string>
<string name="setup_not_complete">সেটআপ সম্পূর্ণ নয়</string>
<string name="try_again">আবার চেষ্টা করুন</string>
<string name="privacy_protected">আপনার গোপনীয়তা সুরক্ষিত</string>
<string name="privacy_bullets">• কোন ট্র্যাকিং বা ডেটা সংগ্রহ নেই\n• ব্লুটুথ মেশ চ্যাট সম্পূর্ণ অফলাইন\n• জিওহ্যাশ চ্যাট ইন্টারনেট ব্যবহার করে</string>
<string name="permissions_header">অনুমতি</string>
<string name="grant_permissions">অনুমতি দিন</string>
<string name="location_tracking_warning">bitchat আপনার অবস্থান ট্র্যাক করে না</string>
<string name="geohash_people_header">মানুষ</string>
<string name="nobody_around">কেউ আশেপাশে নেই …</string>
<string name="you_suffix"> (আপনি)</string>
<string name="pan_zoom_instruction">জিওহ্যাশ নির্বাচন করতে প্যান এবং জুম করুন</string>
<string name="select">নির্বাচন করুন</string>
<string name="type_a_message_placeholder">বার্তা টাইপ করুন …</string>
<string name="mention">উল্লেখ</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">ছবি</string>
<string name="media_type_file">ফাইল</string>
<!-- বিজ্ঞপ্তি টেক্সট সহায়ক -->
<string name="notification_sent_image">📷 একটি ছবি পাঠিয়েছে</string>
<string name="notification_sent_voice">🎤 একটি ভয়েস বার্তা পাঠিয়েছে</string>
<string name="notification_sent_file">📎 একটি ফাইল পাঠিয়েছে</string>
<!-- ভয়েস প্লেয়ার অ্যাক্সেসিবিলিটি -->
<string name="cd_play_voice">প্লে করুন</string>
<string name="cd_pause_voice">বিরাম</string>
<string name="cd_mining_pow">মাইনিং PoW</string>
<string name="cd_pow_enabled">PoW সক্রিয়</string>
<string name="cd_proof_of_work">প্রুফ অফ ওয়ার্ক</string>
<string name="pow_mining_ellipsis">মাইনিং …</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- অনুমতি বিবরণ -->
<string name="perm_nearby_devices_desc">ব্লুটুথের মাধ্যমে bitchat ব্যবহারকারী আবিষ্কার করতে প্রয়োজন</string>
<string name="perm_nearby_devices_system">bitchat কে কাছাকাছি ডিভাইসের সাথে সংযোগ করার অনুমতি দিন</string>
<string name="perm_location_desc">ব্লুটুথের মাধ্যমে কাছাকাছি bitchat ব্যবহারকারী আবিষ্কার করার জন্য Android এর প্রয়োজন</string>
<string name="perm_location_system">bitchat এর কাছাকাছি ডিভাইস স্ক্যান করার জন্য এটি প্রয়োজন</string>
<string name="perm_notifications_desc">ব্যক্তিগত বার্তা পেলে বিজ্ঞপ্তি পান</string>
<string name="perm_notifications_system">bitchat কে আপনাকে বিজ্ঞপ্তি পাঠানোর অনুমতি দিন</string>
<string name="perm_battery_desc">bitchat নির্ভরযোগ্যভাবে ব্যাকগ্রাউন্ডে চলে এবং মেশ নেটওয়ার্ক সংযোগ বজায় রাখে তা নিশ্চিত করতে ব্যাটারি অপ্টিমাইজেশন নিষ্ক্রিয় করুন</string>
<string name="perm_battery_system">bitchat কে ব্যাটারি সীমাবদ্ধতা ছাড়াই চলার অনুমতি দিন</string>
<!-- অনুমতির ধরণ -->
<string name="perm_type_nearby_devices">কাছাকাছি ডিভাইস</string>
<string name="perm_type_precise_location">সঠিক অবস্থান</string>
<string name="perm_type_microphone">মাইক্রোফোন</string>
<string name="perm_type_notifications">বিজ্ঞপ্তি</string>
<string name="perm_type_battery_optimization">ব্যাটারি অপ্টিমাইজেশন</string>
<string name="perm_type_other">অন্যান্য</string>
<!-- পাসওয়ার্ড ডায়ালগ -->
<string name="pwd_prompt_title">চ্যানেল পাসওয়ার্ড লিখুন</string>
<string name="pwd_prompt_message">চ্যানেল %1$s পাসওয়ার্ড দিয়ে সুরক্ষিত। যোগ দিতে পাসওয়ার্ড লিখুন।</string>
<string name="pwd_label">পাসওয়ার্ড</string>
<string name="join">যোগ দিন</string>
<string name="cancel">বাতিল</string>
<!-- বহুবচন -->
<plurals name="notification_and_more">
<item quantity="one">এবং %d আরো</item>
<item quantity="other">এবং %d আরো</item>
</plurals>
<plurals name="people_count">
<item quantity="one">১ জন</item>
<item quantity="other">%d জন</item>
</plurals>
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- Berechtigungsbegründungen -->
<string name="permission_bluetooth_rationale">Die BluetoothBerechtigung ist erforderlich, um ohne Internet direkt mit anderen zu chatten.</string>
<string name="permission_location_rationale">Die StandortBerechtigung ist erforderlich, um in der Nähe befindliche Geräte per Bluetooth zu finden.</string>
<string name="permission_notification_rationale">Die BenachrichtigungsBerechtigung ist erforderlich, um dich über neue Nachrichten zu informieren.</string>
<!-- Platzhalter / grundlegende UI -->
<string name="nickname_hint">Spitzname</string>
<string name="message_hint">Nachricht eingeben…</string>
<string name="channel_password_hint">Passwort</string>
<string name="join_channel">Kanal beitreten</string>
<string name="leave_channel">Verlassen</string>
<string name="send_message">Senden</string>
<string name="show_commands">Befehle anzeigen</string>
<string name="back">Zurück</string>
<string name="people">Personen</string>
<string name="channels">Kanäle</string>
<string name="online_users">OnlineBenutzer</string>
<string name="no_one_connected">Niemand verbunden</string>
<string name="emergency_clear_hint">Dreifach tippen, um alle Daten zu löschen</string>
<string name="your_network">Netzwerk</string>
<!-- AkkuOptimierung -->
<string name="battery_optimization_detected">AkkuOptimierung erkannt</string>
<string name="battery_optimization_disabled">AkkuOptimierung deaktiviert</string>
<string name="battery_optimization_not_required">AkkuOptimierung nicht erforderlich</string>
<string name="battery_optimization_checking">AkkuOptimierung wird geprüft</string>
<string name="battery_optimization_why_disable">Warum AkkuOptimierung deaktivieren?</string>
<string name="battery_optimization_explanation">bitchat läuft im Hintergrund, um MeshVerbindungen zu nahegelegenen Geräten aufrechtzuerhalten. Die AkkuOptimierung kann diese Verbindungen unterbrechen, wodurch Nachrichten verspätet zugestellt werden oder verloren gehen.\n\nDas Deaktivieren der AkkuOptimierung sorgt für eine zuverlässige PeertoPeerKommunikation.</string>
<string name="battery_optimization_disable_button">AkkuOptimierung deaktivieren</string>
<string name="battery_optimization_note">Hinweis: Du kannst dies später unter AndroidEinstellungen &gt; Apps &gt; bitchat &gt; Akku ändern.</string>
<string name="battery_optimization_not_supported_explanation">Dein Gerät benötigt keine AkkuOptimierungs­einstellungen. bitchat läuft normal.</string>
<string name="battery_optimization_not_supported_message">Dein Gerät benötigt keine AkkuOptimierungs­einstellungen. bitchat läuft normal.</string>
<string name="battery_optimization_success_message">bitchat kann zuverlässig im Hintergrund laufen</string>
<string name="battery_optimization_benefits">• Zuverlässige Zustellung von Nachrichten\n• Aufrechterhaltung der MeshVerbindung\n• Hintergrundweiterleitung von Nachrichten\n• Verhindert Verbindungsabbrüche</string>
<string name="battery_optimization_check_again">Erneut prüfen</string>
<string name="battery_optimization_skip">Jetzt überspringen</string>
<string name="battery_optimization_continue">Fortfahren</string>
<string name="retry">Erneut versuchen</string>
<string name="skip">Überspringen</string>
<!-- Benachrichtigungen -->
<string name="notification_summary_more">und %1$d weitere</string>
<string name="notification_messages_from_people">%1$d Nachrichten von %2$d Personen</string>
<string name="notification_more_conversations">und %1$d weitere Unterhaltungen</string>
<string name="notification_active_peers_title">👥 bitchatter in der Nähe!</string>
<string name="notification_active_peers_one">1 Person in der Nähe</string>
<string name="notification_active_peers_many">%1$d Personen in der Nähe</string>
<string name="notification_new_messages">Neue Nachrichten</string>
<string name="notification_new_location_messages">Neue StandortNachrichten</string>
<string name="notification_mentions_in">Erwähnt in %1$s</string>
<string name="notification_mentions_in_more">Erwähnt in %1$s (+%2$d weitere)</string>
<string name="notification_mentions_in_plural">%1$d Erwähnungen in %2$s</string>
<string name="notification_new_activity_in">Neue Aktivität in %1$s</string>
<string name="notification_messages_in">Nachrichten in %1$s</string>
<string name="notification_joined_conversation">%1$s ist der Unterhaltung beigetreten</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d Erwähnungen</string>
<string name="notification_geohash_summary_title">bitchat OrtsChats</string>
<string name="notification_geohash_summary_text">%1$d Nachrichten aus %2$d Orten</string>
<string name="notification_mesh_mention_title_singular">In MeshChat erwähnt</string>
<string name="notification_mesh_mention_title_plural">%1$d Erwähnungen im MeshChat</string>
<string name="notification_more_locations">und %1$d weitere Orte</string>
<string name="notification_and_more">und %1$d weitere</string>
<!-- Favoriten Zugänglichkeit -->
<string name="cd_add_favorite">Zu Favoriten hinzufügen</string>
<string name="cd_remove_favorite">Aus Favoriten entfernen</string>
<string name="cd_add_bookmark">Lesezeichen hinzufügen</string>
<!-- ChatKopf & Barrierefreiheit -->
<string name="chat_back">zurück</string>
<string name="chat_channel_prefix">Kanal: %1$s</string>
<string name="chat_leave">verlassen</string>
<string name="cd_nostr_reachable">Über Nostr erreichbar</string>
<string name="cd_unread_private_messages">Ungelesene private Nachrichten</string>
<string name="cd_toggle_bookmark">Lesezeichen umschalten</string>
<string name="cd_teleported">Teleportiert</string>
<string name="cd_tor_status">TorStatus</string>
<string name="cd_connected_peers">Verbundenen Peers</string>
<string name="cd_geohash_participants">GeohashTeilnehmer</string>
<string name="cd_ready_for_handshake">Bereit für Handshake</string>
<string name="cd_handshake_in_progress">Handshake läuft</string>
<string name="cd_encrypted">EndezuEnde verschlüsselt</string>
<string name="cd_handshake_failed">Handshake fehlgeschlagen</string>
<!-- DateiansichtDialog -->
<string name="file_viewer_title">📎 Datei empfangen</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Größe: %1$s</string>
<string name="file_viewer_type">🏷️ Typ: %1$s</string>
<string name="file_viewer_open_save">📂 Öffnen / Speichern</string>
<string name="close_with_emoji">❌ Schließen</string>
<string name="pick_image">Bild auswählen</string>
<!-- ÜberSheet -->
<string name="about_tagline">dezentraler MeshChat mit EndezuEndeVerschlüsselung</string>
<string name="about_offline_mesh_title">OfflineMeshChat</string>
<string name="about_offline_mesh_desc">Kommuniziere direkt über Bluetooth LE ohne Internet oder Server. Nachrichten werden über nahe Geräte weitergeleitet, um die Reichweite zu erhöhen.</string>
<string name="about_online_geohash_title">OnlineGeohashKanäle</string>
<string name="about_online_geohash_desc">Vernetze dich mit Menschen in deiner Umgebung über geohashbasierte Kanäle. Erweitere das Mesh über öffentliche InternetRelays.</string>
<string name="about_e2e_title">EndezuEndeVerschlüsselung</string>
<string name="about_e2e_desc">Private Nachrichten sind verschlüsselt. KanalNachrichten sind öffentlich.</string>
<string name="about_appearance">Darstellung</string>
<string name="about_system">System</string>
<string name="about_light">Hell</string>
<string name="about_dark">Dunkel</string>
<string name="about_pow">Proof of Work</string>
<string name="about_pow_off">PoW aus</string>
<string name="about_pow_on">PoW an</string>
<string name="about_pow_tip">Füge GeohashNachrichten einen Proof of Work hinzu, um Spam zu erschweren.</string>
<string name="about_pow_difficulty">Schwierigkeit: %1$d Bit (~%2$s)</string>
<string name="about_pow_difficulty_attempts">Schwierigkeit %1$d erfordert ~%2$s HashVersuche</string>
<string name="about_pow_desc_none">kein Proof of Work erforderlich</string>
<string name="about_pow_desc_very_low">sehr niedrig minimaler Spamschutz</string>
<string name="about_pow_desc_low">niedrig grundlegender Spamschutz</string>
<string name="about_pow_desc_medium">mittel guter Spamschutz</string>
<string name="about_pow_desc_high">hoch starker Spamschutz</string>
<string name="about_pow_desc_very_high">sehr hoch kann Verzögerungen verursachen</string>
<string name="about_pow_desc_extreme">extrem erhebliche Rechenleistung erforderlich</string>
<string name="about_network">Netzwerk</string>
<string name="about_tor_off">Tor aus</string>
<string name="about_tor_on">Tor an</string>
<string name="about_tor_route">Leite Internetverkehr über Tor für mehr Privatsphäre.</string>
<string name="about_tor_status">TorStatus: %1$s, Bootstrap %2$d%%</string>
<string name="about_last">Zuletzt: %1$s</string>
<string name="about_emergency_title">NotfallDatenlöschung</string>
<string name="about_emergency_tip">Tipp: Dreifach auf den AppTitel tippen, um alle gespeicherten Daten einschließlich Nachrichten, Schlüssel und Einstellungen zu löschen.</string>
<string name="about_debug_settings">DebugEinstellungen</string>
<string name="about_footer">Open Source • Privacy First • Dezentral</string>
<string name="close_plain">Schließen</string>
<string name="cancel_lower">abbrechen</string>
<!-- Allgemeine ContentDescriptions -->
<string name="cd_warning">Warnung</string>
<string name="cd_location_services">Standortdienste</string>
<string name="cd_privacy">Privatsphäre</string>
<string name="cd_error">Fehler</string>
<string name="cd_battery_optimization">AkkuOptimierung</string>
<string name="cd_benefits">Vorteile</string>
<string name="cd_checking_battery_optimization">AkkuOptimierung wird geprüft</string>
<string name="cd_not_supported_battery_optimization">AkkuOptimierung nicht unterstützt</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Ungelesene Nachricht</string>
<string name="cd_open_map">Karte öffnen</string>
<string name="cd_remove_bookmark">Lesezeichen entfernen</string>
<string name="cd_teleport">Teleportieren</string>
<string name="cd_selected">Ausgewählt</string>
<string name="cd_leave_channel">Kanal verlassen</string>
<string name="cd_reachable_via_nostr">Über Nostr erreichbar</string>
<string name="cd_offline_favorite">Favorit (offline)</string>
<string name="cd_decrease_precision">Genauigkeit verringern</string>
<string name="cd_increase_precision">Genauigkeit erhöhen</string>
<string name="cd_select_geohash">Geohash auswählen</string>
<string name="cd_scroll_to_bottom">Nach unten scrollen</string>
<string name="cd_file">Datei</string>
<string name="cd_image">Bild</string>
<string name="cd_cancel">Abbrechen</string>
<string name="cd_link">Link</string>
<string name="cd_pick_media">Medien auswählen</string>
<string name="cd_pick_file">Datei auswählen</string>
<string name="cd_save_current_image">Aktuelles Bild speichern</string>
<string name="cd_close">Schließen</string>
<string name="cd_image_index_of">Bild %1$d von %2$d</string>
<string name="cd_privacy_protected">Privatsphäre geschützt</string>
<string name="cd_record_voice">Sprachnotiz aufnehmen</string>
<string name="cd_offline_mesh_chat">OfflineMeshChat</string>
<string name="cd_online_geohash_channels">OnlineGeohashKanäle</string>
<string name="cd_end_to_end_encryption">EndezuEndeVerschlüsselung</string>
<!-- Bilder & Dateien -->
<string name="image_page_of">Bild %1$d von %2$d</string>
<string name="image_unavailable">Bild nicht verfügbar</string>
<string name="image_saved_to_downloads">Bild in "Downloads" gespeichert</string>
<string name="image_save_failed">Bild konnte nicht gespeichert werden</string>
<string name="toast_image_saved">Bild in "Downloads" gespeichert</string>
<string name="toast_failed_to_save_image">Bild konnte nicht gespeichert werden</string>
<string name="pick_file">Datei auswählen</string>
<string name="file_unavailable">[Datei nicht verfügbar]</string>
<string name="unknown">unbekannt</string>
<!-- NutzerAktionsSheet -->
<string name="choose_action_message_or_user">Aktion für diese Nachricht oder diesen Benutzer wählen</string>
<string name="choose_action_user">Aktion für diesen Benutzer wählen</string>
<string name="action_copy_message_title">Nachricht kopieren</string>
<string name="action_copy_message_subtitle">Diese Nachricht in die Zwischenablage kopieren</string>
<string name="action_slap_title">%1$s ohrfeigen</string>
<string name="action_slap_subtitle">Eine spielerische Ohrfeige senden</string>
<string name="action_hug_title">%1$s umarmen</string>
<string name="action_hug_subtitle">Eine freundliche Umarmung senden</string>
<string name="action_block_title">%1$s blockieren</string>
<string name="action_block_subtitle">Alle Nachrichten dieses Benutzers blockieren</string>
<!-- GeohashKanäle Sheet -->
<string name="location_channels_title">#StandortKanäle</string>
<string name="location_channels_desc">Chatte mit Menschen in deiner Nähe über GeohashKanäle. Es wird nur ein grober Geohash geteilt, niemals exakte GPSDaten. Mache zur Wahrung deiner Privatsphäre keine Screenshots und teile diesen Bildschirm nicht.</string>
<string name="grant_location_permission">Standortberechtigung erteilen</string>
<string name="location_permission_denied">Standortberechtigung verweigert. In den Einstellungen aktivieren, um StandortKanäle zu nutzen.</string>
<string name="open_settings">Einstellungen öffnen</string>
<string name="location_permission_granted">\u2713 Standortberechtigung erteilt</string>
<string name="checking_permissions">Berechtigungen werden geprüft …</string>
<string name="finding_nearby_channels">Nahe Kanäle werden gesucht …</string>
<string name="bookmarked">Lesezeichen</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">Ungültiger Geohash</string>
<string name="teleport">teleportieren</string>
<string name="disable_location_services">Standortdienste deaktivieren</string>
<string name="enable_location_services">Standortdienste aktivieren</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">Block</string>
<string name="location_level_neighborhood">Nachbarschaft</string>
<string name="location_level_city">Stadt</string>
<string name="location_level_province">Provinz</string>
<string name="location_level_region">Region</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- Debug / Diagnostik -->
<string name="debug_tools">DebugWerkzeuge</string>
<string name="debug_tools_desc">EntwicklerWerkzeuge für Diagnose und Steuerung</string>
<string name="debug_verbose_logging">ausführliches Logging</string>
<string name="debug_verbose_hint">Protokolliert PeerBeitritte/Austritte, Verbindungsrichtung, Paketweiterleitung und Relays</string>
<string name="debug_bluetooth_roles">BluetoothRollen</string>
<string name="debug_gatt_server">GATTServer</string>
<string name="debug_connections_fmt">Verbindungen: %1$d / %2$d</string>
<string name="debug_max_server">max. Server</string>
<string name="debug_gatt_client">GATTClient</string>
<string name="debug_max_client">max. Client</string>
<string name="debug_overall_connections_fmt">Verbindungen: %1$d / %2$d</string>
<string name="debug_max_overall">max. gesamt</string>
<string name="debug_packet_relay">PaketRelay</string>
<string name="debug_since_start_fmt">seit Start: %1$d</string>
<string name="debug_roles_hint">Rollen ein/aus schalten und beim Deaktivieren alle Verbindungen schließen</string>
<string name="debug_sync_settings">SyncEinstellungen</string>
<string name="debug_max_packets_per_sync_fmt">max. Pakete pro Sync: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">max. GCSFiltergröße: %1$d Bytes (1281024)</string>
<string name="debug_target_fpr_fmt">ZielFPR: %1$.2f%%</string>
<string name="debug_connected_devices">verbundene Geräte</string>
<string name="debug_our_device_id_fmt">unsere GeräteID: %1$s</string>
<string name="debug_none">keine</string>
<string name="debug_disconnect">trennen</string>
<string name="debug_recent_scan_results">zuletzt gescannte Geräte</string>
<string name="debug_connect">verbinden</string>
<string name="debug_debug_console">DebugKonsole</string>
<string name="debug_clear">leeren</string>
<string name="debug_relays_window_fmt">letzte 10s: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">abgeleitetes P: %1$s • geschätzte max. Elemente: %2$s</string>
<string name="debug_direct_suffix"> • direkt</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">als Server (wir hosten)</string>
<string name="debug_role_client">als Client (wir verbinden)</string>
<!-- OnboardingBildschirme -->
<string name="location_services_required">Standortdienste erforderlich</string>
<string name="privacy_first">Privatsphäre zuerst</string>
<string name="location_explanation">bitchat verfolgt NICHT deinen Standort.\n\nStandortdienste sind für BluetoothScanning und das GeohashChatFeature erforderlich.</string>
<string name="location_needs_for">bitchat benötigt Standortdienste für:</string>
<string name="location_needs_bullets">• BluetoothGerätescanning\n• Entdecken nahegelegener Benutzer im MeshNetzwerk\n• GeohashChatFeature\n• Keine Verfolgung oder Standortsammlung</string>
<string name="open_location_settings">Standorteinstellungen öffnen</string>
<string name="check_again">Erneut prüfen</string>
<string name="location_services_unavailable">Standortdienste nicht verfügbar</string>
<string name="location_unavailable_explanation">Standortdienste sind auf diesem Gerät nicht verfügbar. Das ist ungewöhnlich, da Standortdienste bei AndroidGeräten Standard sind.\n\nbitchat benötigt Standortdienste für das ordnungsgemäße Funktionieren des BluetoothScannings (AndroidAnforderung). Ohne diese kann die App keine nahegelegenen Benutzer entdecken.</string>
<string name="checking_location_services">Standortdienste werden geprüft …</string>
<string name="bluetooth_required">Bluetooth erforderlich</string>
<string name="bluetooth_needs_for">bitchat benötigt Bluetooth für:</string>
<string name="bluetooth_needs_bullets">• Entdecken nahegelegener Benutzer\n• Erstellen von MeshNetzwerkverbindungen\n• Senden und Empfangen von Nachrichten\n• Funktionieren ohne Internet oder Server</string>
<string name="enable_bluetooth">Bluetooth aktivieren</string>
<string name="bluetooth_not_supported">Bluetooth nicht unterstützt</string>
<string name="bluetooth_unsupported_explanation">Dieses Gerät unterstützt kein Bluetooth Low Energy (BLE), das für das Funktionieren von bitchat erforderlich ist.\n\nbitchat benötigt BLE, um MeshNetzwerke zu erstellen und ohne Internet mit nahegelegenen Geräten zu kommunizieren.</string>
<string name="checking_bluetooth_status">BluetoothStatus wird geprüft …</string>
<string name="battery_optimization_detected_title">AkkuOptimierung erkannt</string>
<string name="battery_optimization_enabled_title">AkkuOptimierung aktiviert</string>
<string name="battery_optimization_explanation_short">bitchat muss im Hintergrund laufen, um MeshVerbindungen aufrechtzuerhalten. Die AkkuOptimierung kann diese Verbindungen unterbrechen.</string>
<string name="benefits_of_disabling">Vorteile der Deaktivierung</string>
<string name="battery_benefits_short">• zuverlässige Nachrichtenzustellung\n• Aufrechterhaltung der MeshKonnektivität\n• verhindert Verbindungsabbrüche</string>
<string name="disable_battery_optimization">AkkuOptimierung deaktivieren</string>
<string name="battery_optimization_disabled_title">AkkuOptimierung deaktiviert</string>
<string name="continue_btn">Fortfahren</string>
<string name="initializing_mesh_network">MeshNetzwerk wird initialisiert</string>
<string name="setting_up_bluetooth">BluetoothMeshNetzwerk wird eingerichtet …</string>
<string name="should_take_seconds">Das sollte nur wenige Sekunden dauern</string>
<string name="setup_not_complete">Setup nicht abgeschlossen</string>
<string name="try_again">Erneut versuchen</string>
<string name="privacy_protected">Deine Privatsphäre ist geschützt</string>
<string name="privacy_bullets">• keine Verfolgung oder Datensammlung\n• BluetoothMeshChats sind vollständig offline\n• GeohashChats nutzen das Internet</string>
<string name="permissions_header">Berechtigungen</string>
<string name="grant_permissions">Berechtigungen erteilen</string>
<string name="location_tracking_warning">bitchat verfolgt NICHT deinen Standort</string>
<string name="geohash_people_header">PERSONEN</string>
<string name="nobody_around">niemand da …</string>
<string name="you_suffix"> (du)</string>
<string name="pan_zoom_instruction">schwenken und zoomen, um einen Geohash auszuwählen</string>
<string name="select">auswählen</string>
<string name="type_a_message_placeholder">Nachricht eingeben …</string>
<string name="mention">erwähnen</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">Bild</string>
<string name="media_type_file">Datei</string>
<!-- BenachrichtigungsTextHelfer -->
<string name="notification_sent_image">📷 hat ein Bild gesendet</string>
<string name="notification_sent_voice">🎤 hat eine Sprachnachricht gesendet</string>
<string name="notification_sent_file">📎 hat eine Datei gesendet</string>
<!-- Sprachplayer Barrierefreiheit -->
<string name="cd_play_voice">Abspielen</string>
<string name="cd_pause_voice">Pause</string>
<string name="cd_mining_pow">MiningPoW</string>
<string name="cd_pow_enabled">PoW aktiviert</string>
<string name="cd_proof_of_work">Proof of Work</string>
<string name="pow_mining_ellipsis">Mining …</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- Berechtigungsbeschreibungen -->
<string name="perm_nearby_devices_desc">Erforderlich, um bitchatBenutzer über Bluetooth zu entdecken</string>
<string name="perm_nearby_devices_system">Erlaube bitchat, sich mit nahegelegenen Geräten zu verbinden</string>
<string name="perm_location_desc">Von Android erforderlich, um nahegelegene bitchatBenutzer über Bluetooth zu entdecken</string>
<string name="perm_location_system">bitchat benötigt dies, um nach nahegelegenen Geräten zu scannen</string>
<string name="perm_notifications_desc">Benachrichtigungen erhalten, wenn du private Nachrichten erhältst</string>
<string name="perm_notifications_system">Erlaube bitchat, dir Benachrichtigungen zu senden</string>
<string name="perm_battery_desc">AkkuOptimierung deaktivieren, um sicherzustellen, dass bitchat zuverlässig im Hintergrund läuft und MeshNetzwerkverbindungen aufrechterhält</string>
<string name="perm_battery_system">Erlaube bitchat, ohne AkkuBeschränkungen zu laufen</string>
<!-- Berechtigungstypen -->
<string name="perm_type_nearby_devices">Nahegelegene Geräte</string>
<string name="perm_type_precise_location">Genauer Standort</string>
<string name="perm_type_microphone">Mikrofon</string>
<string name="perm_type_notifications">Benachrichtigungen</string>
<string name="perm_type_battery_optimization">AkkuOptimierung</string>
<string name="perm_type_other">Andere</string>
<!-- PasswortDialog -->
<string name="pwd_prompt_title">Kanalpasswort eingeben</string>
<string name="pwd_prompt_message">Kanal %1$s ist passwortgeschützt. Gib zum Beitreten das Passwort ein.</string>
<string name="pwd_label">Passwort</string>
<string name="join">Beitreten</string>
<string name="cancel">Abbrechen</string>
<!-- Plurals -->
<plurals name="notification_and_more">
<item quantity="one">und %d weitere</item>
<item quantity="other">und %d weitere</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 Person</item>
<item quantity="other">%d Personen</item>
</plurals>
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- Justificaciones de permisos -->
<string name="permission_bluetooth_rationale">El permiso de Bluetooth es necesario para chatear directamente con otros sin internet.</string>
<string name="permission_location_rationale">El permiso de ubicación es necesario para encontrar dispositivos cercanos a través de Bluetooth.</string>
<string name="permission_notification_rationale">El permiso de notificaciones es necesario para alertarte sobre nuevos mensajes.</string>
<!-- Placeholders / UI básica -->
<string name="nickname_hint">Apodo</string>
<string name="message_hint">Escribe un mensaje…</string>
<string name="channel_password_hint">Contraseña</string>
<string name="join_channel">Unirse al canal</string>
<string name="leave_channel">Salir</string>
<string name="send_message">Enviar</string>
<string name="show_commands">Mostrar comandos</string>
<string name="back">Atrás</string>
<string name="people">Personas</string>
<string name="channels">Canales</string>
<string name="online_users">Usuarios en línea</string>
<string name="no_one_connected">Nadie conectado</string>
<string name="emergency_clear_hint">Toca tres veces para borrar todos los datos</string>
<string name="your_network">Tu red</string>
<!-- Optimización de batería -->
<string name="battery_optimization_detected">Optimización de batería detectada</string>
<string name="battery_optimization_disabled">Optimización de batería deshabilitada</string>
<string name="battery_optimization_not_required">Optimización de batería no requerida</string>
<string name="battery_optimization_checking">Verificando optimización de batería</string>
<string name="battery_optimization_why_disable">¿Por qué deshabilitar la optimización de batería?</string>
<string name="battery_optimization_explanation">bitchat funciona en segundo plano para mantener conexiones de red mesh con dispositivos cercanos. La optimización de batería puede interrumpir estas conexiones, causando que los mensajes lleguen tarde o se pierdan.\n\nDeshabilitar la optimización de batería asegura una comunicación peer-to-peer confiable.</string>
<string name="battery_optimization_disable_button">Deshabilitar optimización de batería</string>
<string name="battery_optimization_note">Nota: Puedes cambiar esto más tarde en Configuración de Android > Apps > bitchat > Batería.</string>
<string name="battery_optimization_not_supported_explanation">Tu dispositivo no requiere configuraciones de optimización de batería. bitchat funcionará normalmente.</string>
<string name="battery_optimization_not_supported_message">Tu dispositivo no requiere configuraciones de optimización de batería. bitchat funcionará normalmente.</string>
<string name="battery_optimization_success_message">bitchat puede funcionar de manera confiable en segundo plano</string>
<string name="battery_optimization_benefits">• Entrega confiable de mensajes\n• Mantiene conexión de red mesh\n• Retransmisión de mensajes en segundo plano\n• Previene desconexiones</string>
<string name="battery_optimization_check_again">Verificar de nuevo</string>
<string name="battery_optimization_skip">Omitir por ahora</string>
<string name="battery_optimization_continue">Continuar</string>
<string name="retry">Reintentar</string>
<string name="skip">Omitir</string>
<!-- Notificaciones -->
<string name="notification_summary_more">y %1$d más</string>
<string name="notification_messages_from_people">%1$d mensajes de %2$d personas</string>
<string name="notification_more_conversations">y %1$d conversaciones más</string>
<string name="notification_active_peers_title">👥 ¡bitchatters cerca!</string>
<string name="notification_active_peers_one">1 persona cerca</string>
<string name="notification_active_peers_many">%1$d personas cerca</string>
<string name="notification_new_messages">Nuevos mensajes</string>
<string name="notification_new_location_messages">Nuevos mensajes de ubicación</string>
<string name="notification_mentions_in">Mencionado en %1$s</string>
<string name="notification_mentions_in_more">Mencionado en %1$s (+%2$d más)</string>
<string name="notification_mentions_in_plural">%1$d menciones en %2$s</string>
<string name="notification_new_activity_in">Nueva actividad en %1$s</string>
<string name="notification_messages_in">Mensajes en %1$s</string>
<string name="notification_joined_conversation">%1$s se unió a la conversación</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d menciones</string>
<string name="notification_geohash_summary_title">bitchat Chats de ubicación</string>
<string name="notification_geohash_summary_text">%1$d mensajes desde %2$d ubicaciones</string>
<string name="notification_mesh_mention_title_singular">Mencionado en chat mesh</string>
<string name="notification_mesh_mention_title_plural">%1$d menciones en chat mesh</string>
<string name="notification_more_locations">y %1$d ubicaciones más</string>
<string name="notification_and_more">y %1$d más</string>
<!-- Accesibilidad de favoritos -->
<string name="cd_add_favorite">Agregar a favoritos</string>
<string name="cd_remove_favorite">Quitar de favoritos</string>
<string name="cd_add_bookmark">Agregar marcador</string>
<!-- Encabezado de chat y accesibilidad -->
<string name="chat_back">atrás</string>
<string name="chat_channel_prefix">Canal: %1$s</string>
<string name="chat_leave">salir</string>
<string name="cd_nostr_reachable">Accesible vía Nostr</string>
<string name="cd_unread_private_messages">Mensajes privados sin leer</string>
<string name="cd_toggle_bookmark">Alternar marcador</string>
<string name="cd_teleported">Teletransportado</string>
<string name="cd_tor_status">Estado de Tor</string>
<string name="cd_connected_peers">Pares conectados</string>
<string name="cd_geohash_participants">Participantes geohash</string>
<string name="cd_ready_for_handshake">Listo para handshake</string>
<string name="cd_handshake_in_progress">Handshake en progreso</string>
<string name="cd_encrypted">Cifrado de extremo a extremo</string>
<string name="cd_handshake_failed">Handshake fallido</string>
<!-- Diálogo de visor de archivos -->
<string name="file_viewer_title">📎 Archivo recibido</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Tamaño: %1$s</string>
<string name="file_viewer_type">🏷️ Tipo: %1$s</string>
<string name="file_viewer_open_save">📂 Abrir / Guardar</string>
<string name="close_with_emoji">❌ Cerrar</string>
<string name="pick_image">Elegir imagen</string>
<!-- Hoja Acerca de -->
<string name="about_tagline">chat mesh descentralizado con cifrado de extremo a extremo</string>
<string name="about_offline_mesh_title">Chat mesh sin conexión</string>
<string name="about_offline_mesh_desc">Comunícate directamente a través de Bluetooth LE sin internet o servidores. Los mensajes se retransmiten a través de dispositivos cercanos para extender el alcance.</string>
<string name="about_online_geohash_title">Canales geohash en línea</string>
<string name="about_online_geohash_desc">Conéctate con personas cerca de ti a través de canales basados en geohash. Extiende la red mesh a través de repetidores de internet público.</string>
<string name="about_e2e_title">Cifrado de extremo a extremo</string>
<string name="about_e2e_desc">Los mensajes privados están cifrados. Los mensajes de canal son públicos.</string>
<string name="about_appearance">Apariencia</string>
<string name="about_system">Sistema</string>
<string name="about_light">Claro</string>
<string name="about_dark">Oscuro</string>
<string name="about_pow">Prueba de trabajo</string>
<string name="about_pow_off">PoW desactivado</string>
<string name="about_pow_on">PoW activado</string>
<string name="about_pow_tip">Agregar prueba de trabajo a mensajes geohash para hacer el spam más difícil.</string>
<string name="about_pow_difficulty">Dificultad: %1$d bits (~%2$s)</string>
<string name="about_pow_difficulty_attempts">Dificultad %1$d requiere ~%2$s intentos de hash</string>
<string name="about_pow_desc_none">no se requiere prueba de trabajo</string>
<string name="about_pow_desc_very_low">muy bajo protección mínima contra spam</string>
<string name="about_pow_desc_low">bajo protección básica contra spam</string>
<string name="about_pow_desc_medium">medio buena protección contra spam</string>
<string name="about_pow_desc_high">alto protección fuerte contra spam</string>
<string name="about_pow_desc_very_high">muy alto puede causar retrasos</string>
<string name="about_pow_desc_extreme">extremo requiere potencia computacional significativa</string>
<string name="about_network">Red</string>
<string name="about_tor_off">Tor desactivado</string>
<string name="about_tor_on">Tor activado</string>
<string name="about_tor_route">Enrutar tráfico de internet a través de Tor para mayor privacidad.</string>
<string name="about_tor_status">Estado de Tor: %1$s, bootstrap %2$d%%</string>
<string name="about_last">Último: %1$s</string>
<string name="about_emergency_title">Borrado de datos de emergencia</string>
<string name="about_emergency_tip">Consejo: Toca tres veces en el título de la app para borrar todos los datos almacenados, incluyendo mensajes, claves y configuraciones.</string>
<string name="about_debug_settings">Configuraciones de depuración</string>
<string name="about_footer">Código abierto • Privacidad primero • Descentralizado</string>
<string name="close_plain">Cerrar</string>
<string name="cancel_lower">cancelar</string>
<!-- Descripciones de contenido generales -->
<string name="cd_warning">Advertencia</string>
<string name="cd_location_services">Servicios de ubicación</string>
<string name="cd_privacy">Privacidad</string>
<string name="cd_error">Error</string>
<string name="cd_battery_optimization">Optimización de batería</string>
<string name="cd_benefits">Beneficios</string>
<string name="cd_checking_battery_optimization">Verificando optimización de batería</string>
<string name="cd_not_supported_battery_optimization">Optimización de batería no soportada</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Mensaje sin leer</string>
<string name="cd_open_map">Abrir mapa</string>
<string name="cd_remove_bookmark">Quitar marcador</string>
<string name="cd_teleport">Teletransportar</string>
<string name="cd_selected">Seleccionado</string>
<string name="cd_leave_channel">Salir del canal</string>
<string name="cd_reachable_via_nostr">Accesible vía Nostr</string>
<string name="cd_offline_favorite">Favorito (sin conexión)</string>
<string name="cd_decrease_precision">Disminuir precisión</string>
<string name="cd_increase_precision">Aumentar precisión</string>
<string name="cd_select_geohash">Seleccionar geohash</string>
<string name="cd_scroll_to_bottom">Desplazar al final</string>
<string name="cd_file">Archivo</string>
<string name="cd_image">Imagen</string>
<string name="cd_cancel">Cancelar</string>
<string name="cd_link">Enlace</string>
<string name="cd_pick_media">Elegir medios</string>
<string name="cd_pick_file">Elegir archivo</string>
<string name="cd_save_current_image">Guardar imagen actual</string>
<string name="cd_close">Cerrar</string>
<string name="cd_image_index_of">Imagen %1$d de %2$d</string>
<string name="cd_privacy_protected">Privacidad protegida</string>
<string name="cd_record_voice">Grabar nota de voz</string>
<string name="cd_offline_mesh_chat">Chat mesh sin conexión</string>
<string name="cd_online_geohash_channels">Canales geohash en línea</string>
<string name="cd_end_to_end_encryption">Cifrado de extremo a extremo</string>
<!-- Imágenes y archivos -->
<string name="image_page_of">Imagen %1$d de %2$d</string>
<string name="image_unavailable">Imagen no disponible</string>
<string name="image_saved_to_downloads">Imagen guardada en "Descargas"</string>
<string name="image_save_failed">No se pudo guardar la imagen</string>
<string name="toast_image_saved">Imagen guardada en "Descargas"</string>
<string name="toast_failed_to_save_image">No se pudo guardar la imagen</string>
<string name="pick_file">Elegir archivo</string>
<string name="file_unavailable">[Archivo no disponible]</string>
<string name="unknown">desconocido</string>
<!-- Hoja de acciones de usuario -->
<string name="choose_action_message_or_user">Elegir acción para este mensaje o usuario</string>
<string name="choose_action_user">Elegir acción para este usuario</string>
<string name="action_copy_message_title">Copiar mensaje</string>
<string name="action_copy_message_subtitle">Copiar este mensaje al portapapeles</string>
<string name="action_slap_title">Abofetear a %1$s</string>
<string name="action_slap_subtitle">Enviar una bofetada juguetona</string>
<string name="action_hug_title">Abrazar a %1$s</string>
<string name="action_hug_subtitle">Enviar un abrazo amistoso</string>
<string name="action_block_title">Bloquear a %1$s</string>
<string name="action_block_subtitle">Bloquear todos los mensajes de este usuario</string>
<!-- Hoja de canales geohash -->
<string name="location_channels_title">#Canales de ubicación</string>
<string name="location_channels_desc">Chatea con personas cerca de ti a través de canales geohash. Solo se comparte un geohash aproximado, nunca datos GPS exactos. Para preservar tu privacidad, no tomes capturas de pantalla ni compartas esta pantalla.</string>
<string name="grant_location_permission">Otorgar permiso de ubicación</string>
<string name="location_permission_denied">Permiso de ubicación denegado. Habilítalo en configuraciones para usar canales de ubicación.</string>
<string name="open_settings">Abrir configuraciones</string>
<string name="location_permission_granted">\u2713 Permiso de ubicación otorgado</string>
<string name="checking_permissions">Verificando permisos…</string>
<string name="finding_nearby_channels">Buscando canales cercanos…</string>
<string name="bookmarked">Marcado</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">Geohash inválido</string>
<string name="teleport">teletransportar</string>
<string name="disable_location_services">Deshabilitar servicios de ubicación</string>
<string name="enable_location_services">Habilitar servicios de ubicación</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">Cuadra</string>
<string name="location_level_neighborhood">Barrio</string>
<string name="location_level_city">Ciudad</string>
<string name="location_level_province">Provincia</string>
<string name="location_level_region">Región</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- Debug / Diagnóstico -->
<string name="debug_tools">Herramientas de depuración</string>
<string name="debug_tools_desc">Herramientas de desarrollador para diagnóstico y control</string>
<string name="debug_verbose_logging">registro detallado</string>
<string name="debug_verbose_hint">Registra uniones/salidas de pares, dirección de conexión, retransmisión de paquetes y repetidores</string>
<string name="debug_bluetooth_roles">Roles de Bluetooth</string>
<string name="debug_gatt_server">Servidor GATT</string>
<string name="debug_connections_fmt">Conexiones: %1$d / %2$d</string>
<string name="debug_max_server">máx. servidor</string>
<string name="debug_gatt_client">Cliente GATT</string>
<string name="debug_max_client">máx. cliente</string>
<string name="debug_overall_connections_fmt">Conexiones: %1$d / %2$d</string>
<string name="debug_max_overall">máx. general</string>
<string name="debug_packet_relay">Retransmisión de paquetes</string>
<string name="debug_since_start_fmt">desde inicio: %1$d</string>
<string name="debug_roles_hint">Alternar roles activado/desactivado y cerrar todas las conexiones al desactivar</string>
<string name="debug_sync_settings">Configuraciones de sincronización</string>
<string name="debug_max_packets_per_sync_fmt">máx. paquetes por sincronización: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">máx. tamaño del filtro GCS: %1$d bytes (1281024)</string>
<string name="debug_target_fpr_fmt">FPR objetivo: %1$.2f%%</string>
<string name="debug_connected_devices">dispositivos conectados</string>
<string name="debug_our_device_id_fmt">nuestro ID de dispositivo: %1$s</string>
<string name="debug_none">ninguno</string>
<string name="debug_disconnect">desconectar</string>
<string name="debug_recent_scan_results">dispositivos escaneados recientemente</string>
<string name="debug_connect">conectar</string>
<string name="debug_debug_console">Consola de depuración</string>
<string name="debug_clear">limpiar</string>
<string name="debug_relays_window_fmt">últimos 10s: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">P derivado: %1$s • máx. elementos estimados: %2$s</string>
<string name="debug_direct_suffix"> • directo</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">como servidor (nosotros hospedamos)</string>
<string name="debug_role_client">como cliente (nosotros conectamos)</string>
<!-- Pantallas de incorporación -->
<string name="location_services_required">Servicios de ubicación requeridos</string>
<string name="privacy_first">Privacidad primero</string>
<string name="location_explanation">bitchat NO rastrea tu ubicación.\n\nLos servicios de ubicación son requeridos para el escaneo Bluetooth y la función de chat geohash.</string>
<string name="location_needs_for">bitchat necesita servicios de ubicación para:</string>
<string name="location_needs_bullets">• Escaneo de dispositivos Bluetooth\n• Descubrir usuarios cercanos en la red mesh\n• Función de chat geohash\n• Sin rastreo o recolección de ubicación</string>
<string name="open_location_settings">Abrir configuraciones de ubicación</string>
<string name="check_again">Verificar de nuevo</string>
<string name="location_services_unavailable">Servicios de ubicación no disponibles</string>
<string name="location_unavailable_explanation">Los servicios de ubicación no están disponibles en este dispositivo. Esto es inusual ya que los servicios de ubicación son estándar en dispositivos Android.\n\nbitchat requiere servicios de ubicación para el funcionamiento adecuado del escaneo Bluetooth (requisito de Android). Sin esto, la app no puede descubrir usuarios cercanos.</string>
<string name="checking_location_services">Verificando servicios de ubicación…</string>
<string name="bluetooth_required">Bluetooth requerido</string>
<string name="bluetooth_needs_for">bitchat necesita Bluetooth para:</string>
<string name="bluetooth_needs_bullets">• Descubrir usuarios cercanos\n• Crear conexiones de red mesh\n• Enviar y recibir mensajes\n• Funcionar sin internet o servidores</string>
<string name="enable_bluetooth">Habilitar Bluetooth</string>
<string name="bluetooth_not_supported">Bluetooth no soportado</string>
<string name="bluetooth_unsupported_explanation">Este dispositivo no soporta Bluetooth Low Energy (BLE), que es requerido para que bitchat funcione.\n\nbitchat requiere BLE para crear redes mesh y comunicarse con dispositivos cercanos sin internet.</string>
<string name="checking_bluetooth_status">Verificando estado de Bluetooth…</string>
<string name="battery_optimization_detected_title">Optimización de batería detectada</string>
<string name="battery_optimization_enabled_title">Optimización de batería habilitada</string>
<string name="battery_optimization_explanation_short">bitchat necesita funcionar en segundo plano para mantener conexiones mesh. La optimización de batería puede interrumpir estas conexiones.</string>
<string name="benefits_of_disabling">Beneficios de deshabilitar</string>
<string name="battery_benefits_short">• entrega confiable de mensajes\n• mantiene conectividad mesh\n• previene desconexiones</string>
<string name="disable_battery_optimization">Deshabilitar optimización de batería</string>
<string name="battery_optimization_disabled_title">Optimización de batería deshabilitada</string>
<string name="continue_btn">Continuar</string>
<string name="initializing_mesh_network">Inicializando red mesh</string>
<string name="setting_up_bluetooth">Configurando red mesh Bluetooth…</string>
<string name="should_take_seconds">Esto debería tomar solo unos segundos</string>
<string name="setup_not_complete">Configuración no completada</string>
<string name="try_again">Intentar de nuevo</string>
<string name="privacy_protected">Tu privacidad está protegida</string>
<string name="privacy_bullets">• sin rastreo o recolección de datos\n• chats mesh Bluetooth son completamente offline\n• chats geohash usan internet</string>
<string name="permissions_header">Permisos</string>
<string name="grant_permissions">Otorgar permisos</string>
<string name="location_tracking_warning">bitchat NO rastrea tu ubicación</string>
<string name="geohash_people_header">PERSONAS</string>
<string name="nobody_around">nadie por aquí…</string>
<string name="you_suffix"> (tú)</string>
<string name="pan_zoom_instruction">desplaza y hace zoom para seleccionar un geohash</string>
<string name="select">seleccionar</string>
<string name="type_a_message_placeholder">Escribe un mensaje…</string>
<string name="mention">mencionar</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">Imagen</string>
<string name="media_type_file">Archivo</string>
<!-- Ayudantes de texto de notificación -->
<string name="notification_sent_image">📷 envió una imagen</string>
<string name="notification_sent_voice">🎤 envió una nota de voz</string>
<string name="notification_sent_file">📎 envió un archivo</string>
<!-- Accesibilidad del reproductor de voz -->
<string name="cd_play_voice">Reproducir</string>
<string name="cd_pause_voice">Pausar</string>
<string name="cd_mining_pow">Minando PoW</string>
<string name="cd_pow_enabled">PoW habilitado</string>
<string name="cd_proof_of_work">Prueba de trabajo</string>
<string name="pow_mining_ellipsis">Minando…</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- Descripciones de permisos -->
<string name="perm_nearby_devices_desc">Requerido para descubrir usuarios bitchat a través de Bluetooth</string>
<string name="perm_nearby_devices_system">Permitir que bitchat se conecte con dispositivos cercanos</string>
<string name="perm_location_desc">Requerido por Android para descubrir usuarios bitchat cercanos a través de Bluetooth</string>
<string name="perm_location_system">bitchat necesita esto para escanear dispositivos cercanos</string>
<string name="perm_notifications_desc">Recibir notificaciones cuando recibas mensajes privados</string>
<string name="perm_notifications_system">Permitir que bitchat te envíe notificaciones</string>
<string name="perm_battery_desc">Deshabilitar optimización de batería para asegurar que bitchat funcione de manera confiable en segundo plano y mantenga conexiones de red mesh</string>
<string name="perm_battery_system">Permitir que bitchat funcione sin restricciones de batería</string>
<!-- Tipos de permisos -->
<string name="perm_type_nearby_devices">Dispositivos cercanos</string>
<string name="perm_type_precise_location">Ubicación precisa</string>
<string name="perm_type_microphone">Micrófono</string>
<string name="perm_type_notifications">Notificaciones</string>
<string name="perm_type_battery_optimization">Optimización de batería</string>
<string name="perm_type_other">Otro</string>
<!-- Diálogo de contraseña -->
<string name="pwd_prompt_title">Ingresar contraseña del canal</string>
<string name="pwd_prompt_message">El canal %1$s está protegido con contraseña. Ingresa la contraseña para unirte.</string>
<string name="pwd_label">Contraseña</string>
<string name="join">Unirse</string>
<string name="cancel">Cancelar</string>
<!-- Plurales -->
<plurals name="notification_and_more">
<item quantity="one">y %d más</item>
<item quantity="other">y %d más</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 persona</item>
<item quantity="other">%d personas</item>
</plurals>
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- توضیح مجوزها -->
<string name="permission_bluetooth_rationale">برای چت مستقیم با دیگران بدون اینترنت، به مجوز بلوتوث نیاز است.</string>
<string name="permission_location_rationale">برای یافتن دستگاه‌های نزدیک از طریق بلوتوث، به مجوز مکان نیاز است.</string>
<string name="permission_notification_rationale">برای آگاه‌سازی از پیام‌های جدید، به مجوز اعلان نیاز است.</string>
<!-- نگهدارنده‌ها / رابط کاربری پایه -->
<string name="nickname_hint">نام مستعار</string>
<string name="message_hint">نوشتن پیام…</string>
<string name="channel_password_hint">گذرواژه</string>
<string name="join_channel">پیوستن به کانال</string>
<string name="leave_channel">خروج</string>
<string name="send_message">ارسال</string>
<string name="show_commands">نمایش دستورات</string>
<string name="back">بازگشت</string>
<string name="people">افراد</string>
<string name="channels">کانال‌ها</string>
<string name="online_users">کاربران آنلاین</string>
<string name="no_one_connected">هیچ‌کس متصل نیست</string>
<string name="emergency_clear_hint">برای پاک کردن همهٔ داده‌ها سه بار ضربه بزنید</string>
<string name="your_network">شبکه</string>
<!-- بهینه‌سازی باتری -->
<string name="battery_optimization_detected">بهینه‌سازی باتری شناسایی شد</string>
<string name="battery_optimization_disabled">بهینه‌سازی باتری غیرفعال شد</string>
<string name="battery_optimization_not_required">بهینه‌سازی باتری لازم نیست</string>
<string name="battery_optimization_checking">در حال بررسی بهینه‌سازی باتری</string>
<string name="battery_optimization_why_disable">چرا بهینه‌سازی باتری را غیرفعال کنیم؟</string>
<string name="battery_optimization_explanation">bitchat برای حفظ اتصال مِش با دستگاه‌های نزدیک در پس‌زمینه اجرا می‌شود. بهینه‌سازی باتری می‌تواند این اتصال‌ها را قطع کند و باعث تأخیر یا از دست رفتن پیام‌ها شود.\n\nغیرفعال‌کردن بهینه‌سازی باتری، ارتباط همتابه‌همتای قابل اعتماد را تضمین می‌کند.</string>
<string name="battery_optimization_disable_button">غیرفعال‌کردن بهینه‌سازی باتری</string>
<string name="battery_optimization_note">توجه: می‌توانید بعداً در تنظیمات اندروید &gt; برنامه‌ها &gt; bitchat &gt; باتری این مورد را تغییر دهید.</string>
<string name="battery_optimization_not_supported_explanation">دستگاه شما به تنظیمات بهینه‌سازی باتری نیاز ندارد. bitchat به‌صورت عادی اجرا می‌شود.</string>
<string name="battery_optimization_not_supported_message">دستگاه شما به تنظیمات بهینه‌سازی باتری نیاز ندارد. bitchat به‌صورت عادی اجرا می‌شود.</string>
<string name="battery_optimization_success_message">bitchat می‌تواند با اطمینان در پس‌زمینه اجرا شود</string>
<string name="battery_optimization_benefits">• تحویل مطمئن پیام‌ها\n• حفظ اتصال مِش\n• رلهٔ پیام در پس‌زمینه\n• جلوگیری از قطع اتصال</string>
<string name="battery_optimization_check_again">بررسی مجدد</string>
<string name="battery_optimization_skip">فعلاً رد کردن</string>
<string name="battery_optimization_continue">ادامه</string>
<string name="retry">تلاش دوباره</string>
<string name="skip">رد کردن</string>
<!-- اعلان‌ها -->
<string name="notification_summary_more">و %1$d مورد دیگر</string>
<string name="notification_messages_from_people">%1$d پیام از %2$d نفر</string>
<string name="notification_more_conversations">و %1$d گفت‌وگوی دیگر</string>
<string name="notification_active_peers_title">👥 کاربران bitchat در نزدیکی!</string>
<string name="notification_active_peers_one">۱ نفر در نزدیکی</string>
<string name="notification_active_peers_many">%1$d نفر در نزدیکی</string>
<string name="notification_new_messages">پیام‌های جدید</string>
<string name="notification_new_location_messages">پیام‌های مکانی جدید</string>
<string name="notification_mentions_in">ذکر شده در %1$s</string>
<string name="notification_mentions_in_more">ذکر شده در %1$s (+%2$d مورد دیگر)</string>
<string name="notification_mentions_in_plural">%1$d مورد ذکر در %2$s</string>
<string name="notification_new_activity_in">فعالیت جدید در %1$s</string>
<string name="notification_messages_in">پیام‌ها در %1$s</string>
<string name="notification_joined_conversation">%1$s به گفت‌وگو پیوست</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d مورد ذکر</string>
<string name="notification_geohash_summary_title">bitchat – گفت‌وگوی مکانی</string>
<string name="notification_geohash_summary_text">%1$d پیام از %2$d موقعیت</string>
<string name="notification_mesh_mention_title_singular">ذکر در گفت‌وگوی مِش</string>
<string name="notification_mesh_mention_title_plural">%1$d مورد ذکر در گفت‌وگوی مِش</string>
<string name="notification_more_locations">و %1$d موقعیت دیگر</string>
<string name="notification_and_more">و %1$d مورد دیگر</string>
<!-- دسترسی‌پذیری موارد دلخواه -->
<string name="cd_add_favorite">افزودن به موارد دلخواه</string>
<string name="cd_remove_favorite">حذف از موارد دلخواه</string>
<string name="cd_add_bookmark">افزودن نشانک</string>
<!-- سربرگ چت و دسترسی‌پذیری -->
<string name="chat_back">بازگشت</string>
<string name="chat_channel_prefix">کانال: %1$s</string>
<string name="chat_leave">خروج</string>
<string name="cd_nostr_reachable">قابل دسترس از طریق Nostr</string>
<string name="cd_unread_private_messages">پیام‌های خصوصی خوانده‌نشده</string>
<string name="cd_toggle_bookmark">تغییر وضعیت نشانک</string>
<string name="cd_teleported">انتقال مکانی</string>
<string name="cd_tor_status">وضعیت Tor</string>
<string name="cd_connected_peers">همتایان متصل</string>
<string name="cd_geohash_participants">شرکت‌کنندگان geohash</string>
<string name="cd_ready_for_handshake">آمادهٔ دست‌دهی</string>
<string name="cd_handshake_in_progress">دست‌دهی در حال انجام</string>
<string name="cd_encrypted">رمزگذاری سرتاسری</string>
<string name="cd_handshake_failed">دست‌دهی ناموفق بود</string>
<!-- گفت‌وگوگر نمایش فایل -->
<string name="file_viewer_title">📎 فایل دریافت شد</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 اندازه: %1$s</string>
<string name="file_viewer_type">🏷️ نوع: %1$s</string>
<string name="file_viewer_open_save">📂 باز کردن / ذخیره</string>
<string name="close_with_emoji">❌ بستن</string>
<string name="pick_image">انتخاب تصویر</string>
<!-- برگهٔ درباره -->
<string name="about_tagline">گفت‌وگوی مِش غیرمتمرکز با رمزگذاری سرتاسری</string>
<string name="about_offline_mesh_title">گفت‌وگوی مِش آفلاین</string>
<string name="about_offline_mesh_desc">بدون اینترنت یا سرور، مستقیماً از طریق Bluetooth LE ارتباط برقرار کنید. پیام‌ها از طریق دستگاه‌های نزدیک رله می‌شوند تا بُرد افزایش یابد.</string>
<string name="about_online_geohash_title">کانال‌های geohash آنلاین</string>
<string name="about_online_geohash_desc">از طریق کانال‌های مبتنی بر geohash با افراد منطقهٔ خود ارتباط برقرار کنید. مِش را از طریق رله‌های عمومی اینترنت گسترش دهید.</string>
<string name="about_e2e_title">رمزگذاری سرتاسری</string>
<string name="about_e2e_desc">پیام‌های خصوصی رمزگذاری می‌شوند. پیام‌های کانال عمومی هستند.</string>
<string name="about_appearance">نما</string>
<string name="about_system">سامانه</string>
<string name="about_light">روشن</string>
<string name="about_dark">تیره</string>
<string name="about_pow">گواه کار (Proof of Work)</string>
<string name="about_pow_off">PoW خاموش</string>
<string name="about_pow_on">PoW روشن</string>
<string name="about_pow_tip">برای دشوارتر کردن هرزنامه، به پیام‌های geohash گواه کار بیفزایید.</string>
<string name="about_pow_difficulty">سختی: %1$d بیت (~%2$s)</string>
<string name="about_pow_difficulty_attempts">سختی %1$d به ~%2$s کوشش هش نیاز دارد</string>
<string name="about_pow_desc_none">نیازی به گواه کار نیست</string>
<string name="about_pow_desc_very_low">بسیار کم – کمینهٔ حفاظت در برابر هرزنامه</string>
<string name="about_pow_desc_low">کم – حفاظت پایه در برابر هرزنامه</string>
<string name="about_pow_desc_medium">متوسط حفاظت خوب</string>
<string name="about_pow_desc_high">زیاد حفاظت قوی</string>
<string name="about_pow_desc_very_high">بسیار زیاد – ممکن است تأخیر ایجاد کند</string>
<string name="about_pow_desc_extreme">فوق‌العاده – به توان محاسباتی قابل توجه نیاز دارد</string>
<string name="about_network">شبکه</string>
<string name="about_tor_off">Tor خاموش</string>
<string name="about_tor_on">Tor روشن</string>
<string name="about_tor_route">برای حفظ بیشتر حریم خصوصی، ترافیک اینترنت را از طریق Tor مسیریابی کنید.</string>
<string name="about_tor_status">وضعیت Tor: %1$s، بوت‌استرپ %2$d%%</string>
<string name="about_last">آخرین: %1$s</string>
<string name="about_emergency_title">پاکسازی اضطراری داده</string>
<string name="about_emergency_tip">نکته: برای پاک کردن همهٔ داده‌های ذخیره‌شده — شامل پیام‌ها، کلیدها و تنظیمات — سه بار روی عنوان برنامه ضربه بزنید.</string>
<string name="about_debug_settings">تنظیمات اشکال‌زدایی</string>
<string name="about_footer">متن‌باز • حریم خصوصی در اولویت • غیرمتمرکز</string>
<string name="close_plain">بستن</string>
<string name="cancel_lower">لغو</string>
<!-- توضیحات عمومی محتوا -->
<string name="cd_warning">هشدار</string>
<string name="cd_location_services">خدمات مکان</string>
<string name="cd_privacy">حریم خصوصی</string>
<string name="cd_error">خطا</string>
<string name="cd_battery_optimization">بهینه‌سازی باتری</string>
<string name="cd_benefits">مزایا</string>
<string name="cd_checking_battery_optimization">در حال بررسی بهینه‌سازی باتری</string>
<string name="cd_not_supported_battery_optimization">بهینه‌سازی باتری پشتیبانی نمی‌شود</string>
<string name="cd_bluetooth">بلوتوث</string>
<string name="cd_unread_message">پیام خوانده‌نشده</string>
<string name="cd_open_map">باز کردن نقشه</string>
<string name="cd_remove_bookmark">حذف نشانک</string>
<string name="cd_teleport">انتقال</string>
<string name="cd_selected">انتخاب شد</string>
<string name="cd_leave_channel">خروج از کانال</string>
<string name="cd_reachable_via_nostr">قابل دسترس از طریق Nostr</string>
<string name="cd_offline_favorite">دلخواه (آفلاین)</string>
<string name="cd_decrease_precision">کاهش دقت</string>
<string name="cd_increase_precision">افزایش دقت</string>
<string name="cd_select_geohash">انتخاب geohash</string>
<string name="cd_scroll_to_bottom">اسکرول به پایین</string>
<string name="cd_file">فایل</string>
<string name="cd_image">تصویر</string>
<string name="cd_cancel">لغو</string>
<string name="cd_link">پیوند</string>
<string name="cd_pick_media">انتخاب رسانه</string>
<string name="cd_pick_file">انتخاب فایل</string>
<string name="cd_save_current_image">ذخیرهٔ تصویر فعلی</string>
<string name="cd_close">بستن</string>
<string name="cd_image_index_of">تصویر %1$d از %2$d</string>
<string name="cd_privacy_protected">حریم خصوصی محافظت شده است</string>
<string name="cd_record_voice">ضبط پیام صوتی</string>
<string name="cd_offline_mesh_chat">گفت‌وگوی مِش آفلاین</string>
<string name="cd_online_geohash_channels">کانال‌های geohash آنلاین</string>
<string name="cd_end_to_end_encryption">رمزگذاری سرتاسری</string>
<!-- تصاویر و فایل‌ها -->
<string name="image_page_of">تصویر %1$d از %2$d</string>
<string name="image_unavailable">تصویر در دسترس نیست</string>
<string name="image_saved_to_downloads">تصویر در \"Downloads\" ذخیره شد</string>
<string name="image_save_failed">ذخیرهٔ تصویر ناموفق بود</string>
<string name="toast_image_saved">تصویر در \"Downloads\" ذخیره شد</string>
<string name="toast_failed_to_save_image">ذخیرهٔ تصویر ناموفق بود</string>
<string name="pick_file">انتخاب فایل</string>
<string name="file_unavailable">[فایل در دسترس نیست]</string>
<string name="unknown">نامشخص</string>
<!-- برگهٔ اقدامات کاربر -->
<string name="choose_action_message_or_user">اقدامی برای این پیام یا کاربر انتخاب کنید</string>
<string name="choose_action_user">اقدامی برای این کاربر انتخاب کنید</string>
<string name="action_copy_message_title">کپی پیام</string>
<string name="action_copy_message_subtitle">این پیام را در کلیپ‌بورد کپی کن</string>
<string name="action_slap_title">%1$s را سیلی بزن</string>
<string name="action_slap_subtitle">یک سیلی شوخی ارسال کن</string>
<string name="action_hug_title">%1$s را بغل کن</string>
<string name="action_hug_subtitle">یک بغل دوستانه ارسال کن</string>
<string name="action_block_title">%1$s را مسدود کن</string>
<string name="action_block_subtitle">همهٔ پیام‌های این کاربر را مسدود کن</string>
<!-- برگهٔ کانال‌های geohash -->
<string name="location_channels_title">#کانال‌های مکانی</string>
<string name="location_channels_desc">از طریق کانال‌های geohash با افراد نزدیک خود چت کنید. فقط geohash کلی به اشتراک گذاشته می‌شود، نه دادهٔ GPS دقیق. برای حفظ حریم خصوصی، لطفاً از این نما اسکرین‌شات نگیرید یا آن را به اشتراک نگذارید.</string>
<string name="grant_location_permission">اعطای مجوز مکان</string>
<string name="location_permission_denied">مجوز مکان رد شد. برای استفاده از کانال‌های مکانی، آن را در تنظیمات فعال کنید.</string>
<string name="open_settings">باز کردن تنظیمات</string>
<string name="location_permission_granted">\u2713 مجوز مکان اعطا شد</string>
<string name="checking_permissions">در حال بررسی مجوزها …</string>
<string name="finding_nearby_channels">در حال یافتن کانال‌های نزدیک …</string>
<string name="bookmarked">نشانک شده</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">geohash نامعتبر است</string>
<string name="teleport">انتقال مکانی</string>
<string name="disable_location_services">غیرفعال‌کردن خدمات مکان</string>
<string name="enable_location_services">فعال‌کردن خدمات مکان</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">بلوک</string>
<string name="location_level_neighborhood">محله</string>
<string name="location_level_city">شهر</string>
<string name="location_level_province">استان</string>
<string name="location_level_region">منطقه</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- اشکال‌زدایی / عیب‌یابی -->
<string name="debug_tools">ابزارهای اشکال‌زدایی</string>
<string name="debug_tools_desc">ابزارهای توسعه‌دهنده برای عیب‌یابی و کنترل</string>
<string name="debug_verbose_logging">گزارش‌گیری مفصل</string>
<string name="debug_verbose_hint">پیوستن/ترک همتا، جهت اتصال، رلهٔ بسته‌ها و مسیرها را ثبت می‌کند</string>
<string name="debug_bluetooth_roles">نقش‌های بلوتوث</string>
<string name="debug_gatt_server">سرور GATT</string>
<string name="debug_connections_fmt">اتصال‌ها: %1$d / %2$d</string>
<string name="debug_max_server">حداکثر سرور</string>
<string name="debug_gatt_client">کلاینت GATT</string>
<string name="debug_max_client">حداکثر کلاینت</string>
<string name="debug_overall_connections_fmt">اتصال‌ها: %1$d / %2$d</string>
<string name="debug_max_overall">حداکثر کل</string>
<string name="debug_packet_relay">رلهٔ بسته</string>
<string name="debug_since_start_fmt">از شروع: %1$d</string>
<string name="debug_roles_hint">روشن/خاموش‌کردن نقش‌ها و بستن همهٔ اتصال‌ها هنگام غیرفعالسازی</string>
<string name="debug_sync_settings">تنظیمات همگام‌سازی</string>
<string name="debug_max_packets_per_sync_fmt">حداکثر بسته در هر همگام‌سازی: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">حداکثر اندازهٔ فیلتر GCS: %1$d بایت (1281024)</string>
<string name="debug_target_fpr_fmt">FPR هدف: %1$.2f%%</string>
<string name="debug_connected_devices">دستگاه‌های متصل</string>
<string name="debug_our_device_id_fmt">شناسهٔ دستگاه ما: %1$s</string>
<string name="debug_none">هیچ</string>
<string name="debug_disconnect">قطع اتصال</string>
<string name="debug_recent_scan_results">دستگاه‌های اخیراً اسکن‌شده</string>
<string name="debug_connect">اتصال</string>
<string name="debug_debug_console">کنسول اشکال‌زدایی</string>
<string name="debug_clear">پاک‌کردن</string>
<string name="debug_relays_window_fmt">۱۰ث اخیر: %1$d • ۱د: %2$d • ۱۵د: %3$d</string>
<string name="debug_derived_p_fmt">P مشتق: %1$s • عناصر حداکثر تخمینی: %2$s</string>
<string name="debug_direct_suffix"> • مستقیم</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">به عنوان سرور (ما میزبانیم)</string>
<string name="debug_role_client">به عنوان کلاینت (ما متصل می‌شویم)</string>
<!-- صفحه‌های آغازین -->
<string name="location_services_required">خدمات مکان لازم است</string>
<string name="privacy_first">حریم خصوصی در اولویت</string>
<string name="location_explanation">bitchat موقعیت شما را پیگیری نمی‌کند.\n\nبرای اسکن بلوتوث و قابلیت گفت‌وگوی geohash، خدمات مکان لازم است.</string>
<string name="location_needs_for">bitchat به خدمات مکان برای موارد زیر نیاز دارد:</string>
<string name="location_needs_bullets">• اسکن دستگاه‌های بلوتوث\n• یافتن کاربران نزدیک در شبکهٔ مِش\n• قابلیت گفت‌وگوی geohash\n• بدون پیگیری یا جمع‌آوری موقعیت</string>
<string name="open_location_settings">باز کردن تنظیمات مکان</string>
<string name="check_again">بررسی دوباره</string>
<string name="location_services_unavailable">خدمات مکان در دسترس نیست</string>
<string name="location_unavailable_explanation">خدمات مکان در این دستگاه در دسترس نیست. این غیرمعمول است زیرا خدمات مکان در دستگاه‌های اندرویدی استاندارد است.\n\nبرای عملکرد صحیح اسکن بلوتوث (الزام اندروید) bitchat به خدمات مکان نیاز دارد. بدون آن، برنامه نمی‌تواند کاربران نزدیک را بیابد.</string>
<string name="checking_location_services">در حال بررسی خدمات مکان …</string>
<string name="bluetooth_required">بلوتوث لازم است</string>
<string name="bluetooth_needs_for">bitchat به بلوتوث برای موارد زیر نیاز دارد:</string>
<string name="bluetooth_needs_bullets">• یافتن کاربران نزدیک\n• ایجاد اتصال‌های شبکهٔ مِش\n• ارسال و دریافت پیام‌ها\n• کار بدون اینترنت یا سرور</string>
<string name="enable_bluetooth">فعال‌کردن بلوتوث</string>
<string name="bluetooth_not_supported">بلوتوث پشتیبانی نمی‌شود</string>
<string name="bluetooth_unsupported_explanation">این دستگاه از Bluetooth Low Energy (BLE) که برای کارکرد bitchat لازم است پشتیبانی نمی‌کند.\n\nbitchat برای ایجاد شبکهٔ مِش و ارتباط با دستگاه‌های نزدیک بدون اینترنت به BLE نیاز دارد.</string>
<string name="checking_bluetooth_status">در حال بررسی وضعیت بلوتوث …</string>
<string name="battery_optimization_detected_title">بهینه‌سازی باتری شناسایی شد</string>
<string name="battery_optimization_enabled_title">بهینه‌سازی باتری فعال است</string>
<string name="battery_optimization_explanation_short">برای حفظ اتصال مِش، bitchat باید در پس‌زمینه اجرا شود. بهینه‌سازی باتری می‌تواند این اتصال‌ها را مختل کند.</string>
<string name="benefits_of_disabling">مزایای غیرفعالسازی</string>
<string name="battery_benefits_short">• تحویل مطمئن پیام‌ها\n• حفظ اتصال مِش\n• جلوگیری از قطع اتصال</string>
<string name="disable_battery_optimization">غیرفعال‌کردن بهینه‌سازی باتری</string>
<string name="battery_optimization_disabled_title">بهینه‌سازی باتری غیرفعال شد</string>
<string name="continue_btn">ادامه</string>
<string name="initializing_mesh_network">در حال راه‌اندازی شبکهٔ مِش</string>
<string name="setting_up_bluetooth">در حال تنظیم شبکهٔ مِش بلوتوث …</string>
<string name="should_take_seconds">این کار فقط چند ثانیه طول می‌کشد</string>
<string name="setup_not_complete">راه‌اندازی کامل نشد</string>
<string name="try_again">تلاش دوباره</string>
<string name="privacy_protected">حریم خصوصی شما محافظت می‌شود</string>
<string name="privacy_bullets">• بدون پیگیری یا جمع‌آوری داده\n• گفت‌وگوی مِش بلوتوث کاملاً آفلاین است\n• گفت‌وگوی geohash از اینترنت استفاده می‌کند</string>
<string name="permissions_header">مجوزها</string>
<string name="grant_permissions">اعطای مجوزها</string>
<string name="location_tracking_warning">bitchat موقعیت شما را پیگیری نمی‌کند</string>
<string name="geohash_people_header">افراد</string>
<string name="nobody_around">کسی در اطراف نیست …</string>
<string name="you_suffix"> (شما)</string>
<string name="pan_zoom_instruction">برای انتخاب geohash، جابه‌جا و زوم کنید</string>
<string name="select">انتخاب</string>
<string name="type_a_message_placeholder">نوشتن پیام …</string>
<string name="mention">ذکر</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">تصویر</string>
<string name="media_type_file">فایل</string>
<!-- راهنمای متن اعلان -->
<string name="notification_sent_image">📷 یک تصویر ارسال کرد</string>
<string name="notification_sent_voice">🎤 یک پیام صوتی ارسال کرد</string>
<string name="notification_sent_file">📎 یک فایل ارسال کرد</string>
<!-- دسترسی‌پذیری پخش‌کنندهٔ صوت -->
<string name="cd_play_voice">پخش</string>
<string name="cd_pause_voice">توقف</string>
<string name="cd_mining_pow">استخراج PoW</string>
<string name="cd_pow_enabled">PoW فعال است</string>
<string name="cd_proof_of_work">گواه کار</string>
<string name="pow_mining_ellipsis">در حال استخراج …</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- توضیحات مجوز -->
<string name="perm_nearby_devices_desc">برای یافتن کاربران bitchat از طریق بلوتوث لازم است</string>
<string name="perm_nearby_devices_system">به bitchat اجازه دهید با دستگاه‌های نزدیک متصل شود</string>
<string name="perm_location_desc">برای یافتن کاربران نزدیک bitchat از طریق بلوتوث به‌وسیلهٔ اندروید لازم است</string>
<string name="perm_location_system">bitchat برای اسکن دستگاه‌های نزدیک به این مورد نیاز دارد</string>
<string name="perm_notifications_desc">هنگام دریافت پیام خصوصی اعلان دریافت کنید</string>
<string name="perm_notifications_system">به bitchat اجازه دهید برای شما اعلان ارسال کند</string>
<string name="perm_battery_desc">بهینه‌سازی باتری را غیرفعال کنید تا اطمینان حاصل شود bitchat به‌طور قابل اعتماد در پس‌زمینه اجرا شده و اتصال‌های شبکهٔ مِش را حفظ می‌کند</string>
<string name="perm_battery_system">به bitchat اجازه دهید بدون محدودیت باتری اجرا شود</string>
<!-- گونه‌های مجوز -->
<string name="perm_type_nearby_devices">دستگاه‌های نزدیک</string>
<string name="perm_type_precise_location">مکان دقیق</string>
<string name="perm_type_microphone">میکروفون</string>
<string name="perm_type_notifications">اعلان‌ها</string>
<string name="perm_type_battery_optimization">بهینه‌سازی باتری</string>
<string name="perm_type_other">سایر</string>
<!-- گفت‌وگوی گذرواژه -->
<string name="pwd_prompt_title">گذرواژهٔ کانال را وارد کنید</string>
<string name="pwd_prompt_message">کانال %1$s با گذرواژه محافظت می‌شود. برای پیوستن، گذرواژه را وارد کنید.</string>
<string name="pwd_label">گذرواژه</string>
<string name="join">پیوستن</string>
<string name="cancel">لغو</string>
<!-- حالت جمع -->
<plurals name="notification_and_more">
<item quantity="one">و %d مورد دیگر</item>
<item quantity="other">و %d مورد دیگر</item>
</plurals>
<plurals name="people_count">
<item quantity="one">۱ نفر</item>
<item quantity="other">%d نفر</item>
</plurals>
</resources>
+366
View File
@@ -0,0 +1,366 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- Mga dahilan ng permiso -->
<string name="permission_bluetooth_rationale">Kailangan ang permiso sa Bluetooth para sa direktang pagusap kahit walang internet.</string>
<string name="permission_location_rationale">Kailangan ang permiso sa Lokasyon para mahanap ang mga kalapit na device gamit ang Bluetooth.</string>
<string name="permission_notification_rationale">Kailangan ang permiso sa Abiso para ipaalam ang mga bagong mensahe.</string>
<!-- Mga placeholder / batayang UI -->
<string name="nickname_hint">palayaw</string>
<string name="message_hint">magtype ng mensahe…</string>
<string name="channel_password_hint">Password</string>
<string name="join_channel">Sumali sa Channel</string>
<string name="leave_channel">Umalis</string>
<string name="send_message">Ipadala</string>
<string name="show_commands">Ipakita ang mga utos</string>
<string name="back">Bumalik</string>
<string name="people">Tao</string>
<string name="channels">Mga Channel</string>
<string name="online_users">Mga Online na User</string>
<string name="no_one_connected">Walang nakakonekta</string>
<string name="emergency_clear_hint">Itap nang tatlong beses para burahin ang lahat ng data</string>
<string name="your_network">Network</string>
<!-- Pagoptimize ng baterya -->
<string name="battery_optimization_detected">Natukoy ang pagoptimize ng baterya</string>
<string name="battery_optimization_disabled">Nakadisable ang pagoptimize ng baterya</string>
<string name="battery_optimization_not_required">Hindi kailangan ang pagoptimize ng baterya</string>
<string name="battery_optimization_checking">Sinusuri ang pagoptimize ng baterya</string>
<string name="battery_optimization_why_disable">Bakit idisable ang pagoptimize?</string>
<string name="battery_optimization_explanation">Tumatakbo ang bitchat sa background upang mapanatili ang mesh na koneksyon sa mga kalapit na device. Maaaring maputol ito ng pagoptimize ng baterya na nagdudulot ng pagkaantala o pagkawala ng mensahe.\n\nAng pagdisable nito ay tinitiyak ang maaasahang peertopeer na pagmemensahe.</string>
<string name="battery_optimization_disable_button">Idisable ang pagoptimize</string>
<string name="battery_optimization_note">Tandaan: Maaari itong baguhin sa Android Settings &gt; Apps &gt; bitchat &gt; Battery</string>
<string name="battery_optimization_not_supported_explanation">Hindi kailangan ng iyong device ng mga setting ng pagoptimize ng baterya. Normal na gagana ang bitchat.</string>
<string name="battery_optimization_not_supported_message">Hindi kailangan ng iyong device ng mga setting ng pagoptimize ng baterya. Normal na gagana ang bitchat.</string>
<string name="battery_optimization_success_message">Maaasahang tatakbo ang bitchat sa background</string>
<string name="battery_optimization_benefits">• Maaasahang paghatid ng mensahe\n• Pinananatili ang mesh na koneksyon\n• Background relay ng mensahe\n• Iwas putol ng koneksyon</string>
<string name="battery_optimization_check_again">Suriin muli</string>
<string name="battery_optimization_skip">Laktawan muna</string>
<string name="battery_optimization_continue">Magpatuloy</string>
<string name="retry">Subukang muli</string>
<string name="skip">Laktawan</string>
<!-- Mga Abiso -->
<string name="notification_summary_more">at %1$d pa</string>
<string name="notification_messages_from_people">%1$d mensahe mula sa %2$d tao</string>
<string name="notification_more_conversations">at %1$d pang usapan</string>
<string name="notification_active_peers_title">👥 mga bitchatter na malapit!</string>
<string name="notification_active_peers_one">1 tao sa paligid</string>
<string name="notification_active_peers_many">%1$d tao sa paligid</string>
<string name="notification_new_messages">Mga bagong mensahe</string>
<string name="notification_new_location_messages">Mga mensahe sa lokasyon</string>
<string name="notification_mentions_in">Nabanggit sa %1$s</string>
<string name="notification_mentions_in_more">Nabanggit sa %1$s (+%2$d pa)</string>
<string name="notification_mentions_in_plural">%1$d banggit sa %2$s</string>
<string name="notification_new_activity_in">Bagong aktibidad sa %1$s</string>
<string name="notification_messages_in">Mga mensahe sa %1$s</string>
<string name="notification_joined_conversation">Sumali si %1$s sa usapan</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d banggit</string>
<string name="notification_geohash_summary_title">bitchat mga chat sa lokasyon</string>
<string name="notification_geohash_summary_text">%1$d mensahe mula sa %2$d lokasyon</string>
<string name="notification_mesh_mention_title_singular">Nabanggit sa Mesh Chat</string>
<string name="notification_mesh_mention_title_plural">%1$d banggit sa Mesh Chat</string>
<string name="notification_more_locations">at %1$d pang lokasyon</string>
<string name="notification_and_more">at %1$d pa</string>
<!-- Paborito / Accessibility -->
<string name="cd_add_favorite">Idagdag sa paborito</string>
<string name="cd_remove_favorite">Alisin sa paborito</string>
<string name="cd_add_bookmark">Magbookmark</string>
<!-- Header at accessibility -->
<string name="chat_back">bumalik</string>
<string name="chat_channel_prefix">channel: %1$s</string>
<string name="chat_leave">umalis</string>
<string name="cd_nostr_reachable">Maabot sa Nostr</string>
<string name="cd_unread_private_messages">Hindi nabasang pribadong mensahe</string>
<string name="cd_toggle_bookmark">Itoggle ang bookmark</string>
<string name="cd_teleported">Naiteleport</string>
<string name="cd_tor_status">Katayuan ng Tor</string>
<string name="cd_connected_peers">Nakakonektang peers</string>
<string name="cd_geohash_participants">Mga kalahok sa geohash</string>
<string name="cd_ready_for_handshake">Handa para sa handshake</string>
<string name="cd_handshake_in_progress">Isinasagawa ang handshake</string>
<string name="cd_encrypted">Endtoend nakaencrypt</string>
<string name="cd_handshake_failed">Bigo ang handshake</string>
<!-- Dialog ng file -->
<string name="file_viewer_title">📎 Nakakuha ng file</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Laki: %1$s</string>
<string name="file_viewer_type">🏷️ Uri: %1$s</string>
<string name="file_viewer_open_save">📂 Buksan / Isave</string>
<string name="close_with_emoji">❌ Isara</string>
<string name="pick_image">Pumili ng larawan</string>
<!-- About sheet -->
<string name="about_tagline">desentralisadong mesh messaging na may endtoend encryption</string>
<string name="about_offline_mesh_title">Offline Mesh Chat</string>
<string name="about_offline_mesh_desc">Makipagusap direkta sa Bluetooth LE nang walang internet o server. Ang mga mensahe ay nirerelay ng mga kalapit na device.</string>
<string name="about_online_geohash_title">Online na Geohash na mga Channel</string>
<string name="about_online_geohash_desc">Makipagugnayan sa mga tao sa paligid gamit ang geohashbased na mga channel. Palawakin ang mesh sa pampublikong internet relays.</string>
<string name="about_e2e_title">EndtoEnd Encryption</string>
<string name="about_e2e_desc">Ang mga pribadong mensahe ay nakaencrypt. Ang mga mensahe sa channel ay publiko.</string>
<string name="about_appearance">hitsura</string>
<string name="about_system">system</string>
<string name="about_light">light</string>
<string name="about_dark">dark</string>
<string name="about_pow">proof of work</string>
<string name="about_pow_off">pow off</string>
<string name="about_pow_on">pow on</string>
<string name="about_pow_tip">magdagdag ng proof of work sa mga geohash na mensahe para iwas spam.</string>
<string name="about_pow_difficulty">hirap: %1$d bits (~%2$s)</string>
<string name="about_pow_difficulty_attempts">ang hirap na %1$d ay ~%2$s hash attempts</string>
<string name="about_pow_desc_none">walang proof of work na kailangan</string>
<string name="about_pow_desc_very_low">napakababa minimal na proteksyon</string>
<string name="about_pow_desc_low">mababa batayang proteksyon</string>
<string name="about_pow_desc_medium">katamtaman magandang proteksyon</string>
<string name="about_pow_desc_high">mataas matibay na proteksyon</string>
<string name="about_pow_desc_very_high">napakataas posibleng may pagkaantala</string>
<string name="about_pow_desc_extreme">matindi malaking komputasyon ang kailangan</string>
<string name="about_network">network</string>
<string name="about_tor_off">tor off</string>
<string name="about_tor_on">tor on</string>
<string name="about_tor_route">iruta ang internet sa Tor para sa mas mataas na privacy.</string>
<string name="about_tor_status">katayuan ng Tor: %1$s, bootstrap %2$d%%</string>
<string name="about_last">Huli: %1$s</string>
<string name="about_emergency_title">Emergency Data Deletion</string>
<string name="about_emergency_tip">Tip: itap ang pamagat ng app nang 3 beses para burahin ang lahat ng data (mga mensahe, susi, setting).</string>
<string name="about_debug_settings">Debug Settings</string>
<string name="about_footer">Open Source • Privacy First • Desentralisado</string>
<string name="close_plain">Isara</string>
<string name="cancel_lower">kanselahin</string>
<!-- Generic CD -->
<string name="cd_warning">Babala</string>
<string name="cd_location_services">Mga serbisyo sa lokasyon</string>
<string name="cd_privacy">Privacy</string>
<string name="cd_error">Error</string>
<string name="cd_battery_optimization">Pagoptimize ng baterya</string>
<string name="cd_benefits">Mga benepisyo</string>
<string name="cd_checking_battery_optimization">Sinusuri ang pagoptimize</string>
<string name="cd_not_supported_battery_optimization">Hindi suportado</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Hindi nabasang mensahe</string>
<string name="cd_open_map">Buksan ang mapa</string>
<string name="cd_remove_bookmark">Alisin ang bookmark</string>
<string name="cd_teleport">Teleport</string>
<string name="cd_selected">Napili</string>
<string name="cd_leave_channel">Umalis sa channel</string>
<string name="cd_reachable_via_nostr">Maabot sa Nostr</string>
<string name="cd_offline_favorite">Paborito (offline)</string>
<string name="cd_decrease_precision">Bawasan ang precision</string>
<string name="cd_increase_precision">Dagdagan ang precision</string>
<string name="cd_select_geohash">Piliin ang geohash</string>
<string name="cd_scroll_to_bottom">Magscroll pababa</string>
<string name="cd_file">File</string>
<string name="cd_image">Larawan</string>
<string name="cd_cancel">Kanselahin</string>
<string name="cd_link">Link</string>
<string name="cd_pick_media">Pumili ng media</string>
<string name="cd_record_voice">Magrecord ng voice note</string>
<string name="cd_offline_mesh_chat">Offline Mesh Chat</string>
<string name="cd_online_geohash_channels">Online na Geohash Channels</string>
<string name="cd_end_to_end_encryption">EndtoEnd Encryption</string>
<!-- Larawan / File -->
<string name="image_page_of">Larawan %1$d ng %2$d</string>
<string name="image_unavailable">Hindi available ang larawan</string>
<string name="image_saved_to_downloads">Nasave ang larawan sa "Downloads"</string>
<string name="image_save_failed">Nabigo ang pagsave ng larawan</string>
<string name="pick_file">Pumili ng file</string>
<string name="file_unavailable">[hindi available ang file]</string>
<string name="unknown">hindi kilala</string>
<!-- User action sheet -->
<string name="choose_action_message_or_user">pumili ng aksyon para sa mensaheng ito o user</string>
<string name="choose_action_user">pumili ng aksyon para sa user na ito</string>
<string name="action_copy_message_title">kopyahin ang mensahe</string>
<string name="action_copy_message_subtitle">kopyahin ang mensaheng ito sa clipboard</string>
<string name="action_slap_title">sapakin si %1$s</string>
<string name="action_slap_subtitle">magpadala ng birong sampal</string>
<string name="action_hug_title">yakapin si %1$s</string>
<string name="action_hug_subtitle">magpadala ng magiliw na yakap</string>
<string name="action_block_title">harangan si %1$s</string>
<string name="action_block_subtitle">harangan ang lahat ng mensahe mula sa user na ito</string>
<!-- Location channels sheet -->
<string name="location_channels_title">#mga channel sa lokasyon</string>
<string name="location_channels_desc">makipagusap sa mga tao sa paligid gamit ang mga geohash na channel. tanging malabong geohash ang ibinabahagi, hindi eksaktong gps. huwag magscreenshot o ibahagi ang screen na ito para sa privacy.</string>
<string name="grant_location_permission">payagan ang lokasyon</string>
<string name="location_permission_denied">tinanggihan ang permiso sa lokasyon. ienable sa settings para magamit ang mga channel sa lokasyon.</string>
<string name="open_settings">Buksan ang Settings</string>
<string name="location_permission_granted">\u2713 pinayagan ang lokasyon</string>
<string name="checking_permissions">sinisiyasat ang mga permiso…</string>
<string name="finding_nearby_channels">naghahanap ng kalapit na channel…</string>
<string name="bookmarked">nabookmark</string>
<string name="geohash_placeholder">geohash</string>
<string name="invalid_geohash">maling geohash</string>
<string name="teleport">teleport</string>
<string name="disable_location_services">idisable ang location services</string>
<string name="enable_location_services">ienable ang location services</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">bloke</string>
<string name="location_level_neighborhood">barangay</string>
<string name="location_level_city">lungsod</string>
<string name="location_level_province">probinsya</string>
<string name="location_level_region">rehiyon</string>
<!-- Debug / Diagnostics -->
<string name="debug_tools">mga kasangkapan sa debug</string>
<string name="debug_verbose_logging">masalitang paglog</string>
<string name="debug_bluetooth_roles">mga tungkulin sa Bluetooth</string>
<string name="debug_gatt_server">GATT server</string>
<string name="debug_connections_fmt">mga koneksyon: %1$d / %2$d</string>
<string name="debug_max_server">max server</string>
<string name="debug_gatt_client">GATT client</string>
<string name="debug_max_client">max client</string>
<string name="debug_overall_connections_fmt">mga koneksyon: %1$d / %2$d</string>
<string name="debug_max_overall">max kabuuan</string>
<string name="debug_packet_relay">packet relay</string>
<string name="debug_since_start_fmt">mula umpisa: %1$d</string>
<string name="debug_sync_settings">mga setting ng sync</string>
<string name="debug_max_packets_per_sync_fmt">max packet bawat sync: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">max laki ng GCS filter: %1$d bytes (1281024)</string>
<string name="debug_target_fpr_fmt">target FPR: %1$.2f%%</string>
<string name="debug_connected_devices">mga nakakonektang device</string>
<string name="debug_our_device_id_fmt">ID ng aming device: %1$s</string>
<string name="debug_none">wala</string>
<string name="debug_disconnect">idisconnect</string>
<string name="debug_recent_scan_results">mga huling resulta ng scan</string>
<string name="debug_connect">kumonekta</string>
<string name="debug_debug_console">debug console</string>
<string name="debug_clear">limasin</string>
<string name="debug_relays_window_fmt">huling 10s: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">hinangong P: %1$s • tantyang max na elemento: %2$s</string>
<string name="debug_direct_suffix"> • direkta</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_question_mark">?</string>
<string name="debug_role_server">bilang server (kami ang naghohost)</string>
<string name="debug_role_client">bilang client (kami ang kumokonekta)</string>
<!-- Onboarding screens -->
<string name="location_services_required">Kailangangkailangan ang Location Services</string>
<string name="privacy_first">Privacy muna</string>
<string name="location_explanation">HINDI sinusubaybayan ng bitchat ang iyong lokasyon.\n\nKailangan ang location services para sa Bluetooth scanning at Geohash chat.</string>
<string name="location_needs_for">Kailangan ng bitchat ang location services para sa:</string>
<string name="location_needs_bullets">• Bluetooth device scanning\n• Pagtuklas ng kalapit na user sa mesh\n• Geohash chat\n• Walang tracking o koleksiyon ng lokasyon</string>
<string name="open_location_settings">Buksan ang Location Settings</string>
<string name="check_again">Suriin muli</string>
<string name="location_services_unavailable">Hindi available ang Location Services</string>
<string name="location_unavailable_explanation">Hindi available ang location services sa device na ito. Hindi ito karaniwan dahil standard ito sa Android.\n\nKailangan ito para maayos ang Bluetooth scanning. Kung wala ito, hindi matutuklasan ang mga kalapit na user.</string>
<string name="checking_location_services">Sinusuri ang location services…</string>
<string name="bluetooth_required">Kailangan ang Bluetooth</string>
<string name="bluetooth_needs_for">Kailangan ng bitchat ang Bluetooth para sa:</string>
<string name="bluetooth_needs_bullets">• Tuklasin ang mga kalapit na user\n• Gumawa ng mesh na koneksyon\n• Magpadala at tumanggap ng mensahe\n• Gumana kahit walang internet o server</string>
<string name="enable_bluetooth">Ienable ang Bluetooth</string>
<string name="bluetooth_not_supported">Hindi suportado ang Bluetooth</string>
<string name="bluetooth_unsupported_explanation">Hindi sinusuportahan ng device na ito ang Bluetooth Low Energy (BLE) na kailangan para gumana ang bitchat.\n\nKailangan ang BLE para bumuo ng mesh at makipagugnayan sa kalapit na device kahit walang internet.</string>
<string name="checking_bluetooth_status">Sinusuri ang status ng Bluetooth…</string>
<string name="battery_optimization_detected_title">natukoy ang pagoptimize ng baterya</string>
<string name="battery_optimization_enabled_title">Nakaenable ang pagoptimize</string>
<string name="battery_optimization_explanation_short">kailangang tumakbo ang bitchat sa background para sa mesh; maaaring putulin ito ng pagoptimize.</string>
<string name="benefits_of_disabling">Mga benepisyo ng pagdisable</string>
<string name="battery_benefits_short">• maaasahang paghatid\n• panatilihin ang koneksyon\n• iwas putol</string>
<string name="disable_battery_optimization">Idisable ang pagoptimize</string>
<string name="battery_optimization_disabled_title">nadisable ang pagoptimize</string>
<string name="continue_btn">Magpatuloy</string>
<string name="initializing_mesh_network">Ineinitialize ang mesh network</string>
<string name="dot">.</string>
<string name="setting_up_bluetooth">Iseset up ang Bluetooth mesh…</string>
<string name="should_take_seconds">Ilang segundo lang ito</string>
<string name="warning_emoji">⚠️</string>
<string name="setup_not_complete">Hindi kumpleto ang setup</string>
<string name="try_again">Subukang muli</string>
<string name="privacy_protected">Protektado ang iyong privacy</string>
<string name="privacy_bullets">• walang tracking o koleksiyon\n• offline ang mesh chat sa Bluetooth\n• gumagamit ng internet ang geohash chat</string>
<string name="permissions_header">mga permiso</string>
<string name="grant_permissions">Payagan</string>
<string name="location_tracking_warning">HINDI sinusubaybayan ng bitchat ang lokasyon mo</string>
<string name="at_symbol">@</string>
<string name="app_brand">bitchat/</string>
<string name="channel_count_prefix"> · ⧉ </string>
<string name="geohash_people_header">TAO</string>
<string name="nobody_around">walang tao sa paligid…</string>
<string name="you_suffix"> (ikaw)</string>
<string name="pan_zoom_instruction">ipan at izoom para pumili ng geohash</string>
<string name="select">piliin</string>
<string name="type_a_message_placeholder">magtype ng mensahe…</string>
<string name="mention_suggestion_at">@%1$s</string>
<string name="mention">banggit</string>
<string name="image_counter">%1$d / %2$d</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="at_nickname">@%1$s</string>
<string name="version_prefix">v%1$s</string>
<string name="hash_symbol">#</string>
<string name="underscore">_</string>
<string name="progress_bar_brackets">[%1$s] %2$d%%</string>
<string name="progress_filled"></string>
<string name="progress_empty"></string>
<string name="image_star">image/*</string>
<string name="media_type_image">Larawan</string>
<string name="media_type_file">File</string>
<!-- Mga status ng mensahe -->
<string name="status_sending"></string>
<string name="status_pending"></string>
<string name="status_sent"></string>
<string name="status_delivered">✓✓</string>
<string name="status_failed"></string>
<string name="status_read"></string>
<!-- Tulong na text sa abiso -->
<string name="notification_sent_image">📷 nagpadala ng larawan</string>
<string name="notification_sent_voice">🎤 nagpadala ng voice message</string>
<string name="notification_sent_file">📎 nagpadala ng file</string>
<string name="notification_file_pdf">📄</string>
<string name="notification_file_zip">🗜️</string>
<string name="notification_file_doc">📄</string>
<string name="notification_file_xls">📊</string>
<string name="notification_file_ppt">📈</string>
<string name="notification_file_generic">📎</string>
<!-- Voice player a11y -->
<string name="cd_play_voice">Iplay</string>
<string name="cd_pause_voice">Ipause</string>
<!-- Mga paglalarawan ng permiso -->
<string name="perm_nearby_devices_desc">Kailangan upang makakita ng mga bitchat user sa Bluetooth</string>
<string name="perm_nearby_devices_system">Payagan ang bitchat na kumonekta sa kalapit na device</string>
<string name="perm_location_desc">Kailangan ng Android para sa pagtuklas ng user sa Bluetooth</string>
<string name="perm_location_system">Kailangan ito ng bitchat para magscan</string>
<string name="perm_notifications_desc">Tumanggap ng abiso sa mga pribadong mensahe</string>
<string name="perm_notifications_system">Payagan ang bitchat na magpadala ng abiso</string>
<string name="perm_battery_desc">Idisable ang pagoptimize upang tumakbo nang maaasahan at mapanatili ang mesh na koneksyon</string>
<string name="perm_battery_system">Payagan ang bitchat na tumakbo nang walang limitasyong baterya</string>
<!-- Mga uri ng permiso -->
<string name="perm_type_nearby_devices">Kalapit na device</string>
<string name="perm_type_precise_location">Eksaktong lokasyon</string>
<string name="perm_type_microphone">Mikropono</string>
<string name="perm_type_notifications">Mga abiso</string>
<string name="perm_type_battery_optimization">Pagoptimize ng baterya</string>
<string name="perm_type_other">Iba pa</string>
<!-- Dialog ng password -->
<string name="pwd_prompt_title">Ilagay ang password ng channel</string>
<string name="pwd_prompt_message">Ang channel na %1$s ay protektado. Ilagay ang password para sumali.</string>
<string name="pwd_label">Password</string>
<string name="join">Sumali</string>
<string name="cancel">Kanselahin</string>
<!-- Plurals -->
<plurals name="notification_and_more">
<item quantity="one">at %d pa</item>
<item quantity="other">at %d pa</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 tao</item>
<item quantity="other">%d tao</item>
</plurals>
</resources>
+367
View File
@@ -0,0 +1,367 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- Raisons des autorisations -->
<string name="permission_bluetooth_rationale">Lautorisation Bluetooth est requise pour discuter en pair à pair sans internet.</string>
<string name="permission_location_rationale">Lautorisation de localisation est requise pour découvrir les appareils à proximité via Bluetooth.</string>
<string name="permission_notification_rationale">Lautorisation de notifications est requise pour talerter des nouveaux messages.</string>
<!-- Placeholders / UI de base -->
<string name="nickname_hint">pseudo</string>
<string name="message_hint">écrire un message…</string>
<string name="channel_password_hint">Mot de passe</string>
<string name="join_channel">Rejoindre le canal</string>
<string name="leave_channel">Quitter</string>
<string name="send_message">Envoyer</string>
<string name="show_commands">Afficher les commandes</string>
<string name="back">Retour</string>
<string name="people">Personnes</string>
<string name="channels">Canaux</string>
<string name="online_users">Utilisateurs en ligne</string>
<string name="no_one_connected">Personne connecté</string>
<string name="emergency_clear_hint">Tapoter 3 fois pour effacer toutes les données</string>
<string name="your_network">Réseau</string>
<!-- Optimisation de la batterie -->
<string name="battery_optimization_detected">Optimisation de la batterie détectée</string>
<string name="battery_optimization_disabled">Optimisation de la batterie désactivée</string>
<string name="battery_optimization_not_required">Optimisation de la batterie non requise</string>
<string name="battery_optimization_checking">Vérification de loptimisation de la batterie</string>
<string name="battery_optimization_why_disable">Pourquoi désactiver loptimisation de la batterie ?</string>
<string name="battery_optimization_explanation">bitchat sexécute en arrière-plan pour maintenir des connexions mesh avec les appareils à proximité. Loptimisation de la batterie peut interrompre ces connexions, entraînant des retards ou des pertes de messages.\n\nLa désactiver garantit une messagerie pair à pair fiable.</string>
<string name="battery_optimization_disable_button">Désactiver loptimisation</string>
<string name="battery_optimization_note">Remarque : tu peux modifier ce réglage plus tard dans Paramètres Android &gt; Apps &gt; bitchat &gt; Batterie</string>
<string name="battery_optimization_not_supported_explanation">Ton appareil na pas besoin de réglages doptimisation de batterie. bitchat fonctionnera normalement.</string>
<string name="battery_optimization_not_supported_message">Ton appareil na pas besoin de réglages doptimisation de batterie. bitchat fonctionnera normalement.</string>
<string name="battery_optimization_success_message">bitchat peut fonctionner de manière fiable en arrièreplan</string>
<string name="battery_optimization_benefits">• Livraison fiable des messages\n• Maintien de la connectivité mesh\n• Relais des messages en arrièreplan\n• Évite les coupures</string>
<string name="battery_optimization_check_again">Vérifier à nouveau</string>
<string name="battery_optimization_skip">Ignorer pour linstant</string>
<string name="battery_optimization_continue">Continuer</string>
<string name="retry">Réessayer</string>
<string name="skip">Ignorer</string>
<!-- Notifications -->
<string name="notification_summary_more">et %1$d de plus</string>
<string name="notification_messages_from_people">%1$d messages de %2$d personnes</string>
<string name="notification_more_conversations">et %1$d conversations de plus</string>
<string name="notification_active_peers_title">👥 bitchatters à proximité !</string>
<string name="notification_active_peers_one">1 personne à proximité</string>
<string name="notification_active_peers_many">%1$d personnes à proximité</string>
<string name="notification_new_messages">Nouveaux messages</string>
<string name="notification_new_location_messages">Nouveaux messages de lieu</string>
<string name="notification_mentions_in">Mentionné dans %1$s</string>
<string name="notification_mentions_in_more">Mentionné dans %1$s (+%2$d de plus)</string>
<string name="notification_mentions_in_plural">%1$d mentions dans %2$s</string>
<string name="notification_new_activity_in">Nouvelle activité dans %1$s</string>
<string name="notification_messages_in">Messages dans %1$s</string>
<string name="notification_joined_conversation">%1$s a rejoint la conversation</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d mentions</string>
<string name="notification_geohash_summary_title">bitchat discussions par lieu</string>
<string name="notification_geohash_summary_text">%1$d messages depuis %2$d lieux</string>
<string name="notification_mesh_mention_title_singular">Mentionné dans le chat Mesh</string>
<string name="notification_mesh_mention_title_plural">%1$d mentions dans le chat Mesh</string>
<string name="notification_more_locations">et %1$d lieux de plus</string>
<string name="notification_and_more">et %1$d de plus</string>
<!-- Favoris / accessibilité -->
<string name="cd_add_favorite">Ajouter aux favoris</string>
<string name="cd_remove_favorite">Retirer des favoris</string>
<string name="cd_add_bookmark">Ajouter un signet</string>
<!-- Entête de chat & accessibilité -->
<string name="chat_back">retour</string>
<string name="chat_channel_prefix">canal : %1$s</string>
<string name="chat_leave">quitter</string>
<string name="cd_nostr_reachable">Joignable via Nostr</string>
<string name="cd_unread_private_messages">Messages privés non lus</string>
<string name="cd_toggle_bookmark">Basculer le signet</string>
<string name="cd_teleported">Téléporté</string>
<string name="cd_tor_status">Statut Tor</string>
<string name="cd_connected_peers">Pairs connectés</string>
<string name="cd_geohash_participants">Participants geohash</string>
<string name="cd_ready_for_handshake">Prêt pour l’échange de clés</string>
<string name="cd_handshake_in_progress">Échange de clés en cours</string>
<string name="cd_encrypted">Chiffré de bout en bout</string>
<string name="cd_handshake_failed">Échec de l’échange</string>
<!-- Dialogue de fichier -->
<string name="file_viewer_title">📎 Fichier reçu</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Taille : %1$s</string>
<string name="file_viewer_type">🏷️ Type : %1$s</string>
<string name="file_viewer_open_save">📂 Ouvrir / Enregistrer</string>
<string name="close_with_emoji">❌ Fermer</string>
<string name="pick_image">Choisir une image</string>
<!-- Feuille À propos -->
<string name="about_tagline">messagerie mesh décentralisée avec chiffrement de bout en bout</string>
<string name="about_offline_mesh_title">Chat Mesh horsligne</string>
<string name="about_offline_mesh_desc">Communique directement via Bluetooth LE sans internet ni serveurs. Les messages sont relayés par les appareils proches pour étendre la portée.</string>
<string name="about_online_geohash_title">Canaux Geohash en ligne</string>
<string name="about_online_geohash_desc">Discute avec des personnes proches via des canaux basés sur geohash. Étends le mesh grâce à des relais internet publics.</string>
<string name="about_e2e_title">Chiffrement de bout en bout</string>
<string name="about_e2e_desc">Les messages privés sont chiffrés. Les messages de canal sont publics.</string>
<string name="about_appearance">apparence</string>
<string name="about_system">système</string>
<string name="about_light">clair</string>
<string name="about_dark">sombre</string>
<string name="about_pow">proof of work</string>
<string name="about_pow_off">pow désactivé</string>
<string name="about_pow_on">pow activé</string>
<string name="about_pow_tip">ajoute un proof of work aux messages geohash pour dissuader le spam.</string>
<string name="about_pow_difficulty">difficulté : %1$d bits (~%2$s)</string>
<string name="about_pow_difficulty_attempts">la difficulté %1$d nécessite ~%2$s tentatives de hachage</string>
<string name="about_pow_desc_none">aucun proof of work requis</string>
<string name="about_pow_desc_very_low">très faible protection minimale</string>
<string name="about_pow_desc_low">faible protection basique</string>
<string name="about_pow_desc_medium">moyenne bonne protection</string>
<string name="about_pow_desc_high">élevée forte protection</string>
<string name="about_pow_desc_very_high">très élevée peut causer des délais</string>
<string name="about_pow_desc_extreme">extrême calcul important requis</string>
<string name="about_network">réseau</string>
<string name="about_tor_off">tor désactivé</string>
<string name="about_tor_on">tor activé</string>
<string name="about_tor_route">router internet via Tor pour plus de confidentialité.</string>
<string name="about_tor_status">statut Tor : %1$s, bootstrap %2$d%%</string>
<string name="about_last">Dernier : %1$s</string>
<string name="about_emergency_title">Suppression durgence des données</string>
<string name="about_emergency_tip">Astuce : tapote 3 fois le titre de lapp pour supprimer toutes les données (messages, clés, paramètres).</string>
<string name="about_debug_settings">Paramètres de debug</string>
<string name="about_footer">Open Source • Privacy First • Décentralisé</string>
<string name="close_plain">Fermer</string>
<string name="cancel_lower">annuler</string>
<!-- Descriptions génériques -->
<string name="cd_warning">Avertissement</string>
<string name="cd_location_services">Services de localisation</string>
<string name="cd_privacy">Confidentialité</string>
<string name="cd_error">Erreur</string>
<string name="cd_battery_optimization">Optimisation de la batterie</string>
<string name="cd_benefits">Avantages</string>
<string name="cd_checking_battery_optimization">Vérification de loptimisation de la batterie</string>
<string name="cd_not_supported_battery_optimization">Optimisation non prise en charge</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Message non lu</string>
<string name="cd_open_map">Ouvrir la carte</string>
<string name="cd_remove_bookmark">Retirer le signet</string>
<string name="cd_teleport">Téléporter</string>
<string name="cd_selected">Sélectionné</string>
<string name="cd_leave_channel">Quitter le canal</string>
<string name="cd_reachable_via_nostr">Joignable via Nostr</string>
<string name="cd_offline_favorite">Favori (horsligne)</string>
<string name="cd_decrease_precision">Diminuer la précision</string>
<string name="cd_increase_precision">Augmenter la précision</string>
<string name="cd_select_geohash">Sélectionner le geohash</string>
<string name="cd_scroll_to_bottom">Aller en bas</string>
<string name="cd_file">Fichier</string>
<string name="cd_image">Image</string>
<string name="cd_cancel">Annuler</string>
<string name="cd_link">Lien</string>
<string name="cd_pick_media">Choisir un média</string>
<string name="cd_record_voice">Enregistrer un message vocal</string>
<string name="cd_offline_mesh_chat">Chat Mesh horsligne</string>
<string name="cd_online_geohash_channels">Canaux Geohash en ligne</string>
<string name="cd_end_to_end_encryption">Chiffrement de bout en bout</string>
<!-- Images & fichiers -->
<string name="image_page_of">Image %1$d sur %2$d</string>
<string name="image_unavailable">Image indisponible</string>
<string name="image_saved_to_downloads">Image enregistrée dans "Téléchargements"</string>
<string name="image_save_failed">Échec de lenregistrement de limage</string>
<string name="pick_file">Choisir un fichier</string>
<string name="file_unavailable">[fichier indisponible]</string>
<string name="unknown">inconnu</string>
<!-- Feuille dactions utilisateur -->
<string name="choose_action_message_or_user">choisis une action pour ce message ou cet utilisateur</string>
<string name="choose_action_user">choisis une action pour cet utilisateur</string>
<string name="action_copy_message_title">copier le message</string>
<string name="action_copy_message_subtitle">copier ce message dans le pressepapiers</string>
<string name="action_slap_title">gifler %1$s</string>
<string name="action_slap_subtitle">envoyer une gifle amicale</string>
<string name="action_hug_title">prendre %1$s dans les bras</string>
<string name="action_hug_subtitle">envoyer une accolade amicale</string>
<string name="action_block_title">bloquer %1$s</string>
<string name="action_block_subtitle">bloquer tous les messages de cet utilisateur</string>
<!-- Feuille des canaux de lieu -->
<string name="location_channels_title">#canaux de lieu</string>
<string name="location_channels_desc">discute avec des personnes proches via des canaux geohash. seul un geohash approximatif est partagé, jamais un GPS exact. ne prends pas de capture d’écran et ne partage pas cet écran pour protéger ta vie privée.</string>
<string name="grant_location_permission">accorder la permission de localisation</string>
<string name="location_permission_denied">permission de localisation refusée. activela dans les paramètres pour utiliser les canaux de lieu.</string>
<string name="open_settings">Ouvrir les paramètres</string>
<string name="location_permission_granted">\u2713 permission de localisation accordée</string>
<string name="checking_permissions">vérification des permissions…</string>
<string name="finding_nearby_channels">recherche des canaux à proximité…</string>
<string name="bookmarked">ajouté aux favoris</string>
<string name="geohash_placeholder">geohash</string>
<string name="invalid_geohash">geohash invalide</string>
<string name="teleport">téléporter</string>
<string name="disable_location_services">désactiver les services de localisation</string>
<string name="enable_location_services">activer les services de localisation</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">bloc</string>
<string name="location_level_neighborhood">quartier</string>
<string name="location_level_city">ville</string>
<string name="location_level_province">province</string>
<string name="location_level_region">région</string>
<!-- Debug / Diagnostics -->
<string name="debug_tools">outils de debug</string>
<string name="debug_tools_desc">outils développeur pour diagnostic et contrôle</string>
<string name="debug_verbose_logging">journalisation verbeuse</string>
<string name="debug_bluetooth_roles">rôles Bluetooth</string>
<string name="debug_gatt_server">serveur GATT</string>
<string name="debug_connections_fmt">connexions : %1$d / %2$d</string>
<string name="debug_max_server">max serveur</string>
<string name="debug_gatt_client">client GATT</string>
<string name="debug_max_client">max client</string>
<string name="debug_overall_connections_fmt">connexions : %1$d / %2$d</string>
<string name="debug_max_overall">max global</string>
<string name="debug_packet_relay">relais de paquets</string>
<string name="debug_since_start_fmt">depuis le début : %1$d</string>
<string name="debug_sync_settings">paramètres de synchro</string>
<string name="debug_max_packets_per_sync_fmt">paquets max par synchro : %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">taille max du filtre GCS : %1$d octets (1281024)</string>
<string name="debug_target_fpr_fmt">FPR cible : %1$.2f%%</string>
<string name="debug_connected_devices">appareils connectés</string>
<string name="debug_our_device_id_fmt">ID de notre appareil : %1$s</string>
<string name="debug_none">aucun</string>
<string name="debug_disconnect">déconnecter</string>
<string name="debug_recent_scan_results">résultats de scan récents</string>
<string name="debug_connect">connecter</string>
<string name="debug_debug_console">console de debug</string>
<string name="debug_clear">effacer</string>
<string name="debug_relays_window_fmt">dernières 10s : %1$d • 1m : %2$d • 15m : %3$d</string>
<string name="debug_derived_p_fmt">P dérivé : %1$s • nb max estimé : %2$s</string>
<string name="debug_direct_suffix"> • direct</string>
<string name="debug_rssi_fmt">%1$s • RSSI : %2$s</string>
<string name="debug_question_mark">?</string>
<string name="debug_role_server">en tant que serveur (nous hébergeons)</string>
<string name="debug_role_client">en tant que client (nous nous connectons)</string>
<!-- Écrans donboarding -->
<string name="location_services_required">Services de localisation requis</string>
<string name="privacy_first">Confidentialité dabord</string>
<string name="location_explanation">bitchat ne suit PAS ta position.\n\nLes services de localisation sont requis pour le scan Bluetooth et pour la fonction de chat Geohash.</string>
<string name="location_needs_for">bitchat a besoin des services de localisation pour :</string>
<string name="location_needs_bullets">• Scan des appareils Bluetooth\n• Découvrir les utilisateurs à proximité sur le réseau mesh\n• Fonction de chat Geohash\n• Pas de suivi ni de collecte de position</string>
<string name="open_location_settings">Ouvrir les paramètres de localisation</string>
<string name="check_again">Vérifier à nouveau</string>
<string name="location_services_unavailable">Services de localisation indisponibles</string>
<string name="location_unavailable_explanation">Les services de localisation ne sont pas disponibles sur cet appareil. Cest inhabituel car ils sont standard sur Android.\n\nLapp en a besoin pour que le scan Bluetooth fonctionne correctement (exigence Android). Sans cela, lapp ne peut pas découvrir les utilisateurs à proximité.</string>
<string name="checking_location_services">Vérification des services de localisation…</string>
<string name="bluetooth_required">Bluetooth requis</string>
<string name="bluetooth_needs_for">bitchat a besoin de Bluetooth pour :</string>
<string name="bluetooth_needs_bullets">• Découvrir les utilisateurs à proximité\n• Créer des connexions de réseau mesh\n• Envoyer et recevoir des messages\n• Fonctionner sans internet ni serveurs</string>
<string name="enable_bluetooth">Activer Bluetooth</string>
<string name="bluetooth_not_supported">Bluetooth non pris en charge</string>
<string name="bluetooth_unsupported_explanation">Cet appareil ne prend pas en charge Bluetooth Low Energy (BLE), requis pour le fonctionnement de bitchat.\n\nbitchat a besoin de BLE pour créer des réseaux mesh et communiquer sans internet avec les appareils à proximité.</string>
<string name="checking_bluetooth_status">Vérification du statut Bluetooth…</string>
<string name="battery_optimization_detected_title">optimisation de la batterie détectée</string>
<string name="battery_optimization_enabled_title">Optimisation de la batterie activée</string>
<string name="battery_optimization_explanation_short">bitchat doit fonctionner en arrièreplan pour maintenir les connexions mesh. loptimisation de la batterie peut les interrompre.</string>
<string name="benefits_of_disabling">Avantages de la désactivation</string>
<string name="battery_benefits_short">• livraison fiable des messages\n• maintient la connectivité mesh\n• évite les coupures</string>
<string name="disable_battery_optimization">Désactiver loptimisation</string>
<string name="battery_optimization_disabled_title">optimisation de la batterie désactivée</string>
<string name="continue_btn">Continuer</string>
<string name="initializing_mesh_network">Initialisation du réseau mesh</string>
<string name="dot">.</string>
<string name="setting_up_bluetooth">Configuration du mesh Bluetooth…</string>
<string name="should_take_seconds">Cela ne devrait prendre que quelques secondes</string>
<string name="warning_emoji">⚠️</string>
<string name="setup_not_complete">Configuration incomplète</string>
<string name="try_again">Réessayer</string>
<string name="privacy_protected">Ta confidentialité est protégée</string>
<string name="privacy_bullets">• pas de suivi ni collecte de données\n• chats mesh Bluetooth entièrement horsligne\n• les chats geohash utilisent internet</string>
<string name="permissions_header">autorisations</string>
<string name="grant_permissions">Accorder les autorisations</string>
<string name="location_tracking_warning">bitchat ne suit PAS ta position</string>
<string name="at_symbol">@</string>
<string name="app_brand">bitchat/</string>
<string name="channel_count_prefix"> · ⧉ </string>
<string name="geohash_people_header">PERSONNES</string>
<string name="nobody_around">personne aux alentours…</string>
<string name="you_suffix"> (toi)</string>
<string name="pan_zoom_instruction">déplacer et zoomer pour choisir un geohash</string>
<string name="select">sélectionner</string>
<string name="type_a_message_placeholder">écrire un message…</string>
<string name="mention_suggestion_at">@%1$s</string>
<string name="mention">mention</string>
<string name="image_counter">%1$d / %2$d</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="at_nickname">@%1$s</string>
<string name="version_prefix">v%1$s</string>
<string name="hash_symbol">#</string>
<string name="underscore">_</string>
<string name="progress_bar_brackets">[%1$s] %2$d%%</string>
<string name="progress_filled"></string>
<string name="progress_empty"></string>
<string name="image_star">image/*</string>
<string name="media_type_image">Image</string>
<string name="media_type_file">Fichier</string>
<!-- Statuts de message -->
<string name="status_sending"></string>
<string name="status_pending"></string>
<string name="status_sent"></string>
<string name="status_delivered">✓✓</string>
<string name="status_failed"></string>
<string name="status_read"></string>
<!-- Aide de texte de notification -->
<string name="notification_sent_image">📷 a envoyé une image</string>
<string name="notification_sent_voice">🎤 a envoyé un message vocal</string>
<string name="notification_sent_file">📎 a envoyé un fichier</string>
<string name="notification_file_pdf">📄</string>
<string name="notification_file_zip">🗜️</string>
<string name="notification_file_doc">📄</string>
<string name="notification_file_xls">📊</string>
<string name="notification_file_ppt">📈</string>
<string name="notification_file_generic">📎</string>
<!-- Lecteur vocal accessibilité -->
<string name="cd_play_voice">Lire</string>
<string name="cd_pause_voice">Pause</string>
<!-- Descriptions des permissions -->
<string name="perm_nearby_devices_desc">Nécessaire pour découvrir des utilisateurs bitchat via Bluetooth</string>
<string name="perm_nearby_devices_system">Autoriser bitchat à se connecter aux appareils à proximité</string>
<string name="perm_location_desc">Requis par Android pour découvrir des utilisateurs bitchat via Bluetooth</string>
<string name="perm_location_system">bitchat en a besoin pour rechercher des appareils à proximité</string>
<string name="perm_notifications_desc">Recevoir des notifications de messages privés</string>
<string name="perm_notifications_system">Autoriser bitchat à tenvoyer des notifications</string>
<string name="perm_battery_desc">Désactiver loptimisation de la batterie pour assurer un fonctionnement fiable en arrièreplan et maintenir les connexions mesh</string>
<string name="perm_battery_system">Autoriser bitchat à fonctionner sans restrictions de batterie</string>
<!-- Types de permission -->
<string name="perm_type_nearby_devices">Appareils à proximité</string>
<string name="perm_type_precise_location">Localisation précise</string>
<string name="perm_type_microphone">Microphone</string>
<string name="perm_type_notifications">Notifications</string>
<string name="perm_type_battery_optimization">Optimisation de la batterie</string>
<string name="perm_type_other">Autre</string>
<!-- Dialogue de mot de passe -->
<string name="pwd_prompt_title">Entrer le mot de passe du canal</string>
<string name="pwd_prompt_message">Le canal %1$s est protégé par mot de passe. Entre le mot de passe pour rejoindre.</string>
<string name="pwd_label">Mot de passe</string>
<string name="join">Rejoindre</string>
<string name="cancel">Annuler</string>
<!-- Pluriels -->
<plurals name="notification_and_more">
<item quantity="one">et %d de plus</item>
<item quantity="other">et %d de plus</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 personne</item>
<item quantity="other">%d personnes</item>
</plurals>
</resources>
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- TODO: Hebrew translations -->
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- अनुमति के कारण -->
<string name="permission_bluetooth_rationale">ब्लूटूथ अनुमति इंटरनेट के बिना सीधे दूसरों से चैट करने के लिए आवश्यक है।</string>
<string name="permission_location_rationale">स्थान अनुमति ब्लूटूथ के माध्यम से आस-पास के डिवाइस खोजने के लिए आवश्यक है।</string>
<string name="permission_notification_rationale">सूचनाओं की अनुमति नए संदेशों के बारे में बताने के लिए आवश्यक है।</string>
<!-- प्लेसहोल्डर / बुनियादी UI -->
<string name="nickname_hint">उपनाम</string>
<string name="message_hint">संदेश लिखें…</string>
<string name="channel_password_hint">पासवर्ड</string>
<string name="join_channel">चैनल में शामिल हों</string>
<string name="leave_channel">छोड़ें</string>
<string name="send_message">भेजें</string>
<string name="show_commands">कमांड दिखाएँ</string>
<string name="back">वापस</string>
<string name="people">लोग</string>
<string name="channels">चैनल</string>
<string name="online_users">ऑनलाइन उपयोगकर्ता</string>
<string name="no_one_connected">कोई कनेक्टेड नहीं</string>
<string name="emergency_clear_hint">सभी डेटा मिटाने के लिए तीन बार टैप करें</string>
<string name="your_network">आपका नेटवर्क</string>
<!-- बैटरी अनुकूलन -->
<string name="battery_optimization_detected">बैटरी अनुकूलन मिला</string>
<string name="battery_optimization_disabled">बैटरी अनुकूलन बंद है</string>
<string name="battery_optimization_not_required">बैटरी अनुकूलन आवश्यक नहीं</string>
<string name="battery_optimization_checking">बैटरी अनुकूलन जाँच रहे हैं</string>
<string name="battery_optimization_why_disable">बैटरी अनुकूलन क्यों बंद करें?</string>
<string name="battery_optimization_explanation">bitchat पृष्ठभूमि में चलती है ताकि पास के उपकरणों के साथ मेष कनेक्शन बनाए रखे। बैटरी अनुकूलन इन कनेक्शनों को बाधित कर सकता है, जिससे संदेश देर से पहुँचें या खो जाएँ।\n\nबैटरी अनुकूलन बंद करने से विश्वसनीय पीयर‑टू‑पीयर संचार सुनिश्चित होता है।</string>
<string name="battery_optimization_disable_button">बैटरी अनुकूलन बंद करें</string>
<string name="battery_optimization_note">नोट: आप इसे बाद में Android सेटिंग्स &gt; ऐप्स &gt; bitchat &gt; बैटरी में बदल सकते हैं।</string>
<string name="battery_optimization_not_supported_explanation">आपके डिवाइस को बैटरी अनुकूलन सेटिंग्स की आवश्यकता नहीं है। bitchat सामान्य रूप से चलेगी।</string>
<string name="battery_optimization_not_supported_message">आपके डिवाइस को बैटरी अनुकूलन सेटिंग्स की आवश्यकता नहीं है। bitchat सामान्य रूप से चलेगी।</string>
<string name="battery_optimization_success_message">bitchat पृष्ठभूमि में विश्वसनीय रूप से चल सकती है</string>
<string name="battery_optimization_benefits">• संदेशों की विश्वसनीय डिलीवरी\n• मेष कनेक्शन बनाए रखना\n• पृष्ठभूमि में संदेश फॉरवर्डिंग\n• डिसकनेक्शन से बचाव</string>
<string name="battery_optimization_check_again">फिर से जाँचें</string>
<string name="battery_optimization_skip">अभी छोड़ें</string>
<string name="battery_optimization_continue">जारी रखें</string>
<string name="retry">दोबारा प्रयास करें</string>
<string name="skip">छोड़ें</string>
<!-- सूचनाएँ -->
<string name="notification_summary_more">और %1$d</string>
<string name="notification_messages_from_people">%2$d लोगों से %1$d संदेश</string>
<string name="notification_more_conversations">और %1$d वार्तालाप</string>
<string name="notification_active_peers_title">👥 पास में उपयोगकर्ता!</string>
<string name="notification_active_peers_one">पास में 1 व्यक्ति</string>
<string name="notification_active_peers_many">पास में %1$d लोग</string>
<string name="notification_new_messages">नए संदेश</string>
<string name="notification_new_location_messages">नई स्थान संदेश</string>
<string name="notification_mentions_in">%1$s में उल्लेख</string>
<string name="notification_mentions_in_more">%1$s में उल्लेख (+%2$d)</string>
<string name="notification_mentions_in_plural">%2$s में %1$d उल्लेख</string>
<string name="notification_new_activity_in">%1$s में नई गतिविधि</string>
<string name="notification_messages_in">%1$s में संदेश</string>
<string name="notification_joined_conversation">%1$s बातचीत में शामिल हुआ/हुई</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d उल्लेख</string>
<string name="notification_geohash_summary_title">bitchat स्थान चैट</string>
<string name="notification_geohash_summary_text">%2$d स्थानों से %1$d संदेश</string>
<string name="notification_mesh_mention_title_singular">मेष चैट में उल्लेख</string>
<string name="notification_mesh_mention_title_plural">मेष चैट में %1$d उल्लेख</string>
<string name="notification_more_locations">और %1$d स्थान</string>
<string name="notification_and_more">और %1$d</string>
<!-- पसंद (एक्सेसिबिलिटी) -->
<string name="cd_add_favorite">पसंदीदा में जोड़ें</string>
<string name="cd_remove_favorite">पसंदीदा से हटाएँ</string>
<string name="cd_add_bookmark">बुकमार्क जोड़ें</string>
<!-- चैट हेडर & एक्सेसिबिलिटी -->
<string name="chat_back">वापस</string>
<string name="chat_channel_prefix">चैनल: %1$s</string>
<string name="chat_leave">छोड़ें</string>
<string name="cd_nostr_reachable">Nostr के माध्यम से उपलब्ध</string>
<string name="cd_unread_private_messages">अपठित निजी संदेश</string>
<string name="cd_toggle_bookmark">बुकमार्क टॉगल करें</string>
<string name="cd_teleported">टेलीपोर्ट हुआ</string>
<string name="cd_tor_status">Tor स्थिति</string>
<string name="cd_connected_peers">कनेक्टेड पीयर्स</string>
<string name="cd_geohash_participants">geohash प्रतिभागी</string>
<string name="cd_ready_for_handshake">हैंडशेक के लिए तैयार</string>
<string name="cd_handshake_in_progress">हैंडशेक जारी है</string>
<string name="cd_encrypted">एंड‑टू‑एंड एन्क्रिप्टेड</string>
<string name="cd_handshake_failed">हैंडशेक विफल</string>
<!-- फ़ाइल व्यूअर संवाद -->
<string name="file_viewer_title">📎 फ़ाइल प्राप्त</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 आकार: %1$s</string>
<string name="file_viewer_type">🏷️ प्रकार: %1$s</string>
<string name="file_viewer_open_save">📂 खोलें / सहेजें</string>
<string name="close_with_emoji">❌ बंद करें</string>
<string name="pick_image">छवि चुनें</string>
<!-- अबाउट शीट -->
<string name="about_tagline">विकेन्द्रीकृत मेष चैट • एंड‑टू‑एंड एन्क्रिप्शन</string>
<string name="about_offline_mesh_title">ऑफ़लाइन मेष चैट</string>
<string name="about_offline_mesh_desc">इंटरनेट या सर्वर के बिना Bluetooth LE के माध्यम से सीधे संवाद करें। संदेशों को पास के उपकरणों के माध्यम से रिले किया जाता है ताकि पहुँच बढ़े।</string>
<string name="about_online_geohash_title">ऑनलाइन geohash चैनल</string>
<string name="about_online_geohash_desc">geohash आधारित चैनलों के माध्यम से अपने आस‑पास के लोगों से जुड़ें। सार्वजनिक इंटरनेट रिले के माध्यम से मेष का विस्तार करें।</string>
<string name="about_e2e_title">एंड‑टू‑एंड एन्क्रिप्शन</string>
<string name="about_e2e_desc">निजी संदेश एन्क्रिप्टेड हैं। चैनल संदेश सार्वजनिक हैं।</string>
<string name="about_appearance">रूप</string>
<string name="about_system">सिस्टम</string>
<string name="about_light">लाइट</string>
<string name="about_dark">डार्क</string>
<string name="about_pow">प्रूफ़ ऑफ़ वर्क</string>
<string name="about_pow_off">PoW बंद</string>
<string name="about_pow_on">PoW चालू</string>
<string name="about_pow_tip">स्पैम को कठिन बनाने के लिए geohash संदेशों में Proof of Work जोड़ें।</string>
<string name="about_pow_difficulty">कठिनाई: %1$d बिट (~%2$s)</string>
<string name="about_pow_difficulty_attempts">कठिनाई %1$d के लिए ~%2$s हैश प्रयास</string>
<string name="about_pow_desc_none">Proof of Work आवश्यक नहीं</string>
<string name="about_pow_desc_very_low">बहुत कम – न्यूनतम स्पैम सुरक्षा</string>
<string name="about_pow_desc_low">कम – बुनियादी स्पैम सुरक्षा</string>
<string name="about_pow_desc_medium">मध्यम – अच्छी स्पैम सुरक्षा</string>
<string name="about_pow_desc_high">उच्च – मजबूत स्पैम सुरक्षा</string>
<string name="about_pow_desc_very_high">बहुत उच्च – विलंब हो सकता है</string>
<string name="about_pow_desc_extreme">अत्यधिक – काफ़ी गणनात्मक संसाधन चाहिए</string>
<string name="about_network">नेटवर्क</string>
<string name="about_tor_off">Tor बंद</string>
<string name="about_tor_on">Tor चालू</string>
<string name="about_tor_route">अधिक गोपनीयता के लिए इंटरनेट ट्रैफ़िक को Tor के माध्यम से रूट करें।</string>
<string name="about_tor_status">Tor स्थिति: %1$s, बूटस्ट्रैप %2$d%%</string>
<string name="about_last">अंतिम: %1$s</string>
<string name="about_emergency_title">आपातकालीन डेटा मिटाना</string>
<string name="about_emergency_tip">संकेत: सभी सहेजे डेटा – संदेश, कुंजियाँ और सेटिंग्स सहित – मिटाने के लिए ऐप शीर्षक पर तीन बार टैप करें।</string>
<string name="about_debug_settings">डिबग सेटिंग्स</string>
<string name="about_footer">ओपन सोर्स • गोपनीयता पहले • विकेन्द्रीकृत</string>
<string name="close_plain">बंद करें</string>
<string name="cancel_lower">रद्द करें</string>
<!-- सामान्य कंटेंट विवरण -->
<string name="cd_warning">चेतावनी</string>
<string name="cd_location_services">स्थान सेवाएँ</string>
<string name="cd_privacy">गोपनीयता</string>
<string name="cd_error">त्रुटि</string>
<string name="cd_battery_optimization">बैटरी अनुकूलन</string>
<string name="cd_benefits">लाभ</string>
<string name="cd_checking_battery_optimization">बैटरी अनुकूलन जाँच रहे हैं</string>
<string name="cd_not_supported_battery_optimization">बैटरी अनुकूलन समर्थित नहीं</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">अपठित संदेश</string>
<string name="cd_open_map">मानचित्र खोलें</string>
<string name="cd_remove_bookmark">बुकमार्क हटाएँ</string>
<string name="cd_teleport">टेलीपोर्ट</string>
<string name="cd_selected">चयनित</string>
<string name="cd_leave_channel">चैनल छोड़ें</string>
<string name="cd_reachable_via_nostr">Nostr के माध्यम से उपलब्ध</string>
<string name="cd_offline_favorite">पसंदीदा (ऑफ़लाइन)</string>
<string name="cd_decrease_precision">सटीकता घटाएँ</string>
<string name="cd_increase_precision">सटीकता बढ़ाएँ</string>
<string name="cd_select_geohash">geohash चुनें</string>
<string name="cd_scroll_to_bottom">नीचे स्क्रॉल करें</string>
<string name="cd_file">फ़ाइल</string>
<string name="cd_image">छवि</string>
<string name="cd_cancel">रद्द करें</string>
<string name="cd_link">लिंक</string>
<string name="cd_pick_media">मीडिया चुनें</string>
<string name="cd_pick_file">फ़ाइल चुनें</string>
<string name="cd_save_current_image">वर्तमान छवि सहेजें</string>
<string name="cd_close">बंद करें</string>
<string name="cd_image_index_of">छवि %1$d / %2$d</string>
<string name="cd_privacy_protected">गोपनीयता सुरक्षित</string>
<string name="cd_record_voice">वॉइस नोट रिकॉर्ड करें</string>
<string name="cd_offline_mesh_chat">ऑफ़लाइन मेष चैट</string>
<string name="cd_online_geohash_channels">ऑनलाइन geohash चैनल</string>
<string name="cd_end_to_end_encryption">एंड‑टू‑एंड एन्क्रिप्शन</string>
<!-- छवियाँ और फ़ाइलें -->
<string name="image_page_of">छवि %1$d / %2$d</string>
<string name="image_unavailable">छवि उपलब्ध नहीं</string>
<string name="image_saved_to_downloads">छवि "Downloads" में सहेजी गई</string>
<string name="image_save_failed">छवि सहेजी नहीं जा सकी</string>
<string name="toast_image_saved">छवि "Downloads" में सहेजी गई</string>
<string name="toast_failed_to_save_image">छवि सहेजी नहीं जा सकी</string>
<string name="pick_file">फ़ाइल चुनें</string>
<string name="file_unavailable">[फ़ाइल उपलब्ध नहीं]</string>
<string name="unknown">अज्ञात</string>
<!-- उपयोगकर्ता क्रिया शीट -->
<string name="choose_action_message_or_user">इस संदेश या उपयोगकर्ता के लिए क्रिया चुनें</string>
<string name="choose_action_user">इस उपयोगकर्ता के लिए क्रिया चुनें</string>
<string name="action_copy_message_title">संदेश कॉपी करें</string>
<string name="action_copy_message_subtitle">इस संदेश को क्लिपबोर्ड में कॉपी करें</string>
<string name="action_slap_title">%1$s को थप्पड़</string>
<string name="action_slap_subtitle">मज़ाकिया थप्पड़ भेजें</string>
<string name="action_hug_title">%1$s को गले लगाएँ</string>
<string name="action_hug_subtitle">दोस्ताना आलिंगन भेजें</string>
<string name="action_block_title">%1$s को ब्लॉक करें</string>
<string name="action_block_subtitle">इस उपयोगकर्ता के सभी संदेश ब्लॉक करें</string>
<!-- geohash चैनल शीट -->
<string name="location_channels_title">#स्थान चैनल</string>
<string name="location_channels_desc">geohash चैनलों के माध्यम से अपने पास के लोगों के साथ चैट करें। केवल एक मोटा geohash साझा किया जाता है, कभी भी सटीक GPS डेटा नहीं। अपनी गोपनीयता के लिए, स्क्रीनशॉट न लें और इस स्क्रीन को साझा न करें।</string>
<string name="grant_location_permission">स्थान अनुमति दें</string>
<string name="location_permission_denied">स्थान अनुमति अस्वीकार कर दी गई। स्थान चैनल उपयोग करने के लिए सेटिंग्स में सक्षम करें।</string>
<string name="open_settings">सेटिंग्स खोलें</string>
<string name="location_permission_granted">\u2713 स्थान अनुमति दी गई</string>
<string name="checking_permissions">अनुमतियाँ जाँच रहे हैं…</string>
<string name="finding_nearby_channels">पास के चैनल ढूँढ़ रहे हैं…</string>
<string name="bookmarked">बुकमार्क</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">अमान्य geohash</string>
<string name="teleport">टेलीपोर्ट</string>
<string name="disable_location_services">स्थान सेवाएँ बंद करें</string>
<string name="enable_location_services">स्थान सेवाएँ चालू करें</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">ब्लॉक</string>
<string name="location_level_neighborhood">पड़ोस</string>
<string name="location_level_city">शहर</string>
<string name="location_level_province">प्रांत</string>
<string name="location_level_region">क्षेत्र</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- डिबग / निदान -->
<string name="debug_tools">डिबग उपकरण</string>
<string name="debug_tools_desc">निदान और नियंत्रण के लिए डेवलपर टूल</string>
<string name="debug_verbose_logging">विस्तृत लॉगिंग</string>
<string name="debug_verbose_hint">पीयर जुड़ना/छोड़ना, कनेक्शन दिशा, पैकेट रिले और रिले को लॉग करता है</string>
<string name="debug_bluetooth_roles">Bluetooth भूमिकाएँ</string>
<string name="debug_gatt_server">GATT सर्वर</string>
<string name="debug_connections_fmt">कनेक्शन: %1$d / %2$d</string>
<string name="debug_max_server">अधिकतम सर्वर</string>
<string name="debug_gatt_client">GATT क्लाइंट</string>
<string name="debug_max_client">अधिकतम क्लाइंट</string>
<string name="debug_overall_connections_fmt">कनेक्शन: %1$d / %2$d</string>
<string name="debug_max_overall">कुल अधिकतम</string>
<string name="debug_packet_relay">पैकेट रिले</string>
<string name="debug_since_start_fmt">आरंभ से: %1$d</string>
<string name="debug_roles_hint">भूमिकाएँ ऑन/ऑफ करें और बंद करने पर सभी कनेक्शन बंद करें</string>
<string name="debug_sync_settings">सिंक सेटिंग्स</string>
<string name="debug_max_packets_per_sync_fmt">प्रति सिंक अधिकतम पैकेट: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">अधिकतम GCS फ़िल्टर आकार: %1$d बाइट (1281024)</string>
<string name="debug_target_fpr_fmt">लक्ष्य FPR: %1$.2f%%</string>
<string name="debug_connected_devices">कनेक्टेड डिवाइस</string>
<string name="debug_our_device_id_fmt">हमारा डिवाइस ID: %1$s</string>
<string name="debug_none">कोई नहीं</string>
<string name="debug_disconnect">डिसकनेक्ट</string>
<string name="debug_recent_scan_results">हाल में स्कैन किए डिवाइस</string>
<string name="debug_connect">कनेक्ट</string>
<string name="debug_debug_console">डिबग कंसोल</string>
<string name="debug_clear">साफ़ करें</string>
<string name="debug_relays_window_fmt">पिछले 10 से.: %1$d • 1 मि.: %2$d • 15 मि.: %3$d</string>
<string name="debug_derived_p_fmt">व्युत्पन्न P: %1$s • अनुमानित अधिकतम आइटम: %2$s</string>
<string name="debug_direct_suffix"> • डायरेक्ट</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">सर्वर के रूप में (हम होस्ट करते हैं)</string>
<string name="debug_role_client">क्लाइंट के रूप में (हम कनेक्ट करते हैं)</string>
<!-- ऑनबोर्डिंग स्क्रीन -->
<string name="location_services_required">स्थान सेवाएँ आवश्यक</string>
<string name="privacy_first">गोपनीयता पहले</string>
<string name="location_explanation">bitchat आपकी लोकेशन ट्रैक नहीं करती।\n\nBluetooth स्कैनिंग और geohash चैट फीचर के लिए स्थान सेवाएँ आवश्यक हैं।</string>
<string name="location_needs_for">bitchat को इन कारणों से स्थान सेवाएँ चाहिए:</string>
<string name="location_needs_bullets">• Bluetooth डिवाइस स्कैनिंग\n• मेष नेटवर्क में पास के उपयोगकर्ताओं की खोज\n• geohash चैट फीचर\n• कोई ट्रैकिंग या लोकेशन संग्रह नहीं</string>
<string name="open_location_settings">स्थान सेटिंग्स खोलें</string>
<string name="check_again">फिर से जाँचें</string>
<string name="location_services_unavailable">स्थान सेवाएँ उपलब्ध नहीं</string>
<string name="location_unavailable_explanation">इस डिवाइस पर स्थान सेवाएँ उपलब्ध नहीं हैं। यह असामान्य है क्योंकि Android डिवाइसों पर वे सामान्यतः होती हैं।\n\nBluetooth स्कैनिंग (Android आवश्यकता) के ठीक से काम करने के लिए स्थान सेवाएँ जरूरी हैं। इसके बिना ऐप पास के उपयोगकर्ताओं को नहीं ढूँढ़ सकती।</string>
<string name="checking_location_services">स्थान सेवाएँ जाँची जा रही हैं…</string>
<string name="bluetooth_required">Bluetooth आवश्यक</string>
<string name="bluetooth_needs_for">bitchat को Bluetooth की आवश्यकता:</string>
<string name="bluetooth_needs_bullets">• पास के उपयोगकर्ताओं की खोज\n• मेष कनेक्शन बनाना\n• संदेश भेजना और प्राप्त करना\n• इंटरनेट या सर्वर के बिना काम करना</string>
<string name="enable_bluetooth">Bluetooth चालू करें</string>
<string name="bluetooth_not_supported">Bluetooth समर्थित नहीं</string>
<string name="bluetooth_unsupported_explanation">यह डिवाइस Bluetooth Low Energy (BLE) को सपोर्ट नहीं करता, जो bitchat के लिए आवश्यक है।\n\nइंटरनेट के बिना पास के डिवाइसों के साथ मेष नेटवर्क बनाने और संवाद करने के लिए BLE आवश्यक है।</string>
<string name="checking_bluetooth_status">Bluetooth स्थिति जाँच रहे हैं…</string>
<string name="battery_optimization_detected_title">बैटरी अनुकूलन मिला</string>
<string name="battery_optimization_enabled_title">बैटरी अनुकूलन चालू है</string>
<string name="battery_optimization_explanation_short">मेष कनेक्शन बनाए रखने के लिए bitchat को पृष्ठभूमि में चलना होता है। बैटरी अनुकूलन इन कनेक्शनों को बाधित कर सकता है।</string>
<string name="benefits_of_disabling">बंद करने के लाभ</string>
<string name="battery_benefits_short">• विश्वसनीय डिलीवरी\n• मेष कनेक्टिविटी बनाए रखें\n• डिसकनेक्शन रोकें</string>
<string name="disable_battery_optimization">बैटरी अनुकूलन बंद करें</string>
<string name="battery_optimization_disabled_title">बैटरी अनुकूलन बंद</string>
<string name="continue_btn">जारी रखें</string>
<string name="initializing_mesh_network">मेष नेटवर्क प्रारंभ कर रहे हैं</string>
<string name="setting_up_bluetooth">Bluetooth मेष नेटवर्क सेट कर रहे हैं…</string>
<string name="should_take_seconds">इसमें केवल कुछ सेकंड लगेंगे</string>
<string name="setup_not_complete">सेटअप पूरा नहीं हुआ</string>
<string name="try_again">फिर से प्रयास करें</string>
<string name="privacy_protected">आपकी गोपनीयता सुरक्षित है</string>
<string name="privacy_bullets">• कोई ट्रैकिंग या डेटा संग्रह नहीं\n• Bluetooth मेष चैट पूरी तरह ऑफ़लाइन\n• geohash चैट इंटरनेट का उपयोग करती है</string>
<string name="permissions_header">अनुमतियाँ</string>
<string name="grant_permissions">अनुमतियाँ दें</string>
<string name="location_tracking_warning">bitchat आपकी लोकेशन ट्रैक नहीं करती</string>
<string name="geohash_people_header">लोग</string>
<string name="nobody_around">आस‑पास कोई नहीं…</string>
<string name="you_suffix"> (आप)</string>
<string name="pan_zoom_instruction">geohash चुनने के लिए पैन/ज़ूम करें</string>
<string name="select">चयन करें</string>
<string name="type_a_message_placeholder">संदेश लिखें…</string>
<string name="mention">उल्लेख</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">छवि</string>
<string name="media_type_file">फ़ाइल</string>
<!-- अधिसूचना पाठ सहायक -->
<string name="notification_sent_image">📷 छवि भेजी</string>
<string name="notification_sent_voice">🎤 वॉइस नोट भेजा</string>
<string name="notification_sent_file">📎 फ़ाइल भेजी</string>
<!-- वॉइस प्लेयर एक्सेसिबिलिटी -->
<string name="cd_play_voice">चलाएँ</string>
<string name="cd_pause_voice">रोकें</string>
<string name="cd_mining_pow">PoW माइनिंग</string>
<string name="cd_pow_enabled">PoW सक्षम</string>
<string name="cd_proof_of_work">प्रूफ़ ऑफ़ वर्क</string>
<string name="pow_mining_ellipsis">माइनिंग…</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- अनुमति विवरण -->
<string name="perm_nearby_devices_desc">ब्लूटूथ के माध्यम से bitchat उपयोगकर्ताओं की खोज के लिए आवश्यक</string>
<string name="perm_nearby_devices_system">bitchat को पास के उपकरणों से कनेक्ट करने दें</string>
<string name="perm_location_desc">Android द्वारा आवश्यक: ब्लूटूथ के माध्यम से पास के bitchat उपयोगकर्ताओं की खोज</string>
<string name="perm_location_system">पास के उपकरण स्कैन करने के लिए bitchat को यह चाहिए</string>
<string name="perm_notifications_desc">निजी संदेश मिलने पर सूचनाएँ प्राप्त करें</string>
<string name="perm_notifications_system">bitchat को आपको सूचनाएँ भेजने दें</string>
<string name="perm_battery_desc">बैटरी अनुकूलन बंद करें ताकि bitchat पृष्ठभूमि में विश्वसनीय रूप से चल सके और मेष कनेक्शन बनाए रख सके</string>
<string name="perm_battery_system">bitchat को बैटरी प्रतिबंधों के बिना चलने दें</string>
<!-- अनुमति प्रकार -->
<string name="perm_type_nearby_devices">पास के उपकरण</string>
<string name="perm_type_precise_location">सटीक स्थान</string>
<string name="perm_type_microphone">माइक्रोफ़ोन</string>
<string name="perm_type_notifications">सूचनाएँ</string>
<string name="perm_type_battery_optimization">बैटरी अनुकूलन</string>
<string name="perm_type_other">अन्य</string>
<!-- पासवर्ड संवाद -->
<string name="pwd_prompt_title">चैनल पासवर्ड दर्ज करें</string>
<string name="pwd_prompt_message">चैनल %1$s पासवर्ड द्वारा सुरक्षित है। शामिल होने के लिए पासवर्ड दर्ज करें।</string>
<string name="pwd_label">पासवर्ड</string>
<string name="join">शामिल हों</string>
<string name="cancel">रद्द करें</string>
<!-- बहुवचन -->
<plurals name="notification_and_more">
<item quantity="one">और %d</item>
<item quantity="other">और %d</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 व्यक्ति</item>
<item quantity="other">%d लोग</item>
</plurals>
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- Alasan izin -->
<string name="permission_bluetooth_rationale">Izin Bluetooth diperlukan untuk chatting langsung dengan orang lain tanpa Internet.</string>
<string name="permission_location_rationale">Izin lokasi diperlukan untuk menemukan perangkat terdekat melalui Bluetooth.</string>
<string name="permission_notification_rationale">Izin notifikasi diperlukan untuk memberitahu Anda tentang pesan baru.</string>
<!-- Placeholder / UI dasar -->
<string name="nickname_hint">Nama panggilan</string>
<string name="message_hint">Ketik pesan…</string>
<string name="channel_password_hint">Kata sandi</string>
<string name="join_channel">Bergabung ke channel</string>
<string name="leave_channel">Keluar</string>
<string name="send_message">Kirim</string>
<string name="show_commands">Tampilkan perintah</string>
<string name="back">Kembali</string>
<string name="people">Orang</string>
<string name="channels">Channel</string>
<string name="online_users">Pengguna online</string>
<string name="no_one_connected">Tidak ada yang terhubung</string>
<string name="emergency_clear_hint">Ketuk tiga kali untuk menghapus semua data</string>
<string name="your_network">Jaringan</string>
<!-- Optimalisasi baterai -->
<string name="battery_optimization_detected">Optimalisasi baterai terdeteksi</string>
<string name="battery_optimization_disabled">Optimalisasi baterai dinonaktifkan</string>
<string name="battery_optimization_not_required">Optimalisasi baterai tidak diperlukan</string>
<string name="battery_optimization_checking">Memeriksa optimalisasi baterai</string>
<string name="battery_optimization_why_disable">Mengapa menonaktifkan optimalisasi baterai?</string>
<string name="battery_optimization_explanation">bitchat berjalan di latar belakang untuk mempertahankan koneksi mesh dengan perangkat terdekat. Optimalisasi baterai dapat mengganggu koneksi ini, menyebabkan pesan tertunda atau hilang.\n\nMenonaktifkan optimalisasi baterai memastikan komunikasi peer-to-peer yang andal.</string>
<string name="battery_optimization_disable_button">Nonaktifkan optimalisasi baterai</string>
<string name="battery_optimization_note">Catatan: Anda dapat mengubahnya nanti di Pengaturan Android &gt; Aplikasi &gt; bitchat &gt; Baterai.</string>
<string name="battery_optimization_not_supported_explanation">Perangkat Anda tidak memerlukan pengaturan optimalisasi baterai. bitchat akan berjalan normal.</string>
<string name="battery_optimization_not_supported_message">Perangkat Anda tidak memerlukan pengaturan optimalisasi baterai. bitchat akan berjalan normal.</string>
<string name="battery_optimization_success_message">bitchat dapat berjalan andal di latar belakang</string>
<string name="battery_optimization_benefits">• Pengiriman pesan yang andal\n• Mempertahankan koneksi mesh\n• Relay pesan latar belakang\n• Mencegah putusnya koneksi</string>
<string name="battery_optimization_check_again">Periksa lagi</string>
<string name="battery_optimization_skip">Lewati sekarang</string>
<string name="battery_optimization_continue">Lanjut</string>
<string name="retry">Coba lagi</string>
<string name="skip">Lewati</string>
<!-- Notifikasi -->
<string name="notification_summary_more">dan %1$d lagi</string>
<string name="notification_messages_from_people">%1$d pesan dari %2$d orang</string>
<string name="notification_more_conversations">dan %1$d percakapan lagi</string>
<string name="notification_active_peers_title">👥 bitchatter terdekat!</string>
<string name="notification_active_peers_one">1 orang terdekat</string>
<string name="notification_active_peers_many">%1$d orang terdekat</string>
<string name="notification_new_messages">Pesan baru</string>
<string name="notification_new_location_messages">Pesan lokasi baru</string>
<string name="notification_mentions_in">Disebut di %1$s</string>
<string name="notification_mentions_in_more">Disebut di %1$s (+%2$d lagi)</string>
<string name="notification_mentions_in_plural">%1$d penyebutan di %2$s</string>
<string name="notification_new_activity_in">Aktivitas baru di %1$s</string>
<string name="notification_messages_in">Pesan di %1$s</string>
<string name="notification_joined_conversation">%1$s bergabung dengan percakapan</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d penyebutan</string>
<string name="notification_geohash_summary_title">bitchat Chat lokasi</string>
<string name="notification_geohash_summary_text">%1$d pesan dari %2$d lokasi</string>
<string name="notification_mesh_mention_title_singular">Disebut di Mesh Chat</string>
<string name="notification_mesh_mention_title_plural">%1$d penyebutan di Mesh Chat</string>
<string name="notification_more_locations">dan %1$d lokasi lagi</string>
<string name="notification_and_more">dan %1$d lagi</string>
<!-- Aksesibilitas favorit -->
<string name="cd_add_favorite">Tambah ke favorit</string>
<string name="cd_remove_favorite">Hapus dari favorit</string>
<string name="cd_add_bookmark">Tambah bookmark</string>
<!-- Header chat & aksesibilitas -->
<string name="chat_back">kembali</string>
<string name="chat_channel_prefix">Channel: %1$s</string>
<string name="chat_leave">keluar</string>
<string name="cd_nostr_reachable">Dapat dijangkau melalui Nostr</string>
<string name="cd_unread_private_messages">Pesan pribadi yang belum dibaca</string>
<string name="cd_toggle_bookmark">Alihkan bookmark</string>
<string name="cd_teleported">Diteleportasi</string>
<string name="cd_tor_status">Status Tor</string>
<string name="cd_connected_peers">Peer yang terhubung</string>
<string name="cd_geohash_participants">Peserta geohash</string>
<string name="cd_ready_for_handshake">Siap untuk handshake</string>
<string name="cd_handshake_in_progress">Handshake sedang berlangsung</string>
<string name="cd_encrypted">Terenkripsi end-to-end</string>
<string name="cd_handshake_failed">Handshake gagal</string>
<!-- Dialog penampil file -->
<string name="file_viewer_title">📎 File diterima</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Ukuran: %1$s</string>
<string name="file_viewer_type">🏷️ Jenis: %1$s</string>
<string name="file_viewer_open_save">📂 Buka / Simpan</string>
<string name="close_with_emoji">❌ Tutup</string>
<string name="pick_image">Pilih gambar</string>
<!-- Sheet tentang -->
<string name="about_tagline">chat mesh terdesentralisasi dengan enkripsi end-to-end</string>
<string name="about_offline_mesh_title">Chat Mesh Offline</string>
<string name="about_offline_mesh_desc">Berkomunikasi langsung melalui Bluetooth LE tanpa Internet atau server. Pesan diteruskan melalui perangkat terdekat untuk memperluas jangkauan.</string>
<string name="about_online_geohash_title">Channel Geohash Online</string>
<string name="about_online_geohash_desc">Terhubung dengan orang-orang di area Anda melalui channel berbasis geohash. Perluas mesh melalui relay Internet publik.</string>
<string name="about_e2e_title">Enkripsi end-to-end</string>
<string name="about_e2e_desc">Pesan pribadi dienkripsi. Pesan channel bersifat publik.</string>
<string name="about_appearance">Tampilan</string>
<string name="about_system">Sistem</string>
<string name="about_light">Terang</string>
<string name="about_dark">Gelap</string>
<string name="about_pow">Proof of Work</string>
<string name="about_pow_off">PoW mati</string>
<string name="about_pow_on">PoW hidup</string>
<string name="about_pow_tip">Tambahkan proof of work ke pesan geohash untuk mempersulit spam.</string>
<string name="about_pow_difficulty">Kesulitan: %1$d bit (~%2$s)</string>
<string name="about_pow_difficulty_attempts">Kesulitan %1$d memerlukan ~%2$s percobaan hash</string>
<string name="about_pow_desc_none">tidak ada proof of work yang diperlukan</string>
<string name="about_pow_desc_very_low">sangat rendah perlindungan spam minimal</string>
<string name="about_pow_desc_low">rendah perlindungan spam dasar</string>
<string name="about_pow_desc_medium">sedang perlindungan spam yang baik</string>
<string name="about_pow_desc_high">tinggi perlindungan spam yang kuat</string>
<string name="about_pow_desc_very_high">sangat tinggi dapat menyebabkan keterlambatan</string>
<string name="about_pow_desc_extreme">ekstrem memerlukan daya komputasi yang signifikan</string>
<string name="about_network">Jaringan</string>
<string name="about_tor_off">Tor mati</string>
<string name="about_tor_on">Tor hidup</string>
<string name="about_tor_route">Rutekan lalu lintas Internet melalui Tor untuk privasi ekstra.</string>
<string name="about_tor_status">Status Tor: %1$s, Bootstrap %2$d%%</string>
<string name="about_last">Terakhir: %1$s</string>
<string name="about_emergency_title">Hapus data darurat</string>
<string name="about_emergency_tip">Tips: Ketuk tiga kali pada judul aplikasi untuk menghapus semua data tersimpan termasuk pesan, kunci, dan pengaturan.</string>
<string name="about_debug_settings">Pengaturan debug</string>
<string name="about_footer">Sumber Terbuka • Privasi Pertama • Terdesentralisasi</string>
<string name="close_plain">Tutup</string>
<string name="cancel_lower">batal</string>
<!-- Deskripsi konten umum -->
<string name="cd_warning">Peringatan</string>
<string name="cd_location_services">Layanan lokasi</string>
<string name="cd_privacy">Privasi</string>
<string name="cd_error">Kesalahan</string>
<string name="cd_battery_optimization">Optimalisasi baterai</string>
<string name="cd_benefits">Manfaat</string>
<string name="cd_checking_battery_optimization">Memeriksa optimalisasi baterai</string>
<string name="cd_not_supported_battery_optimization">Optimalisasi baterai tidak didukung</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Pesan yang belum dibaca</string>
<string name="cd_open_map">Buka peta</string>
<string name="cd_remove_bookmark">Hapus bookmark</string>
<string name="cd_teleport">Teleportasi</string>
<string name="cd_selected">Dipilih</string>
<string name="cd_leave_channel">Keluar dari channel</string>
<string name="cd_reachable_via_nostr">Dapat dijangkau melalui Nostr</string>
<string name="cd_offline_favorite">Favorit (offline)</string>
<string name="cd_decrease_precision">Kurangi presisi</string>
<string name="cd_increase_precision">Tingkatkan presisi</string>
<string name="cd_select_geohash">Pilih geohash</string>
<string name="cd_scroll_to_bottom">Gulir ke bawah</string>
<string name="cd_file">File</string>
<string name="cd_image">Gambar</string>
<string name="cd_cancel">Batal</string>
<string name="cd_link">Tautan</string>
<string name="cd_pick_media">Pilih media</string>
<string name="cd_pick_file">Pilih file</string>
<string name="cd_save_current_image">Simpan gambar saat ini</string>
<string name="cd_close">Tutup</string>
<string name="cd_image_index_of">Gambar %1$d dari %2$d</string>
<string name="cd_privacy_protected">Privasi terlindungi</string>
<string name="cd_record_voice">Rekam pesan suara</string>
<string name="cd_offline_mesh_chat">Chat Mesh Offline</string>
<string name="cd_online_geohash_channels">Channel Geohash Online</string>
<string name="cd_end_to_end_encryption">Enkripsi end-to-end</string>
<!-- Gambar & file -->
<string name="image_page_of">Gambar %1$d dari %2$d</string>
<string name="image_unavailable">Gambar tidak tersedia</string>
<string name="image_saved_to_downloads">Gambar disimpan ke \"Downloads\"</string>
<string name="image_save_failed">Gagal menyimpan gambar</string>
<string name="toast_image_saved">Gambar disimpan ke \"Downloads\"</string>
<string name="toast_failed_to_save_image">Gagal menyimpan gambar</string>
<string name="pick_file">Pilih file</string>
<string name="file_unavailable">[File tidak tersedia]</string>
<string name="unknown">tidak diketahui</string>
<!-- Sheet aksi pengguna -->
<string name="choose_action_message_or_user">Pilih aksi untuk pesan atau pengguna ini</string>
<string name="choose_action_user">Pilih aksi untuk pengguna ini</string>
<string name="action_copy_message_title">Salin pesan</string>
<string name="action_copy_message_subtitle">Salin pesan ini ke clipboard</string>
<string name="action_slap_title">Tampar %1$s</string>
<string name="action_slap_subtitle">Kirim tamparan main-main</string>
<string name="action_hug_title">Peluk %1$s</string>
<string name="action_hug_subtitle">Kirim pelukan yang ramah</string>
<string name="action_block_title">Blokir %1$s</string>
<string name="action_block_subtitle">Blokir semua pesan dari pengguna ini</string>
<!-- Sheet channel geohash -->
<string name="location_channels_title">#Channel lokasi</string>
<string name="location_channels_desc">Chat dengan orang-orang di dekat Anda melalui channel geohash. Hanya geohash kasar yang dibagikan, bukan data GPS yang tepat. Harap jangan tangkap layar atau bagikan tampilan ini untuk privasi.</string>
<string name="grant_location_permission">Berikan izin lokasi</string>
<string name="location_permission_denied">Izin lokasi ditolak. Aktifkan di Pengaturan untuk menggunakan channel lokasi.</string>
<string name="open_settings">Buka Pengaturan</string>
<string name="location_permission_granted">\u2713 Izin lokasi diberikan</string>
<string name="checking_permissions">Memeriksa izin …</string>
<string name="finding_nearby_channels">Mencari channel terdekat …</string>
<string name="bookmarked">Dibookmark</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">Geohash tidak valid</string>
<string name="teleport">teleportasi</string>
<string name="disable_location_services">Nonaktifkan layanan lokasi</string>
<string name="enable_location_services">Aktifkan layanan lokasi</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">Blok</string>
<string name="location_level_neighborhood">Lingkungan</string>
<string name="location_level_city">Kota</string>
<string name="location_level_province">Provinsi</string>
<string name="location_level_region">Wilayah</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- Debug / Diagnostik -->
<string name="debug_tools">Alat debug</string>
<string name="debug_tools_desc">Alat pengembang untuk diagnostik dan kontrol</string>
<string name="debug_verbose_logging">logging verbose</string>
<string name="debug_verbose_hint">Log bergabung/keluar peer, arah koneksi, penerusan paket dan relay</string>
<string name="debug_bluetooth_roles">Peran Bluetooth</string>
<string name="debug_gatt_server">GATT Server</string>
<string name="debug_connections_fmt">Koneksi: %1$d / %2$d</string>
<string name="debug_max_server">server maks</string>
<string name="debug_gatt_client">GATT Client</string>
<string name="debug_max_client">client maks</string>
<string name="debug_overall_connections_fmt">Koneksi: %1$d / %2$d</string>
<string name="debug_max_overall">maks keseluruhan</string>
<string name="debug_packet_relay">Packet Relay</string>
<string name="debug_since_start_fmt">sejak mulai: %1$d</string>
<string name="debug_roles_hint">Aktifkan/nonaktifkan peran dan tutup semua koneksi saat menonaktifkan</string>
<string name="debug_sync_settings">Pengaturan sinkronisasi</string>
<string name="debug_max_packets_per_sync_fmt">paket maks per sinkronisasi: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">ukuran filter GCS maks: %1$d Byte (1281024)</string>
<string name="debug_target_fpr_fmt">FPR target: %1$.2f%%</string>
<string name="debug_connected_devices">perangkat terhubung</string>
<string name="debug_our_device_id_fmt">ID perangkat kami: %1$s</string>
<string name="debug_none">tidak ada</string>
<string name="debug_disconnect">putuskan koneksi</string>
<string name="debug_recent_scan_results">perangkat yang baru dipindai</string>
<string name="debug_connect">hubungkan</string>
<string name="debug_debug_console">Konsol debug</string>
<string name="debug_clear">hapus</string>
<string name="debug_relays_window_fmt">10 detik terakhir: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">P turunan: %1$s • elemen maks perkiraan: %2$s</string>
<string name="debug_direct_suffix"> • langsung</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">sebagai server (kami host)</string>
<string name="debug_role_client">sebagai client (kami hubungkan)</string>
<!-- Layar onboarding -->
<string name="location_services_required">Layanan lokasi diperlukan</string>
<string name="privacy_first">Privasi pertama</string>
<string name="location_explanation">bitchat TIDAK melacak lokasi Anda.\n\nLayanan lokasi diperlukan untuk pemindaian Bluetooth dan fitur geohash chat.</string>
<string name="location_needs_for">bitchat memerlukan layanan lokasi untuk:</string>
<string name="location_needs_bullets">• Pemindaian perangkat Bluetooth\n• Menemukan pengguna terdekat di jaringan mesh\n• Fitur geohash chat\n• Tidak ada pelacakan atau pengumpulan lokasi</string>
<string name="open_location_settings">Buka pengaturan lokasi</string>
<string name="check_again">Periksa lagi</string>
<string name="location_services_unavailable">Layanan lokasi tidak tersedia</string>
<string name="location_unavailable_explanation">Layanan lokasi tidak tersedia di perangkat ini. Ini tidak biasa karena layanan lokasi standar di perangkat Android.\n\nbitchat memerlukan layanan lokasi agar pemindaian Bluetooth berfungsi dengan benar (persyaratan Android). Tanpanya, aplikasi tidak dapat menemukan pengguna terdekat.</string>
<string name="checking_location_services">Memeriksa layanan lokasi …</string>
<string name="bluetooth_required">Bluetooth diperlukan</string>
<string name="bluetooth_needs_for">bitchat memerlukan Bluetooth untuk:</string>
<string name="bluetooth_needs_bullets">• Menemukan pengguna terdekat\n• Membuat koneksi jaringan mesh\n• Mengirim dan menerima pesan\n• Berfungsi tanpa Internet atau server</string>
<string name="enable_bluetooth">Aktifkan Bluetooth</string>
<string name="bluetooth_not_supported">Bluetooth tidak didukung</string>
<string name="bluetooth_unsupported_explanation">Perangkat ini tidak mendukung Bluetooth Low Energy (BLE), yang diperlukan agar bitchat berfungsi.\n\nbitchat memerlukan BLE untuk membuat jaringan mesh dan berkomunikasi dengan perangkat terdekat tanpa Internet.</string>
<string name="checking_bluetooth_status">Memeriksa status Bluetooth …</string>
<string name="battery_optimization_detected_title">Optimalisasi baterai terdeteksi</string>
<string name="battery_optimization_enabled_title">Optimalisasi baterai diaktifkan</string>
<string name="battery_optimization_explanation_short">bitchat harus berjalan di latar belakang untuk mempertahankan koneksi mesh. Optimalisasi baterai dapat mengganggu koneksi ini.</string>
<string name="benefits_of_disabling">Manfaat menonaktifkan</string>
<string name="battery_benefits_short">• pengiriman pesan yang andal\n• mempertahankan koneksi mesh\n• mencegah putusnya koneksi</string>
<string name="disable_battery_optimization">Nonaktifkan optimalisasi baterai</string>
<string name="battery_optimization_disabled_title">Optimalisasi baterai dinonaktifkan</string>
<string name="continue_btn">Lanjut</string>
<string name="initializing_mesh_network">Menginisialisasi jaringan mesh</string>
<string name="setting_up_bluetooth">Menyiapkan jaringan Bluetooth mesh …</string>
<string name="should_take_seconds">Ini seharusnya hanya memakan waktu beberapa detik</string>
<string name="setup_not_complete">Penyiapan tidak lengkap</string>
<string name="try_again">Coba lagi</string>
<string name="privacy_protected">Privasi Anda terlindungi</string>
<string name="privacy_bullets">• tidak ada pelacakan atau pengumpulan data\n• Bluetooth mesh chat sepenuhnya offline\n• Geohash chat menggunakan Internet</string>
<string name="permissions_header">Izin</string>
<string name="grant_permissions">Berikan izin</string>
<string name="location_tracking_warning">bitchat TIDAK melacak lokasi Anda</string>
<string name="geohash_people_header">ORANG</string>
<string name="nobody_around">tidak ada orang di sekitar …</string>
<string name="you_suffix"> (Anda)</string>
<string name="pan_zoom_instruction">geser dan zoom untuk memilih geohash</string>
<string name="select">pilih</string>
<string name="type_a_message_placeholder">Ketik pesan …</string>
<string name="mention">sebut</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">Gambar</string>
<string name="media_type_file">File</string>
<!-- Pembantu teks notifikasi -->
<string name="notification_sent_image">📷 mengirim gambar</string>
<string name="notification_sent_voice">🎤 mengirim pesan suara</string>
<string name="notification_sent_file">📎 mengirim file</string>
<!-- Aksesibilitas pemutar suara -->
<string name="cd_play_voice">Putar</string>
<string name="cd_pause_voice">Jeda</string>
<string name="cd_mining_pow">Mining PoW</string>
<string name="cd_pow_enabled">PoW diaktifkan</string>
<string name="cd_proof_of_work">Proof of Work</string>
<string name="pow_mining_ellipsis">Mining …</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- Deskripsi izin -->
<string name="perm_nearby_devices_desc">Diperlukan untuk menemukan pengguna bitchat melalui Bluetooth</string>
<string name="perm_nearby_devices_system">Izinkan bitchat terhubung dengan perangkat terdekat</string>
<string name="perm_location_desc">Diperlukan oleh Android untuk menemukan pengguna bitchat terdekat melalui Bluetooth</string>
<string name="perm_location_system">bitchat memerlukan ini untuk memindai perangkat terdekat</string>
<string name="perm_notifications_desc">Terima notifikasi saat Anda menerima pesan pribadi</string>
<string name="perm_notifications_system">Izinkan bitchat mengirim notifikasi kepada Anda</string>
<string name="perm_battery_desc">Nonaktifkan optimalisasi baterai untuk memastikan bitchat berjalan andal di latar belakang dan mempertahankan koneksi jaringan mesh</string>
<string name="perm_battery_system">Izinkan bitchat berjalan tanpa pembatasan baterai</string>
<!-- Jenis izin -->
<string name="perm_type_nearby_devices">Perangkat terdekat</string>
<string name="perm_type_precise_location">Lokasi yang tepat</string>
<string name="perm_type_microphone">Mikrofon</string>
<string name="perm_type_notifications">Notifikasi</string>
<string name="perm_type_battery_optimization">Optimalisasi baterai</string>
<string name="perm_type_other">Lainnya</string>
<!-- Dialog kata sandi -->
<string name="pwd_prompt_title">Masukkan kata sandi channel</string>
<string name="pwd_prompt_message">Channel %1$s dilindungi kata sandi. Masukkan kata sandi untuk bergabung.</string>
<string name="pwd_label">Kata sandi</string>
<string name="join">Bergabung</string>
<string name="cancel">Batal</string>
<!-- Jamak -->
<plurals name="notification_and_more">
<item quantity="one">dan %d lagi</item>
<item quantity="other">dan %d lagi</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 orang</item>
<item quantity="other">%d orang</item>
</plurals>
</resources>
+387
View File
@@ -0,0 +1,387 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- Spiegazioni dei permessi -->
<string name="permission_bluetooth_rationale">Il permesso Bluetooth è necessario per la messaggistica peer-to-peer senza internet.</string>
<string name="permission_location_rationale">Il permesso di localizzazione è necessario per scoprire i dispositivi vicini tramite Bluetooth.</string>
<string name="permission_notification_rationale">Il permesso di notifica è necessario per avvisarti di nuovi messaggi.</string>
<!-- Suggerimenti / UI di base -->
<string name="nickname_hint">nickname</string>
<string name="message_hint">scrivi un messaggio…</string>
<string name="channel_password_hint">Password</string>
<string name="join_channel">Entra nel canale</string>
<string name="leave_channel">Esci</string>
<string name="send_message">Invia</string>
<string name="show_commands">Mostra comandi</string>
<string name="back">Indietro</string>
<string name="people">Persone</string>
<string name="channels">Canali</string>
<string name="online_users">Utenti online</string>
<string name="no_one_connected">Nessuno connesso</string>
<string name="emergency_clear_hint">Tocca tre volte per cancellare tutti i dati</string>
<string name="your_network">Rete</string>
<!-- Ottimizzazione batteria -->
<string name="battery_optimization_detected">Ottimizzazione batteria rilevata</string>
<string name="battery_optimization_disabled">Ottimizzazione batteria disattivata</string>
<string name="battery_optimization_not_required">Ottimizzazione batteria non richiesta</string>
<string name="battery_optimization_checking">Controllo ottimizzazione batteria</string>
<string name="battery_optimization_why_disable">Perché disattivare l\'ottimizzazione della batteria?</string>
<string name="battery_optimization_explanation">bitchat viene eseguito in background per mantenere le connessioni di rete mesh con i dispositivi vicini. L\'ottimizzazione della batteria può interrompere queste connessioni, causando ritardi o perdita di messaggi.\n\nDisattivare l\'ottimizzazione della batteria garantisce una messaggistica peer-to-peer affidabile.</string>
<string name="battery_optimization_disable_button">Disattiva ottimizzazione batteria</string>
<string name="battery_optimization_note">Nota: puoi modificare questa impostazione in seguito in Impostazioni Android &gt; App &gt; bitchat &gt; Batteria</string>
<string name="battery_optimization_not_supported_explanation">Il tuo dispositivo non richiede impostazioni di ottimizzazione della batteria. bitchat funzionerà normalmente.</string>
<string name="battery_optimization_not_supported_message">Il tuo dispositivo non richiede impostazioni di ottimizzazione della batteria. bitchat funzionerà normalmente.</string>
<string name="battery_optimization_success_message">bitchat può funzionare in modo affidabile in background</string>
<string name="battery_optimization_benefits">• Garantisce la consegna affidabile dei messaggi\n• Mantiene la connettività della rete mesh\n• Consente l\'inoltro dei messaggi in background\n• Previene le interruzioni della connessione</string>
<string name="battery_optimization_check_again">Controlla di nuovo</string>
<string name="battery_optimization_skip">Salta per ora</string>
<string name="battery_optimization_continue">Continua</string>
<string name="retry">Riprova</string>
<string name="skip">Salta</string>
<!-- Notifiche -->
<string name="notification_summary_more">e altri %1$d</string>
<string name="notification_messages_from_people">%1$d messaggi da %2$d persone</string>
<string name="notification_more_conversations">e altre %1$d conversazioni</string>
<string name="notification_active_peers_title">👥 bitchatter nelle vicinanze!</string>
<string name="notification_active_peers_one">1 persona nei dintorni</string>
<string name="notification_active_peers_many">%1$d persone nei dintorni</string>
<string name="notification_new_messages">Nuovi messaggi</string>
<string name="notification_new_location_messages">Nuovi messaggi di posizione</string>
<string name="notification_mentions_in">Menzionato in %1$s</string>
<string name="notification_mentions_in_more">Menzionato in %1$s (+%2$d altri)</string>
<string name="notification_mentions_in_plural">%1$d menzioni in %2$s</string>
<string name="notification_new_activity_in">Nuova attività in %1$s</string>
<string name="notification_messages_in">Messaggi in %1$s</string>
<string name="notification_joined_conversation">%1$s si è unito alla conversazione</string>
<string name="notification_geohash_summary_title_mentions">bitchat - %1$d menzioni</string>
<string name="notification_geohash_summary_title">bitchat - chat di posizione</string>
<string name="notification_geohash_summary_text">%1$d messaggi da %2$d posizioni</string>
<string name="notification_mesh_mention_title_singular">Menzionato nella chat mesh</string>
<string name="notification_mesh_mention_title_plural">%1$d menzioni nella chat mesh</string>
<string name="notification_more_locations">e altre %1$d posizioni</string>
<string name="notification_and_more">e altri %1$d</string>
<!-- Accessibilità favoriti -->
<string name="cd_add_favorite">Aggiungi ai preferiti</string>
<string name="cd_remove_favorite">Rimuovi dai preferiti</string>
<string name="cd_add_bookmark">Aggiungi segnalibro</string>
<!-- Intestazione chat e accessibilità -->
<string name="chat_back">indietro</string>
<string name="chat_channel_prefix">canale: %1$s</string>
<string name="chat_leave">esci</string>
<string name="cd_nostr_reachable">Raggiungibile via Nostr</string>
<string name="cd_unread_private_messages">Messaggi privati non letti</string>
<string name="cd_toggle_bookmark">Attiva/disattiva segnalibro</string>
<string name="cd_teleported">Teletrasportato</string>
<string name="cd_tor_status">Stato Tor</string>
<string name="cd_connected_peers">Peer connessi</string>
<string name="cd_geohash_participants">Partecipanti geohash</string>
<string name="cd_ready_for_handshake">Pronto per l\'handshake</string>
<string name="cd_handshake_in_progress">Handshake in corso</string>
<string name="cd_encrypted">Crittografia end-to-end</string>
<string name="cd_handshake_failed">Handshake fallito</string>
<!-- Finestra di visualizzazione file -->
<string name="file_viewer_title">📎 File ricevuto</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Dimensione: %1$s</string>
<string name="file_viewer_type">🏷️ Tipo: %1$s</string>
<string name="file_viewer_open_save">📂 Apri / Salva</string>
<string name="close_with_emoji">❌ Chiudi</string>
<string name="pick_image">Scegli immagine</string>
<!-- Schermata informazioni -->
<string name="about_tagline">messaggistica mesh decentralizzata con crittografia end-to-end</string>
<string name="about_offline_mesh_title">Chat mesh offline</string>
<string name="about_offline_mesh_desc">Comunica direttamente tramite Bluetooth LE senza internet o server. I messaggi vengono inoltrati attraverso i dispositivi vicini per estendere la portata.</string>
<string name="about_online_geohash_title">Canali geohash online</string>
<string name="about_online_geohash_desc">Connettiti con persone nella tua area usando canali basati su geohash. Estendi la rete mesh usando relay internet pubblici.</string>
<string name="about_e2e_title">Crittografia end-to-end</string>
<string name="about_e2e_desc">I messaggi privati sono crittografati. I messaggi dei canali sono pubblici.</string>
<string name="about_appearance">aspetto</string>
<string name="about_system">sistema</string>
<string name="about_light">chiaro</string>
<string name="about_dark">scuro</string>
<string name="about_pow">proof of work</string>
<string name="about_pow_off">PoW off</string>
<string name="about_pow_on">PoW on</string>
<string name="about_pow_tip">aggiungi proof of work ai messaggi geohash per scoraggiare lo spam.</string>
<string name="about_pow_difficulty">difficoltà: %1$d bit (~%2$s)</string>
<string name="about_pow_difficulty_attempts">difficoltà %1$d richiede ~%2$s tentativi di hash</string>
<string name="about_pow_desc_none">nessun proof of work richiesto</string>
<string name="about_pow_desc_very_low">molto bassa - protezione spam minima</string>
<string name="about_pow_desc_low">bassa - protezione spam base</string>
<string name="about_pow_desc_medium">media - buona protezione spam</string>
<string name="about_pow_desc_high">alta - forte protezione spam</string>
<string name="about_pow_desc_very_high">molto alta - può causare ritardi</string>
<string name="about_pow_desc_extreme">estrema - richiede calcoli significativi</string>
<string name="about_network">rete</string>
<string name="about_tor_off">Tor off</string>
<string name="about_tor_on">Tor on</string>
<string name="about_tor_route">instrada internet su Tor per una maggiore privacy.</string>
<string name="about_tor_status">Stato Tor: %1$s, bootstrap %2$d%%</string>
<string name="about_last">Ultimo: %1$s</string>
<string name="about_emergency_title">Eliminazione dati di emergenza</string>
<string name="about_emergency_tip">Suggerimento: fai triplo clic sul titolo dell\'app per eliminare in emergenza tutti i dati memorizzati, inclusi messaggi, chiavi e impostazioni.</string>
<string name="about_debug_settings">Impostazioni di debug</string>
<string name="about_footer">Open Source • Privacy First • Decentralizzato</string>
<string name="close_plain">Chiudi</string>
<string name="cancel_lower">annulla</string>
<!-- Descrizioni contenuto generiche -->
<string name="cd_warning">Avviso</string>
<string name="cd_location_services">Servizi di localizzazione</string>
<string name="cd_privacy">Privacy</string>
<string name="cd_error">Errore</string>
<string name="cd_battery_optimization">Ottimizzazione batteria</string>
<string name="cd_benefits">Vantaggi</string>
<string name="cd_checking_battery_optimization">Controllo ottimizzazione batteria</string>
<string name="cd_not_supported_battery_optimization">Ottimizzazione batteria non supportata</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Messaggio non letto</string>
<string name="cd_open_map">Apri mappa</string>
<string name="cd_remove_bookmark">Rimuovi segnalibro</string>
<string name="cd_teleport">Teletrasporta</string>
<string name="cd_selected">Selezionato</string>
<string name="cd_leave_channel">Esci dal canale</string>
<string name="cd_reachable_via_nostr">Raggiungibile via Nostr</string>
<string name="cd_offline_favorite">Preferito offline</string>
<string name="cd_decrease_precision">Diminuisci precisione</string>
<string name="cd_increase_precision">Aumenta precisione</string>
<string name="cd_select_geohash">Seleziona geohash</string>
<string name="cd_scroll_to_bottom">Scorri in fondo</string>
<string name="cd_file">File</string>
<string name="cd_image">Immagine</string>
<string name="cd_cancel">Annulla</string>
<string name="cd_link">Link</string>
<string name="cd_pick_media">Scegli media</string>
<string name="cd_pick_file">Scegli file</string>
<string name="cd_save_current_image">Salva immagine corrente</string>
<string name="cd_close">Chiudi</string>
<string name="cd_image_index_of">Immagine %1$d di %2$d</string>
<string name="cd_privacy_protected">Privacy protetta</string>
<string name="cd_record_voice">Registra nota vocale</string>
<string name="cd_offline_mesh_chat">Chat mesh offline</string>
<string name="cd_online_geohash_channels">Canali geohash online</string>
<string name="cd_end_to_end_encryption">Crittografia end-to-end</string>
<!-- Immagini e file -->
<string name="image_page_of">Immagine %1$d di %2$d</string>
<string name="image_unavailable">Immagine non disponibile</string>
<string name="image_saved_to_downloads">Immagine salvata in Download</string>
<string name="image_save_failed">Impossibile salvare l\'immagine</string>
<string name="toast_image_saved">Immagine salvata in Download</string>
<string name="toast_failed_to_save_image">Impossibile salvare l\'immagine</string>
<string name="pick_file">Scegli file</string>
<string name="file_unavailable">[file non disponibile]</string>
<string name="unknown">sconosciuto</string>
<!-- Azioni utente schermata -->
<string name="choose_action_message_or_user">scegli un\'azione per questo messaggio o utente</string>
<string name="choose_action_user">scegli un\'azione per questo utente</string>
<string name="action_copy_message_title">copia messaggio</string>
<string name="action_copy_message_subtitle">copia questo messaggio negli appunti</string>
<string name="action_slap_title">schiaffeggia %1$s</string>
<string name="action_slap_subtitle">invia uno schiaffo giocoso</string>
<string name="action_hug_title">abbraccia %1$s</string>
<string name="action_hug_subtitle">invia un abbraccio amichevole</string>
<string name="action_block_title">blocca %1$s</string>
<string name="action_block_subtitle">blocca tutti i messaggi da questo utente</string>
<!-- Schermata canali di posizione -->
<string name="location_channels_title">#canali di posizione</string>
<string name="location_channels_desc">chatta con persone vicino a te usando i canali geohash. viene condiviso solo un geohash approssimativo, mai la posizione GPS esatta. non fare screenshot o condividere questa schermata per proteggere la tua privacy.</string>
<string name="grant_location_permission">concedi permesso di localizzazione</string>
<string name="location_permission_denied">permesso di localizzazione negato. abilita nelle impostazioni per usare i canali di posizione.</string>
<string name="open_settings">Apri impostazioni</string>
<string name="location_permission_granted">\u2713 permesso di localizzazione concesso</string>
<string name="checking_permissions">controllo permessi…</string>
<string name="finding_nearby_channels">ricerca canali vicini…</string>
<string name="bookmarked">segnalibro</string>
<string name="geohash_placeholder">geohash</string>
<string name="invalid_geohash">geohash non valido</string>
<string name="teleport">teletrasporta</string>
<string name="disable_location_services">disattiva servizi di localizzazione</string>
<string name="enable_location_services">attiva servizi di localizzazione</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">blocco</string>
<string name="location_level_neighborhood">quartiere</string>
<string name="location_level_city">città</string>
<string name="location_level_province">provincia</string>
<string name="location_level_region">regione</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- Debug / Diagnostica -->
<string name="debug_tools">strumenti di debug</string>
<string name="debug_tools_desc">utilità per sviluppatori per diagnostica e controllo</string>
<string name="debug_verbose_logging">logging dettagliato</string>
<string name="debug_verbose_hint">registra entrate/uscite peer, direzione connessione, instradamento pacchetti e relay</string>
<string name="debug_bluetooth_roles">ruoli Bluetooth</string>
<string name="debug_gatt_server">server GATT</string>
<string name="debug_connections_fmt">connessioni: %1$d / %2$d</string>
<string name="debug_max_server">max server</string>
<string name="debug_gatt_client">client GATT</string>
<string name="debug_max_client">max client</string>
<string name="debug_overall_connections_fmt">connessioni: %1$d / %2$d</string>
<string name="debug_max_overall">max totali</string>
<string name="debug_packet_relay">relay pacchetti</string>
<string name="debug_since_start_fmt">dall\'avvio: %1$d</string>
<string name="debug_roles_hint">attiva/disattiva ruoli e chiudi tutte le connessioni quando disabilitato</string>
<string name="debug_sync_settings">impostazioni sincronizzazione</string>
<string name="debug_max_packets_per_sync_fmt">max pacchetti per sync: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">dimensione max filtro GCS: %1$d byte (1281024)</string>
<string name="debug_target_fpr_fmt">FPR obiettivo: %1$.2f%%</string>
<string name="debug_connected_devices">dispositivi connessi</string>
<string name="debug_our_device_id_fmt">ID del nostro dispositivo: %1$s</string>
<string name="debug_none">nessuno</string>
<string name="debug_disconnect">disconnetti</string>
<string name="debug_recent_scan_results">risultati scansione recenti</string>
<string name="debug_connect">connetti</string>
<string name="debug_debug_console">console di debug</string>
<string name="debug_clear">cancella</string>
<string name="debug_relays_window_fmt">ultimi 10s: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">P derivato: %1$s • max elementi stimati: %2$s</string>
<string name="debug_direct_suffix"> • diretto</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">come server (noi ospitiamo)</string>
<string name="debug_role_client">come client (noi connettiamo)</string>
<!-- Schermate onboarding -->
<string name="location_services_required">Servizi di localizzazione richiesti</string>
<string name="privacy_first">Privacy prima di tutto</string>
<string name="location_explanation">bitchat NON traccia la tua posizione.\n\nI servizi di localizzazione sono necessari per la scansione Bluetooth e per la funzionalità di chat geohash.</string>
<string name="location_needs_for">bitchat ha bisogno dei servizi di localizzazione per:</string>
<string name="location_needs_bullets">• Scansione dispositivi Bluetooth\n• Scoprire utenti vicini nella rete mesh\n• Funzionalità chat geohash\n• Nessun tracciamento o raccolta di posizione</string>
<string name="open_location_settings">Apri impostazioni di localizzazione</string>
<string name="check_again">Controlla di nuovo</string>
<string name="location_services_unavailable">Servizi di localizzazione non disponibili</string>
<string name="location_unavailable_explanation">I servizi di localizzazione non sono disponibili su questo dispositivo. Ciò è insolito poiché i servizi di localizzazione sono standard sui dispositivi Android.\n\nbitchat ha bisogno dei servizi di localizzazione per far funzionare correttamente la scansione Bluetooth (requisito Android). Senza questo, l\'app non può scoprire gli utenti vicini.</string>
<string name="checking_location_services">Controllo servizi di localizzazione…</string>
<string name="bluetooth_required">Bluetooth richiesto</string>
<string name="bluetooth_needs_for">bitchat ha bisogno del Bluetooth per:</string>
<string name="bluetooth_needs_bullets">• Scoprire utenti vicini\n• Creare connessioni di rete mesh\n• Inviare e ricevere messaggi\n• Funzionare senza internet o server</string>
<string name="enable_bluetooth">Attiva Bluetooth</string>
<string name="bluetooth_not_supported">Bluetooth non supportato</string>
<string name="bluetooth_unsupported_explanation">Questo dispositivo non supporta Bluetooth Low Energy (BLE), che è necessario per il funzionamento di bitchat.\n\nbitchat ha bisogno di BLE per creare reti mesh e comunicare con dispositivi vicini senza internet.</string>
<string name="checking_bluetooth_status">Controllo stato Bluetooth…</string>
<string name="battery_optimization_detected_title">ottimizzazione batteria rilevata</string>
<string name="battery_optimization_enabled_title">Ottimizzazione batteria abilitata</string>
<string name="battery_optimization_explanation_short">bitchat deve essere eseguito in background per mantenere le connessioni mesh. l\'ottimizzazione della batteria può interrompere queste connessioni.</string>
<string name="benefits_of_disabling">Vantaggi della disattivazione</string>
<string name="battery_benefits_short">• consegna messaggi affidabile\n• mantiene la connettività mesh\n• previene le interruzioni della connessione</string>
<string name="disable_battery_optimization">Disattiva ottimizzazione batteria</string>
<string name="battery_optimization_disabled_title">ottimizzazione batteria disattivata</string>
<string name="continue_btn">Continua</string>
<string name="initializing_mesh_network">Inizializzazione rete mesh</string>
<string name="setting_up_bluetooth">Configurazione rete mesh Bluetooth…</string>
<string name="should_take_seconds">Dovrebbe richiedere solo pochi secondi</string>
<string name="setup_not_complete">Configurazione non completata</string>
<string name="try_again">Riprova</string>
<string name="privacy_protected">La tua privacy è protetta</string>
<string name="privacy_bullets">• nessun tracciamento o raccolta dati\n• le chat mesh Bluetooth sono completamente offline\n• le chat geohash usano internet</string>
<string name="permissions_header">permessi</string>
<string name="grant_permissions">Concedi permessi</string>
<string name="location_tracking_warning">bitchat NON traccia la tua posizione</string>
<string name="geohash_people_header">PERSONE</string>
<string name="nobody_around">nessuno nei dintorni…</string>
<string name="you_suffix"> (tu)</string>
<string name="pan_zoom_instruction">scorri e ingrandisci per selezionare un geohash</string>
<string name="select">seleziona</string>
<string name="type_a_message_placeholder">scrivi un messaggio…</string>
<string name="mention">menzione</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">Immagine</string>
<string name="media_type_file">File</string>
<!-- Helper testo notifiche -->
<string name="notification_sent_image">📷 ha inviato un\'immagine</string>
<string name="notification_sent_voice">🎤 ha inviato un messaggio vocale</string>
<string name="notification_sent_file">📎 ha inviato un file</string>
<!-- Accessibilità lettore vocale -->
<string name="cd_play_voice">Riproduci</string>
<string name="cd_pause_voice">Pausa</string>
<string name="cd_mining_pow">Mining PoW</string>
<string name="cd_pow_enabled">PoW abilitato</string>
<string name="cd_proof_of_work">Proof of Work</string>
<string name="pow_mining_ellipsis">mining…</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- Descrizioni permessi -->
<string name="perm_nearby_devices_desc">Necessario per scoprire utenti bitchat tramite Bluetooth</string>
<string name="perm_nearby_devices_system">Consenti a bitchat di connettersi a dispositivi vicini</string>
<string name="perm_location_desc">Richiesto da Android per scoprire utenti bitchat vicini tramite Bluetooth</string>
<string name="perm_location_system">bitchat ha bisogno di questo per cercare dispositivi vicini</string>
<string name="perm_notifications_desc">Ricevi notifiche quando ricevi messaggi privati</string>
<string name="perm_notifications_system">Consenti a bitchat di inviarti notifiche</string>
<string name="perm_battery_desc">Disattiva l\'ottimizzazione della batteria per garantire che bitchat funzioni in modo affidabile in background e mantenga le connessioni di rete mesh</string>
<string name="perm_battery_system">Consenti a bitchat di funzionare senza restrizioni della batteria</string>
<!-- Tipi di permessi -->
<string name="perm_type_nearby_devices">Dispositivi vicini</string>
<string name="perm_type_precise_location">Posizione precisa</string>
<string name="perm_type_microphone">Microfono</string>
<string name="perm_type_notifications">Notifiche</string>
<string name="perm_type_battery_optimization">Ottimizzazione batteria</string>
<string name="perm_type_other">Altro</string>
<!-- Dialogo richiesta password -->
<string name="pwd_prompt_title">Inserisci password del canale</string>
<string name="pwd_prompt_message">Il canale %1$s è protetto da password. Inserisci la password per entrare.</string>
<string name="pwd_label">Password</string>
<string name="join">Entra</string>
<string name="cancel">Annulla</string>
<!-- Simboli e stringhe speciali -->
<string name="at_symbol">@</string>
<string name="app_brand">bitchat/</string>
<string name="channel_count_prefix"> · ⧉ </string>
<string name="mention_suggestion_at">@%1$s</string>
<string name="image_counter">%1$d / %2$d</string>
<string name="at_nickname">@%1$s</string>
<string name="hash_symbol">#</string>
<string name="underscore">_</string>
<string name="progress_bar_brackets">[%1$s] %2$d%%</string>
<string name="progress_filled"></string>
<string name="progress_empty"></string>
<string name="dot">.</string>
<string name="warning_emoji">⚠️</string>
<!-- Icone stato messaggio -->
<string name="status_sending"></string>
<string name="status_pending"></string>
<string name="status_sent"></string>
<string name="status_delivered">✓✓</string>
<string name="status_failed"></string>
<string name="status_read"></string>
<!-- Helper file notifiche -->
<string name="notification_file_pdf">📄</string>
<string name="notification_file_zip">🗜️</string>
<string name="notification_file_doc">📄</string>
<string name="notification_file_xls">📊</string>
<string name="notification_file_ppt">📈</string>
<string name="notification_file_generic">📎</string>
<!-- Debug aggiuntivo -->
<string name="debug_question_mark">?</string>
<!-- Plurali -->
<plurals name="notification_and_more">
<item quantity="one">e %d altro</item>
<item quantity="other">e altri %d</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 persona</item>
<item quantity="other">%d persone</item>
</plurals>
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- 権限の説明 -->
<string name="permission_bluetooth_rationale">Bluetooth の許可は、インターネットなしで他の人と直接チャットするために必要です。</string>
<string name="permission_location_rationale">位置情報の許可は、Bluetooth で近くのデバイスを見つけるために必要です。</string>
<string name="permission_notification_rationale">通知の許可は、新しいメッセージをお知らせするために必要です。</string>
<!-- プレースホルダー / 基本 UI -->
<string name="nickname_hint">ニックネーム</string>
<string name="message_hint">メッセージを入力…</string>
<string name="channel_password_hint">パスワード</string>
<string name="join_channel">チャンネルに参加</string>
<string name="leave_channel">退出</string>
<string name="send_message">送信</string>
<string name="show_commands">コマンドを表示</string>
<string name="back">戻る</string>
<string name="people"></string>
<string name="channels">チャンネル</string>
<string name="online_users">オンラインユーザー</string>
<string name="no_one_connected">接続中のユーザーはいません</string>
<string name="emergency_clear_hint">3 回タップで全データを消去</string>
<string name="your_network">あなたのネットワーク</string>
<!-- バッテリー最適化 -->
<string name="battery_optimization_detected">バッテリー最適化を検出</string>
<string name="battery_optimization_disabled">バッテリー最適化は無効です</string>
<string name="battery_optimization_not_required">バッテリー最適化は不要です</string>
<string name="battery_optimization_checking">バッテリー最適化を確認中</string>
<string name="battery_optimization_why_disable">なぜバッテリー最適化を無効にするのか</string>
<string name="battery_optimization_explanation">bitchat はバックグラウンドで動作して、近くのデバイスとのメッシュ接続を維持します。バッテリー最適化はこれらの接続を中断し、メッセージの遅延や欠落を引き起こす可能性があります。\n\nバッテリー最適化を無効にすると、信頼できるピアツーピア通信が可能になります。</string>
<string name="battery_optimization_disable_button">バッテリー最適化を無効にする</string>
<string name="battery_optimization_note">注: 後で Android の設定 &gt; アプリ &gt; bitchat &gt; バッテリー で変更できます。</string>
<string name="battery_optimization_not_supported_explanation">この端末ではバッテリー最適化の設定は不要です。bitchat は通常通り動作します。</string>
<string name="battery_optimization_not_supported_message">この端末ではバッテリー最適化の設定は不要です。bitchat は通常通り動作します。</string>
<string name="battery_optimization_success_message">bitchat はバックグラウンドで信頼して動作できます</string>
<string name="battery_optimization_benefits">• メッセージの確実な配信\n• メッシュ接続の維持\n• バックグラウンド転送\n• 切断の防止</string>
<string name="battery_optimization_check_again">再確認</string>
<string name="battery_optimization_skip">今はスキップ</string>
<string name="battery_optimization_continue">続行</string>
<string name="retry">再試行</string>
<string name="skip">スキップ</string>
<!-- 通知 -->
<string name="notification_summary_more">ほか %1$d 件</string>
<string name="notification_messages_from_people">%2$d 人からの %1$d 件のメッセージ</string>
<string name="notification_more_conversations">ほか %1$d 会話</string>
<string name="notification_active_peers_title">👥 近くに bitchatter </string>
<string name="notification_active_peers_one">近くに 1 人</string>
<string name="notification_active_peers_many">近くに %1$d 人</string>
<string name="notification_new_messages">新着メッセージ</string>
<string name="notification_new_location_messages">新しい位置情報メッセージ</string>
<string name="notification_mentions_in">%1$s でのメンション</string>
<string name="notification_mentions_in_more">%1$s でのメンション (+%2$d)</string>
<string name="notification_mentions_in_plural">%2$s で %1$d 件のメンション</string>
<string name="notification_new_activity_in">%1$s の新しいアクティビティ</string>
<string name="notification_messages_in">%1$s のメッセージ</string>
<string name="notification_joined_conversation">%1$s が会話に参加しました</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d 件のメンション</string>
<string name="notification_geohash_summary_title">bitchat – ロケーションチャット</string>
<string name="notification_geohash_summary_text">%2$d 箇所からの %1$d 件のメッセージ</string>
<string name="notification_mesh_mention_title_singular">メッシュチャットでメンション</string>
<string name="notification_mesh_mention_title_plural">メッシュチャットで %1$d 件のメンション</string>
<string name="notification_more_locations">ほか %1$d 箇所</string>
<string name="notification_and_more">ほか %1$d</string>
<!-- お気に入り アクセシビリティ -->
<string name="cd_add_favorite">お気に入りに追加</string>
<string name="cd_remove_favorite">お気に入りから削除</string>
<string name="cd_add_bookmark">ブックマークに追加</string>
<!-- チャットヘッダー & アクセシビリティ -->
<string name="chat_back">戻る</string>
<string name="chat_channel_prefix">チャンネル: %1$s</string>
<string name="chat_leave">退出</string>
<string name="cd_nostr_reachable">Nostr 経由で到達可能</string>
<string name="cd_unread_private_messages">未読のプライベートメッセージ</string>
<string name="cd_toggle_bookmark">ブックマークを切り替え</string>
<string name="cd_teleported">テレポート済み</string>
<string name="cd_tor_status">Tor ステータス</string>
<string name="cd_connected_peers">接続中のピア</string>
<string name="cd_geohash_participants">Geohash 参加者</string>
<string name="cd_ready_for_handshake">ハンドシェイク準備完了</string>
<string name="cd_handshake_in_progress">ハンドシェイク中</string>
<string name="cd_encrypted">エンドツーエンド暗号化</string>
<string name="cd_handshake_failed">ハンドシェイク失敗</string>
<!-- ファイルビューア ダイアログ -->
<string name="file_viewer_title">📎 ファイルを受信</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 サイズ: %1$s</string>
<string name="file_viewer_type">🏷️ 種類: %1$s</string>
<string name="file_viewer_open_save">📂 開く / 保存</string>
<string name="close_with_emoji">❌ 閉じる</string>
<string name="pick_image">画像を選択</string>
<!-- 概要シート -->
<string name="about_tagline">分散型メッシュチャット・エンドツーエンド暗号化</string>
<string name="about_offline_mesh_title">オフライン・メッシュチャット</string>
<string name="about_offline_mesh_desc">インターネットやサーバーなしで、Bluetooth LE 経由で直接通信します。近隣のデバイスを経由してメッセージを中継し、到達範囲を広げます。</string>
<string name="about_online_geohash_title">オンライン Geohash チャンネル</string>
<string name="about_online_geohash_desc">Geohash ベースのチャンネルで近くの人々とつながります。公開インターネットのリレーを介してメッシュを拡張します。</string>
<string name="about_e2e_title">エンドツーエンド暗号化</string>
<string name="about_e2e_desc">プライベートメッセージは暗号化されます。チャンネルメッセージは公開です。</string>
<string name="about_appearance">表示</string>
<string name="about_system">システム</string>
<string name="about_light">ライト</string>
<string name="about_dark">ダーク</string>
<string name="about_pow">Proof of Work</string>
<string name="about_pow_off">PoW オフ</string>
<string name="about_pow_on">PoW オン</string>
<string name="about_pow_tip">スパム対策として Geohash メッセージに Proof of Work を追加します。</string>
<string name="about_pow_difficulty">難易度: %1$d ビット (~%2$s)</string>
<string name="about_pow_difficulty_attempts">難易度 %1$d は約 %2$s 回のハッシュ試行が必要</string>
<string name="about_pow_desc_none">Proof of Work は不要</string>
<string name="about_pow_desc_very_low">非常に低い 最小限のスパム対策</string>
<string name="about_pow_desc_low">低い 基本的なスパム対策</string>
<string name="about_pow_desc_medium"> 良好なスパム対策</string>
<string name="about_pow_desc_high">高い 強力なスパム対策</string>
<string name="about_pow_desc_very_high">非常に高い 遅延が発生する可能性</string>
<string name="about_pow_desc_extreme">極めて高い 相当な計算資源が必要</string>
<string name="about_network">ネットワーク</string>
<string name="about_tor_off">Tor オフ</string>
<string name="about_tor_on">Tor オン</string>
<string name="about_tor_route">プライバシー向上のため、インターネット通信を Tor 経由にします。</string>
<string name="about_tor_status">Tor ステータス: %1$s、ブートストラップ %2$d%%</string>
<string name="about_last">最終: %1$s</string>
<string name="about_emergency_title">緊急データ消去</string>
<string name="about_emergency_tip">ヒント: アプリタイトルを 3 回タップすると、メッセージ・鍵・設定を含む保存データをすべて消去します。</string>
<string name="about_debug_settings">デバッグ設定</string>
<string name="about_footer">オープンソース • プライバシーファースト • 分散型</string>
<string name="close_plain">閉じる</string>
<string name="cancel_lower">キャンセル</string>
<!-- 一般のコンテンツ記述 -->
<string name="cd_warning">警告</string>
<string name="cd_location_services">位置情報サービス</string>
<string name="cd_privacy">プライバシー</string>
<string name="cd_error">エラー</string>
<string name="cd_battery_optimization">バッテリー最適化</string>
<string name="cd_benefits">利点</string>
<string name="cd_checking_battery_optimization">バッテリー最適化を確認中</string>
<string name="cd_not_supported_battery_optimization">バッテリー最適化は非対応</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">未読メッセージ</string>
<string name="cd_open_map">地図を開く</string>
<string name="cd_remove_bookmark">ブックマークを削除</string>
<string name="cd_teleport">テレポート</string>
<string name="cd_selected">選択済み</string>
<string name="cd_leave_channel">チャンネルから退出</string>
<string name="cd_reachable_via_nostr">Nostr 経由で到達可能</string>
<string name="cd_offline_favorite">お気に入り (オフライン)</string>
<string name="cd_decrease_precision">精度を下げる</string>
<string name="cd_increase_precision">精度を上げる</string>
<string name="cd_select_geohash">Geohash を選択</string>
<string name="cd_scroll_to_bottom">一番下へスクロール</string>
<string name="cd_file">ファイル</string>
<string name="cd_image">画像</string>
<string name="cd_cancel">キャンセル</string>
<string name="cd_link">リンク</string>
<string name="cd_pick_media">メディアを選択</string>
<string name="cd_pick_file">ファイルを選択</string>
<string name="cd_save_current_image">現在の画像を保存</string>
<string name="cd_close">閉じる</string>
<string name="cd_image_index_of">画像 %1$d / %2$d</string>
<string name="cd_privacy_protected">プライバシー保護</string>
<string name="cd_record_voice">ボイスメモを録音</string>
<string name="cd_offline_mesh_chat">オフライン・メッシュチャット</string>
<string name="cd_online_geohash_channels">オンライン Geohash チャンネル</string>
<string name="cd_end_to_end_encryption">エンドツーエンド暗号化</string>
<!-- 画像 & ファイル -->
<string name="image_page_of">画像 %1$d / %2$d</string>
<string name="image_unavailable">画像は利用できません</string>
<string name="image_saved_to_downloads">画像を「ダウンロード」に保存しました</string>
<string name="image_save_failed">画像を保存できませんでした</string>
<string name="toast_image_saved">画像を「ダウンロード」に保存しました</string>
<string name="toast_failed_to_save_image">画像を保存できませんでした</string>
<string name="pick_file">ファイルを選択</string>
<string name="file_unavailable">[ファイルは利用できません]</string>
<string name="unknown">不明</string>
<!-- ユーザーアクション シート -->
<string name="choose_action_message_or_user">このメッセージまたはユーザーの操作を選択</string>
<string name="choose_action_user">このユーザーの操作を選択</string>
<string name="action_copy_message_title">メッセージをコピー</string>
<string name="action_copy_message_subtitle">このメッセージをクリップボードにコピー</string>
<string name="action_slap_title">%1$s を平手打ち</string>
<string name="action_slap_subtitle">冗談の平手打ちを送る</string>
<string name="action_hug_title">%1$s をハグ</string>
<string name="action_hug_subtitle">フレンドリーなハグを送る</string>
<string name="action_block_title">%1$s をブロック</string>
<string name="action_block_subtitle">このユーザーからのすべてのメッセージをブロック</string>
<!-- Geohash チャンネル シート -->
<string name="location_channels_title">#ロケーション・チャンネル</string>
<string name="location_channels_desc">Geohash チャンネルで近くの人とチャットしましょう。共有されるのは大まかな geohash のみで、正確な GPS データは共有されません。プライバシー保護のため、この画面のスクリーンショットや共有は行わないでください。</string>
<string name="grant_location_permission">位置情報の許可を与える</string>
<string name="location_permission_denied">位置情報の許可が拒否されました。ロケーション・チャンネルを使用するには設定で有効にしてください。</string>
<string name="open_settings">設定を開く</string>
<string name="location_permission_granted">\u2713 位置情報の許可が付与されました</string>
<string name="checking_permissions">権限を確認中…</string>
<string name="finding_nearby_channels">近くのチャンネルを検索中…</string>
<string name="bookmarked">ブックマーク</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">無効な geohash</string>
<string name="teleport">テレポート</string>
<string name="disable_location_services">位置情報サービスを無効にする</string>
<string name="enable_location_services">位置情報サービスを有効にする</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">ブロック</string>
<string name="location_level_neighborhood">近隣</string>
<string name="location_level_city"></string>
<string name="location_level_province">州 / 県</string>
<string name="location_level_region">地域</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- デバッグ / 診断 -->
<string name="debug_tools">デバッグツール</string>
<string name="debug_tools_desc">診断と制御のための開発者ツール</string>
<string name="debug_verbose_logging">詳細ログ</string>
<string name="debug_verbose_hint">ピアの参加/離脱、接続方向、パケット転送、リレーを記録</string>
<string name="debug_bluetooth_roles">Bluetooth ロール</string>
<string name="debug_gatt_server">GATT サーバー</string>
<string name="debug_connections_fmt">接続: %1$d / %2$d</string>
<string name="debug_max_server">最大サーバー</string>
<string name="debug_gatt_client">GATT クライアント</string>
<string name="debug_max_client">最大クライアント</string>
<string name="debug_overall_connections_fmt">接続: %1$d / %2$d</string>
<string name="debug_max_overall">合計最大</string>
<string name="debug_packet_relay">パケットリレー</string>
<string name="debug_since_start_fmt">開始以降: %1$d</string>
<string name="debug_roles_hint">ロールのオン/オフを切り替え、オフ時にすべての接続を閉じる</string>
<string name="debug_sync_settings">同期設定</string>
<string name="debug_max_packets_per_sync_fmt">同期あたりの最大パケット: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">GCS フィルター最大サイズ: %1$d バイト (1281024)</string>
<string name="debug_target_fpr_fmt">目標 FPR: %1$.2f%%</string>
<string name="debug_connected_devices">接続済みデバイス</string>
<string name="debug_our_device_id_fmt">自分のデバイス ID: %1$s</string>
<string name="debug_none">なし</string>
<string name="debug_disconnect">切断</string>
<string name="debug_recent_scan_results">最近スキャンしたデバイス</string>
<string name="debug_connect">接続</string>
<string name="debug_debug_console">デバッグコンソール</string>
<string name="debug_clear">クリア</string>
<string name="debug_relays_window_fmt">直近 10 秒: %1$d • 1 分: %2$d • 15 分: %3$d</string>
<string name="debug_derived_p_fmt">導出 P: %1$s • 推定最大アイテム: %2$s</string>
<string name="debug_direct_suffix"> • 直接</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">サーバーとして (自分がホスト)</string>
<string name="debug_role_client">クライアントとして (自分が接続)</string>
<!-- オンボーディング画面 -->
<string name="location_services_required">位置情報サービスが必要です</string>
<string name="privacy_first">プライバシー第一</string>
<string name="location_explanation">bitchat はあなたの位置情報を追跡しません。\n\n位置情報サービスは、Bluetooth スキャンと geohash チャット機能に必要です。</string>
<string name="location_needs_for">bitchat が位置情報サービスを必要とする理由:</string>
<string name="location_needs_bullets">• Bluetooth デバイスのスキャン\n• メッシュネットワークで近くのユーザーを発見\n• geohash チャット機能\n• 位置情報の追跡や収集は行いません</string>
<string name="open_location_settings">位置情報の設定を開く</string>
<string name="check_again">再確認</string>
<string name="location_services_unavailable">位置情報サービスが利用できません</string>
<string name="location_unavailable_explanation">この端末では位置情報サービスが利用できません。Android 端末では通常標準機能のため、これは珍しい状況です。\n\nBluetooth スキャン (Android の要件) を正しく動作させるために位置情報サービスが必要です。これがないと、近くのユーザーを検出できません。</string>
<string name="checking_location_services">位置情報サービスを確認中…</string>
<string name="bluetooth_required">Bluetooth が必要です</string>
<string name="bluetooth_needs_for">bitchat が Bluetooth を必要とする理由:</string>
<string name="bluetooth_needs_bullets">• 近くのユーザーを発見\n• メッシュネットワーク接続を作成\n• メッセージの送受信\n• インターネットやサーバーなしで動作</string>
<string name="enable_bluetooth">Bluetooth を有効にする</string>
<string name="bluetooth_not_supported">Bluetooth はサポートされていません</string>
<string name="bluetooth_unsupported_explanation">この端末は Bluetooth Low Energy (BLE) をサポートしていません。bitchat の動作に必要です。\n\nBLE は、インターネットなしで近くのデバイスとメッシュネットワークを作るために必要です。</string>
<string name="checking_bluetooth_status">Bluetooth ステータスを確認中…</string>
<string name="battery_optimization_detected_title">バッテリー最適化を検出</string>
<string name="battery_optimization_enabled_title">バッテリー最適化が有効</string>
<string name="battery_optimization_explanation_short">メッシュ接続を維持するため、bitchat はバックグラウンドで動作する必要があります。バッテリー最適化は接続を中断する可能性があります。</string>
<string name="benefits_of_disabling">無効化の利点</string>
<string name="battery_benefits_short">• 信頼できるメッセージ配信\n• メッシュ接続の維持\n• 切断の防止</string>
<string name="disable_battery_optimization">バッテリー最適化を無効化</string>
<string name="battery_optimization_disabled_title">バッテリー最適化は無効</string>
<string name="continue_btn">続行</string>
<string name="initializing_mesh_network">メッシュネットワークを初期化中</string>
<string name="setting_up_bluetooth">Bluetooth メッシュネットワークを設定中…</string>
<string name="should_take_seconds">数秒で完了するはずです</string>
<string name="setup_not_complete">設定が完了していません</string>
<string name="try_again">再試行</string>
<string name="privacy_protected">あなたのプライバシーは保護されています</string>
<string name="privacy_bullets">• 追跡やデータ収集はありません\n• Bluetooth メッシュチャットは完全にオフライン\n• geohash チャットはインターネットを使用</string>
<string name="permissions_header">権限</string>
<string name="grant_permissions">権限を付与</string>
<string name="location_tracking_warning">bitchat はあなたの位置情報を追跡しません</string>
<string name="geohash_people_header">人々</string>
<string name="nobody_around">誰もいません…</string>
<string name="you_suffix"> (あなた)</string>
<string name="pan_zoom_instruction">パン/ズームして geohash を選択</string>
<string name="select">選択</string>
<string name="type_a_message_placeholder">メッセージを入力…</string>
<string name="mention">メンション</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">画像</string>
<string name="media_type_file">ファイル</string>
<!-- 通知テキストヘルパー -->
<string name="notification_sent_image">📷 画像を送信しました</string>
<string name="notification_sent_voice">🎤 ボイスメモを送信しました</string>
<string name="notification_sent_file">📎 ファイルを送信しました</string>
<!-- ボイスプレイヤー アクセシビリティ -->
<string name="cd_play_voice">再生</string>
<string name="cd_pause_voice">一時停止</string>
<string name="cd_mining_pow">PoW をマイニング中</string>
<string name="cd_pow_enabled">PoW 有効</string>
<string name="cd_proof_of_work">Proof of Work</string>
<string name="pow_mining_ellipsis">マイニング中…</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- 権限の説明 -->
<string name="perm_nearby_devices_desc">Bluetooth で bitchat ユーザーを検出するために必要です</string>
<string name="perm_nearby_devices_system">bitchat が近くのデバイスに接続することを許可</string>
<string name="perm_location_desc">Android の要件: Bluetooth 経由で近くの bitchat ユーザーを検出</string>
<string name="perm_location_system">bitchat が近くのデバイスをスキャンするために必要です</string>
<string name="perm_notifications_desc">プライベートメッセージを受信したときに通知を受け取る</string>
<string name="perm_notifications_system">bitchat から通知を送信することを許可</string>
<string name="perm_battery_desc">bitchat がバックグラウンドで安定して動作し、メッシュ接続を維持できるように、バッテリー最適化を無効にします</string>
<string name="perm_battery_system">bitchat がバッテリー制限なしで動作することを許可</string>
<!-- 権限タイプ -->
<string name="perm_type_nearby_devices">近くのデバイス</string>
<string name="perm_type_precise_location">正確な位置情報</string>
<string name="perm_type_microphone">マイク</string>
<string name="perm_type_notifications">通知</string>
<string name="perm_type_battery_optimization">バッテリー最適化</string>
<string name="perm_type_other">その他</string>
<!-- パスワード ダイアログ -->
<string name="pwd_prompt_title">チャンネルのパスワードを入力</string>
<string name="pwd_prompt_message">チャンネル %1$s はパスワードで保護されています。参加するにはパスワードを入力してください。</string>
<string name="pwd_label">パスワード</string>
<string name="join">参加</string>
<string name="cancel">キャンセル</string>
<!-- 複数形 -->
<plurals name="notification_and_more">
<item quantity="one">ほか %d</item>
<item quantity="other">ほか %d</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 人</item>
<item quantity="other">%d 人</item>
</plurals>
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- ნებართვების ახსნა -->
<string name="permission_bluetooth_rationale">Bluetooth-ის ნებართვა საჭიროა, რომ ინტერნეტის გარეშე პირდაპირ ისაუბროთ სხვებთან.</string>
<string name="permission_location_rationale">მდებარეობის ნებართვა საჭიროა ახლომდებარე მოწყობილობების Bluetooth-ით საპოვნელად.</string>
<string name="permission_notification_rationale">შეტყობინებების ნებართვა საჭიროა ახალი შეტყობინებების შეგახსენებლად.</string>
<!-- Placeholder-ები / საბაზისო UI -->
<string name="nickname_hint">მეტსახელი</string>
<string name="message_hint">შეიყვანეთ შეტყობინება…</string>
<string name="channel_password_hint">პაროლი</string>
<string name="join_channel">არხში შეუერთება</string>
<string name="leave_channel">გამოსვლა</string>
<string name="send_message">გაგზავნა</string>
<string name="show_commands">ბრძანებების ჩვენება</string>
<string name="back">უკან</string>
<string name="people">ხალხი</string>
<string name="channels">არხები</string>
<string name="online_users">ონლაინ მომხმარებლები</string>
<string name="no_one_connected">არავინ არის დაკავშირებული</string>
<string name="emergency_clear_hint">სამჯერ დააჭირეთ ყველა მონაცემის წასაშლელად</string>
<string name="your_network">თქვენი ქსელი</string>
<!-- ბატარეის ოპტიმიზაცია -->
<string name="battery_optimization_detected">ბატარეის ოპტიმიზაცია აღმოჩნდა</string>
<string name="battery_optimization_disabled">ბატარეის ოპტიმიზაცია გამორთულია</string>
<string name="battery_optimization_not_required">ბატარეის ოპტიმიზაცია არ არის საჭირო</string>
<string name="battery_optimization_checking">ბატარეის ოპტიმიზაციის შემოწმება</string>
<string name="battery_optimization_why_disable">რატომ უნდა გამოირთოს ბატარეის ოპტიმიზაცია?</string>
<string name="battery_optimization_explanation">bitchat მუშაობს ფონში, რათა ახლომდებარე მოწყობილობებთან mesh-კავშირები შეინარჩუნოს. ბატარეის ოპტიმიზაციამ შეიძლება დააწყვეტინოს ეს კავშირები, რის გამოც შეტყობინებები დაგვიანდეს ან დაიკარგოს.\n\nბატარეის ოპტიმიზაციის გამორთვა უზრუნველყოფს სანდო peer-to-peer კომუნიკაციას.</string>
<string name="battery_optimization_disable_button">ბატარეის ოპტიმიზაციის გამორთვა</string>
<string name="battery_optimization_note">შენიშვნა: შეგიძლიათ შეცვალოთ მოგვიანებით Android-ის პარამეტრებში &gt; აპები &gt; bitchat &gt; ბატარეა.</string>
<string name="battery_optimization_not_supported_explanation">თქვენს მოწყობილობას ბატარეის ოპტიმიზაცია არ სჭირდება. bitchat ჩვეულებრივ იმუშავებს.</string>
<string name="battery_optimization_not_supported_message">თქვენს მოწყობილობას ბატარეის ოპტიმიზაცია არ სჭირდება. bitchat ჩვეულებრივ იმუშავებს.</string>
<string name="battery_optimization_success_message">bitchat შეძლებს სანდოდ იმუშაოს ფონში</string>
<string name="battery_optimization_benefits">• შეტყობინებების სანდო მიწოდება\n• mesh-კავშირის შენარჩუნება\n• ფონური გადაგზავნა\n• გათიშვების თავიდან აცილება</string>
<string name="battery_optimization_check_again">თავიდან შემოწმება</string>
<string name="battery_optimization_skip">ახლა გამოტოვება</string>
<string name="battery_optimization_continue">გაგრძელება</string>
<string name="retry">კვლავ ცდა</string>
<string name="skip">გამოტოვება</string>
<!-- შეტყობინებები -->
<string name="notification_summary_more">და კიდევ %1$d</string>
<string name="notification_messages_from_people">%2$d ადამიანიდან %1$d შეტყობინება</string>
<string name="notification_more_conversations">და კიდევ %1$d საუბარი</string>
<string name="notification_active_peers_title">👥 bitchatter-ები ახლოს!</string>
<string name="notification_active_peers_one">1 ადამიანი ახლოს</string>
<string name="notification_active_peers_many">ახლოს %1$d ადამიანი</string>
<string name="notification_new_messages">ახალი შეტყობინებები</string>
<string name="notification_new_location_messages">მდებარეობის ახალი შეტყობინებები</string>
<string name="notification_mentions_in">ხსენება %1$s-ში</string>
<string name="notification_mentions_in_more">ხსენება %1$s-ში (+%2$d)</string>
<string name="notification_mentions_in_plural">%2$s-ში %1$d ხსენება</string>
<string name="notification_new_activity_in">ახალი აქტივობა %1$s-ში</string>
<string name="notification_messages_in">შეტყობინებები %1$s-ში</string>
<string name="notification_joined_conversation">%1$s შეუერთდა საუბარს</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d ხსენება</string>
<string name="notification_geohash_summary_title">bitchat – მდებარეობის ჩათები</string>
<string name="notification_geohash_summary_text">%2$d ადგილიდან %1$d შეტყობინება</string>
<string name="notification_mesh_mention_title_singular">mesh-ჩათში ხსენება</string>
<string name="notification_mesh_mention_title_plural">mesh-ჩათში %1$d ხსენება</string>
<string name="notification_more_locations">და კიდევ %1$d ადგილი</string>
<string name="notification_and_more">და კიდევ %1$d</string>
<!-- რჩეულების ხელმისაწვდომობა -->
<string name="cd_add_favorite">რჩეულებში დამატება</string>
<string name="cd_remove_favorite">რჩეულებიდან წაშლა</string>
<string name="cd_add_bookmark">სანიშნეს დამატება</string>
<!-- ჩათის სათაური & ხელმისაწვდომობა -->
<string name="chat_back">უკან</string>
<string name="chat_channel_prefix">არხი: %1$s</string>
<string name="chat_leave">გასვლა</string>
<string name="cd_nostr_reachable">მისაწვდომია Nostr-ით</string>
<string name="cd_unread_private_messages">წაუკითხავი პირადი შეტყობინებები</string>
<string name="cd_toggle_bookmark">სანიშნეს გადართვა</string>
<string name="cd_teleported">ტელეპორტირებული</string>
<string name="cd_tor_status">Tor-ის სტატუსი</string>
<string name="cd_connected_peers">დაკავშირებული პირები</string>
<string name="cd_geohash_participants">geohash მონაწილეები</string>
<string name="cd_ready_for_handshake">მზადაა ხელის ჩამოსართმევად</string>
<string name="cd_handshake_in_progress">მიმდინარეობს ხელის ჩამორთმევა</string>
<string name="cd_encrypted">ბოლო-მდე დაშიფვრა</string>
<string name="cd_handshake_failed">ხელის ჩამორთმევა წარუმატებლად დასრულდა</string>
<!-- ფაილის დამთვალიერებელი დიალოგი -->
<string name="file_viewer_title">📎 ფაილი მიღებულია</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 ზომა: %1$s</string>
<string name="file_viewer_type">🏷️ ტიპი: %1$s</string>
<string name="file_viewer_open_save">📂 გახსნა / შენახვა</string>
<string name="close_with_emoji">❌ დახურვა</string>
<string name="pick_image">სურათის არჩევა</string>
<!-- შიტი "შესახებ" -->
<string name="about_tagline">დეცენტრალიზებული mesh-ჩათი ბოლო-მდე დაშიფვრით</string>
<string name="about_offline_mesh_title">ოფლაინ mesh-ჩათი</string>
<string name="about_offline_mesh_desc">ესაუბრეთ პირდაპირ Bluetooth LE-ის საშუალებით ინტერნეტის ან სერვერების გარეშე. შეტყობინებები გადაიგზავნება ახლომდებარე მოწყობილობებზე, რათა გაიზარდოს დაფარვა.</string>
<string name="about_online_geohash_title">ონლაინ geohash არხები</string>
<string name="about_online_geohash_desc">დაუკავშირდით ახლომდებარე ხალხს geohash-ზე დაფუძნებული არხებით. გააფართოვეთ mesh საჯარო ინტერნეტ რილეებით.</string>
<string name="about_e2e_title">ბოლო-მდე დაშიფვრა</string>
<string name="about_e2e_desc">პირადი შეტყობინებები დაშიფრულია. არხის შეტყობინებები საჯაროა.</string>
<string name="about_appearance">გარეგნობა</string>
<string name="about_system">სისტემა</string>
<string name="about_light">ღია</string>
<string name="about_dark">მუქი</string>
<string name="about_pow">Proof of Work</string>
<string name="about_pow_off">PoW გამორთულია</string>
<string name="about_pow_on">PoW ჩართულია</string>
<string name="about_pow_tip">დაამატეთ Proof of Work geohash შეტყობინებებს სპამის შესამცირებლად.</string>
<string name="about_pow_difficulty">სირთულე: %1$d ბიტი (~%2$s)</string>
<string name="about_pow_difficulty_attempts">სირთულე %1$d მოითხოვს ~%2$s ჰეშის მცდელობას</string>
<string name="about_pow_desc_none">Proof of Work საჭირო არ არის</string>
<string name="about_pow_desc_very_low">ძალიან დაბალი – მინიმალური სპამის დაცვა</string>
<string name="about_pow_desc_low">დაბალი – საბაზისო დაცვა</string>
<string name="about_pow_desc_medium">საშუალო – კარგი დაცვა</string>
<string name="about_pow_desc_high">მაღალი – ძლიერი დაცვა</string>
<string name="about_pow_desc_very_high">ძალიან მაღალი – შეიძლება გამოიწვიოს დაყოვნება</string>
<string name="about_pow_desc_extreme">ექსტრემალური – საჭიროებს დიდ გამოთვლით რესურსს</string>
<string name="about_network">ქსელი</string>
<string name="about_tor_off">Tor გამორთულია</string>
<string name="about_tor_on">Tor ჩართულია</string>
<string name="about_tor_route">ინტერნეტ ტრაფიკის Tor-ით მარშრუტიზაცია პერსონალურობისთვის.</string>
<string name="about_tor_status">Tor სტატუსი: %1$s, ჩატვირთვა %2$d%%</string>
<string name="about_last">ბოლო: %1$s</string>
<string name="about_emergency_title">სასწრაფო მონაცემების წაშლა</string>
<string name="about_emergency_tip">რჩევა: დააჭირეთ აპის სათაურს სამჯერ ყველა შენახული მონაცემის – შეტყობინებების, გასაღებებისა და პარამეტრების – წასაშლელად.</string>
<string name="about_debug_settings">დebug პარამეტრები</string>
<string name="about_footer">ღია კოდი • კონფიდენციალობა პირველია • დეცენტრალიზებული</string>
<string name="close_plain">დახურვა</string>
<string name="cancel_lower">გაუქმება</string>
<!-- ზოგადი კონტენტის აღწერები -->
<string name="cd_warning">გაფრთხილება</string>
<string name="cd_location_services">მდებარეობის სერვისები</string>
<string name="cd_privacy">კონფიდენციალობა</string>
<string name="cd_error">შეცდომა</string>
<string name="cd_battery_optimization">ბატარეის ოპტიმიზაცია</string>
<string name="cd_benefits">სარგებელი</string>
<string name="cd_checking_battery_optimization">ბატარეის ოპტიმიზაციის შემოწმება</string>
<string name="cd_not_supported_battery_optimization">ბატარეის ოპტიმიზაცია მხარდაჭერილი არ არის</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">წაუკითხავი შეტყობინება</string>
<string name="cd_open_map">რუკის გახსნა</string>
<string name="cd_remove_bookmark">სანიშნეს წაშლა</string>
<string name="cd_teleport">ტელეპორტი</string>
<string name="cd_selected">მონიშნული</string>
<string name="cd_leave_channel">არხიდან გამოსვლა</string>
<string name="cd_reachable_via_nostr">მისაწვდომია Nostr-ით</string>
<string name="cd_offline_favorite">რჩეული (ოფლაინ)</string>
<string name="cd_decrease_precision">სიზუსტის შემცირება</string>
<string name="cd_increase_precision">სიზუსტის გაზრდა</string>
<string name="cd_select_geohash">აირჩიეთ geohash</string>
<string name="cd_scroll_to_bottom">ქვემოთ გადახვევა</string>
<string name="cd_file">ფაილი</string>
<string name="cd_image">სურათი</string>
<string name="cd_cancel">გაუქმება</string>
<string name="cd_link">ბმული</string>
<string name="cd_pick_media">მედიის არჩევა</string>
<string name="cd_pick_file">ფაილის არჩევა</string>
<string name="cd_save_current_image">მიმდინარე სურათის შენახვა</string>
<string name="cd_close">დახურვა</string>
<string name="cd_image_index_of">სურათი %1$d %2$d-დან</string>
<string name="cd_privacy_protected">კონფიდენციალობა დაცულია</string>
<string name="cd_record_voice">ხმოვანი ჩანაწერის ჩაწერა</string>
<string name="cd_offline_mesh_chat">ოფლაინ mesh-ჩათი</string>
<string name="cd_online_geohash_channels">ონლაინ geohash არხები</string>
<string name="cd_end_to_end_encryption">ბოლო-მდე დაშიფვრა</string>
<!-- სურათები & ფაილები -->
<string name="image_page_of">სურათი %1$d %2$d-დან</string>
<string name="image_unavailable">სურათი მიუწვდომელია</string>
<string name="image_saved_to_downloads">სურათი შენახულია "ჩამოტვირთვებში"</string>
<string name="image_save_failed">სურათის შენახვა ვერ მოხერხდა</string>
<string name="toast_image_saved">სურათი შენახულია "ჩამოტვირთვებში"</string>
<string name="toast_failed_to_save_image">სურათის შენახვა ვერ მოხერხდა</string>
<string name="pick_file">ფაილის არჩევა</string>
<string name="file_unavailable">[ფაილი მიუწვდომელია]</string>
<string name="unknown">უცნობი</string>
<!-- მომხმარებლის ქმედებების შიტი -->
<string name="choose_action_message_or_user">აირჩიეთ ქმედება ამ შეტყობინებისთვის ან მომხმარებლისთვის</string>
<string name="choose_action_user">აირჩიეთ ქმედება ამ მომხმარებლისთვის</string>
<string name="action_copy_message_title">შეტყობინების კოპირება</string>
<string name="action_copy_message_subtitle">ამ შეტყობინების კოპირება ბუფერში</string>
<string name="action_slap_title">%1$s-ის ლ®აპით დარტყმა</string>
<string name="action_slap_subtitle">გაგზავნეთ ხუმრობით ლ®აპი</string>
<string name="action_hug_title">%1$s-ის ჩახუტება</string>
<string name="action_hug_subtitle">გაგზავნეთ მეგობრული ჩახუტება</string>
<string name="action_block_title">%1$s-ის დაბლოკვა</string>
<string name="action_block_subtitle">ამ მომხმარებლის ყველა შეტყობინების დაბლოკვა</string>
<!-- geohash არხების შიტი -->
<string name="location_channels_title">#მდებარეობის არხები</string>
<string name="location_channels_desc">ესაუბრეთ თქვენს ახლოს მყოფ ადამიანებს geohash არხებით. იზიარება მხოლოდApprox geohash, არასოდეს ზუსტი GPS მონაცემები. თქვენი კონფიდენციალურობის დასაცავად ნუ გადაიღებთ სკრინშოტებს და ნუ გააზიარებთ ამ ეკრანს.</string>
<string name="grant_location_permission">მდებარეობის ნებართვის მინიჭება</string>
<string name="location_permission_denied">მდებარეობის ნებართვა უარყოფილია. ჩართეთ პარამეტრებში მდებარეობის არხების გამოსაყენებლად.</string>
<string name="open_settings">პარამეტრების გახსნა</string>
<string name="location_permission_granted">\u2713 მდებარეობის ნებართვა მინიჭებულია</string>
<string name="checking_permissions">ნებართვების შემოწმება…</string>
<string name="finding_nearby_channels">ახლომდებარე არხების ძიება…</string>
<string name="bookmarked">სანიშნეები</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">არასწორი geohash</string>
<string name="teleport">ტელეპორტი</string>
<string name="disable_location_services">მდებარეობის სერვისების გამორთვა</string>
<string name="enable_location_services">მდებარეობის სერვისების ჩართვა</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">კვარტალი</string>
<string name="location_level_neighborhood">ახლომდებარე რაიონი</string>
<string name="location_level_city">ქალაქი</string>
<string name="location_level_province">პროვინცია</string>
<string name="location_level_region">რეგიონი</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- დებაგი / დიაგნოსტიკა -->
<string name="debug_tools">დაბაგირების ხელსაწყოები</string>
<string name="debug_tools_desc">დეველოპერის ხელსაწყოები დიაგნოზისთვის და კონტროლისთვის</string>
<string name="debug_verbose_logging">გაფართოებული ლოგირება</string>
<string name="debug_verbose_hint">იწერება პირების ჩართვა/გამორთვა, კავშირის მიმართულება, პაკეტების გადაცემა და რილეები</string>
<string name="debug_bluetooth_roles">Bluetooth როლები</string>
<string name="debug_gatt_server">GATT სერვერი</string>
<string name="debug_connections_fmt">კავშირები: %1$d / %2$d</string>
<string name="debug_max_server">მაქს. სერვერი</string>
<string name="debug_gatt_client">GATT კლიენტი</string>
<string name="debug_max_client">მაქს. კლიენტი</string>
<string name="debug_overall_connections_fmt">კავშირები: %1$d / %2$d</string>
<string name="debug_max_overall">მაქს. სულ</string>
<string name="debug_packet_relay">პაკეტების რელე</string>
<string name="debug_since_start_fmt">გაშვებიდან: %1$d</string>
<string name="debug_roles_hint">როლების გადართვა და გამორთვისას ყველა კავშირის დახურვა</string>
<string name="debug_sync_settings">სინქრონიზაციის პარამეტრები</string>
<string name="debug_max_packets_per_sync_fmt">მაქს. პაკეტი სინქრონიზაციაზე: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">მაქს. GCS ფილტრის ზომა: %1$d ბაიტი (1281024)</string>
<string name="debug_target_fpr_fmt">სამიზნე FPR: %1$.2f%%</string>
<string name="debug_connected_devices">დაკავშირებული მოწყობილობები</string>
<string name="debug_our_device_id_fmt">ჩვენი მოწყობილობის ID: %1$s</string>
<string name="debug_none">არცერთი</string>
<string name="debug_disconnect">გათიშვა</string>
<string name="debug_recent_scan_results">ბოლო სკანირებული მოწყობილობები</string>
<string name="debug_connect">დაკავშირება</string>
<string name="debug_debug_console">დაბაგ კონსოლი</string>
<string name="debug_clear">გასუფთავება</string>
<string name="debug_relays_window_fmt">ბოლო 10 წმ: %1$d • 1 წთ: %2$d • 15 წთ: %3$d</string>
<string name="debug_derived_p_fmt">განმუხტული P: %1$s • სავარაუდო მაქს. ელემენტები: %2$s</string>
<string name="debug_direct_suffix"> • პირდაპირ</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">სერვერის როლში (ჩვენ ვმასპინძლობთ)</string>
<string name="debug_role_client">კლიენტის როლში (ჩვენ ვუკავშირდებით)</string>
<!-- ონბორდინგის ეკრანები -->
<string name="location_services_required">მდებარეობის სერვისებია საჭირო</string>
<string name="privacy_first">კონფიდენციალობა პირველია</string>
<string name="location_explanation">bitchat არ აკონტროლებს თქვენს მდებარეობას.\n\nმდებარეობის სერვისები საჭიროა Bluetooth სკანირებისა და geohash ჩათის ფუნქციისთვის.</string>
<string name="location_needs_for">bitchat-ს სჭირდება მდებარეობის სერვისები შემდეგისთვის:</string>
<string name="location_needs_bullets">• Bluetooth მოწყობილობების სკანირება\n• mesh ქსელში ახლომდებარე მომხმარებლების აღმოჩენა\n• geohash ჩათის ფუნქცია\n• არც ტრეკინგი, არც მდებარეობის შეგროვება</string>
<string name="open_location_settings">მდებარეობის პარამეტრების გახსნა</string>
<string name="check_again">თავიდან შემოწმება</string>
<string name="location_services_unavailable">მდებარეობის სერვისები მიუწვდომელია</string>
<string name="location_unavailable_explanation">ამ მოწყობილობაზე მდებარეობის სერვისები მიუწვდომელია. ეს უჩვეულოა, რადგან Android მოწყობილობებზე ისინი სტანდარტულია.\n\nBluetooth სკანირებისთვის (Android-ის მოთხოვნა) საჭიროა მდებარეობის სერვისები. ამის გარეშე აპს არ შეუძლია ახლომდებარე მომხმარებლების აღმოჩენა.</string>
<string name="checking_location_services">მდებარეობის სერვისების შემოწმება…</string>
<string name="bluetooth_required">Bluetooth საჭიროა</string>
<string name="bluetooth_needs_for">bitchat-ს სჭირდება Bluetooth შემდეგისთვის:</string>
<string name="bluetooth_needs_bullets">• ახლომდებარე მომხმარებლების აღმოჩენა\n• mesh ქსელის კავშირების შექმნა\n• შეტყობინებების გაგზავნა/მიღება\n• მუშაობა ინტერნეტის ან სერვერების გარეშე</string>
<string name="enable_bluetooth">Bluetooth-ის ჩართვა</string>
<string name="bluetooth_not_supported">Bluetooth არ მხარდაჭერილია</string>
<string name="bluetooth_unsupported_explanation">ამ მოწყობილობას არ უჭერს მხარს Bluetooth Low Energy (BLE), რომელიც საჭიროა bitchat-ისთვის.\n\nBLE საჭიროა mesh ქსელების შესაქმნელად და ახლომდებარე მოწყობილობებთან ინტერნეტის გარეშე კომუნიკაციისთვის.</string>
<string name="checking_bluetooth_status">Bluetooth სტატუსის შემოწმება…</string>
<string name="battery_optimization_detected_title">ბატარეის ოპტიმიზაცია აღმოჩნდა</string>
<string name="battery_optimization_enabled_title">ბატარეის ოპტიმიზაცია ჩართულია</string>
<string name="battery_optimization_explanation_short">mesh კავშირების შესანარჩუნებლად bitchat უნდა იმუშავოს ფონში. ბატარეის ოპტიმიზაციამ შეიძლება დაარღვიოს ეს კავშირები.</string>
<string name="benefits_of_disabling">გამორთვის სარგებელი</string>
<string name="battery_benefits_short">• სანდო მიწოდება\n• mesh კავშირის შენარჩუნება\n• გათიშვების თავიდან აცილება</string>
<string name="disable_battery_optimization">ბატარეის ოპტიმიზაციის გამორთვა</string>
<string name="battery_optimization_disabled_title">ბატარეის ოპტიმიზაცია გამორთულია</string>
<string name="continue_btn">გაგრძელება</string>
<string name="initializing_mesh_network">mesh ქსელის ინიციალიზაცია</string>
<string name="setting_up_bluetooth">Bluetooth mesh ქსელის მოწყობა…</string>
<string name="should_take_seconds">ეს რამდენიმე წამს უნდა გაგრძელდეს</string>
<string name="setup_not_complete">მოწყობა დაუსრულებელია</string>
<string name="try_again">კვლავ ცდა</string>
<string name="privacy_protected">თქვენი კონფიდენციალობა დაცულია</string>
<string name="privacy_bullets">• ტრეკინგი ან მონაცემთა შეგროვება არა\n• Bluetooth mesh-ჩათები სრულად ოფლაინ\n• geohash ჩათი იყენებს ინტერნეტს</string>
<string name="permissions_header">ნებართვები</string>
<string name="grant_permissions">ნებართვების მინიჭება</string>
<string name="location_tracking_warning">bitchat არ აკონტროლებს თქვენს მდებარეობას</string>
<string name="geohash_people_header">ხალხი</string>
<string name="nobody_around">არავინ არის ახლოს…</string>
<string name="you_suffix"> (თქვენ)</string>
<string name="pan_zoom_instruction">პანორამირება/ზუმი geohash-ის ასარჩევად</string>
<string name="select">არჩევა</string>
<string name="type_a_message_placeholder">შეიყვანეთ შეტყობინება…</string>
<string name="mention">ხსენება</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">სურათი</string>
<string name="media_type_file">ფაილი</string>
<!-- შეტყობინებების ტექსტის დამხმარეები -->
<string name="notification_sent_image">📷 გაგზავნა სურათი</string>
<string name="notification_sent_voice">🎤 გაგზავნა ხმოვანი შენიშვნა</string>
<string name="notification_sent_file">📎 გაგზავნა ფაილი</string>
<!-- ხმოვანი დამკვრელის ხელმისაწვდომობა -->
<string name="cd_play_voice">დაკვრა</string>
<string name="cd_pause_voice">პაუზა</string>
<string name="cd_mining_pow">PoW მაინინგი</string>
<string name="cd_pow_enabled">PoW ჩართულია</string>
<string name="cd_proof_of_work">Proof of Work</string>
<string name="pow_mining_ellipsis">მაინინგი…</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- ნებართვების აღწერები -->
<string name="perm_nearby_devices_desc">საჭიროა bitchat მომხმარებლების Bluetooth-ით აღმოსაჩენად</string>
<string name="perm_nearby_devices_system">დაუშვით bitchat-ს დაუკავშირდეს ახლომდებარე მოწყობილობებს</string>
<string name="perm_location_desc">Android მოითხოვს ახლომდებარე bitchat მომხმარებლების Bluetooth-ით აღმოსაჩენად</string>
<string name="perm_location_system">ეს საჭიროა ახლომდებარე მოწყობილობების დასასკანად</string>
<string name="perm_notifications_desc">საინფორმაციო შეტყობინებების მიღება პირადი მესიჯებისას</string>
<string name="perm_notifications_system">დაუშვით bitchat-ს გამოგიგზავნოთ შეტყობინებები</string>
<string name="perm_battery_desc">გამორთეთ ბატარეის ოპტიმიზაცია, რომ bitchat სანდოდ იმუშაოს ფონში და შეინარჩუნოს mesh-კავშირები</string>
<string name="perm_battery_system">დაუშვით bitchat-ს იმუშაოს ბატარეის შეზღუდვების გარეშე</string>
<!-- ნებართვების ტიპები -->
<string name="perm_type_nearby_devices">ახლომდებარე მოწყობილობები</string>
<string name="perm_type_precise_location">ზუსტი მდებარეობა</string>
<string name="perm_type_microphone">მიკროფონი</string>
<string name="perm_type_notifications">შეტყობინებები</string>
<string name="perm_type_battery_optimization">ბატარეის ოპტიმიზაცია</string>
<string name="perm_type_other">სხვა</string>
<!-- პაროლის დიალოგი -->
<string name="pwd_prompt_title">შეიყვანეთ არხის პაროლი</string>
<string name="pwd_prompt_message">არხი %1$s დაცულია პაროლით. შეიყვანეთ პაროლი შესაერთებლად.</string>
<string name="pwd_label">პაროლი</string>
<string name="join">შეუერთდი</string>
<string name="cancel">გაუქმება</string>
<!-- მრავლობითი რიცხვები -->
<plurals name="notification_and_more">
<item quantity="one">და კიდევ %d</item>
<item quantity="other">და კიდევ %d</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 ადამიანი</item>
<item quantity="other">%d ადამიანი</item>
</plurals>
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- 권한 안내 -->
<string name="permission_bluetooth_rationale">인터넷 없이 다른 사람과 직접 채팅하려면 블루투스 권한이 필요합니다.</string>
<string name="permission_location_rationale">블루투스로 주변 기기를 찾으려면 위치 권한이 필요합니다.</string>
<string name="permission_notification_rationale">새 메시지를 알려면 알림 권한이 필요합니다.</string>
<!-- 플레이스홀더 / 기본 UI -->
<string name="nickname_hint">닉네임</string>
<string name="message_hint">메시지 입력…</string>
<string name="channel_password_hint">비밀번호</string>
<string name="join_channel">채널 참가</string>
<string name="leave_channel">나가기</string>
<string name="send_message">보내기</string>
<string name="show_commands">명령 보기</string>
<string name="back">뒤로</string>
<string name="people">사람들</string>
<string name="channels">채널</string>
<string name="online_users">온라인 사용자</string>
<string name="no_one_connected">연결된 사람이 없음</string>
<string name="emergency_clear_hint">모든 데이터를 지우려면 세 번 탭하세요</string>
<string name="your_network">네트워크</string>
<!-- 배터리 최적화 -->
<string name="battery_optimization_detected">배터리 최적화 감지됨</string>
<string name="battery_optimization_disabled">배터리 최적화 비활성화됨</string>
<string name="battery_optimization_not_required">배터리 최적화 필요 없음</string>
<string name="battery_optimization_checking">배터리 최적화 확인 중</string>
<string name="battery_optimization_why_disable">왜 배터리 최적화를 끄나요?</string>
<string name="battery_optimization_explanation">bitchat은 근처 기기와의 메쉬 연결을 유지하기 위해 백그라운드에서 동작합니다. 배터리 최적화는 이러한 연결을 중단시켜 메시지가 지연되거나 손실될 수 있습니다.\n\n배터리 최적화를 끄면 신뢰할 수 있는 P2P 통신이 보장됩니다.</string>
<string name="battery_optimization_disable_button">배터리 최적화 끄기</string>
<string name="battery_optimization_note">참고: 이후 Android 설정 &gt;&gt; bitchat &gt; 배터리에서 변경할 수 있습니다.</string>
<string name="battery_optimization_not_supported_explanation">이 기기는 배터리 최적화 설정이 필요하지 않습니다. bitchat은 정상적으로 동작합니다.</string>
<string name="battery_optimization_not_supported_message">이 기기는 배터리 최적화 설정이 필요하지 않습니다. bitchat은 정상적으로 동작합니다.</string>
<string name="battery_optimization_success_message">bitchat이 백그라운드에서 안정적으로 실행됩니다</string>
<string name="battery_optimization_benefits">• 신뢰할 수 있는 메시지 전달\n• 메쉬 연결 유지\n• 백그라운드 메시지 릴레이\n• 연결 끊김 방지</string>
<string name="battery_optimization_check_again">다시 확인</string>
<string name="battery_optimization_skip">지금 건너뛰기</string>
<string name="battery_optimization_continue">계속</string>
<string name="retry">다시 시도</string>
<string name="skip">건너뛰기</string>
<!-- 알림 -->
<string name="notification_summary_more">그리고 %1$d개 더</string>
<string name="notification_messages_from_people">%2$d명에게서 %1$d개의 메시지</string>
<string name="notification_more_conversations">그리고 %1$d개의 대화 더</string>
<string name="notification_active_peers_title">👥 근처 bitchatter!</string>
<string name="notification_active_peers_one">근처 1명</string>
<string name="notification_active_peers_many">근처 %1$d명</string>
<string name="notification_new_messages">새 메시지</string>
<string name="notification_new_location_messages">새 위치 메시지</string>
<string name="notification_mentions_in">%1$s에서 언급됨</string>
<string name="notification_mentions_in_more">%1$s에서 언급됨 (+%2$d)</string>
<string name="notification_mentions_in_plural">%2$s에서 %1$d회 언급</string>
<string name="notification_new_activity_in">%1$s의 새 활동</string>
<string name="notification_messages_in">%1$s의 메시지</string>
<string name="notification_joined_conversation">%1$s님이 대화에 참여했습니다</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d회 언급</string>
<string name="notification_geohash_summary_title">bitchat 위치 채팅</string>
<string name="notification_geohash_summary_text">%2$d개의 장소에서 온 %1$d개의 메시지</string>
<string name="notification_mesh_mention_title_singular">메쉬 채팅에서 언급됨</string>
<string name="notification_mesh_mention_title_plural">메쉬 채팅에서 %1$d회 언급</string>
<string name="notification_more_locations">그리고 %1$d개의 장소 더</string>
<string name="notification_and_more">그리고 %1$d개 더</string>
<!-- 즐겨찾기 접근성 -->
<string name="cd_add_favorite">즐겨찾기에 추가</string>
<string name="cd_remove_favorite">즐겨찾기에서 제거</string>
<string name="cd_add_bookmark">북마크 추가</string>
<!-- 채팅 헤더 & 접근성 -->
<string name="chat_back">뒤로</string>
<string name="chat_channel_prefix">채널: %1$s</string>
<string name="chat_leave">나가기</string>
<string name="cd_nostr_reachable">Nostr로 연결 가능</string>
<string name="cd_unread_private_messages">읽지 않은 개인 메시지</string>
<string name="cd_toggle_bookmark">북마크 전환</string>
<string name="cd_teleported">텔레포트됨</string>
<string name="cd_tor_status">Tor 상태</string>
<string name="cd_connected_peers">연결된 피어</string>
<string name="cd_geohash_participants">geohash 참여자</string>
<string name="cd_ready_for_handshake">핸드셰이크 준비됨</string>
<string name="cd_handshake_in_progress">핸드셰이크 진행 중</string>
<string name="cd_encrypted">종단간 암호화</string>
<string name="cd_handshake_failed">핸드셰이크 실패</string>
<!-- 파일 뷰어 대화상자 -->
<string name="file_viewer_title">📎 파일 수신</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 크기: %1$s</string>
<string name="file_viewer_type">🏷️ 유형: %1$s</string>
<string name="file_viewer_open_save">📂 열기 / 저장</string>
<string name="close_with_emoji">❌ 닫기</string>
<string name="pick_image">이미지 선택</string>
<!-- 정보 시트 -->
<string name="about_tagline">종단간 암호화를 갖춘 탈중앙 메쉬 채팅</string>
<string name="about_offline_mesh_title">오프라인 메쉬 채팅</string>
<string name="about_offline_mesh_desc">인터넷이나 서버 없이 Bluetooth LE로 직접 소통합니다. 범위를 확장하기 위해 근처 기기를 통해 메시지가 중계됩니다.</string>
<string name="about_online_geohash_title">온라인 geohash 채널</string>
<string name="about_online_geohash_desc">geohash 기반 채널을 통해 주변 사람들과 연결하세요. 공용 인터넷 릴레이로 메쉬를 확장합니다.</string>
<string name="about_e2e_title">종단간 암호화</string>
<string name="about_e2e_desc">개인 메시지는 암호화됩니다. 채널 메시지는 공개입니다.</string>
<string name="about_appearance">모양</string>
<string name="about_system">시스템</string>
<string name="about_light">라이트</string>
<string name="about_dark">다크</string>
<string name="about_pow">작업증명</string>
<string name="about_pow_off">PoW 끔</string>
<string name="about_pow_on">PoW 켬</string>
<string name="about_pow_tip">스팸을 어렵게 만들기 위해 geohash 메시지에 작업증명을 추가하세요.</string>
<string name="about_pow_difficulty">난이도: %1$d 비트 (~%2$s)</string>
<string name="about_pow_difficulty_attempts">난이도 %1$d는 ~%2$s 해시 시도가 필요합니다</string>
<string name="about_pow_desc_none">작업증명 필요 없음</string>
<string name="about_pow_desc_very_low">매우 낮음 최소 스팸 보호</string>
<string name="about_pow_desc_low">낮음 기본 스팸 보호</string>
<string name="about_pow_desc_medium">중간 좋은 스팸 보호</string>
<string name="about_pow_desc_high">높음 강한 스팸 보호</string>
<string name="about_pow_desc_very_high">매우 높음 – 지연이 발생할 수 있음</string>
<string name="about_pow_desc_extreme">매우 극단 – 상당한 연산 능력 필요</string>
<string name="about_network">네트워크</string>
<string name="about_tor_off">Tor 끔</string>
<string name="about_tor_on">Tor 켬</string>
<string name="about_tor_route">개인정보 보호를 위해 인터넷 트래픽을 Tor를 통해 라우팅합니다.</string>
<string name="about_tor_status">Tor 상태: %1$s, 부트스트랩 %2$d%%</string>
<string name="about_last">마지막: %1$s</string>
<string name="about_emergency_title">긴급 데이터 삭제</string>
<string name="about_emergency_tip">팁: 저장된 모든 데이터(메시지, 키, 설정 포함)를 삭제하려면 앱 제목을 세 번 탭하세요.</string>
<string name="about_debug_settings">디버그 설정</string>
<string name="about_footer">오픈 소스 • 프라이버시 우선 • 탈중앙</string>
<string name="close_plain">닫기</string>
<string name="cancel_lower">취소</string>
<!-- 일반 콘텐츠 설명 -->
<string name="cd_warning">경고</string>
<string name="cd_location_services">위치 서비스</string>
<string name="cd_privacy">개인정보</string>
<string name="cd_error">오류</string>
<string name="cd_battery_optimization">배터리 최적화</string>
<string name="cd_benefits">이점</string>
<string name="cd_checking_battery_optimization">배터리 최적화 확인 중</string>
<string name="cd_not_supported_battery_optimization">배터리 최적화 미지원</string>
<string name="cd_bluetooth">블루투스</string>
<string name="cd_unread_message">읽지 않은 메시지</string>
<string name="cd_open_map">지도 열기</string>
<string name="cd_remove_bookmark">북마크 제거</string>
<string name="cd_teleport">텔레포트</string>
<string name="cd_selected">선택됨</string>
<string name="cd_leave_channel">채널 나가기</string>
<string name="cd_reachable_via_nostr">Nostr로 연결 가능</string>
<string name="cd_offline_favorite">즐겨찾기 (오프라인)</string>
<string name="cd_decrease_precision">정밀도 낮추기</string>
<string name="cd_increase_precision">정밀도 높이기</string>
<string name="cd_select_geohash">geohash 선택</string>
<string name="cd_scroll_to_bottom">아래로 스크롤</string>
<string name="cd_file">파일</string>
<string name="cd_image">이미지</string>
<string name="cd_cancel">취소</string>
<string name="cd_link">링크</string>
<string name="cd_pick_media">미디어 선택</string>
<string name="cd_pick_file">파일 선택</string>
<string name="cd_save_current_image">현재 이미지 저장</string>
<string name="cd_close">닫기</string>
<string name="cd_image_index_of">이미지 %1$d / %2$d</string>
<string name="cd_privacy_protected">개인정보 보호됨</string>
<string name="cd_record_voice">음성 메시지 녹음</string>
<string name="cd_offline_mesh_chat">오프라인 메쉬 채팅</string>
<string name="cd_online_geohash_channels">온라인 geohash 채널</string>
<string name="cd_end_to_end_encryption">종단간 암호화</string>
<!-- 이미지 & 파일 -->
<string name="image_page_of">이미지 %1$d / %2$d</string>
<string name="image_unavailable">이미지를 사용할 수 없음</string>
<string name="image_saved_to_downloads">이미지가 \"Downloads\"에 저장됨</string>
<string name="image_save_failed">이미지를 저장하지 못했습니다</string>
<string name="toast_image_saved">이미지가 \"Downloads\"에 저장됨</string>
<string name="toast_failed_to_save_image">이미지를 저장하지 못했습니다</string>
<string name="pick_file">파일 선택</string>
<string name="file_unavailable">[파일을 사용할 수 없음]</string>
<string name="unknown">알 수 없음</string>
<!-- 사용자 작업 시트 -->
<string name="choose_action_message_or_user">이 메시지 또는 사용자에 대한 동작 선택</string>
<string name="choose_action_user">이 사용자에 대한 동작 선택</string>
<string name="action_copy_message_title">메시지 복사</string>
<string name="action_copy_message_subtitle">이 메시지를 클립보드에 복사</string>
<string name="action_slap_title">%1$s를 때리기</string>
<string name="action_slap_subtitle">장난스러운 따귀 보내기</string>
<string name="action_hug_title">%1$s를 안기</string>
<string name="action_hug_subtitle">친근한 포옹 보내기</string>
<string name="action_block_title">%1$s 차단</string>
<string name="action_block_subtitle">이 사용자의 모든 메시지 차단</string>
<!-- geohash 채널 시트 -->
<string name="location_channels_title">#위치 채널</string>
<string name="location_channels_desc">geohash 채널을 통해 주변 사람들과 채팅하세요. 정확한 GPS 데이터가 아닌 대략적인 geohash만 공유됩니다. 개인 정보 보호를 위해 이 화면을 스크린샷하거나 공유하지 마세요.</string>
<string name="grant_location_permission">위치 권한 허용</string>
<string name="location_permission_denied">위치 권한이 거부되었습니다. 위치 채널을 사용하려면 설정에서 활성화하세요.</string>
<string name="open_settings">설정 열기</string>
<string name="location_permission_granted">\u2713 위치 권한 허용됨</string>
<string name="checking_permissions">권한 확인 중 …</string>
<string name="finding_nearby_channels">주변 채널 찾는 중 …</string>
<string name="bookmarked">북마크됨</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">유효하지 않은 geohash</string>
<string name="teleport">텔레포트</string>
<string name="disable_location_services">위치 서비스 비활성화</string>
<string name="enable_location_services">위치 서비스 활성화</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">블록</string>
<string name="location_level_neighborhood">이웃</string>
<string name="location_level_city">도시</string>
<string name="location_level_province">주/도</string>
<string name="location_level_region">지역</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- 디버그 / 진단 -->
<string name="debug_tools">디버그 도구</string>
<string name="debug_tools_desc">진단 및 제어를 위한 개발자 도구</string>
<string name="debug_verbose_logging">상세 로깅</string>
<string name="debug_verbose_hint">피어 참여/이탈, 연결 방향, 패킷 전달 및 릴레이를 기록합니다</string>
<string name="debug_bluetooth_roles">블루투스 역할</string>
<string name="debug_gatt_server">GATT 서버</string>
<string name="debug_connections_fmt">연결: %1$d / %2$d</string>
<string name="debug_max_server">최대 서버</string>
<string name="debug_gatt_client">GATT 클라이언트</string>
<string name="debug_max_client">최대 클라이언트</string>
<string name="debug_overall_connections_fmt">연결: %1$d / %2$d</string>
<string name="debug_max_overall">총 최대</string>
<string name="debug_packet_relay">패킷 릴레이</string>
<string name="debug_since_start_fmt">시작 이후: %1$d</string>
<string name="debug_roles_hint">역할을 켜고/끄고 비활성화 시 모든 연결 닫기</string>
<string name="debug_sync_settings">동기화 설정</string>
<string name="debug_max_packets_per_sync_fmt">동기화당 최대 패킷: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">최대 GCS 필터 크기: %1$d Byte (1281024)</string>
<string name="debug_target_fpr_fmt">목표 FPR: %1$.2f%%</string>
<string name="debug_connected_devices">연결된 장치</string>
<string name="debug_our_device_id_fmt">우리 장치 ID: %1$s</string>
<string name="debug_none">없음</string>
<string name="debug_disconnect">연결 해제</string>
<string name="debug_recent_scan_results">최근 스캔된 장치</string>
<string name="debug_connect">연결</string>
<string name="debug_debug_console">디버그 콘솔</string>
<string name="debug_clear">지우기</string>
<string name="debug_relays_window_fmt">마지막 10초: %1$d • 1분: %2$d • 15분: %3$d</string>
<string name="debug_derived_p_fmt">유도 P: %1$s • 예상 최대 요소: %2$s</string>
<string name="debug_direct_suffix"> • 직접</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">서버로서 (우리가 호스트)</string>
<string name="debug_role_client">클라이언트로서 (우리가 연결)</string>
<!-- 온보딩 화면 -->
<string name="location_services_required">위치 서비스 필요</string>
<string name="privacy_first">개인정보 우선</string>
<string name="location_explanation">bitchat은 사용자의 위치를 추적하지 않습니다.\n\n블루투스 스캔 및 geohash 채팅 기능에 위치 서비스가 필요합니다.</string>
<string name="location_needs_for">bitchat은 다음을 위해 위치 서비스가 필요합니다:</string>
<string name="location_needs_bullets">• 블루투스 기기 스캔\n• 메쉬 네트워크에서 근처 사용자 발견\n• geohash 채팅 기능\n• 추적 또는 위치 수집 없음</string>
<string name="open_location_settings">위치 설정 열기</string>
<string name="check_again">다시 확인</string>
<string name="location_services_unavailable">위치 서비스를 사용할 수 없음</string>
<string name="location_unavailable_explanation">이 기기에서는 위치 서비스를 사용할 수 없습니다. Android 기기에서 위치 서비스는 표준이므로 이는 드문 경우입니다.\n\n블루투스 스캔이 제대로 작동하려면 bitchat에 위치 서비스가 필요합니다(Android 요구 사항). 그렇지 않으면 앱이 주변 사용자를 찾지 못합니다.</string>
<string name="checking_location_services">위치 서비스 확인 중 …</string>
<string name="bluetooth_required">블루투스 필요</string>
<string name="bluetooth_needs_for">bitchat은 다음을 위해 블루투스가 필요합니다:</string>
<string name="bluetooth_needs_bullets">• 근처 사용자 찾기\n• 메쉬 네트워크 연결 생성\n• 메시지 보내고 받기\n• 인터넷이나 서버 없이 작동</string>
<string name="enable_bluetooth">블루투스 켜기</string>
<string name="bluetooth_not_supported">블루투스 미지원</string>
<string name="bluetooth_unsupported_explanation">이 기기는 bitchat이 동작하는 데 필요한 Bluetooth Low Energy (BLE)를 지원하지 않습니다.\n\nbitchat은 인터넷 없이 근처 장치와 통신하고 메쉬 네트워크를 생성하기 위해 BLE가 필요합니다.</string>
<string name="checking_bluetooth_status">블루투스 상태 확인 중 …</string>
<string name="battery_optimization_detected_title">배터리 최적화 감지됨</string>
<string name="battery_optimization_enabled_title">배터리 최적화 활성화됨</string>
<string name="battery_optimization_explanation_short">메쉬 연결을 유지하려면 bitchat이 백그라운드에서 실행되어야 합니다. 배터리 최적화는 이러한 연결을 방해할 수 있습니다.</string>
<string name="benefits_of_disabling">비활성화의 이점</string>
<string name="battery_benefits_short">• 신뢰할 수 있는 메시지 전달\n• 메쉬 연결 유지\n• 연결 끊김 방지</string>
<string name="disable_battery_optimization">배터리 최적화 끄기</string>
<string name="battery_optimization_disabled_title">배터리 최적화 비활성화됨</string>
<string name="continue_btn">계속</string>
<string name="initializing_mesh_network">메쉬 네트워크 초기화 중</string>
<string name="setting_up_bluetooth">블루투스 메쉬 네트워크 설정 중 …</string>
<string name="should_take_seconds">몇 초 정도 소요됩니다</string>
<string name="setup_not_complete">설정이 완료되지 않았습니다</string>
<string name="try_again">다시 시도</string>
<string name="privacy_protected">개인정보가 보호됩니다</string>
<string name="privacy_bullets">• 추적 또는 데이터 수집 없음\n• 블루투스 메쉬 채팅은 완전 오프라인\n• geohash 채팅은 인터넷 사용</string>
<string name="permissions_header">권한</string>
<string name="grant_permissions">권한 허용</string>
<string name="location_tracking_warning">bitchat은 사용자의 위치를 추적하지 않습니다</string>
<string name="geohash_people_header">사람들</string>
<string name="nobody_around">주변에 아무도 없음 …</string>
<string name="you_suffix"> (나)</string>
<string name="pan_zoom_instruction">geohash를 선택하려면 이동하고 확대/축소하세요</string>
<string name="select">선택</string>
<string name="type_a_message_placeholder">메시지 입력 …</string>
<string name="mention">멘션</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">이미지</string>
<string name="media_type_file">파일</string>
<!-- 알림 텍스트 도우미 -->
<string name="notification_sent_image">📷 이미지 보냄</string>
<string name="notification_sent_voice">🎤 음성 메시지 보냄</string>
<string name="notification_sent_file">📎 파일 보냄</string>
<!-- 음성 플레이어 접근성 -->
<string name="cd_play_voice">재생</string>
<string name="cd_pause_voice">일시정지</string>
<string name="cd_mining_pow">PoW 채굴</string>
<string name="cd_pow_enabled">PoW 사용</string>
<string name="cd_proof_of_work">작업증명</string>
<string name="pow_mining_ellipsis">채굴 중 …</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- 권한 설명 -->
<string name="perm_nearby_devices_desc">블루투스를 통해 bitchat 사용자를 발견하는 데 필요</string>
<string name="perm_nearby_devices_system">근처 기기와 연결하도록 bitchat을 허용</string>
<string name="perm_location_desc">블루투스를 통해 근처 bitchat 사용자를 찾기 위해 Android에 필요</string>
<string name="perm_location_system">근처 기기를 스캔하려면 bitchat에 필요</string>
<string name="perm_notifications_desc">개인 메시지를 받으면 알림 받기</string>
<string name="perm_notifications_system">bitchat이 알림을 보내도록 허용</string>
<string name="perm_battery_desc">bitchat이 백그라운드에서 안정적으로 실행되고 메쉬 연결을 유지하도록 배터리 최적화를 끄세요</string>
<string name="perm_battery_system">배터리 제한 없이 실행하도록 bitchat을 허용</string>
<!-- 권한 유형 -->
<string name="perm_type_nearby_devices">근처 기기</string>
<string name="perm_type_precise_location">정확한 위치</string>
<string name="perm_type_microphone">마이크</string>
<string name="perm_type_notifications">알림</string>
<string name="perm_type_battery_optimization">배터리 최적화</string>
<string name="perm_type_other">기타</string>
<!-- 비밀번호 대화상자 -->
<string name="pwd_prompt_title">채널 비밀번호 입력</string>
<string name="pwd_prompt_message">채널 %1$s은 비밀번호로 보호됩니다. 참여하려면 비밀번호를 입력하세요.</string>
<string name="pwd_label">비밀번호</string>
<string name="join">참가</string>
<string name="cancel">취소</string>
<!-- 복수형 -->
<plurals name="notification_and_more">
<item quantity="one">그리고 %d개 더</item>
<item quantity="other">그리고 %d개 더</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1명</item>
<item quantity="other">%d명</item>
</plurals>
</resources>
+380
View File
@@ -0,0 +1,380 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- Fanazavana momba ny alalana -->
<string name="permission_bluetooth_rationale">Ilaina ny alalana Bluetooth mba hifandraisan-davitra tsy misy Internet.</string>
<string name="permission_location_rationale">Ilaina ny alalana momba ny toerana mba hahitana fitaovana akaiky amin\'ny alalan\'ny Bluetooth.</string>
<string name="permission_notification_rationale">Ilaina ny alalana fampandrenesana mba hampandre anao rehefa misy hafatra vaovao.</string>
<!-- Soso-kevitra / UI fototra -->
<string name="nickname_hint">anarana kely</string>
<string name="message_hint">soraty hafatra…</string>
<string name="channel_password_hint">Teny miafina</string>
<string name="join_channel">Hiditra amin\'ny fantsona</string>
<string name="leave_channel">Hiala</string>
<string name="send_message">Handefa</string>
<string name="show_commands">Haneho baiko</string>
<string name="back">Hiverina</string>
<string name="people">Olona</string>
<string name="channels">Fantsona</string>
<string name="online_users">Mpampiasa an-tserasera</string>
<string name="no_one_connected">Tsy misy olona mifandray</string>
<string name="emergency_clear_hint">Tsindrio in-telo mba hamafana ny angona rehetra</string>
<string name="your_network">Tambazotry</string>
<!-- Fanamafisana bateria -->
<string name="battery_optimization_detected">Hita ny Fanamafisana Bateria</string>
<string name="battery_optimization_disabled">Najanona ny Fanamafisana Bateria</string>
<string name="battery_optimization_not_required">Tsy ilaina ny Fanamafisana Bateria</string>
<string name="battery_optimization_checking">Manamarina ny Fanamafisana Bateria</string>
<string name="battery_optimization_why_disable">Nahoana no mijanona ny fanamafisana bateria?</string>
<string name="battery_optimization_explanation">Mihazakazaka ao ambadika ny bitchat mba hitazona ny fifandraisana tambazotry mesh amin\'ny fitaovana akaiky. Ny fanamafisana bateria dia afaka manelingelina ireo fifandraisana ireo, ka mahatonga ny hafatra hataran-tara na very.\n\nNy fanajanona ny fanamafisana bateria dia miantoka ny fifandraisan-davitra azo itokisana.</string>
<string name="battery_optimization_disable_button">Hajanona ny Fanamafisana Bateria</string>
<string name="battery_optimization_note">Fanamarihana: Azonao ovaina ato aoriana izany amin\'ny Toetry Android &gt; Apps &gt; bitchat &gt; Bateria</string>
<string name="battery_optimization_not_supported_explanation">Ny fitaovanao dia tsy mila fametrahana fanamafisana bateria. Ny bitchat dia handeha ara-dalàna.</string>
<string name="battery_optimization_not_supported_message">Ny fitaovanao dia tsy mila fametrahana fanamafisana bateria. Ny bitchat dia handeha ara-dalàna.</string>
<string name="battery_optimization_success_message">Afaka mihazakazaka azo itokisana ao ambadika ny bitchat</string>
<string name="battery_optimization_benefits">• Miantoka ny fandefasana hafatra azo itokisana\n• Mitazona ny fifandraisana tambazotry mesh\n• Mamela ny famindrana hafatra ao ambadika\n• Misoroka ny fahatapahan\'ny fifandraisana</string>
<string name="battery_optimization_check_again">Hanamarina indray</string>
<string name="battery_optimization_skip">Hitsambikina ankehitriny</string>
<string name="battery_optimization_continue">Hanohy</string>
<string name="retry">Hanandrana indray</string>
<string name="skip">Hitsambikina</string>
<!-- Fampandrenesana -->
<string name="notification_summary_more">ary %1$d hafa</string>
<string name="notification_messages_from_people">%1$d hafatra avy amin\'ny olona %2$d</string>
<string name="notification_more_conversations">ary %1$d resaka hafa</string>
<string name="notification_active_peers_title">👥 bitchatter akaiky!</string>
<string name="notification_active_peers_one">Olona 1 manodidina</string>
<string name="notification_active_peers_many">Olona %1$d manodidina</string>
<string name="notification_new_messages">Hafatra vaovao</string>
<string name="notification_new_location_messages">Hafatra Toerana Vaovao</string>
<string name="notification_mentions_in">Voatonona ao amin\'ny %1$s</string>
<string name="notification_mentions_in_more">Voatonona ao amin\'ny %1$s (+%2$d hafa)</string>
<string name="notification_mentions_in_plural">%1$d fanaovana tsiahy ao amin\'ny %2$s</string>
<string name="notification_new_activity_in">Hetsika vaovao ao amin\'ny %1$s</string>
<string name="notification_messages_in">Hafatra ao amin\'ny %1$s</string>
<string name="notification_joined_conversation">%1$s dia niditra tamin\'ny resaka</string>
<string name="notification_geohash_summary_title_mentions">bitchat - %1$d fanaovana tsiahy</string>
<string name="notification_geohash_summary_title">bitchat - resaka toerana</string>
<string name="notification_geohash_summary_text">%1$d hafatra avy amin\'ny toerana %2$d</string>
<string name="notification_mesh_mention_title_singular">Voatonona ao amin\'ny Mesh Chat</string>
<string name="notification_mesh_mention_title_plural">%1$d fanaovana tsiahy ao amin\'ny Mesh Chat</string>
<string name="notification_more_locations">ary %1$d toerana hafa</string>
<string name="notification_and_more">ary %1$d hafa</string>
<!-- Fahafinaretana momba ny ankafizina -->
<string name="cd_add_favorite">Hampidirina amin\'ny ankafizina</string>
<string name="cd_remove_favorite">Hanesorana amin\'ny ankafizina</string>
<string name="cd_add_bookmark">Hanampy bookmark</string>
<!-- Lohan\'ny resaka & fahafaha-miditra -->
<string name="chat_back">miverina</string>
<string name="chat_channel_prefix">fantsona: %1$s</string>
<string name="chat_leave">hiala</string>
<string name="cd_nostr_reachable">Azo tratrarina amin\'ny alalan\'ny Nostr</string>
<string name="cd_unread_private_messages">Hafatra manokana tsy voavaky</string>
<string name="cd_toggle_bookmark">Hanova bookmark</string>
<string name="cd_teleported">Nafindra toerana</string>
<string name="cd_tor_status">Toe-javatra Tor</string>
<string name="cd_connected_peers">Mpiara-miasa mifandray</string>
<string name="cd_geohash_participants">Mpandray anjara Geohash</string>
<string name="cd_ready_for_handshake">Vonona ho amin\'ny fifampiraharahana</string>
<string name="cd_handshake_in_progress">Fifampiraharahana mandeha eo</string>
<string name="cd_encrypted">Voafono farany amin\'ny farany</string>
<string name="cd_handshake_failed">Tsy nahomby ny fifampiraharahana</string>
<!-- Fifanakalozan-dresaka momba ny rakitra -->
<string name="file_viewer_title">📎 Rakitra Voaray</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Habeny: %1$s</string>
<string name="file_viewer_type">🏷️ Karazana: %1$s</string>
<string name="file_viewer_open_save">📂 Hanokatra / Hitahiry</string>
<string name="close_with_emoji">❌ Hanakatona</string>
<string name="pick_image">Hifidy sary</string>
<!-- Momba ny takelaka -->
<string name="about_tagline">hafatra mesh tsy misy foibe misy fandokoana farany amin\'ny farany</string>
<string name="about_offline_mesh_title">Mesh Chat tsy an-tserasera</string>
<string name="about_offline_mesh_desc">Mifandraisa mivantana amin\'ny alalan\'ny Bluetooth LE tsy misy Internet na mpizara. Ny hafatra dia mamindra amin\'ny alalan\'ny fitaovana akaiky mba hanitarana ny elanelana.</string>
<string name="about_online_geohash_title">Fantsona Geohash an-tserasera</string>
<string name="about_online_geohash_desc">Mifandray amin\'ny olona eo amin\'ny faritra misy anao amin\'ny fampiasana fantsona mifototra amin\'ny geohash. Manitatra ny mesh amin\'ny fampiasana relay Internet ho an\'ny daholobe.</string>
<string name="about_e2e_title">Fandokoana Farany amin\'ny Farany</string>
<string name="about_e2e_desc">Voafono ny hafatra manokana. Hafatra ho an\'ny daholobe ny hafatra fantsona.</string>
<string name="about_appearance">endrika</string>
<string name="about_system">rafitra</string>
<string name="about_light">mazava</string>
<string name="about_dark">maizina</string>
<string name="about_pow">porofo asa</string>
<string name="about_pow_off">pow tapaka</string>
<string name="about_pow_on">pow mandeha</string>
<string name="about_pow_tip">ampio porofo asa amin\'ny hafatra geohash mba hanakanana spam.</string>
<string name="about_pow_difficulty">sarotra: %1$d bit (~%2$s)</string>
<string name="about_pow_difficulty_attempts">sarotra %1$d mitaky ~%2$s fanandramana hash</string>
<string name="about_pow_desc_none">tsy misy porofo asa ilaina</string>
<string name="about_pow_desc_very_low">ambany indrindra - fiarovana spam kely</string>
<string name="about_pow_desc_low">ambany - fiarovana spam fototra</string>
<string name="about_pow_desc_medium">antonony - fiarovana spam tsara</string>
<string name="about_pow_desc_high">avo - fiarovana spam matanjaka</string>
<string name="about_pow_desc_very_high">avo dia avo - mety miteraka fahatarana</string>
<string name="about_pow_desc_extreme">faran\'izany - mitaky kajy lehibe</string>
<string name="about_network">tambazotry</string>
<string name="about_tor_off">tor tapaka</string>
<string name="about_tor_on">tor mandeha</string>
<string name="about_tor_route">alefaso amin\'ny alalan\'ny tor ny Internet mba hahazoana fiainana manokana bebe kokoa.</string>
<string name="about_tor_status">Toe-javatra Tor: %1$s, bootstrap %2$d%%</string>
<string name="about_last">Farany: %1$s</string>
<string name="about_emergency_title">Famafana Angona Maika</string>
<string name="about_emergency_tip">Toro-hevitra: Tsindrio in-telo ny anaran\'ny fampiharana mba hamafana maika ny angona rehetra voatahiry ao anatin\'izany ny hafatra, ny lakile ary ny fametrahana.</string>
<string name="about_debug_settings">Fametrahana Debug</string>
<string name="about_footer">Loharanom-baovao misokatra • Fiainana manokana voalohany • Tsy misy foibe</string>
<string name="close_plain">Hanakatona</string>
<string name="cancel_lower">hanafoana</string>
<!-- Famaritana votoaty ankapobeny -->
<string name="cd_warning">Fampitandremana</string>
<string name="cd_location_services">Sampan-draharaham-pitoerana</string>
<string name="cd_privacy">Fiainana manokana</string>
<string name="cd_error">Hadisoana</string>
<string name="cd_battery_optimization">Fanamafisana Bateria</string>
<string name="cd_benefits">Tombontsoa</string>
<string name="cd_checking_battery_optimization">Manamarina ny Fanamafisana Bateria</string>
<string name="cd_not_supported_battery_optimization">Tsy tohanana ny Fanamafisana Bateria</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Hafatra tsy voavaky</string>
<string name="cd_open_map">Hanokatra sarintany</string>
<string name="cd_remove_bookmark">Hanesorana bookmark</string>
<string name="cd_teleport">Hamindra toerana</string>
<string name="cd_selected">Voafidy</string>
<string name="cd_leave_channel">Hiala amin\'ny fantsona</string>
<string name="cd_reachable_via_nostr">Azo tratrarina amin\'ny alalan\'ny Nostr</string>
<string name="cd_offline_favorite">Ankafizina tsy an-tserasera</string>
<string name="cd_decrease_precision">Hampihenana ny fahamarinana</string>
<string name="cd_increase_precision">Hampitombo ny fahamarinana</string>
<string name="cd_select_geohash">Hifidy geohash</string>
<string name="cd_scroll_to_bottom">Hidina any ambany</string>
<string name="cd_file">Rakitra</string>
<string name="cd_image">Sary</string>
<string name="cd_cancel">Hanafoana</string>
<string name="cd_link">Rohy</string>
<string name="cd_pick_media">Hifidy media</string>
<string name="cd_pick_file">Hifidy rakitra</string>
<string name="cd_save_current_image">Hitahiry ny sary ankehitriny</string>
<string name="cd_close">Hanakatona</string>
<string name="cd_image_index_of">Sary %1$d amin\'ny %2$d</string>
<string name="cd_privacy_protected">Voaaro ny Fiainana Manokana</string>
<string name="cd_record_voice">Handrakitra feo</string>
<string name="cd_offline_mesh_chat">Mesh Chat tsy an-tserasera</string>
<string name="cd_online_geohash_channels">Fantsona Geohash an-tserasera</string>
<string name="cd_end_to_end_encryption">Fandokoana Farany amin\'ny Farany</string>
<!-- Sary & rakitra -->
<string name="image_page_of">Sary %1$d amin\'ny %2$d</string>
<string name="image_unavailable">Tsy misy sary</string>
<string name="image_saved_to_downloads">Sary voatahiry ao amin\'ny Downloads</string>
<string name="image_save_failed">Tsy afaka mitahiry sary</string>
<string name="toast_image_saved">Sary voatahiry ao amin\'ny Downloads</string>
<string name="toast_failed_to_save_image">Tsy afaka mitahiry sary</string>
<string name="pick_file">Hifidy rakitra</string>
<string name="file_unavailable">[rakitra tsy misy]</string>
<string name="unknown">tsy fantatra</string>
<!-- Takelaka hetsika mpampiasa -->
<string name="choose_action_message_or_user">safidio hetsika ho an\'ity hafatra na mpampiasa ity</string>
<string name="choose_action_user">safidio hetsika ho an\'ity mpampiasa ity</string>
<string name="action_copy_message_title">adikao ny hafatra</string>
<string name="action_copy_message_subtitle">adikao ity hafatra ity any amin\'ny clipboard</string>
<string name="action_slap_title">kapohina %1$s</string>
<string name="action_slap_subtitle">handefasa hafatra kapohana an-dalao</string>
<string name="action_hug_title">honofinofy %1$s</string>
<string name="action_hug_subtitle">handefasa hafatra honofinofy sariaka</string>
<string name="action_block_title">hanorina %1$s</string>
<string name="action_block_subtitle">hanorina ny hafatra rehetra avy amin\'ity mpampiasa ity</string>
<!-- Takelaka fantsona toerana -->
<string name="location_channels_title">#fantsona toerana</string>
<string name="location_channels_desc">miresaka amin\'ny olona akaiky anao amin\'ny fampiasana fantsona geohash. geohash marivo ihany no zarainy, tsy GPS marina akory. aza maka sary an-efijery na mizara ity efijery ity mba hiarovana ny fiainanao manokana.</string>
<string name="grant_location_permission">omeo alalana momba ny toerana</string>
<string name="location_permission_denied">nolavina ny alalana momba ny toerana. alefaso ao amin\'ny fametrahana mba hampiasa fantsona toerana.</string>
<string name="open_settings">Hanokatra fametrahana</string>
<string name="location_permission_granted">\u2713 omena ny alalana momba ny toerana</string>
<string name="checking_permissions">manamarina ny alalana...</string>
<string name="finding_nearby_channels">mitady fantsona akaiky…</string>
<string name="bookmarked">voaisy bookmark</string>
<string name="geohash_placeholder">geohash</string>
<string name="invalid_geohash">geohash tsy mety</string>
<string name="teleport">hamindra toerana</string>
<string name="disable_location_services">hanajanona sampan-draharaham-pitoerana</string>
<string name="enable_location_services">halefa sampan-draharaham-pitoerana</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">sakana</string>
<string name="location_level_neighborhood">manodidina</string>
<string name="location_level_city">tanàna</string>
<string name="location_level_province">faritany</string>
<string name="location_level_region">faritra</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- Debug / Diagnostika -->
<string name="debug_tools">fitaovana debug</string>
<string name="debug_tools_desc">fitaovana mpamorona ho an\'ny diagnostika sy fifehezana</string>
<string name="debug_verbose_logging">firaketana amin\'ny antsipiriany</string>
<string name="debug_verbose_hint">raketo ny fidiran\'ny mpiara-miasa / ny fialana, ny fanolorana fifandraisana, ny routing pakets ary ny relays</string>
<string name="debug_bluetooth_roles">andraikitry Bluetooth</string>
<string name="debug_gatt_server">mpizara GATT</string>
<string name="debug_connections_fmt">fifandraisana: %1$d / %2$d</string>
<string name="debug_max_server">mpizara max</string>
<string name="debug_gatt_client">mpanjifa GATT</string>
<string name="debug_max_client">mpanjifa max</string>
<string name="debug_overall_connections_fmt">fifandraisana: %1$d / %2$d</string>
<string name="debug_max_overall">max ankapobeny</string>
<string name="debug_packet_relay">relay pakets</string>
<string name="debug_since_start_fmt">hatramin\'ny fanombohana: %1$d</string>
<string name="debug_roles_hint">alefaso / tapaho ny andraikitra ary akatony ny fifandraisana rehetra rehefa tapaka</string>
<string name="debug_sync_settings">fametrahana sync</string>
<string name="debug_max_packets_per_sync_fmt">pakets max isaky ny sync: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">haben\'ny sivana GCS max: %1$d bytes (1281024)</string>
<string name="debug_target_fpr_fmt">FPR kendrena: %1$.2f%%</string>
<string name="debug_connected_devices">fitaovana mifandray</string>
<string name="debug_our_device_id_fmt">ID fitaovanay: %1$s</string>
<string name="debug_none">tsy misy</string>
<string name="debug_disconnect">hisaraka</string>
<string name="debug_recent_scan_results">valim-panadihadiana vao haingana</string>
<string name="debug_connect">hifandray</string>
<string name="debug_debug_console">console debug</string>
<string name="debug_clear">hamafa</string>
<string name="debug_relays_window_fmt">10s farany: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">P azo: %1$s • tombana singa max: %2$s</string>
<string name="debug_direct_suffix"> • mivantana</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">ho mpizara (isika mampiantrano)</string>
<string name="debug_role_client">ho mpanjifa (isika mifandray)</string>
<!-- Efijery fanombohana -->
<string name="location_services_required">Ilaina ny Sampan-draharaham-pitoerana</string>
<string name="privacy_first">Fiainana Manokana Voalohany</string>
<string name="location_explanation">Ny bitchat dia TSY manaraka ny toerananao.\n\nIlaina ny sampan-draharaham-pitoerana ho an\'ny scan Bluetooth sy ny endri-javatra resaka Geohash.</string>
<string name="location_needs_for">Ny bitchat dia mila sampan-draharaham-pitoerana ho an\'ny:</string>
<string name="location_needs_bullets">• Scan fitaovana Bluetooth\n• Fahitana mpampiasa akaiky amin\'ny tambazotry mesh\n• Endri-javatra resaka Geohash\n• Tsy misy fanaraha-maso na fanangonana toerana</string>
<string name="open_location_settings">Hanokatra Fametrahana Toerana</string>
<string name="check_again">Hanamarina Indray</string>
<string name="location_services_unavailable">Tsy Misy Sampan-draharaham-pitoerana</string>
<string name="location_unavailable_explanation">Tsy misy sampan-draharaham-pitoerana amin\'ity fitaovana ity. Mahagaga izany satria mahazatra amin\'ny fitaovana Android ny sampan-draharaham-pitoerana.\n\nMila sampan-draharaham-pitoerana ny bitchat mba hiasa tsara ny scan Bluetooth (takiana Android). Raha tsy izany, ny fampiharana dia tsy afaka mahita mpampiasa akaiky.</string>
<string name="checking_location_services">Manamarina sampan-draharaham-pitoerana...</string>
<string name="bluetooth_required">Ilaina ny Bluetooth</string>
<string name="bluetooth_needs_for">Mila Bluetooth ny bitchat mba:</string>
<string name="bluetooth_needs_bullets">• Hahita mpampiasa akaiky\n• Hamorona fifandraisana tambazotry mesh\n• Handefa sy handray hafatra\n• Hiasa tsy misy Internet na mpizara</string>
<string name="enable_bluetooth">Alefaso ny Bluetooth</string>
<string name="bluetooth_not_supported">Tsy Tohanana ny Bluetooth</string>
<string name="bluetooth_unsupported_explanation">Ity fitaovana ity dia tsy manohana ny Bluetooth Low Energy (BLE), izay ilaina mba hiasan\'ny bitchat.\n\nMila BLE ny bitchat mba hamoronana tambazotry mesh sy hifandray amin\'ny fitaovana akaiky tsy misy Internet.</string>
<string name="checking_bluetooth_status">Manamarina ny toe-javatra Bluetooth...</string>
<string name="battery_optimization_detected_title">hita ny fanamafisana bateria</string>
<string name="battery_optimization_enabled_title">Alefa ny Fanamafisana Bateria</string>
<string name="battery_optimization_explanation_short">Mila mihazakazaka ao ambadika ny bitchat mba hitazona ny fifandraisana mesh. ny fanamafisana bateria dia afaka manelingelina ireo fifandraisana ireo.</string>
<string name="benefits_of_disabling">Tombontsoam-panajanona</string>
<string name="battery_benefits_short">• fandefasana hafatra azo itokisana\n• mitazona ny fifandraisana mesh\n• misoroka ny fahatapahan\'ny fifandraisana</string>
<string name="disable_battery_optimization">Hajanona ny Fanamafisana Bateria</string>
<string name="battery_optimization_disabled_title">najanona ny fanamafisana bateria</string>
<string name="continue_btn">Hanohy</string>
<string name="initializing_mesh_network">Manomboka ny tambazotry mesh</string>
<string name="dot">.</string>
<string name="setting_up_bluetooth">Mametraka ny tambazotry mesh Bluetooth...</string>
<string name="should_take_seconds">Tokony haharitra segaondra vitsivitsy ihany izany</string>
<string name="warning_emoji">⚠️</string>
<string name="setup_not_complete">Tsy Vita ny Fametrahana</string>
<string name="try_again">Andramo Indray</string>
<string name="privacy_protected">Voaaro ny Fiainanao Manokana</string>
<string name="privacy_bullets">• tsy misy fanaraha-maso na fanangonana angona\n• tsy an-tserasera tanteraka ny resaka mesh Bluetooth\n• mampiasa Internet ny resaka Geohash</string>
<string name="permissions_header">alalana</string>
<string name="grant_permissions">Omeo Alalana</string>
<string name="location_tracking_warning">Ny bitchat dia TSY manaraka ny toerananao</string>
<string name="at_symbol">@</string>
<string name="app_brand">bitchat/</string>
<string name="channel_count_prefix"> · ⧉ </string>
<string name="geohash_people_header">OLONA</string>
<string name="nobody_around">tsy misy olona manodidina...</string>
<string name="you_suffix"> (ianao)</string>
<string name="pan_zoom_instruction">ahetsika sy ataovy lehibe mba hifidianana geohash</string>
<string name="select">hifidy</string>
<string name="type_a_message_placeholder">soraty hafatra...</string>
<string name="mention_suggestion_at">@%1$s</string>
<string name="mention">hanonona</string>
<string name="image_counter">%1$d / %2$d</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="at_nickname">@%1$s</string>
<string name="version_prefix">v%1$s</string>
<string name="hash_symbol">#</string>
<string name="underscore">_</string>
<string name="progress_bar_brackets">[%1$s] %2$d%%</string>
<string name="progress_filled"></string>
<string name="progress_empty"></string>
<string name="image_star">image/*</string>
<string name="media_type_image">Sary</string>
<string name="media_type_file">Rakitra</string>
<!-- Famantarana toe-javatra hafatra -->
<string name="status_sending"></string>
<string name="status_pending"></string>
<string name="status_sent"></string>
<string name="status_delivered">✓✓</string>
<string name="status_failed"></string>
<string name="status_read"></string>
<!-- Mpanampy lahatsoratra fampandrenesana -->
<string name="notification_sent_image">📷 nandefasa sary</string>
<string name="notification_sent_voice">🎤 nandefasa hafatra feo</string>
<string name="notification_sent_file">📎 nandefasa rakitra</string>
<string name="notification_file_pdf">📄</string>
<string name="notification_file_zip">🗜️</string>
<string name="notification_file_doc">📄</string>
<string name="notification_file_xls">📊</string>
<string name="notification_file_ppt">📈</string>
<string name="notification_file_generic">📎</string>
<!-- Fahafaha-miditra mpilalao feo -->
<string name="cd_play_voice">Hilalao</string>
<string name="cd_pause_voice">Hijanona</string>
<string name="cd_mining_pow">Mihaingam-poana PoW</string>
<string name="cd_pow_enabled">Alefa ny PoW</string>
<string name="cd_proof_of_work">Porofo Asa</string>
<string name="pow_mining_ellipsis">mihaingana...</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- Famaritana alalana -->
<string name="perm_nearby_devices_desc">Ilaina mba hahitana mpampiasa bitchat amin\'ny alalan\'ny Bluetooth</string>
<string name="perm_nearby_devices_system">Avelao ny bitchat hifandray amin\'ny fitaovana akaiky</string>
<string name="perm_location_desc">Takian\'ny Android mba hahitana mpampiasa bitchat akaiky amin\'ny alalan\'ny Bluetooth</string>
<string name="perm_location_system">Mila izany ny bitchat mba hisikidy fitaovana akaiky</string>
<string name="perm_notifications_desc">Mandray fampandrenesana rehefa mahazo hafatra manokana ianao</string>
<string name="perm_notifications_system">Avelao ny bitchat handefasa fampandrenesana aminao</string>
<string name="perm_battery_desc">Ajanony ny fanamafisana bateria mba hahazoana antoka fa mihazakazaka azo itokisana ao ambadika ny bitchat ary mitazona ny fifandraisana tambazotry mesh</string>
<string name="perm_battery_system">Avelao ny bitchat handeha tsy misy famerana bateria</string>
<!-- Karazana alalana -->
<string name="perm_type_nearby_devices">Fitaovana Akaiky</string>
<string name="perm_type_precise_location">Toerana Marina</string>
<string name="perm_type_microphone">Mikraofona</string>
<string name="perm_type_notifications">Fampandrenesana</string>
<string name="perm_type_battery_optimization">Fanamafisana Bateria</string>
<string name="perm_type_other">Hafa</string>
<!-- Fifanakalozan-dresaka fangatahana teny miafina -->
<string name="pwd_prompt_title">Ampidiro ny Teny Miafina Fantsona</string>
<string name="pwd_prompt_message">Voaaro amin\'ny teny miafina ny fantsona %1$s. Ampidiro ny teny miafina mba hidirana.</string>
<string name="pwd_label">Teny miafina</string>
<string name="join">Hiditra</string>
<string name="cancel">Hanafoana</string>
<!-- Plurals -->
<plurals name="notification_and_more">
<item quantity="one">ary %d hafa</item>
<item quantity="other">ary %d hafa</item>
</plurals>
<plurals name="people_count">
<item quantity="one">Olona 1</item>
<item quantity="other">Olona %d</item>
</plurals>
</resources>
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- TODO: Malay translations -->
</resources>
+366
View File
@@ -0,0 +1,366 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- अनुमति कारणहरू -->
<string name="permission_bluetooth_rationale">इन्टरनेट बिना प्रत्यक्ष कुराकानीका लागि ब्लुटुथ अनुमति आवश्यक हुन्छ।</string>
<string name="permission_location_rationale">ब्लुटुथमार्फत नजिकका यन्त्रहरू फेला पार्न स्थान अनुमति आवश्यक हुन्छ।</string>
<string name="permission_notification_rationale">नयाँ सन्देशबारे सूचित गर्न सूचनाको अनुमति आवश्यक हुन्छ।</string>
<!-- Placeholder / आधार UI -->
<string name="nickname_hint">उपनाम</string>
<string name="message_hint">सन्देश टाइप गर्नुहोस्…</string>
<string name="channel_password_hint">पासवर्ड</string>
<string name="join_channel">च्यानलमा जोडिनुहोस्</string>
<string name="leave_channel">छोड्नुहोस्</string>
<string name="send_message">पठाउनुहोस्</string>
<string name="show_commands">आज्ञाहरू देखाउनुहोस्</string>
<string name="back">पछाडि</string>
<string name="people">मानिसहरू</string>
<string name="channels">च्यानलहरू</string>
<string name="online_users">अनलाइन प्रयोगकर्ता</string>
<string name="no_one_connected">कसैसँग जडान छैन</string>
<string name="emergency_clear_hint">सबै डेटा मेटाउन तीन पटक ट्याप गर्नुहोस्</string>
<string name="your_network">सञ्जाल</string>
<!-- ब्याट्री अनुकूलन -->
<string name="battery_optimization_detected">ब्याट्री अनुकूलन भेटियो</string>
<string name="battery_optimization_disabled">ब्याट्री अनुकूलन बन्द</string>
<string name="battery_optimization_not_required">ब्याट्री अनुकूलन आवश्यक छैन</string>
<string name="battery_optimization_checking">ब्याट्री अनुकूलन जाँचिँदै</string>
<string name="battery_optimization_why_disable">ब्याट्री अनुकूलन किन बन्द गर्ने?</string>
<string name="battery_optimization_explanation">bitchat पछाडिबाट चल्छ ताकि नजिकका यन्त्रहरूसँग मेष जडान कायम रहोस्। ब्याट्री अनुकूलनले यी जडान विच्छेद गराउन सक्छ, जसले सन्देश ढिलो वा हराउन सक्छ।\n\nअनुकूलन बन्द गर्दा भरपर्दो peer‑to‑peer सन्देश सुनिश्चित हुन्छ।</string>
<string name="battery_optimization_disable_button">ब्याट्री अनुकूलन बन्द गर्नुहोस्</string>
<string name="battery_optimization_note">नोट: यो सेटिङ पछि Android सेटिङहरू &gt; Apps &gt; bitchat &gt; Battery मा परिवर्तन गर्न सकिन्छ।</string>
<string name="battery_optimization_not_supported_explanation">तपाईंको यन्त्रलाई ब्याट्री अनुकूलन सेटिङ आवश्यक छैन। bitchat सामान्य रूपमा चल्नेछ।</string>
<string name="battery_optimization_not_supported_message">तपाईंको यन्त्रलाई ब्याट्री अनुकूलन सेटिङ आवश्यक छैन। bitchat सामान्य रूपमा चल्नेछ।</string>
<string name="battery_optimization_success_message">bitchat पछाडिबाट भरपर्दो रूपमा चल्न सक्छ</string>
<string name="battery_optimization_benefits">• सन्देश विश्वसनीय डेलिभरी\n• मेष जडान कायम राख्ने\n• पृष्ठभूमिमा रिले\n• जडान विच्छेद हुन नदिने</string>
<string name="battery_optimization_check_again">फेरि जाँच्नुहोस्</string>
<string name="battery_optimization_skip">अहिलेलाई बेवास्ता गर्नुहोस्</string>
<string name="battery_optimization_continue">जारी राख्नुहोस्</string>
<string name="retry">फेरि प्रयास गर्नुहोस्</string>
<string name="skip">बेवास्ता गर्नुहोस्</string>
<!-- सूचनाहरू -->
<string name="notification_summary_more">र %1$d थप</string>
<string name="notification_messages_from_people">%1$d सन्देश %2$d जनाबाट</string>
<string name="notification_more_conversations">र %1$d अरू कुराकानी</string>
<string name="notification_active_peers_title">👥 नजिकै bitchatter हरू!</string>
<string name="notification_active_peers_one">१ जना नजिकै</string>
<string name="notification_active_peers_many">%1$d जना नजिकै</string>
<string name="notification_new_messages">नयाँ सन्देश</string>
<string name="notification_new_location_messages">नयाँ स्थान सन्देश</string>
<string name="notification_mentions_in">%1$s मा उल्लेख</string>
<string name="notification_mentions_in_more">%1$s मा उल्लेख (+%2$d थप)</string>
<string name="notification_mentions_in_plural">%1$d उल्लेख %2$s मा</string>
<string name="notification_new_activity_in">%1$s मा नयाँ गतिविधि</string>
<string name="notification_messages_in">%1$s मा सन्देश</string>
<string name="notification_joined_conversation">%1$s वार्तालापमा सामेल भयो</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d उल्लेख</string>
<string name="notification_geohash_summary_title">bitchat – स्थान च्याट</string>
<string name="notification_geohash_summary_text">%2$d स्थानबाट %1$d सन्देश</string>
<string name="notification_mesh_mention_title_singular">मेष च्याटमा उल्लेख</string>
<string name="notification_mesh_mention_title_plural">मेष च्याटमा %1$d उल्लेख</string>
<string name="notification_more_locations">र %1$d थप स्थान</string>
<string name="notification_and_more">र %1$d थप</string>
<!-- मनपर्ने / पहुँचयोग्यता -->
<string name="cd_add_favorite">मनपर्नेमा थप्नुहोस्</string>
<string name="cd_remove_favorite">मनपरिबाट हटाउनुहोस्</string>
<string name="cd_add_bookmark">बुकमार्क थप्नुहोस्</string>
<!-- च्याट शीर्षक / पहुँचयोग्यता -->
<string name="chat_back">पछाडि</string>
<string name="chat_channel_prefix">च्यानल: %1$s</string>
<string name="chat_leave">छोड्नुहोस्</string>
<string name="cd_nostr_reachable">Nostr मार्फत पुग्न सकिने</string>
<string name="cd_unread_private_messages">नपढिएका निजी सन्देश</string>
<string name="cd_toggle_bookmark">बुकमार्क टगल</string>
<string name="cd_teleported">टेलिपोर्ट भयो</string>
<string name="cd_tor_status">Tor स्थिति</string>
<string name="cd_connected_peers">जडान भएका साथीहरू</string>
<string name="cd_geohash_participants">Geohash सहभागिहरू</string>
<string name="cd_ready_for_handshake">ह्यान्डशेकका लागि तयार</string>
<string name="cd_handshake_in_progress">ह्यान्डशेक भइरहेको</string>
<string name="cd_encrypted">अन्त्यदेखि अन्त्य एनक्रिप्टेड</string>
<string name="cd_handshake_failed">ह्यान्डशेक असफल</string>
<!-- फाइल दर्शक संवाद -->
<string name="file_viewer_title">📎 फाइल प्राप्त भयो</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 साइज: %1$s</string>
<string name="file_viewer_type">🏷️ प्रकार: %1$s</string>
<string name="file_viewer_open_save">📂 खोल्नुहोस् / बचत गर्नुहोस्</string>
<string name="close_with_emoji">❌ बन्द गर्नुहोस्</string>
<string name="pick_image">तस्वीर छान्नुहोस्</string>
<!-- अबाउट शीट -->
<string name="about_tagline">विकेन्द्रित मेष सन्देश अन्त्यदेखि अन्त्य इन्क्रिप्सनसहित</string>
<string name="about_offline_mesh_title">अफलाइन मेष च्याट</string>
<string name="about_offline_mesh_desc">इन्टरनेट वा सर्भर बिना सिधै Bluetooth LE मार्फत सञ्चार गर्नुहोस्। नजिकका यन्त्रहरूबाट सन्देश रिल레이 हुन्छ।</string>
<string name="about_online_geohash_title">अनलाइन Geohash च्यानलहरू</string>
<string name="about_online_geohash_desc">Geohash आधारित च्यानलमार्फत नजिकका मानिसहरूसँग जोडिनुहोस्। सार्वजनिक इन्टरनेट रिलेलाई प्रयोग गरेर मेष विस्तार गर्नुहोस्।</string>
<string name="about_e2e_title">एन्ड‑टु‑एन्ड इन्क्रिप्सन</string>
<string name="about_e2e_desc">निजी सन्देश इन्क्रिप्टेड हुन्छन्। च्यानल सन्देश सार्वजनिक हुन्छन्।</string>
<string name="about_appearance">देखावट</string>
<string name="about_system">सिस्टम</string>
<string name="about_light">हल्का</string>
<string name="about_dark">गाढा</string>
<string name="about_pow">प्रुफ अफ वर्क</string>
<string name="about_pow_off">pow बन्द</string>
<string name="about_pow_on">pow चालु</string>
<string name="about_pow_tip">स्पाम रोकथामका लागि geohash सन्देशमा proof of work थप्नुहोस्।</string>
<string name="about_pow_difficulty">कठिनाइ: %1$d बिट (~%2$s)</string>
<string name="about_pow_difficulty_attempts">कठिनाइ %1$d का लागि ~%2$s ह्यास प्रयास</string>
<string name="about_pow_desc_none">proof of work आवश्यक छैन</string>
<string name="about_pow_desc_very_low">अति कम – न्यून सुरक्षा</string>
<string name="about_pow_desc_low">कम – आधारभूत सुरक्षा</string>
<string name="about_pow_desc_medium">मध्यम – राम्रो सुरक्षा</string>
<string name="about_pow_desc_high">उच्च – बलियो सुरक्षा</string>
<string name="about_pow_desc_very_high">एकदम उच्च – ढिलाइ हुन सक्छ</string>
<string name="about_pow_desc_extreme">अत्यधिक – धेरै गणना आवश्यक</string>
<string name="about_network">सञ्जाल</string>
<string name="about_tor_off">tor बन्द</string>
<string name="about_tor_on">tor चालु</string>
<string name="about_tor_route">बढी गोपनीयताका लागि Tor मार्फत इन्टरनेट रुट गर्नुहोस्।</string>
<string name="about_tor_status">Tor स्थिति: %1$s, बुटस्ट्र्याप %2$d%%</string>
<string name="about_last">अन्तिम: %1$s</string>
<string name="about_emergency_title">आपतकालीन डेटा मेटाउने</string>
<string name="about_emergency_tip">सुझाव: एप शीर्षक तीन पटक ट्याप गरी सबै डेटा (सन्देश, कुञ्जी, सेटिङ) मेटाउनुहोस्।</string>
<string name="about_debug_settings">डिबग सेटिङ</string>
<string name="about_footer">Open Source • Privacy First • विकेन्द्रित</string>
<string name="close_plain">बन्द गर्नुहोस्</string>
<string name="cancel_lower">रद्द गर्नुहोस्</string>
<!-- सामान्य CD -->
<string name="cd_warning">चेतावनी</string>
<string name="cd_location_services">स्थान सेवाहरू</string>
<string name="cd_privacy">गोपनीयता</string>
<string name="cd_error">त्रुटि</string>
<string name="cd_battery_optimization">ब्याट्री अनुकूलन</string>
<string name="cd_benefits">फाइदाहरू</string>
<string name="cd_checking_battery_optimization">ब्याट्री अनुकूलन जाँचिँदै</string>
<string name="cd_not_supported_battery_optimization">समर्थन छैन</string>
<string name="cd_bluetooth">ब्लुटुथ</string>
<string name="cd_unread_message">नपढिएको सन्देश</string>
<string name="cd_open_map">नक्सा खोल्नुहोस्</string>
<string name="cd_remove_bookmark">बुकमार्क हटाउनुहोस्</string>
<string name="cd_teleport">टेलिपोर्ट</string>
<string name="cd_selected">छानिएको</string>
<string name="cd_leave_channel">च्यानल छोड्नुहोस्</string>
<string name="cd_reachable_via_nostr">Nostr बाट पहुँचयोग्य</string>
<string name="cd_offline_favorite">मनपर्ने (अफलाइन)</string>
<string name="cd_decrease_precision">शुद्धता घटाउनुहोस्</string>
<string name="cd_increase_precision">शुद्धता बढाउनुहोस्</string>
<string name="cd_select_geohash">geohash छान्नुहोस्</string>
<string name="cd_scroll_to_bottom">तल स्क्रोल गर्नुहोस्</string>
<string name="cd_file">फाइल</string>
<string name="cd_image">तस्वीर</string>
<string name="cd_cancel">रद्द</string>
<string name="cd_link">लिङ्क</string>
<string name="cd_pick_media">मेडिया छान्नुहोस्</string>
<string name="cd_record_voice">भ्वाइस नोट रेकर्ड</string>
<string name="cd_offline_mesh_chat">अफलाइन मेष च्याट</string>
<string name="cd_online_geohash_channels">अनलाइन Geohash च्यानल</string>
<string name="cd_end_to_end_encryption">एन्ड‑टु‑एन्ड इन्क्रिप्सन</string>
<!-- छवि / फाइल -->
<string name="image_page_of">तस्वीर %1$d / %2$d</string>
<string name="image_unavailable">तस्वीर उपलब्ध छैन</string>
<string name="image_saved_to_downloads">तस्वीर "Downloads" मा सुरक्षित भयो</string>
<string name="image_save_failed">तस्वीर बचत असफल</string>
<string name="pick_file">फाइल छान्नुहोस्</string>
<string name="file_unavailable">[फाइल उपलब्ध छैन]</string>
<string name="unknown">अज्ञात</string>
<!-- प्रयोगकर्ता कार्य शीट -->
<string name="choose_action_message_or_user">यो सन्देश वा प्रयोगकर्ताका लागि कार्य छान्नुहोस्</string>
<string name="choose_action_user">यस प्रयोगकर्ताका लागि कार्य छान्नुहोस्</string>
<string name="action_copy_message_title">सन्देश प्रतिलिपि</string>
<string name="action_copy_message_subtitle">यो सन्देश क्लिपबोर्डमा प्रतिलिपि गर्नुहोस्</string>
<string name="action_slap_title">%1$s लाई चड्कन</string>
<string name="action_slap_subtitle">मनोरञ्जनका लागि चड्कन पठाउनुहोस्</string>
<string name="action_hug_title">%1$s लाई अँगालो</string>
<string name="action_hug_subtitle">मैत्रीपूर्ण अँगालो पठाउनुहोस्</string>
<string name="action_block_title">%1$s लाई ब्लक गर्नुहोस्</string>
<string name="action_block_subtitle">यस प्रयोगकर्ताबाट सबै सन्देश ब्लक गर्नुहोस्</string>
<!-- स्थान च्यानल शीट -->
<string name="location_channels_title">#स्थान च्यानल</string>
<string name="location_channels_desc">तपाईंको वरिपरिका मानिसहरूसँग geohash च्यानल प्रयोग गरी च्याट गर्नुहोस्। केवल सामान्य geohash साझा हुन्छ, कहिल्यै ठ्याक्कै GPS होइन। गोपनीयताका लागि स्क्रिनसट नलिनुहोस् र नबाँड्नुहोस्।</string>
<string name="grant_location_permission">स्थान अनुमति दिनुहोस्</string>
<string name="location_permission_denied">स्थान अनुमति अस्वीकार। स्थान च्यानल प्रयोग गर्न सेटिङमा सक्षम गर्नुहोस्।</string>
<string name="open_settings">सेटिङ खोल्नुहोस्</string>
<string name="location_permission_granted">\u2713 स्थान अनुमति दिइयो</string>
<string name="checking_permissions">अनुमति जाँचिँदै…</string>
<string name="finding_nearby_channels">नजिकका च्यानल खोजिँदै…</string>
<string name="bookmarked">बुकमार्क गरिएको</string>
<string name="geohash_placeholder">geohash</string>
<string name="invalid_geohash">अवैध geohash</string>
<string name="teleport">टेलिपोर्ट</string>
<string name="disable_location_services">स्थान सेवाहरू बन्द गर्नुहोस्</string>
<string name="enable_location_services">स्थान सेवाहरू सुरु गर्नुहोस्</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">ब्लक</string>
<string name="location_level_neighborhood">छिमेक</string>
<string name="location_level_city">सहर</string>
<string name="location_level_province">प्रान्त</string>
<string name="location_level_region">क्षेत्र</string>
<!-- डिबग / निदान -->
<string name="debug_tools">डिबग उपकरण</string>
<string name="debug_verbose_logging">विस्तृत लगिङ</string>
<string name="debug_bluetooth_roles">ब्लुटुथ भूमिकाहरू</string>
<string name="debug_gatt_server">GATT सर्भर</string>
<string name="debug_connections_fmt">जडान: %1$d / %2$d</string>
<string name="debug_max_server">अधिकतम सर्भर</string>
<string name="debug_gatt_client">GATT क्लाइन्ट</string>
<string name="debug_max_client">अधिकतम क्लाइन्ट</string>
<string name="debug_overall_connections_fmt">जडान: %1$d / %2$d</string>
<string name="debug_max_overall">अधिकतम कुल</string>
<string name="debug_packet_relay">प्याकेट रिल레이</string>
<string name="debug_since_start_fmt">सुरु भएकोयता: %1$d</string>
<string name="debug_sync_settings">सिङ्क सेटिङ</string>
<string name="debug_max_packets_per_sync_fmt">प्रत्येक सिङ्कका अधिकतम प्याकेट: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">GCS फिल्टर साइज अधिकतम: %1$d बाइट (1281024)</string>
<string name="debug_target_fpr_fmt">लक्ष्य FPR: %1$.2f%%</string>
<string name="debug_connected_devices">जडान भएका यन्त्रहरू</string>
<string name="debug_our_device_id_fmt">हाम्रो यन्त्र आईडी: %1$s</string>
<string name="debug_none">केही छैन</string>
<string name="debug_disconnect">डिस्कनेक्ट</string>
<string name="debug_recent_scan_results">हालैका स्क्यान नतिजा</string>
<string name="debug_connect">जोड्नुहोस्</string>
<string name="debug_debug_console">डिबग कन्सोल</string>
<string name="debug_clear">खाली गर्नुहोस्</string>
<string name="debug_relays_window_fmt">अन्तिम 10s: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">व्युत्पन्न P: %1$s • अनुमानित अधिकतम तत्व: %2$s</string>
<string name="debug_direct_suffix"> • प्रत्यक्ष</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_question_mark">?</string>
<string name="debug_role_server">सर्भरको रूपमा (हामी होस्ट गर्छौं)</string>
<string name="debug_role_client">क्लाइन्टको रूपमा (हामी जडान गर्छौं)</string>
<!-- अनबोर्डिङ स्क्रिन -->
<string name="location_services_required">स्थान सेवाहरू आवश्यक</string>
<string name="privacy_first">गोपनीयता पहिलो</string>
<string name="location_explanation">bitchat ले तपाईंको स्थान पछ्याउँदैन।\n\nब्लुटुथ स्क्यान र Geohash च्याट सुविधा लागि स्थान सेवा आवश्यक छन्।</string>
<string name="location_needs_for">bitchat लाई स्थान सेवा आवश्यक पर्छ:</string>
<string name="location_needs_bullets">• ब्लुटुथ यन्त्र स्क्यान\n• मेष सञ्जालमा नजिकका प्रयोगकर्ता पत्ता लगाउने\n• Geohash च्याट सुविधा\n• कुनै ट्र्याकिङ वा स्थान सङ्कलन छैन</string>
<string name="open_location_settings">स्थान सेटिङ खोल्नुहोस्</string>
<string name="check_again">फेरि जाँच्नुहोस्</string>
<string name="location_services_unavailable">स्थान सेवाहरू उपलब्ध छैनन्</string>
<string name="location_unavailable_explanation">यस यन्त्रमा स्थान सेवाहरू उपलब्ध छैनन्। यो असामान्य हो किनकि Android यन्त्रमा यो मानक हो।\n\nब्लुटुथ स्क्यान ठीकसँग चल्न (Android को आवश्यक) स्थान सेवा चाहिन्छ। अन्यथा नजिकका प्रयोगकर्ता पत्ता लाग्दैनन्।</string>
<string name="checking_location_services">स्थान सेवाहरू जाँचिँदै…</string>
<string name="bluetooth_required">ब्लुटुथ आवश्यक</string>
<string name="bluetooth_needs_for">bitchat लाई ब्लुटुथ आवश्यक छ:</string>
<string name="bluetooth_needs_bullets">• नजिकका प्रयोगकर्ता पत्ता लगाउने\n• मेष जडान बनाउने\n• सन्देश पठाउने/प्राप्त गर्ने\n• इन्टरनेट वा सर्भर बिना काम गर्ने</string>
<string name="enable_bluetooth">ब्लुटुथ सक्षम गर्नुहोस्</string>
<string name="bluetooth_not_supported">ब्लुटुथ समर्थित छैन</string>
<string name="bluetooth_unsupported_explanation">यो यन्त्रले Bluetooth Low Energy (BLE) समर्थन गर्दैन, जुन bitchat को लागि आवश्यक छ।\n\nनजिकका यन्त्रहरूसँग इन्टरनेट बिना सञ्चार गर्न र मेष बनाउन BLE चाहिन्छ।</string>
<string name="checking_bluetooth_status">ब्लुटुथ स्थिति जाँचिँदै…</string>
<string name="battery_optimization_detected_title">ब्याट्री अनुकूलन भेटियो</string>
<string name="battery_optimization_enabled_title">ब्याट्री अनुकूलन सक्षम</string>
<string name="battery_optimization_explanation_short">मेष जडान कायम राख्न bitchat पछाडिबाट चल्नुपर्छ। ब्याट्री अनुकूलनले जडान काट्न सक्छ।</string>
<string name="benefits_of_disabling">बन्द गर्ने फाइदाहरू</string>
<string name="battery_benefits_short">• भरपर्दो डेलिभरी\n• मेष कन्नेक्टिभिटी कायम\n• विच्छेद रोक्छ</string>
<string name="disable_battery_optimization">अनुकूलन बन्द गर्नुहोस्</string>
<string name="battery_optimization_disabled_title">ब्याट्री अनुकूलन बन्द</string>
<string name="continue_btn">जारी राख्नुहोस्</string>
<string name="initializing_mesh_network">मेष सञ्जाल सुरु गर्दै</string>
<string name="dot">.</string>
<string name="setting_up_bluetooth">ब्लुटुथ मेष सेटअप गर्दै…</string>
<string name="should_take_seconds">यसलाई केही सेकेन्ड मात्र लाग्छ</string>
<string name="warning_emoji">⚠️</string>
<string name="setup_not_complete">सेटअप पूरा भएन</string>
<string name="try_again">फेरि प्रयास गर्नुहोस्</string>
<string name="privacy_protected">तपाईंको गोपनीयता सुरक्षित छ</string>
<string name="privacy_bullets">• कुनै ट्र्याकिङ वा डेटा सङ्कलन छैन\n• ब्लुटुथ मेष च्याट पूर्णतया अफलाइन\n• Geohash च्याट इन्टरनेट प्रयोग गर्छ</string>
<string name="permissions_header">अनुमति</string>
<string name="grant_permissions">अनुमति दिनुहोस्</string>
<string name="location_tracking_warning">bitchat ले तपाईंको स्थान पछ्याउँदैन</string>
<string name="at_symbol">@</string>
<string name="app_brand">bitchat/</string>
<string name="channel_count_prefix"> · ⧉ </string>
<string name="geohash_people_header">मानिसहरू</string>
<string name="nobody_around">वरिपरि कोही छैन…</string>
<string name="you_suffix"> (तपाईं)</string>
<string name="pan_zoom_instruction">geohash छान्न प्यान र जुम गर्नुहोस्</string>
<string name="select">छान्नुहोस्</string>
<string name="type_a_message_placeholder">सन्देश टाइप गर्नुहोस्…</string>
<string name="mention_suggestion_at">@%1$s</string>
<string name="mention">उल्लेख</string>
<string name="image_counter">%1$d / %2$d</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="at_nickname">@%1$s</string>
<string name="version_prefix">v%1$s</string>
<string name="hash_symbol">#</string>
<string name="underscore">_</string>
<string name="progress_bar_brackets">[%1$s] %2$d%%</string>
<string name="progress_filled"></string>
<string name="progress_empty"></string>
<string name="image_star">image/*</string>
<string name="media_type_image">तस्वीर</string>
<string name="media_type_file">फाइल</string>
<!-- सन्देश स्थिति -->
<string name="status_sending"></string>
<string name="status_pending"></string>
<string name="status_sent"></string>
<string name="status_delivered">✓✓</string>
<string name="status_failed"></string>
<string name="status_read"></string>
<!-- सूचना पाठ सहायक -->
<string name="notification_sent_image">📷 तस्वीर पठाइयो</string>
<string name="notification_sent_voice">🎤 भ्वाइस सन्देश पठाइयो</string>
<string name="notification_sent_file">📎 फाइल पठाइयो</string>
<string name="notification_file_pdf">📄</string>
<string name="notification_file_zip">🗜️</string>
<string name="notification_file_doc">📄</string>
<string name="notification_file_xls">📊</string>
<string name="notification_file_ppt">📈</string>
<string name="notification_file_generic">📎</string>
<!-- भ्वाइस प्लेयर पहुँचयोग्यता -->
<string name="cd_play_voice">प्ले</string>
<string name="cd_pause_voice">पज</string>
<!-- अनुमति विवरण -->
<string name="perm_nearby_devices_desc">ब्लुटुथमार्फत bitchat प्रयोगकर्ता फेला पार्न आवश्यक</string>
<string name="perm_nearby_devices_system">bitchat लाई नजिकका यन्त्र जडान गर्न अनुमति दिनुहोस्</string>
<string name="perm_location_desc">Android अनुसार ब्लुटुथमार्फत नजिकका प्रयोगकर्ता फेला पार्न आवश्यक</string>
<string name="perm_location_system">नजिकका यन्त्र स्क्यान गर्न bitchat लाई आवश्यक</string>
<string name="perm_notifications_desc">निजी सन्देश आउँदा सूचना पाउनुहोस्</string>
<string name="perm_notifications_system">bitchat लाई तपाईंलाई सूचना पठाउन दिनुहोस्</string>
<string name="perm_battery_desc">bitchat लाई पछाडिबाट भरपर्दो रूपमा चलाउन र मेष जडान कायम राख्न ब्याट्री अनुकूलन बन्द गर्नुहोस्</string>
<string name="perm_battery_system">ब्याट्री प्रतिबन्ध बिना चल्न अनुमति दिनुहोस्</string>
<!-- अनुमति प्रकार -->
<string name="perm_type_nearby_devices">नजिकका यन्त्रहरू</string>
<string name="perm_type_precise_location">ठ्याक्कै स्थान</string>
<string name="perm_type_microphone">माइक</string>
<string name="perm_type_notifications">सूचना</string>
<string name="perm_type_battery_optimization">ब्याट्री अनुकूलन</string>
<string name="perm_type_other">अन्य</string>
<!-- पासवर्ड संवाद -->
<string name="pwd_prompt_title">च्यानल पासवर्ड प्रविष्ट गर्नुहोस्</string>
<string name="pwd_prompt_message">%1$s च्यानल पासवर्ड सुरक्षित छ। जडान हुन पासवर्ड लेख्नुहोस्।</string>
<string name="pwd_label">पासवर्ड</string>
<string name="join">जोडिनुहोस्</string>
<string name="cancel">रद्द</string>
<!-- Plurals -->
<plurals name="notification_and_more">
<item quantity="one">र %d थप</item>
<item quantity="other">र %d थप</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 जना</item>
<item quantity="other">%d जना</item>
</plurals>
</resources>
+385
View File
@@ -0,0 +1,385 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- Toestemmingsredenen -->
<string name="permission_bluetooth_rationale">Bluetooth-toestemming is vereist voor peer-to-peer berichten zonder internet.</string>
<string name="permission_location_rationale">Locatietoestemming is vereist om apparaten in de buurt via Bluetooth te ontdekken.</string>
<string name="permission_notification_rationale">Meldingstoestemming is vereist om u te waarschuwen voor nieuwe berichten.</string>
<!-- Tijdelijke aanduidingen / basis UI -->
<string name="nickname_hint">bijnaam</string>
<string name="message_hint">typ een bericht…</string>
<string name="channel_password_hint">Wachtwoord</string>
<string name="join_channel">Kanaal deelnemen</string>
<string name="leave_channel">Verlaten</string>
<string name="send_message">Verzenden</string>
<string name="show_commands">Commando\'s weergeven</string>
<string name="back">Terug</string>
<string name="people">Personen</string>
<string name="channels">Kanalen</string>
<string name="online_users">Online gebruikers</string>
<string name="no_one_connected">Niemand verbonden</string>
<string name="emergency_clear_hint">Tik drie keer om alle gegevens te wissen</string>
<string name="your_network">Netwerk</string>
<!-- Batterijoptimalisatie -->
<string name="battery_optimization_detected">Batterijoptimalisatie gedetecteerd</string>
<string name="battery_optimization_disabled">Batterijoptimalisatie uitgeschakeld</string>
<string name="battery_optimization_not_required">Batterijoptimalisatie niet vereist</string>
<string name="battery_optimization_checking">Batterijoptimalisatie controleren</string>
<string name="battery_optimization_why_disable">Waarom batterijoptimalisatie uitschakelen?</string>
<string name="battery_optimization_explanation">bitchat draait op de achtergrond om meshnetwerkverbindingen met apparaten in de buurt te onderhouden. Batterijoptimalisatie kan deze verbindingen onderbreken, waardoor berichten vertraagd of gemist worden.\n\nHet uitschakelen van batterijoptimalisatie zorgt voor betrouwbare peer-to-peer communicatie.</string>
<string name="battery_optimization_disable_button">Batterijoptimalisatie uitschakelen</string>
<string name="battery_optimization_note">Opmerking: U kunt deze instelling later wijzigen in Android-instellingen &gt; Apps &gt; bitchat &gt; Batterij</string>
<string name="battery_optimization_not_supported_explanation">Uw apparaat vereist geen batterijoptimalisatie-instellingen. bitchat zal normaal draaien.</string>
<string name="battery_optimization_not_supported_message">Uw apparaat vereist geen batterijoptimalisatie-instellingen. bitchat zal normaal draaien.</string>
<string name="battery_optimization_success_message">bitchat kan betrouwbaar op de achtergrond draaien</string>
<string name="battery_optimization_benefits">• Zorgt voor betrouwbare berichtbezorging\n• Onderhoudt meshnetwerkconnectiviteit\n• Staat berichtrelay op achtergrond toe\n• Voorkomt verbindingsonderbrekingen</string>
<string name="battery_optimization_check_again">Opnieuw controleren</string>
<string name="battery_optimization_skip">Nu overslaan</string>
<string name="battery_optimization_continue">Doorgaan</string>
<string name="retry">Opnieuw proberen</string>
<string name="skip">Overslaan</string>
<!-- Meldingen -->
<string name="notification_summary_more">en %1$d meer</string>
<string name="notification_messages_from_people">%1$d berichten van %2$d personen</string>
<string name="notification_more_conversations">en %1$d meer conversaties</string>
<string name="notification_active_peers_title">👥 bitchatters in de buurt!</string>
<string name="notification_active_peers_one">1 persoon in de buurt</string>
<string name="notification_active_peers_many">%1$d personen in de buurt</string>
<string name="notification_new_messages">Nieuwe berichten</string>
<string name="notification_new_location_messages">Nieuwe locatieberichten</string>
<string name="notification_mentions_in">Vermeld in %1$s</string>
<string name="notification_mentions_in_more">Vermeld in %1$s (+%2$d meer)</string>
<string name="notification_mentions_in_plural">%1$d vermeldingen in %2$s</string>
<string name="notification_new_activity_in">Nieuwe activiteit in %1$s</string>
<string name="notification_messages_in">Berichten in %1$s</string>
<string name="notification_joined_conversation">%1$s is toegetreden tot het gesprek</string>
<string name="notification_geohash_summary_title_mentions">bitchat - %1$d vermeldingen</string>
<string name="notification_geohash_summary_title">bitchat - locatiechats</string>
<string name="notification_geohash_summary_text">%1$d berichten van %2$d locaties</string>
<string name="notification_mesh_mention_title_singular">Vermeld in meshchat</string>
<string name="notification_mesh_mention_title_plural">%1$d vermeldingen in meshchat</string>
<string name="notification_more_locations">en %1$d meer locaties</string>
<string name="notification_and_more">en %1$d meer</string>
<!-- Favorieten toegankelijkheid -->
<string name="cd_add_favorite">Toevoegen aan favorieten</string>
<string name="cd_remove_favorite">Verwijderen uit favorieten</string>
<string name="cd_add_bookmark">Bladwijzer toevoegen</string>
<!-- Chatkop & toegankelijkheid -->
<string name="chat_back">terug</string>
<string name="chat_channel_prefix">kanaal: %1$s</string>
<string name="chat_leave">verlaten</string>
<string name="cd_nostr_reachable">Bereikbaar via Nostr</string>
<string name="cd_unread_private_messages">Ongelezen privéberichten</string>
<string name="cd_toggle_bookmark">Bladwijzer omschakelen</string>
<string name="cd_teleported">Geteleporteerd</string>
<string name="cd_tor_status">Tor-status</string>
<string name="cd_connected_peers">Verbonden peers</string>
<string name="cd_geohash_participants">Geohash-deelnemers</string>
<string name="cd_ready_for_handshake">Klaar voor handshake</string>
<string name="cd_handshake_in_progress">Handshake bezig</string>
<string name="cd_encrypted">End-to-end versleuteld</string>
<string name="cd_handshake_failed">Handshake mislukt</string>
<!-- Bestandsweergave dialoog -->
<string name="file_viewer_title">📎 Bestand ontvangen</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Grootte: %1$s</string>
<string name="file_viewer_type">🏷️ Type: %1$s</string>
<string name="file_viewer_open_save">📂 Openen / Opslaan</string>
<string name="close_with_emoji">❌ Sluiten</string>
<string name="pick_image">Afbeelding kiezen</string>
<!-- Info-sheet -->
<string name="about_tagline">gedecentraliseerde meshcommunicatie met end-to-end-versleuteling</string>
<string name="about_offline_mesh_title">Offline meshchat</string>
<string name="about_offline_mesh_desc">Communiceer rechtstreeks via Bluetooth LE zonder internet of servers. Berichten worden doorgestuurd via apparaten in de buurt om het bereik te vergroten.</string>
<string name="about_online_geohash_title">Online geohash-kanalen</string>
<string name="about_online_geohash_desc">Maak contact met mensen in uw omgeving met geohash-gebaseerde kanalen. Breid het mesh uit met openbare internetrelays.</string>
<string name="about_e2e_title">End-to-end-versleuteling</string>
<string name="about_e2e_desc">Privéberichten zijn versleuteld. Kanaalberichten zijn openbaar.</string>
<string name="about_appearance">uiterlijk</string>
<string name="about_system">systeem</string>
<string name="about_light">licht</string>
<string name="about_dark">donker</string>
<string name="about_pow">proof of work</string>
<string name="about_pow_off">PoW uit</string>
<string name="about_pow_on">PoW aan</string>
<string name="about_pow_tip">voeg proof of work toe aan geohash-berichten voor spamafschrikking.</string>
<string name="about_pow_difficulty">moeilijkheidsgraad: %1$d bits (~%2$s)</string>
<string name="about_pow_difficulty_attempts">moeilijkheidsgraad %1$d vereist ~%2$s hash-pogingen</string>
<string name="about_pow_desc_none">geen proof of work vereist</string>
<string name="about_pow_desc_very_low">zeer laag - minimale spambescherming</string>
<string name="about_pow_desc_low">laag - basis spambescherming</string>
<string name="about_pow_desc_medium">gemiddeld - goede spambescherming</string>
<string name="about_pow_desc_high">hoog - sterke spambescherming</string>
<string name="about_pow_desc_very_high">zeer hoog - kan vertragingen veroorzaken</string>
<string name="about_pow_desc_extreme">extreem - aanzienlijke berekening vereist</string>
<string name="about_network">netwerk</string>
<string name="about_tor_off">Tor uit</string>
<string name="about_tor_on">Tor aan</string>
<string name="about_tor_route">route internet via Tor voor verbeterde privacy.</string>
<string name="about_tor_status">Tor-status: %1$s, bootstrap %2$d%%</string>
<string name="about_last">Laatste: %1$s</string>
<string name="about_emergency_title">Noodgegevensverwijdering</string>
<string name="about_emergency_tip">Tip: Driedubbel klik op de app-titel om alle opgeslagen gegevens inclusief berichten, sleutels en instellingen noodmatig te verwijderen.</string>
<string name="about_debug_settings">Debug-instellingen</string>
<string name="about_footer">Open Source • Privacy First • Gedecentraliseerd</string>
<string name="close_plain">Sluiten</string>
<string name="cancel_lower">annuleren</string>
<!-- Algemene content-beschrijvingen -->
<string name="cd_warning">Waarschuwing</string>
<string name="cd_location_services">Locatiediensten</string>
<string name="cd_privacy">Privacy</string>
<string name="cd_error">Fout</string>
<string name="cd_battery_optimization">Batterijoptimalisatie</string>
<string name="cd_benefits">Voordelen</string>
<string name="cd_checking_battery_optimization">Batterijoptimalisatie controleren</string>
<string name="cd_not_supported_battery_optimization">Batterijoptimalisatie niet ondersteund</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Ongelezen bericht</string>
<string name="cd_open_map">Kaart openen</string>
<string name="cd_remove_bookmark">Bladwijzer verwijderen</string>
<string name="cd_teleport">Teleporteren</string>
<string name="cd_selected">Geselecteerd</string>
<string name="cd_leave_channel">Kanaal verlaten</string>
<string name="cd_reachable_via_nostr">Bereikbaar via Nostr</string>
<string name="cd_offline_favorite">Offline favoriet</string>
<string name="cd_decrease_precision">Precisie verlagen</string>
<string name="cd_increase_precision">Precisie verhogen</string>
<string name="cd_select_geohash">Geohash selecteren</string>
<string name="cd_scroll_to_bottom">Naar beneden scrollen</string>
<string name="cd_file">Bestand</string>
<string name="cd_image">Afbeelding</string>
<string name="cd_cancel">Annuleren</string>
<string name="cd_link">Link</string>
<string name="cd_pick_media">Media kiezen</string>
<string name="cd_pick_file">Bestand kiezen</string>
<string name="cd_save_current_image">Huidige afbeelding opslaan</string>
<string name="cd_close">Sluiten</string>
<string name="cd_image_index_of">Afbeelding %1$d van %2$d</string>
<string name="cd_privacy_protected">Privacy beschermd</string>
<string name="cd_record_voice">Spraaknotitie opnemen</string>
<string name="cd_offline_mesh_chat">Offline meshchat</string>
<string name="cd_online_geohash_channels">Online geohash-kanalen</string>
<string name="cd_end_to_end_encryption">End-to-end-versleuteling</string>
<!-- Afbeeldingen & bestanden -->
<string name="image_page_of">Afbeelding %1$d van %2$d</string>
<string name="image_unavailable">Afbeelding niet beschikbaar</string>
<string name="image_saved_to_downloads">Afbeelding opgeslagen in Downloads</string>
<string name="image_save_failed">Opslaan afbeelding mislukt</string>
<string name="toast_image_saved">Afbeelding opgeslagen in Downloads</string>
<string name="toast_failed_to_save_image">Opslaan afbeelding mislukt</string>
<string name="pick_file">Bestand kiezen</string>
<string name="file_unavailable">[bestand niet beschikbaar]</string>
<string name="unknown">onbekend</string>
<!-- Gebruikersactie-sheet -->
<string name="choose_action_message_or_user">kies een actie voor dit bericht of deze gebruiker</string>
<string name="choose_action_user">kies een actie voor deze gebruiker</string>
<string name="action_copy_message_title">bericht kopiëren</string>
<string name="action_copy_message_subtitle">kopieer dit bericht naar klembord</string>
<string name="action_slap_title">%1$s een tik geven</string>
<string name="action_slap_subtitle">stuur een speelse tik</string>
<string name="action_hug_title">%1$s knuffelen</string>
<string name="action_hug_subtitle">stuur een vriendelijke knuffel</string>
<string name="action_block_title">%1$s blokkeren</string>
<string name="action_block_subtitle">blokkeer alle berichten van deze gebruiker</string>
<!-- Locatiekanalen sheet -->
<string name="location_channels_title">#locatiekanalen</string>
<string name="location_channels_desc">chat met mensen in uw buurt via geohash-kanalen. alleen een grove geohash wordt gedeeld, nooit exacte GPS. maak geen screenshot of deel dit scherm niet om uw privacy te beschermen.</string>
<string name="grant_location_permission">locatietoestemming verlenen</string>
<string name="location_permission_denied">locatietoestemming geweigerd. schakel in instellingen in om locatiekanalen te gebruiken.</string>
<string name="open_settings">Instellingen openen</string>
<string name="location_permission_granted">\u2713 locatietoestemming verleend</string>
<string name="checking_permissions">toestemmingen controleren…</string>
<string name="finding_nearby_channels">nabije kanalen zoeken…</string>
<string name="bookmarked">bladwijzer toegevoegd</string>
<string name="geohash_placeholder">geohash</string>
<string name="invalid_geohash">ongeldige geohash</string>
<string name="teleport">teleporteren</string>
<string name="disable_location_services">locatiediensten uitschakelen</string>
<string name="enable_location_services">locatiediensten inschakelen</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">blok</string>
<string name="location_level_neighborhood">buurt</string>
<string name="location_level_city">stad</string>
<string name="location_level_province">provincie</string>
<string name="location_level_region">regio</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- Debug / Diagnostiek -->
<string name="debug_tools">debug-tools</string>
<string name="debug_tools_desc">ontwikkelaarsgereedschap voor diagnostiek en controle</string>
<string name="debug_verbose_logging">uitgebreide logging</string>
<string name="debug_verbose_hint">logt peer deelnames/vertrek, verbindingsrichting, pakketrouting en relays</string>
<string name="debug_bluetooth_roles">Bluetooth-rollen</string>
<string name="debug_gatt_server">GATT-server</string>
<string name="debug_connections_fmt">verbindingen: %1$d / %2$d</string>
<string name="debug_max_server">max server</string>
<string name="debug_gatt_client">GATT-client</string>
<string name="debug_max_client">max client</string>
<string name="debug_overall_connections_fmt">verbindingen: %1$d / %2$d</string>
<string name="debug_max_overall">max totaal</string>
<string name="debug_packet_relay">pakketrelay</string>
<string name="debug_since_start_fmt">sinds start: %1$d</string>
<string name="debug_roles_hint">schakel rollen in/uit en sluit alle verbindingen bij uitschakelen</string>
<string name="debug_sync_settings">sync-instellingen</string>
<string name="debug_max_packets_per_sync_fmt">max pakketten per sync: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">max GCS-filtergrootte: %1$d bytes (1281024)</string>
<string name="debug_target_fpr_fmt">doel-FPR: %1$.2f%%</string>
<string name="debug_connected_devices">verbonden apparaten</string>
<string name="debug_our_device_id_fmt">ons apparaat-ID: %1$s</string>
<string name="debug_none">geen</string>
<string name="debug_disconnect">verbreken</string>
<string name="debug_recent_scan_results">recente scanresultaten</string>
<string name="debug_connect">verbinden</string>
<string name="debug_debug_console">debug-console</string>
<string name="debug_clear">wissen</string>
<string name="debug_relays_window_fmt">laatste 10s: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">afgeleide P: %1$s • gesch. max elementen: %2$s</string>
<string name="debug_direct_suffix"> • direct</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">als server (wij hosten)</string>
<string name="debug_role_client">als client (wij verbinden)</string>
<!-- Onboarding-schermen -->
<string name="location_services_required">Locatiediensten vereist</string>
<string name="privacy_first">Privacy eerst</string>
<string name="location_explanation">bitchat volgt NIET uw locatie.\n\nLocatiediensten zijn vereist voor Bluetooth-scanning en voor de geohash-chatfunctie.</string>
<string name="location_needs_for">bitchat heeft locatiediensten nodig voor:</string>
<string name="location_needs_bullets">• Bluetooth-apparaat scanning\n• Ontdekken van gebruikers in de buurt op meshnetwerk\n• Geohash-chatfunctie\n• Geen tracking of locatieverzameling</string>
<string name="open_location_settings">Locatie-instellingen openen</string>
<string name="check_again">Opnieuw controleren</string>
<string name="location_services_unavailable">Locatiediensten niet beschikbaar</string>
<string name="location_unavailable_explanation">Locatiediensten zijn niet beschikbaar op dit apparaat. Dit is ongebruikelijk omdat locatiediensten standaard zijn op Android-apparaten.\n\nbitchat heeft locatiediensten nodig om Bluetooth-scanning goed te laten werken (Android-vereiste). Zonder dit kan de app geen gebruikers in de buurt ontdekken.</string>
<string name="checking_location_services">Locatiediensten controleren…</string>
<string name="bluetooth_required">Bluetooth vereist</string>
<string name="bluetooth_needs_for">bitchat heeft Bluetooth nodig om:</string>
<string name="bluetooth_needs_bullets">• Gebruikers in de buurt te ontdekken\n• Meshnetwerkverbindingen te maken\n• Berichten te verzenden en ontvangen\n• Te werken zonder internet of servers</string>
<string name="enable_bluetooth">Bluetooth inschakelen</string>
<string name="bluetooth_not_supported">Bluetooth niet ondersteund</string>
<string name="bluetooth_unsupported_explanation">Dit apparaat ondersteunt geen Bluetooth Low Energy (BLE), wat vereist is om bitchat te laten functioneren.\n\nbitchat heeft BLE nodig om meshnetwerken te maken en te communiceren met apparaten in de buurt zonder internet.</string>
<string name="checking_bluetooth_status">Bluetooth-status controleren…</string>
<string name="battery_optimization_detected_title">batterijoptimalisatie gedetecteerd</string>
<string name="battery_optimization_enabled_title">Batterijoptimalisatie ingeschakeld</string>
<string name="battery_optimization_explanation_short">bitchat moet op de achtergrond draaien om meshverbindingen te onderhouden. batterijoptimalisatie kan deze verbindingen onderbreken.</string>
<string name="benefits_of_disabling">Voordelen van uitschakelen</string>
<string name="battery_benefits_short">• betrouwbare berichtbezorging\n• onderhoudt meshconnectiviteit\n• voorkomt verbindingsonderbrekingen</string>
<string name="disable_battery_optimization">Batterijoptimalisatie uitschakelen</string>
<string name="battery_optimization_disabled_title">batterijoptimalisatie uitgeschakeld</string>
<string name="continue_btn">Doorgaan</string>
<string name="initializing_mesh_network">Meshnetwerk initialiseren</string>
<string name="setting_up_bluetooth">Bluetooth-meshnetwerk instellen…</string>
<string name="should_take_seconds">Dit zou slechts enkele seconden moeten duren</string>
<string name="setup_not_complete">Installatie niet voltooid</string>
<string name="try_again">Opnieuw proberen</string>
<string name="privacy_protected">Uw privacy is beschermd</string>
<string name="privacy_bullets">• geen tracking of gegevensverzameling\n• Bluetooth-meshchats zijn volledig offline\n• Geohash-chats gebruiken internet</string>
<string name="permissions_header">toestemmingen</string>
<string name="grant_permissions">Toestemmingen verlenen</string>
<string name="location_tracking_warning">bitchat volgt NIET uw locatie</string>
<string name="geohash_people_header">PERSONEN</string>
<string name="nobody_around">niemand in de buurt…</string>
<string name="you_suffix"> (jij)</string>
<string name="pan_zoom_instruction">pan en zoom om een geohash te selecteren</string>
<string name="select">selecteren</string>
<string name="type_a_message_placeholder">typ een bericht…</string>
<string name="mention">vermelden</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">Afbeelding</string>
<string name="media_type_file">Bestand</string>
<!-- Berichtstatus-tekst helpers -->
<string name="notification_sent_image">📷 heeft een afbeelding verstuurd</string>
<string name="notification_sent_voice">🎤 heeft een spraakbericht verstuurd</string>
<string name="notification_sent_file">📎 heeft een bestand verstuurd</string>
<!-- Spraakspeler toegankelijkheid -->
<string name="cd_play_voice">Afspelen</string>
<string name="cd_pause_voice">Pauzeren</string>
<string name="cd_mining_pow">Mining-PoW</string>
<string name="cd_pow_enabled">PoW ingeschakeld</string>
<string name="cd_proof_of_work">Proof of Work</string>
<string name="pow_mining_ellipsis">minen…</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- Toestemmingsbeschrijvingen -->
<string name="perm_nearby_devices_desc">Vereist om bitchat-gebruikers via Bluetooth te ontdekken</string>
<string name="perm_nearby_devices_system">bitchat toestaan om verbinding te maken met apparaten in de buurt</string>
<string name="perm_location_desc">Vereist door Android om bitchat-gebruikers in de buurt via Bluetooth te ontdekken</string>
<string name="perm_location_system">bitchat heeft dit nodig om te scannen naar apparaten in de buurt</string>
<string name="perm_notifications_desc">Ontvang meldingen wanneer u privéberichten ontvangt</string>
<string name="perm_notifications_system">bitchat toestaan om u meldingen te sturen</string>
<string name="perm_battery_desc">Schakel batterijoptimalisatie uit om ervoor te zorgen dat bitchat betrouwbaar op de achtergrond draait en meshnetwerkverbindingen onderhoudt</string>
<string name="perm_battery_system">bitchat toestaan om zonder batterijbeperkingen te draaien</string>
<!-- Toestemmingstypen -->
<string name="perm_type_nearby_devices">Apparaten in de buurt</string>
<string name="perm_type_precise_location">Precieze locatie</string>
<string name="perm_type_microphone">Microfoon</string>
<string name="perm_type_notifications">Meldingen</string>
<string name="perm_type_battery_optimization">Batterijoptimalisatie</string>
<string name="perm_type_other">Overig</string>
<!-- Wachtwoord-dialoog -->
<string name="pwd_prompt_title">Kanaalwachtwoord invoeren</string>
<string name="pwd_prompt_message">Kanaal %1$s is met een wachtwoord beveiligd. Voer het wachtwoord in om deel te nemen.</string>
<string name="pwd_label">Wachtwoord</string>
<string name="join">Deelnemen</string>
<string name="cancel">Annuleren</string>
<!-- Symbolen & speciale strings -->
<string name="at_symbol">@</string>
<string name="app_brand">bitchat/</string>
<string name="channel_count_prefix"> · ⧉ </string>
<string name="mention_suggestion_at">@%1$s</string>
<string name="image_counter">%1$d / %2$d</string>
<string name="at_nickname">@%1$s</string>
<string name="hash_symbol">#</string>
<string name="underscore">_</string>
<string name="progress_bar_brackets">[%1$s] %2$d%%</string>
<string name="progress_filled"></string>
<string name="progress_empty"></string>
<string name="dot">.</string>
<string name="warning_emoji">⚠️</string>
<string name="debug_question_mark">?</string>
<!-- Berichtstatus-pictogrammen -->
<string name="status_sending"></string>
<string name="status_pending"></string>
<string name="status_sent"></string>
<string name="status_delivered">✓✓</string>
<string name="status_failed"></string>
<string name="status_read"></string>
<!-- Meldingsbestand-emojis -->
<string name="notification_file_pdf">📄</string>
<string name="notification_file_zip">🗜️</string>
<string name="notification_file_doc">📄</string>
<string name="notification_file_xls">📊</string>
<string name="notification_file_ppt">📈</string>
<string name="notification_file_generic">📎</string>
<!-- Meervouden -->
<plurals name="notification_and_more">
<item quantity="one">en %d meer</item>
<item quantity="other">en %d meer</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 persoon</item>
<item quantity="other">%d personen</item>
</plurals>
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- اجازت دی وجہ -->
<string name="permission_bluetooth_rationale">انٹرنیٹ توں بغیر سیدھی چیٹ لئی بلوٹوتھ دی اجازت ضروری اے۔</string>
<string name="permission_location_rationale">بلوٹوتھ راہین نیڑے ڈیوائس لبھن لئی لوکیشن دی اجازت ضروری اے۔</string>
<string name="permission_notification_rationale">نوٹیفکیشن دی اجازت نواں پیغام دسدے لئی ضروری اے۔</string>
<!-- پلیس ہولڈر / بنیادی UI -->
<string name="nickname_hint">عرفی ناں</string>
<string name="message_hint">پیغام لکھو…</string>
<string name="channel_password_hint">پاس ورڈ</string>
<string name="join_channel">چینل وچ شامل ہوو</string>
<string name="leave_channel">باہر آؤ</string>
<string name="send_message">پھجو</string>
<string name="show_commands">کمانڈ وکھاؤ</string>
<string name="back">واپس</string>
<string name="people">لوگ</string>
<string name="channels">چینل</string>
<string name="online_users">آن لائن یوزر</string>
<string name="no_one_connected">کوئی وی منسلک نہیں</string>
<string name="emergency_clear_hint">ساری ڈیٹا مٹاون لئی تین وار ٹیپ کرو</string>
<string name="your_network">نیٹ ورک</string>
<!-- بیٹری آپٹمائزیشن -->
<string name="battery_optimization_detected">بیٹری آپٹمائزیشن لبھیا گیا</string>
<string name="battery_optimization_disabled">بیٹری آپٹمائزیشن بند اے</string>
<string name="battery_optimization_not_required">بیٹری آپٹمائزیشن دی لوڑ نئیں</string>
<string name="battery_optimization_checking">بیٹری آپٹمائزیشن چیک ہورہی اے</string>
<string name="battery_optimization_why_disable">بیٹری آپٹمائزیشن کیوں بند کریے؟</string>
<string name="battery_optimization_explanation">bitchat پس منظر وچ چلدا اے تے نیڑے ڈیوائس نال میش کنکشن برقرار رکھدا اے۔ بیٹری آپٹمائزیشن ایہ کنکشناں نوں روک سکدی اے، جِنہ نال پیغام لیٹ یا غائب ہوسکدے نیں۔\n\nبیٹری آپٹمائزیشن بند کرن نال معتبر ہم رتبہ رابطہ یقینی ہوندا اے۔</string>
<string name="battery_optimization_disable_button">بیٹری آپٹمائزیشن بند کرو</string>
<string name="battery_optimization_note">نوٹ: تُسی ایہ بعد وچ Android سیٹنگز &gt; ایپس &gt; bitchat &gt; بیٹری وچ بدَل سکدے او۔</string>
<string name="battery_optimization_not_supported_explanation">توانڈے ڈیوائس نوں بیٹری آپٹمائزیشن سیٹنگ دی لوڑ نئیں۔ bitchat عام طرح چلّو گا۔</string>
<string name="battery_optimization_not_supported_message">توانڈے ڈیوائس نوں بیٹری آپٹمائزیشن سیٹنگ دی لوڑ نئیں۔ bitchat عام طرح چلّو گا۔</string>
<string name="battery_optimization_success_message">bitchat پس منظر وچ قابلِ اعتماد چل سکدا اے</string>
<string name="battery_optimization_benefits">• معتبر پیغام ترسیل\n• میش کنکشن برقرار\n• پس منظر وچ پیغام ریلے\n• کنکشن ٹٹّن توں بچاؤ</string>
<string name="battery_optimization_check_again">فیر چیک کرو</string>
<string name="battery_optimization_skip">ہور ویلے</string>
<string name="battery_optimization_continue">جاری رکھو</string>
<string name="retry">فیر کوشِش کرو</string>
<string name="skip">سکِپ</string>
<!-- نوٹیفکیشن -->
<string name="notification_summary_more">تے %1$d ہور</string>
<string name="notification_messages_from_people">%2$d لوکان کولوں %1$d پیغام</string>
<string name="notification_more_conversations">تے %1$d ہور گلاں</string>
<string name="notification_active_peers_title">👥 نیڑے bitchatter!</string>
<string name="notification_active_peers_one">نیڑے 1 بندہ</string>
<string name="notification_active_peers_many">نیڑے %1$d بندے</string>
<string name="notification_new_messages">نویں پیغام</string>
<string name="notification_new_location_messages">نویں لوکیشن پیغام</string>
<string name="notification_mentions_in">%1$s وچ ذکر ہویا</string>
<string name="notification_mentions_in_more">%1$s وچ ذکر (+%2$d ہور)</string>
<string name="notification_mentions_in_plural">%2$s وچ %1$d وار ذکر</string>
<string name="notification_new_activity_in">%1$s وچ نویں سرگرمی</string>
<string name="notification_messages_in">%1$s وچ پیغام</string>
<string name="notification_joined_conversation">%1$s گفتگو وچ شامل ہویا</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d ذکر</string>
<string name="notification_geohash_summary_title">bitchat – لوکیشن چیٹ</string>
<string name="notification_geohash_summary_text">%2$d ٹھاں توں %1$d پیغام</string>
<string name="notification_mesh_mention_title_singular">میش چیٹ وچ ذکر</string>
<string name="notification_mesh_mention_title_plural">میش چیٹ وچ %1$d ذکر</string>
<string name="notification_more_locations">تے %1$d ہور ٹھاں</string>
<string name="notification_and_more">تے %1$d ہور</string>
<!-- پسندیدہ رسائی پذیری -->
<string name="cd_add_favorite">پسندیدہ وچ پاؤ</string>
<string name="cd_remove_favorite">پسندیدہ توں ہٹاؤ</string>
<string name="cd_add_bookmark">بُک مارک پاؤ</string>
<!-- چیٹ ہیڈر & رسائی پذیری -->
<string name="chat_back">واپس</string>
<string name="chat_channel_prefix">چینل: %1$s</string>
<string name="chat_leave">باہر آؤ</string>
<string name="cd_nostr_reachable">Nostr راہین پہنچ ممکن اے</string>
<string name="cd_unread_private_messages">انہ پڑھیا ذاتی پیغام</string>
<string name="cd_toggle_bookmark">بُک مارک ٹوگل کرو</string>
<string name="cd_teleported">ٹیلپورٹ کیتا گیا</string>
<string name="cd_tor_status">Tor حالت</string>
<string name="cd_connected_peers">جُڑے پیئر</string>
<string name="cd_geohash_participants">geohash شریک</string>
<string name="cd_ready_for_handshake">ہینڈشیک لئی تیار</string>
<string name="cd_handshake_in_progress">ہینڈشیک جاری</string>
<string name="cd_encrypted">اینڈ ٹو اینڈ انکرپٹڈ</string>
<string name="cd_handshake_failed">ہینڈشیک فیل ہویا</string>
<!-- فائل ویؤر ڈائیلاگ -->
<string name="file_viewer_title">📎 فائل ملی</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 سائز: %1$s</string>
<string name="file_viewer_type">🏷️ قسم: %1$s</string>
<string name="file_viewer_open_save">📂 کھولو / سیو کرو</string>
<string name="close_with_emoji">❌ بند کرو</string>
<string name="pick_image">تصویر چُنو</string>
<!-- بارے شیٹ -->
<string name="about_tagline">اینڈ ٹو اینڈ انکرپشن نال غیر مرکزی میش چیٹ</string>
<string name="about_offline_mesh_title">آف لائن میش چیٹ</string>
<string name="about_offline_mesh_desc">انٹرنیٹ یا سرور توں بغیر Bluetooth LE راہین سیدھا رابطہ کرو۔ رینج ودھاؤن لئی پیغام نیڑے ڈیوائساں راہین ریلے ہوندے نیں۔</string>
<string name="about_online_geohash_title">آن لائن geohash چینل</string>
<string name="about_online_geohash_desc">geohash بیسڈ چینلاں راہین اپنے علاقے دے لوکاں نال جڑو۔ پبلک انٹرنیٹ ریلے راہین میش نوں وسیع کرو۔</string>
<string name="about_e2e_title">اینڈ ٹو اینڈ انکرپشن</string>
<string name="about_e2e_desc">ذاتی پیغام انکرپٹڈ ہوندے نیں۔ چینل پیغام پبلک ہوندے نیں۔</string>
<string name="about_appearance">دِکھ</string>
<string name="about_system">سسٹم</string>
<string name="about_light">ہلکا</string>
<string name="about_dark">گھُپ</string>
<string name="about_pow">ثبوتِ کار (Proof of Work)</string>
<string name="about_pow_off">PoW بند</string>
<string name="about_pow_on">PoW چالو</string>
<string name="about_pow_tip">سپیم مشکل کرن لئی geohash پیغام وچ Proof of Work شامل کرو۔</string>
<string name="about_pow_difficulty">مشکلی: %1$d بٹ (~%2$s)</string>
<string name="about_pow_difficulty_attempts">مشکلی %1$d لئی ~%2$s ہیش کوششاں چاہیدن</string>
<string name="about_pow_desc_none">کسے Proof of Work دی لوڑ نئیں</string>
<string name="about_pow_desc_very_low">بوہت گھٹ – گھٹ توں گھٹ سپیم تحفظ</string>
<string name="about_pow_desc_low">گھٹ – بنیادی سپیم تحفظ</string>
<string name="about_pow_desc_medium">درمیانہ – اچھا سپیم تحفظ</string>
<string name="about_pow_desc_high">وڈا – مضبوط سپیم تحفظ</string>
<string name="about_pow_desc_very_high">بوہت وڈا – ڈیلے ہوسکدا اے</string>
<string name="about_pow_desc_extreme">انتہائی – وڈی کمپیوٹنگ پاور دی لوڑ</string>
<string name="about_network">نیٹ ورک</string>
<string name="about_tor_off">Tor بند</string>
<string name="about_tor_on">Tor چالو</string>
<string name="about_tor_route">وَدھ پرائیویسی لئی انٹرنیٹ ٹریفک نوں Tor راہین رُوٹ کرو۔</string>
<string name="about_tor_status">Tor حالت: %1$s، بوٹ اسٹرَیپ %2$d%%</string>
<string name="about_last">آخری: %1$s</string>
<string name="about_emergency_title">ایمرجنسی ڈیٹا صاف</string>
<string name="about_emergency_tip">ٹِپ: سارے محفوظ ڈیٹا (پیغام، کُنجیاں، سیٹنگا) مٹاؤن لئی ایپ دے عنوان تے تین وار ٹیپ کرو۔</string>
<string name="about_debug_settings">ڈی بگ سیٹنگا</string>
<string name="about_footer">اوپن سورس • پرائیویسی پہلے • غیر مرکزی</string>
<string name="close_plain">بند کرو</string>
<string name="cancel_lower">منسوخ</string>
<!-- عمومی مواد دی وضاحت -->
<string name="cd_warning">خبردار</string>
<string name="cd_location_services">لوکیشن سروسز</string>
<string name="cd_privacy">پرائیویسی</string>
<string name="cd_error">غلطی</string>
<string name="cd_battery_optimization">بیٹری آپٹمائزیشن</string>
<string name="cd_benefits">فائدے</string>
<string name="cd_checking_battery_optimization">بیٹری آپٹمائزیشن چیک ہورہی اے</string>
<string name="cd_not_supported_battery_optimization">بیٹری آپٹمائزیشن سپورٹڈ نئیں</string>
<string name="cd_bluetooth">بلوٹوتھ</string>
<string name="cd_unread_message">انہ پڑھیا پیغام</string>
<string name="cd_open_map">نقشہ کھولو</string>
<string name="cd_remove_bookmark">بُک مارک ہٹاؤ</string>
<string name="cd_teleport">ٹیلپورٹ</string>
<string name="cd_selected">چُنے ہوۓ</string>
<string name="cd_leave_channel">چینل چھوڑو</string>
<string name="cd_reachable_via_nostr">Nostr راہین پہنچ ممکن اے</string>
<string name="cd_offline_favorite">پسندیدہ (آف لائن)</string>
<string name="cd_decrease_precision">درستگی گھٹاؤ</string>
<string name="cd_increase_precision">درستگی وداؤ</string>
<string name="cd_select_geohash">geohash چُنو</string>
<string name="cd_scroll_to_bottom">تھلے سکرول کرو</string>
<string name="cd_file">فائل</string>
<string name="cd_image">تصویر</string>
<string name="cd_cancel">منسوخ</string>
<string name="cd_link">لنک</string>
<string name="cd_pick_media">میڈیا چُنو</string>
<string name="cd_pick_file">فائل چُنو</string>
<string name="cd_save_current_image">موجودہ تصویر سیو کرو</string>
<string name="cd_close">بند کرو</string>
<string name="cd_image_index_of">تصویر %1$d توں %2$d</string>
<string name="cd_privacy_protected">پرائیویسی محفوظ اے</string>
<string name="cd_record_voice">وائس پیغام ریکارڈ کرو</string>
<string name="cd_offline_mesh_chat">آف لائن میش چیٹ</string>
<string name="cd_online_geohash_channels">آن لائن geohash چینل</string>
<string name="cd_end_to_end_encryption">اینڈ ٹو اینڈ انکرپشن</string>
<!-- تصویراں & فائلز -->
<string name="image_page_of">تصویر %1$d وچوں %2$d</string>
<string name="image_unavailable">تصویر دستیاب نئیں</string>
<string name="image_saved_to_downloads">تصویر \"Downloads\" وچ سیو ہو گئی</string>
<string name="image_save_failed">تصویر سیو نئیں ہو سکدی</string>
<string name="toast_image_saved">تصویر \"Downloads\" وچ سیو ہو گئی</string>
<string name="toast_failed_to_save_image">تصویر سیو نئیں ہو سکدی</string>
<string name="pick_file">فائل چُنو</string>
<string name="file_unavailable">[فائل دستیاب نئیں]</string>
<string name="unknown">نامعلوم</string>
<!-- یوزر ایکشن شیٹ -->
<string name="choose_action_message_or_user">اس پیغام یا یوزر لئی عمل چُنو</string>
<string name="choose_action_user">اس یوزر لئی عمل چُنو</string>
<string name="action_copy_message_title">پیغام کاپی کرو</string>
<string name="action_copy_message_subtitle">ایہ پیغام کلپ بورڈ وچ کاپی کرو</string>
<string name="action_slap_title">%1$s نوں چپیڑ مارو</string>
<string name="action_slap_subtitle">مزاحیہ چپیڑ پھجو</string>
<string name="action_hug_title">%1$s نوں گلے لاؤ</string>
<string name="action_hug_subtitle">دوستانہ گلے ملنا پھجو</string>
<string name="action_block_title">%1$s نوں بلاک کرو</string>
<string name="action_block_subtitle">اس یوزر دے سارے پیغام بلاک کرو</string>
<!-- geohash چینل شیٹ -->
<string name="location_channels_title">#لوکیشن چینل</string>
<string name="location_channels_desc">geohash چینلاں راہین اپنے نیڑے والے لوکاں نال چیٹ کرو۔ صرف اوکھا geohash شیئر ہوندا اے، ٹھیک GPS ڈیٹا نئیں۔ پرائیویسی لئی مہربانی کر کے ایہہ ویو اسکرین شاٹ یا شیئر نہ کرو۔</string>
<string name="grant_location_permission">لوکیشن دی اجازت دو</string>
<string name="location_permission_denied">لوکیشن دی اجازت رد ہوگئی۔ لوکیشن چینل لئی سیٹنگز وچ فعال کرو۔</string>
<string name="open_settings">سیٹنگز کھولو</string>
<string name="location_permission_granted">\u2713 لوکیشن دی اجازت مل گئی</string>
<string name="checking_permissions">اجازت چیک ہورہی اے …</string>
<string name="finding_nearby_channels">نیڑے چینل لبھ رہے آں …</string>
<string name="bookmarked">بُک مارک ہویا</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">غلط geohash</string>
<string name="teleport">ٹیلپورٹ</string>
<string name="disable_location_services">لوکیشن سروسز بند کرو</string>
<string name="enable_location_services">لوکیشن سروسز چالو کرو</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">بلاک</string>
<string name="location_level_neighborhood">پڑوس</string>
<string name="location_level_city">شہر</string>
<string name="location_level_province">صوبہ</string>
<string name="location_level_region">خطہ</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- ڈیبگ / تشخیص -->
<string name="debug_tools">ڈی بگ ٹول</string>
<string name="debug_tools_desc">تشخیصی تے کنٹرول لئی ڈویلپر ٹول</string>
<string name="debug_verbose_logging">تفصیلی لاگنگ</string>
<string name="debug_verbose_hint">پیئر جوائن/لیو، کنکشن سمت، پیکٹ فارورڈنگ تے ریلے لاگ کرو</string>
<string name="debug_bluetooth_roles">بلوٹوتھ کردار</string>
<string name="debug_gatt_server">GATT سرور</string>
<string name="debug_connections_fmt">کنکشن: %1$d / %2$d</string>
<string name="debug_max_server">وڈ توں وڈ سرور</string>
<string name="debug_gatt_client">GATT کلائنٹ</string>
<string name="debug_max_client">وڈ توں وڈ کلائنٹ</string>
<string name="debug_overall_connections_fmt">کنکشن: %1$d / %2$d</string>
<string name="debug_max_overall">کل وڈ توں وڈ</string>
<string name="debug_packet_relay">پیکٹ ریلے</string>
<string name="debug_since_start_fmt">شروع توں: %1$d</string>
<string name="debug_roles_hint">کردار آن/آف کرو تے غیر فعال کرن تے سارے کنکشن بند کرو</string>
<string name="debug_sync_settings">سنک سیٹنگا</string>
<string name="debug_max_packets_per_sync_fmt">ہر سنک وِچ وڈ توں وڈ پیکٹ: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">وڈ توں وڈ GCS فلٹر سائز: %1$d بائٹ (1281024)</string>
<string name="debug_target_fpr_fmt">ٹارگٹ FPR: %1$.2f%%</string>
<string name="debug_connected_devices">جڑے ڈیوائس</string>
<string name="debug_our_device_id_fmt">ساڈا ڈیوائس ID: %1$s</string>
<string name="debug_none">کچھ وی نئیں</string>
<string name="debug_disconnect">ڈس کنیکٹ</string>
<string name="debug_recent_scan_results">حال ہی وچ سکین ہوۓ ڈیوائس</string>
<string name="debug_connect">جڑو</string>
<string name="debug_debug_console">ڈی بگ کنسول</string>
<string name="debug_clear">صاف کرو</string>
<string name="debug_relays_window_fmt">پچھلے 10s: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">مشتق P: %1$s • اندازاً وڈ توں وڈ عناصر: %2$s</string>
<string name="debug_direct_suffix"> • سیدھا</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">سرور (اسی ہوسٹ آں)</string>
<string name="debug_role_client">کلائنٹ (اسی جُڑدے آں)</string>
<!-- آن بورڈنگ سکرینا -->
<string name="location_services_required">لوکیشن سروسز لازمی نیں</string>
<string name="privacy_first">پرائیویسی پہلے</string>
<string name="location_explanation">bitchat توانڈی لوکیشن نئیں ٹریک کردا۔\n\nبلوٹوتھ سکیننگ تے geohash چیٹ فیچر لئی لوکیشن سروسز دی لوڑ اے۔</string>
<string name="location_needs_for">bitchat نوں لوکیشن سروسز دی لوڑ اے لئی:</string>
<string name="location_needs_bullets">• بلوٹوتھ ڈیوائس سکیننگ\n• میش نیٹ ورک وچ نیڑے یوزراں دی تلاش\n• geohash چیٹ فیچر\n• کوئی ٹریکنگ یا لوکیشن جمع نئیں</string>
<string name="open_location_settings">لوکیشن سیٹنگز کھولو</string>
<string name="check_again">فیر چیک کرو</string>
<string name="location_services_unavailable">لوکیشن سروسز دستیاب نئیں</string>
<string name="location_unavailable_explanation">اس ڈیوائس تے لوکیشن سروسز دستیاب نئیں۔ ایہ غیر معمولی اے کیونجے Android ڈیوائساں تے لوکیشن سروسز معیاری نیں۔\n\nبلوٹوتھ سکیننگ نوں ٹھیک کم کرن لئی bitchat نوں لوکیشن سروسز چاہیدیاں نیں (Android دی شرط)۔ بنا اس دے، ایپ نیڑے یوزر نئیں لبھ سکدی۔</string>
<string name="checking_location_services">لوکیشن سروسز چیک ہورھیاں نیں …</string>
<string name="bluetooth_required">بلوٹوتھ لازمی اے</string>
<string name="bluetooth_needs_for">bitchat نوں بلوٹوتھ چاہیدا اے لئی:</string>
<string name="bluetooth_needs_bullets">• نیڑے یوزر لبھنا\n• میش نیٹ ورک کنکشن بنانا\n• پیغام بھیجنا تے لینا\n• انٹرنیٹ یا سرور توں بغیر کم کرنا</string>
<string name="enable_bluetooth">بلوٹوتھ چالو کرو</string>
<string name="bluetooth_not_supported">بلوٹوتھ سپورٹڈ نئیں</string>
<string name="bluetooth_unsupported_explanation">ایہ ڈیوائس Bluetooth Low Energy (BLE) نئیں سپورٹ کردا، جو bitchat لئی ضروری اے۔\n\nbitchat نوں BLE چاہیدا اے میش نیٹ ورک بناؤن تے نیڑے ڈیوائساں نال انٹرنیٹ توں بغیر گل کرن لئی۔</string>
<string name="checking_bluetooth_status">بلوٹوتھ حالت چیک ہورہی اے …</string>
<string name="battery_optimization_detected_title">بیٹری آپٹمائزیشن لبھیا گیا</string>
<string name="battery_optimization_enabled_title">بیٹری آپٹمائزیشن چالو اے</string>
<string name="battery_optimization_explanation_short">میش کنکشن قائم رکھن لئی bitchat نوں پس منظر وچ چلنا پوے گا۔ بیٹری آپٹمائزیشن ایہ کنکشناں وچ رکاوٹ پا سکدی اے۔</string>
<string name="benefits_of_disabling">بند کرن دے فائدے</string>
<string name="battery_benefits_short">• معتبر پیغام رسانی\n• میش کنکشن برقرار\n• کنکشن ٹٹّن توں بچاؤ</string>
<string name="disable_battery_optimization">بیٹری آپٹمائزیشن بند کرو</string>
<string name="battery_optimization_disabled_title">بیٹری آپٹمائزیشن بند اے</string>
<string name="continue_btn">جاری رکھو</string>
<string name="initializing_mesh_network">میش نیٹ ورک شروع ہورہا اے</string>
<string name="setting_up_bluetooth">بلوٹوتھ میش نیٹ ورک سیٹ اپ ہورہا …</string>
<string name="should_take_seconds">ایہ صرف چند سیکنڈ لگنے چاہیدے نیں</string>
<string name="setup_not_complete">سیٹ اپ مکمل نئیں</string>
<string name="try_again">فیر کوشِش کرو</string>
<string name="privacy_protected">توانڈی پرائیویسی محفوظ اے</string>
<string name="privacy_bullets">• کوئی ٹریکنگ یا ڈیٹا جمع نئیں\n• بلوٹوتھ میش چیٹ مکمل آف لائن\n• geohash چیٹ انٹرنیٹ استعمال کردی اے</string>
<string name="permissions_header">اجازتاں</string>
<string name="grant_permissions">اجازت دو</string>
<string name="location_tracking_warning">bitchat توانڈی لوکیشن نئیں ٹریک کردا</string>
<string name="geohash_people_header">لوگ</string>
<string name="nobody_around">کوئی وی نیڑے نئیں …</string>
<string name="you_suffix"> (تُسی)</string>
<string name="pan_zoom_instruction">geohash چُنن لئی پین تے زوم کرو</string>
<string name="select">چُنو</string>
<string name="type_a_message_placeholder">پیغام لکھو …</string>
<string name="mention">ذکر</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">تصویر</string>
<string name="media_type_file">فائل</string>
<!-- نوٹیفکیشن متن مددگار -->
<string name="notification_sent_image">📷 تصویر بھیجی</string>
<string name="notification_sent_voice">🎤 وائس پیغام بھیجیا</string>
<string name="notification_sent_file">📎 فائل بھیجی</string>
<!-- وائس پلیئر رسائی پذیری -->
<string name="cd_play_voice">چلاؤ</string>
<string name="cd_pause_voice">روکੋ</string>
<string name="cd_mining_pow">PoW مائننگ</string>
<string name="cd_pow_enabled">PoW چالو</string>
<string name="cd_proof_of_work">Proof of Work</string>
<string name="pow_mining_ellipsis">مائننگ …</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- اجازت دیاں وضاحتاں -->
<string name="perm_nearby_devices_desc">بلوٹوتھ راہین bitchat یوزر لبھن لئی ضروری</string>
<string name="perm_nearby_devices_system">bitchat نوں نیڑے ڈیوائساں نال جُڑن دی اجازت دو</string>
<string name="perm_location_desc">Android نوں بلوٹوتھ راہین نیڑے bitchat یوزراں دی تلاش لئی لوڑ اے</string>
<string name="perm_location_system">bitchat نوں نیڑے ڈیوائساں سکین کرن لئی ایہ چاہیدہ</string>
<string name="perm_notifications_desc">جدو تُہانوں ذاتی پیغام مِلن تاں نوٹیفکیشن لؤ</string>
<string name="perm_notifications_system">bitchat نوں نوٹیفکیشن بھیجن دی اجازت دو</string>
<string name="perm_battery_desc">ایہ یقینی بناؤن لئی بیٹری آپٹمائزیشن بند کرو کہ bitchat پس منظر وچ معتبر چلّے تے میش نیٹ ورک کنکشناں برقرار رہن</string>
<string name="perm_battery_system">bitchat نوں بغیر بیٹری پابندیاں دے چلّن دی اجازت دو</string>
<!-- اجازت دیاں قسماں -->
<string name="perm_type_nearby_devices">نیڑے ڈیوائس</string>
<string name="perm_type_precise_location">ٹھیک لوکیشن</string>
<string name="perm_type_microphone">مائیکروفون</string>
<string name="perm_type_notifications">نوٹیفکیشن</string>
<string name="perm_type_battery_optimization">بیٹری آپٹمائزیشن</string>
<string name="perm_type_other">ہور</string>
<!-- پاس ورڈ ڈائیلاگ -->
<string name="pwd_prompt_title">چینل دا پاس ورڈ لکھو</string>
<string name="pwd_prompt_message">چینل %1$s پاس ورڈ نال محفوظ اے۔ شامل ہون لئی پاس ورڈ لکھو۔</string>
<string name="pwd_label">پاس ورڈ</string>
<string name="join">شامل ہوو</string>
<string name="cancel">منسوخ</string>
<!-- جمع -->
<plurals name="notification_and_more">
<item quantity="one">تے %d ہور</item>
<item quantity="other">تے %d ہور</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 بندہ</item>
<item quantity="other">%d بندے</item>
</plurals>
</resources>
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- TODO: Polish translations -->
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- Justificativas de permissões (BR) -->
<string name="permission_bluetooth_rationale">A permissão de Bluetooth é necessária para conversar diretamente com outras pessoas sem internet.</string>
<string name="permission_location_rationale">A permissão de localização é necessária para encontrar dispositivos próximos via Bluetooth.</string>
<string name="permission_notification_rationale">A permissão de notificações é necessária para avisar sobre novas mensagens.</string>
<!-- Placeholders / UI básica -->
<string name="nickname_hint">Apelido</string>
<string name="message_hint">Digite uma mensagem…</string>
<string name="channel_password_hint">Senha</string>
<string name="join_channel">Entrar no canal</string>
<string name="leave_channel">Sair</string>
<string name="send_message">Enviar</string>
<string name="show_commands">Mostrar comandos</string>
<string name="back">Voltar</string>
<string name="people">Pessoas</string>
<string name="channels">Canais</string>
<string name="online_users">Usuários online</string>
<string name="no_one_connected">Ninguém conectado</string>
<string name="emergency_clear_hint">Toque 3 vezes para apagar todos os dados</string>
<string name="your_network">Sua rede</string>
<!-- Otimização de bateria -->
<string name="battery_optimization_detected">Otimização de bateria detectada</string>
<string name="battery_optimization_disabled">Otimização de bateria desativada</string>
<string name="battery_optimization_not_required">Otimização de bateria não necessária</string>
<string name="battery_optimization_checking">Verificando otimização de bateria</string>
<string name="battery_optimization_why_disable">Por que desativar a otimização de bateria?</string>
<string name="battery_optimization_explanation">O bitchat roda em segundo plano para manter conexões mesh com dispositivos próximos. A otimização de bateria pode interromper essas conexões, fazendo com que mensagens atrasem ou se percam.\n\nDesativar a otimização de bateria garante comunicação P2P confiável.</string>
<string name="battery_optimization_disable_button">Desativar otimização de bateria</string>
<string name="battery_optimization_note">Nota: Você pode alterar isso depois em Configurações do Android &gt; Apps &gt; bitchat &gt; Bateria.</string>
<string name="battery_optimization_not_supported_explanation">Seu dispositivo não requer ajustes de otimização de bateria. O bitchat funcionará normalmente.</string>
<string name="battery_optimization_not_supported_message">Seu dispositivo não requer ajustes de otimização de bateria. O bitchat funcionará normalmente.</string>
<string name="battery_optimization_success_message">O bitchat pode operar de forma confiável em segundo plano</string>
<string name="battery_optimization_benefits">• Entrega confiável de mensagens\n• Manutenção da conexão mesh\n• Encaminhamento em segundo plano\n• Evita quedas de conexão</string>
<string name="battery_optimization_check_again">Verificar novamente</string>
<string name="battery_optimization_skip">Pular agora</string>
<string name="battery_optimization_continue">Continuar</string>
<string name="retry">Tentar novamente</string>
<string name="skip">Pular</string>
<!-- Notificações -->
<string name="notification_summary_more">e mais %1$d</string>
<string name="notification_messages_from_people">%1$d mensagens de %2$d pessoas</string>
<string name="notification_more_conversations">e mais %1$d conversas</string>
<string name="notification_active_peers_title">👥 pessoas do bitchat por perto!</string>
<string name="notification_active_peers_one">1 pessoa por perto</string>
<string name="notification_active_peers_many">%1$d pessoas por perto</string>
<string name="notification_new_messages">Novas mensagens</string>
<string name="notification_new_location_messages">Novas mensagens de localização</string>
<string name="notification_mentions_in">Mencionado em %1$s</string>
<string name="notification_mentions_in_more">Mencionado em %1$s (+%2$d)</string>
<string name="notification_mentions_in_plural">%1$d menções em %2$s</string>
<string name="notification_new_activity_in">Nova atividade em %1$s</string>
<string name="notification_messages_in">Mensagens em %1$s</string>
<string name="notification_joined_conversation">%1$s entrou na conversa</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d menções</string>
<string name="notification_geohash_summary_title">bitchat Chats por localização</string>
<string name="notification_geohash_summary_text">%1$d mensagens de %2$d locais</string>
<string name="notification_mesh_mention_title_singular">Mencionado no chat mesh</string>
<string name="notification_mesh_mention_title_plural">%1$d menções no chat mesh</string>
<string name="notification_more_locations">e mais %1$d locais</string>
<string name="notification_and_more">e mais %1$d</string>
<!-- Acessibilidade de favoritos -->
<string name="cd_add_favorite">Adicionar aos favoritos</string>
<string name="cd_remove_favorite">Remover dos favoritos</string>
<string name="cd_add_bookmark">Adicionar favorito</string>
<!-- Cabeçalho do chat & acessibilidade -->
<string name="chat_back">voltar</string>
<string name="chat_channel_prefix">Canal: %1$s</string>
<string name="chat_leave">sair</string>
<string name="cd_nostr_reachable">Acessível via Nostr</string>
<string name="cd_unread_private_messages">Mensagens privadas não lidas</string>
<string name="cd_toggle_bookmark">Alternar favorito</string>
<string name="cd_teleported">Teletransportado</string>
<string name="cd_tor_status">Status do Tor</string>
<string name="cd_connected_peers">Peers conectados</string>
<string name="cd_geohash_participants">Participantes geohash</string>
<string name="cd_ready_for_handshake">Pronto para handshake</string>
<string name="cd_handshake_in_progress">Handshake em andamento</string>
<string name="cd_encrypted">Criptografado de ponta a ponta</string>
<string name="cd_handshake_failed">Handshake falhou</string>
<!-- Diálogo do visualizador de arquivos -->
<string name="file_viewer_title">📎 Arquivo recebido</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Tamanho: %1$s</string>
<string name="file_viewer_type">🏷️ Tipo: %1$s</string>
<string name="file_viewer_open_save">📂 Abrir / Salvar</string>
<string name="close_with_emoji">❌ Fechar</string>
<string name="pick_image">Escolher imagem</string>
<!-- Sobre -->
<string name="about_tagline">chat mesh descentralizado com criptografia de ponta a ponta</string>
<string name="about_offline_mesh_title">Chat mesh offline</string>
<string name="about_offline_mesh_desc">Comunique diretamente via Bluetooth LE sem internet ou servidores. As mensagens são retransmitidas por dispositivos próximos para ampliar o alcance.</string>
<string name="about_online_geohash_title">Canais geohash online</string>
<string name="about_online_geohash_desc">Conecte-se com pessoas próximas através de canais baseados em geohash. Expanda a mesh por meio de relays públicos na internet.</string>
<string name="about_e2e_title">Criptografia de ponta a ponta</string>
<string name="about_e2e_desc">Mensagens privadas são criptografadas. Mensagens de canal são públicas.</string>
<string name="about_appearance">Aparência</string>
<string name="about_system">Sistema</string>
<string name="about_light">Claro</string>
<string name="about_dark">Escuro</string>
<string name="about_pow">Prova de Trabalho</string>
<string name="about_pow_off">PoW desligado</string>
<string name="about_pow_on">PoW ligado</string>
<string name="about_pow_tip">Adicione prova de trabalho às mensagens geohash para dificultar spam.</string>
<string name="about_pow_difficulty">Dificuldade: %1$d bits (~%2$s)</string>
<string name="about_pow_difficulty_attempts">Dificuldade %1$d requer ~%2$s tentativas de hash</string>
<string name="about_pow_desc_none">nenhuma prova de trabalho necessária</string>
<string name="about_pow_desc_very_low">muito baixa proteção mínima contra spam</string>
<string name="about_pow_desc_low">baixa proteção básica contra spam</string>
<string name="about_pow_desc_medium">média boa proteção contra spam</string>
<string name="about_pow_desc_high">alta proteção forte contra spam</string>
<string name="about_pow_desc_very_high">muito alta pode causar atrasos</string>
<string name="about_pow_desc_extreme">extrema requer muita capacidade de processamento</string>
<string name="about_network">Rede</string>
<string name="about_tor_off">Tor desligado</string>
<string name="about_tor_on">Tor ligado</string>
<string name="about_tor_route">Roteie o tráfego de internet via Tor para mais privacidade.</string>
<string name="about_tor_status">Status do Tor: %1$s, bootstrap %2$d%%</string>
<string name="about_last">Último: %1$s</string>
<string name="about_emergency_title">Limpeza de dados de emergência</string>
<string name="about_emergency_tip">Dica: Toque 3 vezes no título do app para apagar todos os dados salvos incluindo mensagens, chaves e configurações.</string>
<string name="about_debug_settings">Configurações de depuração</string>
<string name="about_footer">Código aberto • Privacidade em primeiro lugar • Descentralizado</string>
<string name="close_plain">Fechar</string>
<string name="cancel_lower">cancelar</string>
<!-- Descrições de conteúdo -->
<string name="cd_warning">Aviso</string>
<string name="cd_location_services">Serviços de localização</string>
<string name="cd_privacy">Privacidade</string>
<string name="cd_error">Erro</string>
<string name="cd_battery_optimization">Otimização de bateria</string>
<string name="cd_benefits">Benefícios</string>
<string name="cd_checking_battery_optimization">Verificando otimização de bateria</string>
<string name="cd_not_supported_battery_optimization">Otimização de bateria não suportada</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Mensagem não lida</string>
<string name="cd_open_map">Abrir mapa</string>
<string name="cd_remove_bookmark">Remover favorito</string>
<string name="cd_teleport">Teletransportar</string>
<string name="cd_selected">Selecionado</string>
<string name="cd_leave_channel">Sair do canal</string>
<string name="cd_reachable_via_nostr">Acessível via Nostr</string>
<string name="cd_offline_favorite">Favorito (offline)</string>
<string name="cd_decrease_precision">Diminuir precisão</string>
<string name="cd_increase_precision">Aumentar precisão</string>
<string name="cd_select_geohash">Selecionar geohash</string>
<string name="cd_scroll_to_bottom">Rolar para o fim</string>
<string name="cd_file">Arquivo</string>
<string name="cd_image">Imagem</string>
<string name="cd_cancel">Cancelar</string>
<string name="cd_link">Link</string>
<string name="cd_pick_media">Escolher mídia</string>
<string name="cd_pick_file">Escolher arquivo</string>
<string name="cd_save_current_image">Salvar imagem atual</string>
<string name="cd_close">Fechar</string>
<string name="cd_image_index_of">Imagem %1$d de %2$d</string>
<string name="cd_privacy_protected">Privacidade protegida</string>
<string name="cd_record_voice">Gravar nota de voz</string>
<string name="cd_offline_mesh_chat">Chat mesh offline</string>
<string name="cd_online_geohash_channels">Canais geohash online</string>
<string name="cd_end_to_end_encryption">Criptografia de ponta a ponta</string>
<!-- Imagens & arquivos -->
<string name="image_page_of">Imagem %1$d de %2$d</string>
<string name="image_unavailable">Imagem indisponível</string>
<string name="image_saved_to_downloads">Imagem salva em "Downloads"</string>
<string name="image_save_failed">Não foi possível salvar a imagem</string>
<string name="toast_image_saved">Imagem salva em "Downloads"</string>
<string name="toast_failed_to_save_image">Não foi possível salvar a imagem</string>
<string name="pick_file">Escolher arquivo</string>
<string name="file_unavailable">[Arquivo indisponível]</string>
<string name="unknown">desconhecido</string>
<!-- Ações do usuário -->
<string name="choose_action_message_or_user">Escolha uma ação para esta mensagem ou usuário</string>
<string name="choose_action_user">Escolha uma ação para este usuário</string>
<string name="action_copy_message_title">Copiar mensagem</string>
<string name="action_copy_message_subtitle">Copiar esta mensagem para a área de transferência</string>
<string name="action_slap_title">Dar um tapa em %1$s</string>
<string name="action_slap_subtitle">Enviar um tapa brincalhão</string>
<string name="action_hug_title">Abraçar %1$s</string>
<string name="action_hug_subtitle">Enviar um abraço amigável</string>
<string name="action_block_title">Bloquear %1$s</string>
<string name="action_block_subtitle">Bloquear todas as mensagens deste usuário</string>
<!-- Canais geohash -->
<string name="location_channels_title">#Canais de localização</string>
<string name="location_channels_desc">Converse com pessoas próximas através de canais geohash. Apenas um geohash aproximado é compartilhado, nunca dados exatos de GPS. Para preservar sua privacidade, não tire capturas de tela nem compartilhe esta tela.</string>
<string name="grant_location_permission">Conceder permissão de localização</string>
<string name="location_permission_denied">Permissão de localização negada. Ative nas configurações para usar canais de localização.</string>
<string name="open_settings">Abrir configurações</string>
<string name="location_permission_granted">\u2713 Permissão de localização concedida</string>
<string name="checking_permissions">Verificando permissões…</string>
<string name="finding_nearby_channels">Procurando canais próximos…</string>
<string name="bookmarked">Marcado</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">Geohash inválido</string>
<string name="teleport">teletransportar</string>
<string name="disable_location_services">Desativar serviços de localização</string>
<string name="enable_location_services">Ativar serviços de localização</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">Quadra</string>
<string name="location_level_neighborhood">Vizinhança</string>
<string name="location_level_city">Cidade</string>
<string name="location_level_province">Estado</string>
<string name="location_level_region">Região</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- Depuração / Diagnóstico -->
<string name="debug_tools">Ferramentas de depuração</string>
<string name="debug_tools_desc">Ferramentas do desenvolvedor para diagnóstico e controle</string>
<string name="debug_verbose_logging">log detalhado</string>
<string name="debug_verbose_hint">Registra entradas/saídas de peers, direção da conexão, retransmissão de pacotes e relays</string>
<string name="debug_bluetooth_roles">Funções do Bluetooth</string>
<string name="debug_gatt_server">Servidor GATT</string>
<string name="debug_connections_fmt">Conexões: %1$d / %2$d</string>
<string name="debug_max_server">máx. servidor</string>
<string name="debug_gatt_client">Cliente GATT</string>
<string name="debug_max_client">máx. cliente</string>
<string name="debug_overall_connections_fmt">Conexões: %1$d / %2$d</string>
<string name="debug_max_overall">máx. geral</string>
<string name="debug_packet_relay">Retransmissão de pacotes</string>
<string name="debug_since_start_fmt">desde o início: %1$d</string>
<string name="debug_roles_hint">Alternar funções e fechar todas as conexões ao desativar</string>
<string name="debug_sync_settings">Configurações de sincronização</string>
<string name="debug_max_packets_per_sync_fmt">máx. pacotes por sincronização: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">máx. tamanho do filtro GCS: %1$d bytes (1281024)</string>
<string name="debug_target_fpr_fmt">FPR alvo: %1$.2f%%</string>
<string name="debug_connected_devices">dispositivos conectados</string>
<string name="debug_our_device_id_fmt">nosso ID do dispositivo: %1$s</string>
<string name="debug_none">nenhum</string>
<string name="debug_disconnect">desconectar</string>
<string name="debug_recent_scan_results">dispositivos escaneados recentemente</string>
<string name="debug_connect">conectar</string>
<string name="debug_debug_console">Console de depuração</string>
<string name="debug_clear">limpar</string>
<string name="debug_relays_window_fmt">últimos 10s: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">P derivado: %1$s • itens máx. estimados: %2$s</string>
<string name="debug_direct_suffix"> • direto</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">como servidor (nós hospedamos)</string>
<string name="debug_role_client">como cliente (nós conectamos)</string>
<!-- Onboarding -->
<string name="location_services_required">Serviços de localização necessários</string>
<string name="privacy_first">Privacidade em primeiro lugar</string>
<string name="location_explanation">O bitchat NÃO rastreia sua localização.\n\nOs serviços de localização são necessários para a varredura do Bluetooth e o recurso de chat geohash.</string>
<string name="location_needs_for">O bitchat precisa de serviços de localização para:</string>
<string name="location_needs_bullets">• Varredura de dispositivos Bluetooth\n• Descobrir usuários próximos na rede mesh\n• Recurso de chat geohash\n• Sem rastreamento nem coleta de localização</string>
<string name="open_location_settings">Abrir configurações de localização</string>
<string name="check_again">Verificar novamente</string>
<string name="location_services_unavailable">Serviços de localização indisponíveis</string>
<string name="location_unavailable_explanation">Os serviços de localização não estão disponíveis neste dispositivo. Isso é incomum, pois serviços de localização são padrão em dispositivos Android.\n\nO bitchat requer serviços de localização para a varredura Bluetooth funcionar corretamente (requisito do Android). Sem isso, o app não consegue descobrir usuários próximos.</string>
<string name="checking_location_services">Verificando serviços de localização…</string>
<string name="bluetooth_required">Bluetooth necessário</string>
<string name="bluetooth_needs_for">O bitchat precisa de Bluetooth para:</string>
<string name="bluetooth_needs_bullets">• Descobrir usuários próximos\n• Criar conexões mesh\n• Enviar e receber mensagens\n• Funcionar sem internet ou servidores</string>
<string name="enable_bluetooth">Ativar Bluetooth</string>
<string name="bluetooth_not_supported">Bluetooth não suportado</string>
<string name="bluetooth_unsupported_explanation">Este dispositivo não suporta Bluetooth Low Energy (BLE), necessário para o bitchat.\n\nO BLE é necessário para criar redes mesh e comunicar com dispositivos próximos sem internet.</string>
<string name="checking_bluetooth_status">Verificando status do Bluetooth…</string>
<string name="battery_optimization_detected_title">Otimização de bateria detectada</string>
<string name="battery_optimization_enabled_title">Otimização de bateria ativada</string>
<string name="battery_optimization_explanation_short">O bitchat precisa rodar em segundo plano para manter conexões mesh. A otimização de bateria pode interromper essas conexões.</string>
<string name="benefits_of_disabling">Benefícios de desativar</string>
<string name="battery_benefits_short">• entrega confiável\n• mantém conectividade mesh\n• evita quedas</string>
<string name="disable_battery_optimization">Desativar otimização de bateria</string>
<string name="battery_optimization_disabled_title">Otimização de bateria desativada</string>
<string name="continue_btn">Continuar</string>
<string name="initializing_mesh_network">Inicializando rede mesh</string>
<string name="setting_up_bluetooth">Configurando rede mesh Bluetooth…</string>
<string name="should_take_seconds">Deve levar apenas alguns segundos</string>
<string name="setup_not_complete">Configuração não concluída</string>
<string name="try_again">Tentar novamente</string>
<string name="privacy_protected">Sua privacidade está protegida</string>
<string name="privacy_bullets">• sem rastreamento ou coleta de dados\n• chats mesh Bluetooth são totalmente offline\n• chats geohash usam internet</string>
<string name="permissions_header">Permissões</string>
<string name="grant_permissions">Conceder permissões</string>
<string name="location_tracking_warning">O bitchat NÃO rastreia sua localização</string>
<string name="geohash_people_header">PESSOAS</string>
<string name="nobody_around">ninguém por perto…</string>
<string name="you_suffix"> (você)</string>
<string name="pan_zoom_instruction">arraste/amplie para selecionar um geohash</string>
<string name="select">selecionar</string>
<string name="type_a_message_placeholder">Digite uma mensagem…</string>
<string name="mention">mencionar</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">Imagem</string>
<string name="media_type_file">Arquivo</string>
<!-- Auxiliares de notificação -->
<string name="notification_sent_image">📷 enviou uma imagem</string>
<string name="notification_sent_voice">🎤 enviou uma mensagem de voz</string>
<string name="notification_sent_file">📎 enviou um arquivo</string>
<!-- Acessibilidade do player de voz -->
<string name="cd_play_voice">Reproduzir</string>
<string name="cd_pause_voice">Pausar</string>
<string name="cd_mining_pow">Minerando PoW</string>
<string name="cd_pow_enabled">PoW ativado</string>
<string name="cd_proof_of_work">Prova de Trabalho</string>
<string name="pow_mining_ellipsis">Minerando…</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- Descrições de permissões -->
<string name="perm_nearby_devices_desc">Necessário para descobrir usuários do bitchat via Bluetooth</string>
<string name="perm_nearby_devices_system">Permita que o bitchat se conecte a dispositivos próximos</string>
<string name="perm_location_desc">Necessário pelo Android para descobrir usuários próximos via Bluetooth</string>
<string name="perm_location_system">O bitchat precisa disso para escanear dispositivos próximos</string>
<string name="perm_notifications_desc">Receber notificações quando você receber mensagens privadas</string>
<string name="perm_notifications_system">Permita que o bitchat envie notificações</string>
<string name="perm_battery_desc">Desative a otimização de bateria para que o bitchat funcione de forma confiável em segundo plano e mantenha conexões mesh</string>
<string name="perm_battery_system">Permita que o bitchat funcione sem restrições de bateria</string>
<!-- Tipos de permissões -->
<string name="perm_type_nearby_devices">Dispositivos próximos</string>
<string name="perm_type_precise_location">Localização precisa</string>
<string name="perm_type_microphone">Microfone</string>
<string name="perm_type_notifications">Notificações</string>
<string name="perm_type_battery_optimization">Otimização de bateria</string>
<string name="perm_type_other">Outros</string>
<!-- Diálogo de senha -->
<string name="pwd_prompt_title">Digite a senha do canal</string>
<string name="pwd_prompt_message">O canal %1$s é protegido por senha. Digite a senha para entrar.</string>
<string name="pwd_label">Senha</string>
<string name="join">Entrar</string>
<string name="cancel">Cancelar</string>
<!-- Plurais -->
<plurals name="notification_and_more">
<item quantity="one">e mais %d</item>
<item quantity="other">e mais %d</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 pessoa</item>
<item quantity="other">%d pessoas</item>
</plurals>
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- Justificativas de permissões -->
<string name="permission_bluetooth_rationale">A permissão do Bluetooth é necessária para conversar diretamente com outros sem internet.</string>
<string name="permission_location_rationale">A permissão de localização é necessária para encontrar dispositivos próximos via Bluetooth.</string>
<string name="permission_notification_rationale">A permissão de notificações é necessária para alertá-lo sobre novas mensagens.</string>
<!-- Placeholders / UI básica -->
<string name="nickname_hint">Apelido</string>
<string name="message_hint">Digite uma mensagem…</string>
<string name="channel_password_hint">Palavra-passe</string>
<string name="join_channel">Juntar-se ao canal</string>
<string name="leave_channel">Sair</string>
<string name="send_message">Enviar</string>
<string name="show_commands">Mostrar comandos</string>
<string name="back">Voltar</string>
<string name="people">Pessoas</string>
<string name="channels">Canais</string>
<string name="online_users">Utilizadores online</string>
<string name="no_one_connected">Ninguém ligado</string>
<string name="emergency_clear_hint">Toque três vezes para apagar todos os dados</string>
<string name="your_network">A sua rede</string>
<!-- Otimização da bateria -->
<string name="battery_optimization_detected">Detetada otimização da bateria</string>
<string name="battery_optimization_disabled">Otimização da bateria desativada</string>
<string name="battery_optimization_not_required">Otimização da bateria não necessária</string>
<string name="battery_optimization_checking">A verificar otimização da bateria</string>
<string name="battery_optimization_why_disable">Por que desativar a otimização da bateria?</string>
<string name="battery_optimization_explanation">O bitchat funciona em segundo plano para manter conexões de rede mesh com dispositivos próximos. A otimização da bateria pode interromper essas conexões, fazendo com que as mensagens cheguem atrasadas ou se percam.\n\nDesativar a otimização da bateria garante comunicação peer-to-peer confiável.</string>
<string name="battery_optimization_disable_button">Desativar otimização da bateria</string>
<string name="battery_optimization_note">Nota: Pode alterar isso posteriormente em Definições do Android &gt; Aplicações &gt; bitchat &gt; Bateria.</string>
<string name="battery_optimization_not_supported_explanation">O seu dispositivo não requer definições de otimização da bateria. O bitchat funcionará normalmente.</string>
<string name="battery_optimization_not_supported_message">O seu dispositivo não requer definições de otimização da bateria. O bitchat funcionará normalmente.</string>
<string name="battery_optimization_success_message">O bitchat pode funcionar de forma confiável em segundo plano</string>
<string name="battery_optimization_benefits">• Entrega confiável de mensagens\n• Manutenção da conexão mesh\n• Reencaminhamento de mensagens em segundo plano\n• Previne desconexões</string>
<string name="battery_optimization_check_again">Verificar novamente</string>
<string name="battery_optimization_skip">Ignorar por agora</string>
<string name="battery_optimization_continue">Continuar</string>
<string name="retry">Tentar novamente</string>
<string name="skip">Ignorar</string>
<!-- Notificações -->
<string name="notification_summary_more">e mais %1$d</string>
<string name="notification_messages_from_people">%1$d mensagens de %2$d pessoas</string>
<string name="notification_more_conversations">e mais %1$d conversas</string>
<string name="notification_active_peers_title">👥 bitchatters por perto!</string>
<string name="notification_active_peers_one">1 pessoa por perto</string>
<string name="notification_active_peers_many">%1$d pessoas por perto</string>
<string name="notification_new_messages">Novas mensagens</string>
<string name="notification_new_location_messages">Novas mensagens de localização</string>
<string name="notification_mentions_in">Mencionado em %1$s</string>
<string name="notification_mentions_in_more">Mencionado em %1$s (+%2$d)</string>
<string name="notification_mentions_in_plural">%1$d menções em %2$s</string>
<string name="notification_new_activity_in">Nova atividade em %1$s</string>
<string name="notification_messages_in">Mensagens em %1$s</string>
<string name="notification_joined_conversation">%1$s juntou-se à conversa</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d menções</string>
<string name="notification_geohash_summary_title">bitchat Conversas de localização</string>
<string name="notification_geohash_summary_text">%1$d mensagens de %2$d localizações</string>
<string name="notification_mesh_mention_title_singular">Mencionado no chat mesh</string>
<string name="notification_mesh_mention_title_plural">%1$d menções no chat mesh</string>
<string name="notification_more_locations">e mais %1$d localizações</string>
<string name="notification_and_more">e mais %1$d</string>
<!-- Acessibilidade de favoritos -->
<string name="cd_add_favorite">Adicionar aos favoritos</string>
<string name="cd_remove_favorite">Remover dos favoritos</string>
<string name="cd_add_bookmark">Adicionar marcador</string>
<!-- Cabeçalho do chat e acessibilidade -->
<string name="chat_back">voltar</string>
<string name="chat_channel_prefix">Canal: %1$s</string>
<string name="chat_leave">sair</string>
<string name="cd_nostr_reachable">Alcançável via Nostr</string>
<string name="cd_unread_private_messages">Mensagens privadas não lidas</string>
<string name="cd_toggle_bookmark">Alternar marcador</string>
<string name="cd_teleported">Teletransportado</string>
<string name="cd_tor_status">Estado do Tor</string>
<string name="cd_connected_peers">Pares ligados</string>
<string name="cd_geohash_participants">Participantes geohash</string>
<string name="cd_ready_for_handshake">Pronto para handshake</string>
<string name="cd_handshake_in_progress">Handshake em andamento</string>
<string name="cd_encrypted">Encriptado ponto a ponto</string>
<string name="cd_handshake_failed">Handshake falhado</string>
<!-- Diálogo do visualizador de ficheiros -->
<string name="file_viewer_title">📎 Ficheiro recebido</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Tamanho: %1$s</string>
<string name="file_viewer_type">🏷️ Tipo: %1$s</string>
<string name="file_viewer_open_save">📂 Abrir / Guardar</string>
<string name="close_with_emoji">❌ Fechar</string>
<string name="pick_image">Escolher imagem</string>
<!-- Folha sobre -->
<string name="about_tagline">chat mesh descentralizado com encriptação ponto a ponto</string>
<string name="about_offline_mesh_title">Chat mesh offline</string>
<string name="about_offline_mesh_desc">Comunique diretamente via Bluetooth LE sem internet ou servidores. As mensagens são retransmitidas através de dispositivos próximos para estender o alcance.</string>
<string name="about_online_geohash_title">Canais geohash online</string>
<string name="about_online_geohash_desc">Conecte-se com pessoas perto de si através de canais baseados em geohash. Estenda a mesh através de repetidores de internet pública.</string>
<string name="about_e2e_title">Encriptação ponto a ponto</string>
<string name="about_e2e_desc">Mensagens privadas são encriptadas. Mensagens de canal são públicas.</string>
<string name="about_appearance">Aparência</string>
<string name="about_system">Sistema</string>
<string name="about_light">Claro</string>
<string name="about_dark">Escuro</string>
<string name="about_pow">Prova de Trabalho</string>
<string name="about_pow_off">PoW desligado</string>
<string name="about_pow_on">PoW ligado</string>
<string name="about_pow_tip">Adicionar prova de trabalho às mensagens geohash para tornar o spam mais difícil.</string>
<string name="about_pow_difficulty">Dificuldade: %1$d bits (~%2$s)</string>
<string name="about_pow_difficulty_attempts">Dificuldade %1$d requer ~%2$s tentativas de hash</string>
<string name="about_pow_desc_none">nenhuma prova de trabalho necessária</string>
<string name="about_pow_desc_very_low">muito baixo proteção mínima contra spam</string>
<string name="about_pow_desc_low">baixo proteção básica contra spam</string>
<string name="about_pow_desc_medium">médio boa proteção contra spam</string>
<string name="about_pow_desc_high">alto proteção forte contra spam</string>
<string name="about_pow_desc_very_high">muito alto pode causar atrasos</string>
<string name="about_pow_desc_extreme">extremo requer potência computacional significativa</string>
<string name="about_network">Rede</string>
<string name="about_tor_off">Tor desligado</string>
<string name="about_tor_on">Tor ligado</string>
<string name="about_tor_route">Encaminhar tráfego de internet através do Tor para maior privacidade.</string>
<string name="about_tor_status">Estado do Tor: %1$s, bootstrap %2$d%%</string>
<string name="about_last">Último: %1$s</string>
<string name="about_emergency_title">Limpeza de dados de emergência</string>
<string name="about_emergency_tip">Dica: Toque três vezes no título da aplicação para apagar todos os dados guardados incluindo mensagens, chaves e definições.</string>
<string name="about_debug_settings">Definições de depuração</string>
<string name="about_footer">Código aberto • Privacidade primeiro • Descentralizado</string>
<string name="close_plain">Fechar</string>
<string name="cancel_lower">cancelar</string>
<!-- Descrições de conteúdo gerais -->
<string name="cd_warning">Aviso</string>
<string name="cd_location_services">Serviços de localização</string>
<string name="cd_privacy">Privacidade</string>
<string name="cd_error">Erro</string>
<string name="cd_battery_optimization">Otimização da bateria</string>
<string name="cd_benefits">Benefícios</string>
<string name="cd_checking_battery_optimization">A verificar otimização da bateria</string>
<string name="cd_not_supported_battery_optimization">Otimização da bateria não suportada</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Mensagem não lida</string>
<string name="cd_open_map">Abrir mapa</string>
<string name="cd_remove_bookmark">Remover marcador</string>
<string name="cd_teleport">Teletransportar</string>
<string name="cd_selected">Selecionado</string>
<string name="cd_leave_channel">Sair do canal</string>
<string name="cd_reachable_via_nostr">Alcançável via Nostr</string>
<string name="cd_offline_favorite">Favorito (offline)</string>
<string name="cd_decrease_precision">Diminuir precisão</string>
<string name="cd_increase_precision">Aumentar precisão</string>
<string name="cd_select_geohash">Selecionar geohash</string>
<string name="cd_scroll_to_bottom">Deslocar para baixo</string>
<string name="cd_file">Ficheiro</string>
<string name="cd_image">Imagem</string>
<string name="cd_cancel">Cancelar</string>
<string name="cd_link">Ligação</string>
<string name="cd_pick_media">Escolher multimédia</string>
<string name="cd_pick_file">Escolher ficheiro</string>
<string name="cd_save_current_image">Guardar imagem atual</string>
<string name="cd_close">Fechar</string>
<string name="cd_image_index_of">Imagem %1$d de %2$d</string>
<string name="cd_privacy_protected">Privacidade protegida</string>
<string name="cd_record_voice">Gravar nota de voz</string>
<string name="cd_offline_mesh_chat">Chat mesh offline</string>
<string name="cd_online_geohash_channels">Canais geohash online</string>
<string name="cd_end_to_end_encryption">Encriptação ponto a ponto</string>
<!-- Imagens e ficheiros -->
<string name="image_page_of">Imagem %1$d de %2$d</string>
<string name="image_unavailable">Imagem indisponível</string>
<string name="image_saved_to_downloads">Imagem guardada em "Transferências"</string>
<string name="image_save_failed">Não foi possível guardar a imagem</string>
<string name="toast_image_saved">Imagem guardada em "Transferências"</string>
<string name="toast_failed_to_save_image">Não foi possível guardar a imagem</string>
<string name="pick_file">Escolher ficheiro</string>
<string name="file_unavailable">[Ficheiro indisponível]</string>
<string name="unknown">desconhecido</string>
<!-- Folha de ações do utilizador -->
<string name="choose_action_message_or_user">Escolher ação para esta mensagem ou utilizador</string>
<string name="choose_action_user">Escolher ação para este utilizador</string>
<string name="action_copy_message_title">Copiar mensagem</string>
<string name="action_copy_message_subtitle">Copiar esta mensagem para a área de transferência</string>
<string name="action_slap_title">Dar uma palmada em %1$s</string>
<string name="action_slap_subtitle">Enviar uma palmada brincalhona</string>
<string name="action_hug_title">Abraçar %1$s</string>
<string name="action_hug_subtitle">Enviar um abraço amigável</string>
<string name="action_block_title">Bloquear %1$s</string>
<string name="action_block_subtitle">Bloquear todas as mensagens deste utilizador</string>
<!-- Folha de canais geohash -->
<string name="location_channels_title">#Canais de localização</string>
<string name="location_channels_desc">Converse com pessoas perto de si através de canais geohash. Apenas um geohash aproximado é partilhado, nunca dados GPS exatos. Para preservar a sua privacidade, não tire capturas de ecrã nem partilhe este ecrã.</string>
<string name="grant_location_permission">Conceder permissão de localização</string>
<string name="location_permission_denied">Permissão de localização negada. Ative nas definições para usar canais de localização.</string>
<string name="open_settings">Abrir definições</string>
<string name="location_permission_granted">\u2713 Permissão de localização concedida</string>
<string name="checking_permissions">A verificar permissões…</string>
<string name="finding_nearby_channels">A procurar canais próximos…</string>
<string name="bookmarked">Marcado</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">Geohash inválido</string>
<string name="teleport">teletransportar</string>
<string name="disable_location_services">Desativar serviços de localização</string>
<string name="enable_location_services">Ativar serviços de localização</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">Quarteirão</string>
<string name="location_level_neighborhood">Bairro</string>
<string name="location_level_city">Cidade</string>
<string name="location_level_province">Província</string>
<string name="location_level_region">Região</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- Depuração / Diagnóstico -->
<string name="debug_tools">Ferramentas de depuração</string>
<string name="debug_tools_desc">Ferramentas de programador para diagnóstico e controlo</string>
<string name="debug_verbose_logging">registo detalhado</string>
<string name="debug_verbose_hint">Regista entradas/saídas de pares, direção de conexão, retransmissão de pacotes e repetidores</string>
<string name="debug_bluetooth_roles">Funções Bluetooth</string>
<string name="debug_gatt_server">Servidor GATT</string>
<string name="debug_connections_fmt">Conexões: %1$d / %2$d</string>
<string name="debug_max_server">máx. servidor</string>
<string name="debug_gatt_client">Cliente GATT</string>
<string name="debug_max_client">máx. cliente</string>
<string name="debug_overall_connections_fmt">Conexões: %1$d / %2$d</string>
<string name="debug_max_overall">máx. geral</string>
<string name="debug_packet_relay">Retransmissão de pacotes</string>
<string name="debug_since_start_fmt">desde o início: %1$d</string>
<string name="debug_roles_hint">Alternar funções ligado/desligado e fechar todas as conexões ao desativar</string>
<string name="debug_sync_settings">Definições de sincronização</string>
<string name="debug_max_packets_per_sync_fmt">máx. pacotes por sincronização: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">máx. tamanho do filtro GCS: %1$d bytes (1281024)</string>
<string name="debug_target_fpr_fmt">FPR alvo: %1$.2f%%</string>
<string name="debug_connected_devices">dispositivos ligados</string>
<string name="debug_our_device_id_fmt">nosso ID do dispositivo: %1$s</string>
<string name="debug_none">nenhum</string>
<string name="debug_disconnect">desligar</string>
<string name="debug_recent_scan_results">dispositivos digitalizados recentemente</string>
<string name="debug_connect">ligar</string>
<string name="debug_debug_console">Consola de depuração</string>
<string name="debug_clear">limpar</string>
<string name="debug_relays_window_fmt">últimos 10s: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">P derivado: %1$s • máx. itens estimados: %2$s</string>
<string name="debug_direct_suffix"> • direto</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">como servidor (nós hospedamos)</string>
<string name="debug_role_client">como cliente (nós ligamos)</string>
<!-- Ecrãs de integração -->
<string name="location_services_required">Serviços de localização necessários</string>
<string name="privacy_first">Privacidade primeiro</string>
<string name="location_explanation">O bitchat NÃO rastreia a sua localização.\n\nOs serviços de localização são necessários para a digitalização Bluetooth e a funcionalidade de chat geohash.</string>
<string name="location_needs_for">O bitchat precisa de serviços de localização para:</string>
<string name="location_needs_bullets">• Digitalização de dispositivos Bluetooth\n• Descobrir utilizadores próximos na rede mesh\n• Funcionalidade de chat geohash\n• Sem rastreamento ou recolha de localização</string>
<string name="open_location_settings">Abrir definições de localização</string>
<string name="check_again">Verificar novamente</string>
<string name="location_services_unavailable">Serviços de localização indisponíveis</string>
<string name="location_unavailable_explanation">Os serviços de localização não estão disponíveis neste dispositivo. Isto é incomum, uma vez que os serviços de localização são padrão em dispositivos Android.\n\nO bitchat requer serviços de localização para o funcionamento adequado da digitalização Bluetooth (requisito do Android). Sem isso, a aplicação não pode descobrir utilizadores próximos.</string>
<string name="checking_location_services">A verificar serviços de localização…</string>
<string name="bluetooth_required">Bluetooth necessário</string>
<string name="bluetooth_needs_for">O bitchat precisa de Bluetooth para:</string>
<string name="bluetooth_needs_bullets">• Descobrir utilizadores próximos\n• Criar conexões de rede mesh\n• Enviar e receber mensagens\n• Funcionar sem internet ou servidores</string>
<string name="enable_bluetooth">Ativar Bluetooth</string>
<string name="bluetooth_not_supported">Bluetooth não suportado</string>
<string name="bluetooth_unsupported_explanation">Este dispositivo não suporta Bluetooth Low Energy (BLE), que é necessário para o bitchat funcionar.\n\nO BLE é necessário para criar redes mesh e comunicar com dispositivos próximos sem internet.</string>
<string name="checking_bluetooth_status">A verificar estado do Bluetooth…</string>
<string name="battery_optimization_detected_title">Otimização da bateria detetada</string>
<string name="battery_optimization_enabled_title">Otimização da bateria ativada</string>
<string name="battery_optimization_explanation_short">O bitchat precisa de funcionar em segundo plano para manter conexões mesh. A otimização da bateria pode interromper essas conexões.</string>
<string name="benefits_of_disabling">Benefícios de desativar</string>
<string name="battery_benefits_short">• entrega confiável de mensagens\n• mantém conectividade mesh\n• previne desconexões</string>
<string name="disable_battery_optimization">Desativar otimização da bateria</string>
<string name="battery_optimization_disabled_title">Otimização da bateria desativada</string>
<string name="continue_btn">Continuar</string>
<string name="initializing_mesh_network">A inicializar rede mesh</string>
<string name="setting_up_bluetooth">A configurar rede mesh Bluetooth…</string>
<string name="should_take_seconds">Isto deve demorar apenas alguns segundos</string>
<string name="setup_not_complete">Configuração não concluída</string>
<string name="try_again">Tentar novamente</string>
<string name="privacy_protected">A sua privacidade está protegida</string>
<string name="privacy_bullets">• sem rastreamento ou recolha de dados\n• chats mesh Bluetooth são completamente offline\n• chats geohash usam internet</string>
<string name="permissions_header">Permissões</string>
<string name="grant_permissions">Conceder permissões</string>
<string name="location_tracking_warning">O bitchat NÃO rastreia a sua localização</string>
<string name="geohash_people_header">PESSOAS</string>
<string name="nobody_around">ninguém por perto…</string>
<string name="you_suffix"> (você)</string>
<string name="pan_zoom_instruction">arraste e amplie para selecionar um geohash</string>
<string name="select">selecionar</string>
<string name="type_a_message_placeholder">Digite uma mensagem…</string>
<string name="mention">mencionar</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">Imagem</string>
<string name="media_type_file">Ficheiro</string>
<!-- Auxiliares de texto de notificação -->
<string name="notification_sent_image">📷 enviou uma imagem</string>
<string name="notification_sent_voice">🎤 enviou uma nota de voz</string>
<string name="notification_sent_file">📎 enviou um ficheiro</string>
<!-- Acessibilidade do reprodutor de voz -->
<string name="cd_play_voice">Reproduzir</string>
<string name="cd_pause_voice">Pausar</string>
<string name="cd_mining_pow">A minerar PoW</string>
<string name="cd_pow_enabled">PoW ativado</string>
<string name="cd_proof_of_work">Prova de Trabalho</string>
<string name="pow_mining_ellipsis">A minerar…</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- Descrições de permissões -->
<string name="perm_nearby_devices_desc">Necessário para descobrir utilizadores bitchat via Bluetooth</string>
<string name="perm_nearby_devices_system">Permitir que o bitchat se ligue a dispositivos próximos</string>
<string name="perm_location_desc">Requerido pelo Android para descobrir utilizadores bitchat próximos via Bluetooth</string>
<string name="perm_location_system">O bitchat precisa disto para digitalizar dispositivos próximos</string>
<string name="perm_notifications_desc">Receber notificações quando recebe mensagens privadas</string>
<string name="perm_notifications_system">Permitir que o bitchat lhe envie notificações</string>
<string name="perm_battery_desc">Desativar otimização da bateria para garantir que o bitchat funcione de forma confiável em segundo plano e mantenha conexões de rede mesh</string>
<string name="perm_battery_system">Permitir que o bitchat funcione sem restrições de bateria</string>
<!-- Tipos de permissões -->
<string name="perm_type_nearby_devices">Dispositivos próximos</string>
<string name="perm_type_precise_location">Localização precisa</string>
<string name="perm_type_microphone">Microfone</string>
<string name="perm_type_notifications">Notificações</string>
<string name="perm_type_battery_optimization">Otimização da bateria</string>
<string name="perm_type_other">Outro</string>
<!-- Diálogo de palavra-passe -->
<string name="pwd_prompt_title">Inserir palavra-passe do canal</string>
<string name="pwd_prompt_message">O canal %1$s está protegido por palavra-passe. Insira a palavra-passe para entrar.</string>
<string name="pwd_label">Palavra-passe</string>
<string name="join">Entrar</string>
<string name="cancel">Cancelar</string>
<!-- Plurais -->
<plurals name="notification_and_more">
<item quantity="one">e mais %d</item>
<item quantity="other">e mais %d</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 pessoa</item>
<item quantity="other">%d pessoas</item>
</plurals>
</resources>
+343
View File
@@ -0,0 +1,343 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<string name="permission_bluetooth_rationale">Требуется разрешение Bluetooth для общения p2p без интернета.</string>
<string name="permission_location_rationale">Требуется доступ к геопозиции для поиска ближайших устройств по Bluetooth.</string>
<string name="permission_notification_rationale">Требуется доступ к уведомлениям для оповещения о новых сообщениях.</string>
<string name="nickname_hint">ник</string>
<string name="message_hint">введите сообщение…</string>
<string name="channel_password_hint">Пароль</string>
<string name="join_channel">Войти в канал</string>
<string name="leave_channel">Покинуть</string>
<string name="send_message">Отправить</string>
<string name="show_commands">Показать команды</string>
<string name="back">Назад</string>
<string name="people">Люди</string>
<string name="channels">Каналы</string>
<string name="online_users">Пользователи онлайн</string>
<string name="no_one_connected">Нет подключённых</string>
<string name="emergency_clear_hint">Тройной тап для удаления всех данных</string>
<string name="your_network">Сеть</string>
<string name="battery_optimization_detected">Обнаружена оптимизация батареи</string>
<string name="battery_optimization_disabled">Оптимизация батареи отключена</string>
<string name="battery_optimization_not_required">Оптимизация батареи не требуется</string>
<string name="battery_optimization_checking">Проверка оптимизации батареи</string>
<string name="battery_optimization_why_disable">Зачем отключать оптимизацию?</string>
<string name="battery_optimization_explanation">bitchat работает в фоне для поддержания mesh‑подключений с ближайшими устройствами. Оптимизация батареи может их прервать, что ведёт к задержкам и потерям сообщений.\n\nОтключение гарантирует надёжный обмен p2p.</string>
<string name="battery_optimization_disable_button">Отключить оптимизацию</string>
<string name="battery_optimization_note">Примечание: это можно изменить позже в Настройки Android &gt; Приложения &gt; bitchat &gt; Батарея</string>
<string name="battery_optimization_not_supported_explanation">На вашем устройстве не требуются настройки оптимизации. bitchat будет работать штатно.</string>
<string name="battery_optimization_not_supported_message">На вашем устройстве не требуются настройки оптимизации. bitchat будет работать штатно.</string>
<string name="battery_optimization_success_message">bitchat может надёжно работать в фоне</string>
<string name="battery_optimization_benefits">• Надёжная доставка сообщений\n• Поддержка mesh‑связи\n• Фоновая ретрансляция\n• Предотвращение обрывов связи</string>
<string name="battery_optimization_check_again">Проверить снова</string>
<string name="battery_optimization_skip">Пропустить пока</string>
<string name="battery_optimization_continue">Продолжить</string>
<string name="retry">Повторить</string>
<string name="skip">Пропустить</string>
<string name="notification_summary_more">и ещё %1$d</string>
<string name="notification_messages_from_people">%1$d сообщений от %2$d людей</string>
<string name="notification_more_conversations">и ещё %1$d бесед</string>
<string name="notification_active_peers_title">👥 bitchatter рядом!</string>
<string name="notification_active_peers_one">Рядом 1 человек</string>
<string name="notification_active_peers_many">Рядом %1$d человек</string>
<string name="notification_new_messages">Новые сообщения</string>
<string name="notification_new_location_messages">Новые сообщения локаций</string>
<string name="notification_mentions_in">Упоминание в %1$s</string>
<string name="notification_mentions_in_more">Упоминание в %1$s (+%2$d)</string>
<string name="notification_mentions_in_plural">%1$d упоминаний в %2$s</string>
<string name="notification_new_activity_in">Новая активность в %1$s</string>
<string name="notification_messages_in">Сообщения в %1$s</string>
<string name="notification_joined_conversation">%1$s присоединился к беседе</string>
<string name="notification_geohash_summary_title_mentions">bitchat — %1$d упоминаний</string>
<string name="notification_geohash_summary_title">bitchat — чаты по локациям</string>
<string name="notification_geohash_summary_text">%1$d сообщений из %2$d локаций</string>
<string name="notification_mesh_mention_title_singular">Упоминание в Mesh‑чате</string>
<string name="notification_mesh_mention_title_plural">%1$d упоминаний в Mesh‑чате</string>
<string name="notification_more_locations">и ещё %1$d локаций</string>
<string name="notification_and_more">и ещё %1$d</string>
<string name="cd_add_favorite">В избранное</string>
<string name="cd_remove_favorite">Убрать из избранного</string>
<string name="cd_add_bookmark">Добавить закладку</string>
<string name="chat_back">назад</string>
<string name="chat_channel_prefix">канал: %1$s</string>
<string name="chat_leave">выйти</string>
<string name="cd_nostr_reachable">Доступен через Nostr</string>
<string name="cd_unread_private_messages">Непрочитанные личные</string>
<string name="cd_toggle_bookmark">Переключить закладку</string>
<string name="cd_teleported">Телепортировано</string>
<string name="cd_tor_status">Статус Tor</string>
<string name="cd_connected_peers">Подключённые узлы</string>
<string name="cd_geohash_participants">Участники geohash</string>
<string name="cd_ready_for_handshake">Готов к рукопожатию</string>
<string name="cd_handshake_in_progress">Рукопожатие…</string>
<string name="cd_encrypted">Сквозное шифрование</string>
<string name="cd_handshake_failed">Не удалось договориться</string>
<string name="file_viewer_title">📎 Получен файл</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Размер: %1$s</string>
<string name="file_viewer_type">🏷️ Тип: %1$s</string>
<string name="file_viewer_open_save">📂 Открыть / Сохранить</string>
<string name="close_with_emoji">❌ Закрыть</string>
<string name="pick_image">Выбрать изображение</string>
<string name="about_tagline">децентрализованный mesh‑чат со сквозным шифрованием</string>
<string name="about_offline_mesh_title">Оффлайн Mesh‑чат</string>
<string name="about_offline_mesh_desc">Общение напрямую по Bluetooth LE без интернета и серверов. Сообщения ретранслируются близлежащими устройствами.</string>
<string name="about_online_geohash_title">Онлайн‑каналы Geohash</string>
<string name="about_online_geohash_desc">Общайся с людьми поблизости через каналы на основе geohash. Расширяй mesh через публичные ретрансляторы.</string>
<string name="about_e2e_title">Сквозное шифрование</string>
<string name="about_e2e_desc">Личные сообщения — зашифрованы. Канальные — публичны.</string>
<string name="about_appearance">оформление</string>
<string name="about_system">система</string>
<string name="about_light">светлая</string>
<string name="about_dark">тёмная</string>
<string name="about_pow">proof of work</string>
<string name="about_pow_off">pow выкл</string>
<string name="about_pow_on">pow вкл</string>
<string name="about_pow_tip">добавь proof of work к сообщениям geohash для защиты от спама.</string>
<string name="about_pow_difficulty">сложность: %1$d бит (~%2$s)</string>
<string name="about_pow_difficulty_attempts">сложность %1$d ≈ ~%2$s попыток хеширования</string>
<string name="about_pow_desc_none">proof of work не требуется</string>
<string name="about_pow_desc_very_low">очень низкая — минимальная защита</string>
<string name="about_pow_desc_low">низкая — базовая защита</string>
<string name="about_pow_desc_medium">средняя — хорошая защита</string>
<string name="about_pow_desc_high">высокая — сильная защита</string>
<string name="about_pow_desc_very_high">очень высокая — возможны задержки</string>
<string name="about_pow_desc_extreme">экстремальная — требуется много вычислений</string>
<string name="about_network">сеть</string>
<string name="about_tor_off">tor выкл</string>
<string name="about_tor_on">tor вкл</string>
<string name="about_tor_route">направляй интернет через Tor для приватности.</string>
<string name="about_tor_status">статус Tor: %1$s, загрузка %2$d%%</string>
<string name="about_last">Последнее: %1$s</string>
<string name="about_emergency_title">Экстренное удаление данных</string>
<string name="about_emergency_tip">Совет: тройной тап по заголовку — удалить все данные (сообщения, ключи, настройки).</string>
<string name="about_debug_settings">Настройки отладки</string>
<string name="about_footer">Open Source • Privacy First • Децентрализация</string>
<string name="close_plain">Закрыть</string>
<string name="cancel_lower">отмена</string>
<string name="cd_warning">Предупреждение</string>
<string name="cd_location_services">Службы локации</string>
<string name="cd_privacy">Приватность</string>
<string name="cd_error">Ошибка</string>
<string name="cd_battery_optimization">Оптимизация батареи</string>
<string name="cd_benefits">Преимущества</string>
<string name="cd_checking_battery_optimization">Проверка оптимизации</string>
<string name="cd_not_supported_battery_optimization">Не поддерживается</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Непрочитанное сообщение</string>
<string name="cd_open_map">Открыть карту</string>
<string name="cd_remove_bookmark">Удалить закладку</string>
<string name="cd_teleport">Телепорт</string>
<string name="cd_selected">Выбрано</string>
<string name="cd_leave_channel">Покинуть канал</string>
<string name="cd_reachable_via_nostr">Доступен через Nostr</string>
<string name="cd_offline_favorite">Избранное (оффлайн)</string>
<string name="cd_decrease_precision">Уменьшить точность</string>
<string name="cd_increase_precision">Увеличить точность</string>
<string name="cd_select_geohash">Выбрать geohash</string>
<string name="cd_scroll_to_bottom">Прокрутить вниз</string>
<string name="cd_file">Файл</string>
<string name="cd_image">Изображение</string>
<string name="cd_cancel">Отмена</string>
<string name="cd_link">Ссылка</string>
<string name="cd_pick_media">Выбрать медиа</string>
<string name="cd_record_voice">Записать голос</string>
<string name="cd_offline_mesh_chat">Оффлайн Mesh‑чат</string>
<string name="cd_online_geohash_channels">Онлайн‑каналы Geohash</string>
<string name="cd_end_to_end_encryption">Сквозное шифрование</string>
<string name="image_page_of">Изображение %1$d / %2$d</string>
<string name="image_unavailable">Изображение недоступно</string>
<string name="image_saved_to_downloads">Изображение сохранено в «Загрузки»</string>
<string name="image_save_failed">Не удалось сохранить изображение</string>
<string name="pick_file">Выбрать файл</string>
<string name="file_unavailable">[файл недоступен]</string>
<string name="unknown">неизвестно</string>
<string name="choose_action_message_or_user">выберите действие для сообщения или пользователя</string>
<string name="choose_action_user">выберите действие для пользователя</string>
<string name="action_copy_message_title">копировать сообщение</string>
<string name="action_copy_message_subtitle">скопировать сообщение в буфер</string>
<string name="action_slap_title">дать пощёчину %1$s</string>
<string name="action_slap_subtitle">отправить шутливую пощёчину</string>
<string name="action_hug_title">обнять %1$s</string>
<string name="action_hug_subtitle">отправить дружеские объятия</string>
<string name="action_block_title">заблокировать %1$s</string>
<string name="action_block_subtitle">заблокировать все сообщения от этого пользователя</string>
<string name="location_channels_title">#каналы локации</string>
<string name="location_channels_desc">общайся с людьми рядом через каналы geohash. делится только грубый geohash, никогда точный gps. не делай скриншоты и не делись экраном для защиты приватности.</string>
<string name="grant_location_permission">выдать доступ к локации</string>
<string name="location_permission_denied">доступ к локации запрещён. включите в настройках для использования каналов.</string>
<string name="open_settings">Открыть настройки</string>
<string name="location_permission_granted">\u2713 доступ к локации выдан</string>
<string name="checking_permissions">проверка разрешений…</string>
<string name="finding_nearby_channels">поиск близких каналов…</string>
<string name="bookmarked">в закладках</string>
<string name="geohash_placeholder">geohash</string>
<string name="invalid_geohash">некорректный geohash</string>
<string name="teleport">телепорт</string>
<string name="disable_location_services">отключить службы локации</string>
<string name="enable_location_services">включить службы локации</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">квартал</string>
<string name="location_level_neighborhood">район</string>
<string name="location_level_city">город</string>
<string name="location_level_province">область</string>
<string name="location_level_region">регион</string>
<string name="debug_tools">инструменты отладки</string>
<string name="debug_verbose_logging">подробное логирование</string>
<string name="debug_bluetooth_roles">роли Bluetooth</string>
<string name="debug_gatt_server">сервер GATT</string>
<string name="debug_connections_fmt">подключения: %1$d / %2$d</string>
<string name="debug_max_server">макс. сервер</string>
<string name="debug_gatt_client">клиент GATT</string>
<string name="debug_max_client">макс. клиент</string>
<string name="debug_overall_connections_fmt">подключения: %1$d / %2$d</string>
<string name="debug_max_overall">макс. всего</string>
<string name="debug_packet_relay">ретрансляция пакетов</string>
<string name="debug_since_start_fmt">с начала: %1$d</string>
<string name="debug_sync_settings">настройки синхр.</string>
<string name="debug_max_packets_per_sync_fmt">макс. пакетов на синхр.: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">макс. размер фильтра GCS: %1$d байт (1281024)</string>
<string name="debug_target_fpr_fmt">целевой FPR: %1$.2f%%</string>
<string name="debug_connected_devices">подключённые устройства</string>
<string name="debug_our_device_id_fmt">ID нашего устройства: %1$s</string>
<string name="debug_none">нет</string>
<string name="debug_disconnect">отключить</string>
<string name="debug_recent_scan_results">последние результаты сканирования</string>
<string name="debug_connect">подключить</string>
<string name="debug_debug_console">консоль отладки</string>
<string name="debug_clear">очистить</string>
<string name="debug_relays_window_fmt">посл. 10с: %1$d • 1м: %2$d • 15м: %3$d</string>
<string name="debug_derived_p_fmt">выведенный P: %1$s • оцен. макс. элементов: %2$s</string>
<string name="debug_direct_suffix"> • напрямую</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_question_mark">?</string>
<string name="debug_role_server">как сервер (мы хостим)</string>
<string name="debug_role_client">как клиент (мы подключаемся)</string>
<string name="location_services_required">Требуются службы локации</string>
<string name="privacy_first">Приватность прежде всего</string>
<string name="location_explanation">bitchat НЕ отслеживает вашу геопозицию.\n\nСлужбы локации нужны для сканирования Bluetooth и функции чата Geohash.</string>
<string name="location_needs_for">bitchat нужны службы локации для:</string>
<string name="location_needs_bullets">• Сканирования устройств Bluetooth\n• Поиска ближайших пользователей в mesh\n• Функции чата Geohash\n• Без отслеживания и сбора геоданных</string>
<string name="open_location_settings">Открыть настройки локации</string>
<string name="check_again">Проверить снова</string>
<string name="location_services_unavailable">Службы локации недоступны</string>
<string name="location_unavailable_explanation">На этом устройстве службы локации недоступны — это необычно.\n\nОни требуются Android для корректной работы сканирования Bluetooth. Иначе невозможно обнаружить ближайших пользователей.</string>
<string name="checking_location_services">Проверка служб локации…</string>
<string name="bluetooth_required">Требуется Bluetooth</string>
<string name="bluetooth_needs_for">bitchat нужен Bluetooth для:</string>
<string name="bluetooth_needs_bullets">• Обнаружения ближайших пользователей\n• Создания mesh‑подключений\n• Отправки и получения сообщений\n• Работы без интернета/серверов</string>
<string name="enable_bluetooth">Включить Bluetooth</string>
<string name="bluetooth_not_supported">Bluetooth не поддерживается</string>
<string name="bluetooth_unsupported_explanation">Это устройство не поддерживает Bluetooth Low Energy (BLE), необходимый для работы bitchat.\n\nBLE нужен для построения mesh и обмена с ближайшими устройствами без интернета.</string>
<string name="checking_bluetooth_status">Проверка статуса Bluetooth…</string>
<string name="battery_optimization_detected_title">обнаружена оптимизация батареи</string>
<string name="battery_optimization_enabled_title">Оптимизация включена</string>
<string name="battery_optimization_explanation_short">bitchat должен работать в фоне для mesh; оптимизация может прерывать.</string>
<string name="benefits_of_disabling">Преимущества отключения</string>
<string name="battery_benefits_short">• надёжная доставка\n• поддержка связности\n• предотвращает обрывы</string>
<string name="disable_battery_optimization">Отключить оптимизацию</string>
<string name="battery_optimization_disabled_title">оптимизация отключена</string>
<string name="continue_btn">Продолжить</string>
<string name="initializing_mesh_network">Инициализация mesh‑сети</string>
<string name="dot">.</string>
<string name="setting_up_bluetooth">Настройка Bluetooth mesh…</string>
<string name="should_take_seconds">Займёт лишь несколько секунд</string>
<string name="warning_emoji">⚠️</string>
<string name="setup_not_complete">Настройка не завершена</string>
<string name="try_again">Повторить</string>
<string name="privacy_protected">Ваша приватность защищена</string>
<string name="privacy_bullets">• без трекинга и сбора данных\n• Bluetooth‑mesh чаты полностью оффлайн\n• Geohash‑чаты используют интернет</string>
<string name="permissions_header">разрешения</string>
<string name="grant_permissions">Выдать разрешения</string>
<string name="location_tracking_warning">bitchat НЕ отслеживает вашу геопозицию</string>
<string name="at_symbol">@</string>
<string name="app_brand">bitchat/</string>
<string name="channel_count_prefix"> · ⧉ </string>
<string name="geohash_people_header">ЛЮДИ</string>
<string name="nobody_around">никого рядом…</string>
<string name="you_suffix"> (вы)</string>
<string name="pan_zoom_instruction">прокрутите/масштабируйте для выбора geohash</string>
<string name="select">выбрать</string>
<string name="type_a_message_placeholder">введите сообщение…</string>
<string name="mention_suggestion_at">@%1$s</string>
<string name="mention">упоминание</string>
<string name="image_counter">%1$d / %2$d</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="at_nickname">@%1$s</string>
<string name="version_prefix">v%1$s</string>
<string name="hash_symbol">#</string>
<string name="underscore">_</string>
<string name="progress_bar_brackets">[%1$s] %2$d%%</string>
<string name="progress_filled"></string>
<string name="progress_empty"></string>
<string name="image_star">image/*</string>
<string name="media_type_image">Изображение</string>
<string name="media_type_file">Файл</string>
<string name="status_sending"></string>
<string name="status_pending"></string>
<string name="status_sent"></string>
<string name="status_delivered">✓✓</string>
<string name="status_failed"></string>
<string name="status_read"></string>
<string name="notification_sent_image">📷 отправил изображение</string>
<string name="notification_sent_voice">🎤 отправил голосовое</string>
<string name="notification_sent_file">📎 отправил файл</string>
<string name="notification_file_pdf">📄</string>
<string name="notification_file_zip">🗜️</string>
<string name="notification_file_doc">📄</string>
<string name="notification_file_xls">📊</string>
<string name="notification_file_ppt">📈</string>
<string name="notification_file_generic">📎</string>
<string name="cd_play_voice">Воспроизвести</string>
<string name="cd_pause_voice">Пауза</string>
<string name="perm_nearby_devices_desc">Нужно для поиска пользователей bitchat по Bluetooth</string>
<string name="perm_nearby_devices_system">Разрешить bitchat подключаться к ближайшим устройствам</string>
<string name="perm_location_desc">Требуется Android для поиска по Bluetooth</string>
<string name="perm_location_system">bitchat нужно для сканирования ближайших устройств</string>
<string name="perm_notifications_desc">Получать уведомления о личных сообщениях</string>
<string name="perm_notifications_system">Разрешить bitchat отправлять вам уведомления</string>
<string name="perm_battery_desc">Отключить оптимизацию, чтобы bitchat работал в фоне и поддерживал mesh‑связь</string>
<string name="perm_battery_system">Разрешить работу без ограничений батареи</string>
<string name="perm_type_nearby_devices">Ближайшие устройства</string>
<string name="perm_type_precise_location">Точная геопозиция</string>
<string name="perm_type_microphone">Микрофон</string>
<string name="perm_type_notifications">Уведомления</string>
<string name="perm_type_battery_optimization">Оптимизация батареи</string>
<string name="perm_type_other">Другое</string>
<string name="pwd_prompt_title">Введите пароль канала</string>
<string name="pwd_prompt_message">Канал %1$s защищён паролем. Введите пароль, чтобы присоединиться.</string>
<string name="pwd_label">Пароль</string>
<string name="join">Войти</string>
<string name="cancel">Отмена</string>
<plurals name="notification_and_more">
<item quantity="one">и ещё %d</item>
<item quantity="other">и ещё %d</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 человек</item>
<item quantity="other">%d человек</item>
</plurals>
</resources>
+341
View File
@@ -0,0 +1,341 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<string name="permission_bluetooth_rationale">Bluetooth-behörighet krävs för direktmeddelanden utan internet.</string>
<string name="permission_location_rationale">Platsbehörighet krävs för att hitta enheter i närheten via Bluetooth.</string>
<string name="permission_notification_rationale">Aviseringsbehörighet krävs för att meddela nya meddelanden.</string>
<string name="nickname_hint">smeknamn</string>
<string name="message_hint">skriv ett meddelande…</string>
<string name="channel_password_hint">Lösenord</string>
<string name="join_channel">Gå med i kanal</string>
<string name="leave_channel">Lämna</string>
<string name="send_message">Skicka</string>
<string name="show_commands">Visa kommandon</string>
<string name="back">Tillbaka</string>
<string name="people">Personer</string>
<string name="channels">Kanaler</string>
<string name="online_users">Användare online</string>
<string name="no_one_connected">Ingen ansluten</string>
<string name="emergency_clear_hint">Tryck tre gånger för att rensa all data</string>
<string name="your_network">Nätverk</string>
<string name="battery_optimization_detected">Batterioptimering upptäckt</string>
<string name="battery_optimization_disabled">Batterioptimering inaktiverad</string>
<string name="battery_optimization_not_required">Batterioptimering krävs inte</string>
<string name="battery_optimization_checking">Kontrollerar batterioptimering</string>
<string name="battery_optimization_why_disable">Varför inaktivera?</string>
<string name="battery_optimization_explanation">bitchat körs i bakgrunden för att upprätthålla mesh-anslutningar till enheter i närheten. Batterioptimering kan avbryta dessa och orsaka fördröjda eller missade meddelanden.\n\nAtt inaktivera säkerställer tillförlitlig P2P-meddelandetrafik.</string>
<string name="battery_optimization_disable_button">Inaktivera optimering</string>
<string name="battery_optimization_note">Obs: kan ändras senare i Android-inställningar &gt; Appar &gt; bitchat &gt; Batteri</string>
<string name="battery_optimization_not_supported_explanation">Din enhet kräver inte batterioptimeringsinställningar. bitchat körs normalt.</string>
<string name="battery_optimization_not_supported_message">Din enhet kräver inte batterioptimeringsinställningar. bitchat körs normalt.</string>
<string name="battery_optimization_success_message">bitchat kan köras tillförlitligt i bakgrunden</string>
<string name="battery_optimization_benefits">• Tillförlitlig leverans\n• Upprätthåller mesh-anslutning\n• Bakgrundsrelä\n• Förhindrar avbrott</string>
<string name="battery_optimization_check_again">Kontrollera igen</string>
<string name="battery_optimization_skip">Hoppa över nu</string>
<string name="battery_optimization_continue">Fortsätt</string>
<string name="retry">Försök igen</string>
<string name="skip">Hoppa över</string>
<string name="notification_summary_more">och %1$d till</string>
<string name="notification_messages_from_people">%1$d meddelanden från %2$d personer</string>
<string name="notification_more_conversations">och %1$d fler konversationer</string>
<string name="notification_active_peers_title">👥 bitchatter i närheten!</string>
<string name="notification_active_peers_one">1 person i närheten</string>
<string name="notification_active_peers_many">%1$d personer i närheten</string>
<string name="notification_new_messages">Nya meddelanden</string>
<string name="notification_new_location_messages">Nya platsmeddelanden</string>
<string name="notification_mentions_in">Nämnd i %1$s</string>
<string name="notification_mentions_in_more">Nämnd i %1$s (+%2$d till)</string>
<string name="notification_mentions_in_plural">%1$d nämningar i %2$s</string>
<string name="notification_new_activity_in">Ny aktivitet i %1$s</string>
<string name="notification_messages_in">Meddelanden i %1$s</string>
<string name="notification_joined_conversation">%1$s gick med i konversationen</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d nämningar</string>
<string name="notification_geohash_summary_title">bitchat platschattar</string>
<string name="notification_geohash_summary_text">%1$d meddelanden från %2$d platser</string>
<string name="notification_mesh_mention_title_singular">Nämnd i Meshchatt</string>
<string name="notification_mesh_mention_title_plural">%1$d nämningar i Meshchatt</string>
<string name="notification_more_locations">och %1$d fler platser</string>
<string name="notification_and_more">och %1$d till</string>
<string name="cd_add_favorite">Lägg till som favorit</string>
<string name="cd_remove_favorite">Ta bort favorit</string>
<string name="cd_add_bookmark">Lägg till bokmärke</string>
<string name="chat_back">tillbaka</string>
<string name="chat_channel_prefix">kanal: %1$s</string>
<string name="chat_leave">lämna</string>
<string name="cd_nostr_reachable">Nås via Nostr</string>
<string name="cd_unread_private_messages">Olästa privata meddelanden</string>
<string name="cd_toggle_bookmark">Växla bokmärke</string>
<string name="cd_teleported">Teleporterad</string>
<string name="cd_tor_status">Torstatus</string>
<string name="cd_connected_peers">Anslutna noder</string>
<string name="cd_geohash_participants">Geohashdeltagare</string>
<string name="cd_ready_for_handshake">Redo för handshake</string>
<string name="cd_handshake_in_progress">Handshake pågår</string>
<string name="cd_encrypted">Ändatill‑ändakrypterat</string>
<string name="cd_handshake_failed">Handshake misslyckades</string>
<string name="file_viewer_title">📎 Fil mottagen</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Storlek: %1$s</string>
<string name="file_viewer_type">🏷️ Typ: %1$s</string>
<string name="file_viewer_open_save">📂 Öppna / Spara</string>
<string name="close_with_emoji">❌ Stäng</string>
<string name="pick_image">Välj bild</string>
<string name="about_tagline">decentraliserad meshmeddelanden med ändatill‑ändakryptering</string>
<string name="about_offline_mesh_title">Offline Meshchatt</string>
<string name="about_offline_mesh_desc">Kommunicera direkt via Bluetooth LE utan internet eller servrar. Meddelanden reläas av enheter i närheten.</string>
<string name="about_online_geohash_title">Online Geohashkanaler</string>
<string name="about_online_geohash_desc">Anslut med personer i närheten via geohashkanaler. Utöka mesh via publika internetreläer.</string>
<string name="about_e2e_title">Ändatill‑ändakryptering</string>
<string name="about_e2e_desc">Privata meddelanden är krypterade. Kanalmeddelanden är publika.</string>
<string name="about_appearance">utseende</string>
<string name="about_system">system</string>
<string name="about_light">ljus</string>
<string name="about_dark">mörk</string>
<string name="about_pow">proof of work</string>
<string name="about_pow_off">pow av</string>
<string name="about_pow_on">pow på</string>
<string name="about_pow_tip">lägg till proof of work i geohashmeddelanden för att hindra spam.</string>
<string name="about_pow_difficulty">svårighet: %1$d bitar (~%2$s)</string>
<string name="about_pow_difficulty_attempts">svårighet %1$d kräver ~%2$s hashförsök</string>
<string name="about_pow_desc_none">inget proof of work krävs</string>
<string name="about_pow_desc_very_low">mycket låg minimal skydd</string>
<string name="about_pow_desc_low">låg grundläggande skydd</string>
<string name="about_pow_desc_medium">medel bra skydd</string>
<string name="about_pow_desc_high">hög starkt skydd</string>
<string name="about_pow_desc_very_high">mycket hög kan orsaka fördröjning</string>
<string name="about_pow_desc_extreme">extrem kräver mycket beräkning</string>
<string name="about_network">nätverk</string>
<string name="about_tor_off">tor av</string>
<string name="about_tor_on">tor på</string>
<string name="about_tor_route">routa internet via Tor för ökad integritet.</string>
<string name="about_tor_status">Torstatus: %1$s, bootstrap %2$d%%</string>
<string name="about_last">Senast: %1$s</string>
<string name="about_emergency_title">Nödradering av data</string>
<string name="about_emergency_tip">Tips: tryck tre gånger på appens titel för att radera alla data (meddelanden, nycklar, inställningar).</string>
<string name="about_debug_settings">Felsökningsinställningar</string>
<string name="about_footer">Open Source • Privacy First • Decentraliserad</string>
<string name="close_plain">Stäng</string>
<string name="cancel_lower">avbryt</string>
<string name="cd_warning">Varning</string>
<string name="cd_location_services">Plats­tjänster</string>
<string name="cd_privacy">Integritet</string>
<string name="cd_error">Fel</string>
<string name="cd_battery_optimization">Batterioptimering</string>
<string name="cd_benefits">Fördelar</string>
<string name="cd_checking_battery_optimization">Kontrollerar optimering</string>
<string name="cd_not_supported_battery_optimization">Stöds ej</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Oläst meddelande</string>
<string name="cd_open_map">Öppna karta</string>
<string name="cd_remove_bookmark">Ta bort bokmärke</string>
<string name="cd_teleport">Teleportera</string>
<string name="cd_selected">Vald</string>
<string name="cd_leave_channel">Lämna kanal</string>
<string name="cd_reachable_via_nostr">Nås via Nostr</string>
<string name="cd_offline_favorite">Favorit (offline)</string>
<string name="cd_decrease_precision">Minska precision</string>
<string name="cd_increase_precision">Öka precision</string>
<string name="cd_select_geohash">Välj geohash</string>
<string name="cd_scroll_to_bottom">Rulla längst ned</string>
<string name="cd_file">Fil</string>
<string name="cd_image">Bild</string>
<string name="cd_cancel">Avbryt</string>
<string name="cd_link">Länk</string>
<string name="cd_pick_media">Välj media</string>
<string name="cd_record_voice">Spela in röstanteckning</string>
<string name="cd_offline_mesh_chat">Offline Meshchatt</string>
<string name="cd_online_geohash_channels">Online Geohashkanaler</string>
<string name="cd_end_to_end_encryption">Ändatill‑ändakryptering</string>
<string name="image_page_of">Bild %1$d / %2$d</string>
<string name="image_unavailable">Bild ej tillgänglig</string>
<string name="image_saved_to_downloads">Bild sparad i "Hämtade filer"</string>
<string name="image_save_failed">Kunde inte spara bild</string>
<string name="pick_file">Välj fil</string>
<string name="file_unavailable">[fil ej tillgänglig]</string>
<string name="unknown">okänd</string>
<string name="choose_action_message_or_user">välj en åtgärd för meddelandet eller användaren</string>
<string name="choose_action_user">välj en åtgärd för den här användaren</string>
<string name="action_copy_message_title">kopiera meddelande</string>
<string name="action_copy_message_subtitle">kopiera meddelandet till urklipp</string>
<string name="action_slap_title">ge %1$s en örfil</string>
<string name="action_slap_subtitle">skicka en skämtsam örfil</string>
<string name="action_hug_title">krama %1$s</string>
<string name="action_hug_subtitle">skicka en vänlig kram</string>
<string name="action_block_title">blockera %1$s</string>
<string name="action_block_subtitle">blockera alla meddelanden från den här användaren</string>
<string name="location_channels_title">#platskanaler</string>
<string name="location_channels_desc">chatta med folk nära dig via geohashkanaler. endast en grov geohash delas, aldrig exakt gps. ta inte skärmdumpar eller dela skärmen för att skydda din integritet.</string>
<string name="grant_location_permission">ge platsbehörighet</string>
<string name="location_permission_denied">platsbehörighet nekades. aktivera i inställningar för att använda platskanaler.</string>
<string name="open_settings">Öppna inställningar</string>
<string name="location_permission_granted">\u2713 platsbehörighet beviljad</string>
<string name="checking_permissions">kontrollerar behörigheter…</string>
<string name="finding_nearby_channels">söker efter kanaler i närheten…</string>
<string name="bookmarked">bokmärkt</string>
<string name="geohash_placeholder">geohash</string>
<string name="invalid_geohash">ogiltig geohash</string>
<string name="teleport">teleportera</string>
<string name="disable_location_services">inaktivera platstjänster</string>
<string name="enable_location_services">aktivera platstjänster</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">kvarter</string>
<string name="location_level_neighborhood">grannskap</string>
<string name="location_level_city">stad</string>
<string name="location_level_province">län</string>
<string name="location_level_region">region</string>
<string name="debug_tools">felsökningsverktyg</string>
<string name="debug_verbose_logging">utförlig loggning</string>
<string name="debug_bluetooth_roles">Bluetoothroller</string>
<string name="debug_gatt_server">GATTserver</string>
<string name="debug_connections_fmt">anslutningar: %1$d / %2$d</string>
<string name="debug_max_server">max server</string>
<string name="debug_gatt_client">GATTklient</string>
<string name="debug_max_client">max klient</string>
<string name="debug_overall_connections_fmt">anslutningar: %1$d / %2$d</string>
<string name="debug_max_overall">max totalt</string>
<string name="debug_packet_relay">paketrelä</string>
<string name="debug_since_start_fmt">sedan start: %1$d</string>
<string name="debug_sync_settings">synkinställningar</string>
<string name="debug_max_packets_per_sync_fmt">max paket per synk: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">max GCSfilterstorlek: %1$d byte (1281024)</string>
<string name="debug_target_fpr_fmt">målFPR: %1$.2f%%</string>
<string name="debug_connected_devices">anslutna enheter</string>
<string name="debug_our_device_id_fmt">vår enhetsID: %1$s</string>
<string name="debug_none">ingen</string>
<string name="debug_disconnect">koppla från</string>
<string name="debug_recent_scan_results">senaste skanningsresultat</string>
<string name="debug_connect">anslut</string>
<string name="debug_debug_console">felsökningskonsol</string>
<string name="debug_clear">rensa</string>
<string name="debug_relays_window_fmt">senaste 10 s: %1$d • 1 m: %2$d • 15 m: %3$d</string>
<string name="debug_derived_p_fmt">härlett P: %1$s • uppsk. max element: %2$s</string>
<string name="debug_direct_suffix"> • direkt</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_question_mark">?</string>
<string name="debug_role_server">som server (vi hostar)</string>
<string name="debug_role_client">som klient (vi ansluter)</string>
<string name="location_services_required">Platstjänster krävs</string>
<string name="privacy_first">Integritet först</string>
<string name="location_explanation">bitchat SPÅRAR INTE din plats.\n\nPlatstjänster krävs för Bluetoothskanning och Geohashchatt.</string>
<string name="location_needs_for">bitchat behöver platstjänster för:</string>
<string name="location_needs_bullets">• Bluetoothskanning av enheter\n• Hitta användare i närheten i meshnätet\n• Geohashchatt\n• Ingen spårning eller insamling</string>
<string name="open_location_settings">Öppna platsinställningar</string>
<string name="check_again">Kontrollera igen</string>
<string name="location_services_unavailable">Platstjänster inte tillgängliga</string>
<string name="location_unavailable_explanation">Platstjänster saknas på den här enheten. Det är ovanligt.\n\nAndroid kräver dem för att Bluetoothskanning ska fungera. Utan dem kan vi inte hitta användare i närheten.</string>
<string name="checking_location_services">Kontrollerar platstjänster…</string>
<string name="bluetooth_required">Bluetooth krävs</string>
<string name="bluetooth_needs_for">bitchat behöver Bluetooth för:</string>
<string name="bluetooth_needs_bullets">• Hitta användare i närheten\n• Skapa meshanslutningar\n• Skicka och ta emot meddelanden\n• Fungera utan internet/ servrar</string>
<string name="enable_bluetooth">Aktivera Bluetooth</string>
<string name="bluetooth_not_supported">Bluetooth stöds inte</string>
<string name="bluetooth_unsupported_explanation">Denna enhet stöder inte Bluetooth Low Energy (BLE), vilket krävs för bitchat.\n\nBLE behövs för att bygga mesh och kommunicera utan internet.</string>
<string name="checking_bluetooth_status">Kontrollerar Bluetoothstatus…</string>
<string name="battery_optimization_detected_title">batterioptimering upptäckt</string>
<string name="battery_optimization_enabled_title">Batterioptimering på</string>
<string name="battery_optimization_explanation_short">bitchat måste köra i bakgrunden för mesh; optimering kan bryta.</string>
<string name="benefits_of_disabling">Fördelar med inaktivering</string>
<string name="battery_benefits_short">• tillförlitlig leverans\n• håller anslutning\n• förhindrar avbrott</string>
<string name="disable_battery_optimization">Inaktivera optimering</string>
<string name="battery_optimization_disabled_title">optimering av</string>
<string name="continue_btn">Fortsätt</string>
<string name="initializing_mesh_network">Initierar meshnätverk</string>
<string name="dot">.</string>
<string name="setting_up_bluetooth">Ställer in Bluetoothmesh…</string>
<string name="should_take_seconds">Det tar bara några sekunder</string>
<string name="warning_emoji">⚠️</string>
<string name="setup_not_complete">Slutför inte inställningen</string>
<string name="try_again">Försök igen</string>
<string name="privacy_protected">Din integritet är skyddad</string>
<string name="privacy_bullets">• ingen spårning eller insamling\n• Bluetoothmeshchattar helt offline\n• geohashchattar använder internet</string>
<string name="permissions_header">behörigheter</string>
<string name="grant_permissions">Ge behörigheter</string>
<string name="location_tracking_warning">bitchat spårar INTE din plats</string>
<string name="at_symbol">@</string>
<string name="app_brand">bitchat/</string>
<string name="channel_count_prefix"> · ⧉ </string>
<string name="geohash_people_header">PERSONER</string>
<string name="nobody_around">ingen i närheten…</string>
<string name="you_suffix"> (du)</string>
<string name="pan_zoom_instruction">panorera och zooma för att välja geohash</string>
<string name="select">välj</string>
<string name="type_a_message_placeholder">skriv ett meddelande…</string>
<string name="mention_suggestion_at">@%1$s</string>
<string name="mention">nämn</string>
<string name="image_counter">%1$d / %2$d</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="at_nickname">@%1$s</string>
<string name="version_prefix">v%1$s</string>
<string name="hash_symbol">#</string>
<string name="underscore">_</string>
<string name="progress_bar_brackets">[%1$s] %2$d%%</string>
<string name="progress_filled"></string>
<string name="progress_empty"></string>
<string name="image_star">image/*</string>
<string name="media_type_image">Bild</string>
<string name="media_type_file">Fil</string>
<string name="status_sending"></string>
<string name="status_pending"></string>
<string name="status_sent"></string>
<string name="status_delivered">✓✓</string>
<string name="status_failed"></string>
<string name="status_read"></string>
<string name="notification_sent_image">📷 skickade en bild</string>
<string name="notification_sent_voice">🎤 skickade ett röstmeddelande</string>
<string name="notification_sent_file">📎 skickade en fil</string>
<string name="notification_file_pdf">📄</string>
<string name="notification_file_zip">🗜️</string>
<string name="notification_file_doc">📄</string>
<string name="notification_file_xls">📊</string>
<string name="notification_file_ppt">📈</string>
<string name="notification_file_generic">📎</string>
<string name="cd_play_voice">Spela</string>
<string name="cd_pause_voice">Pausa</string>
<string name="perm_nearby_devices_desc">Krävs för att hitta bitchatanvändare via Bluetooth</string>
<string name="perm_nearby_devices_system">Tillåt bitchat att ansluta till enheter i närheten</string>
<string name="perm_location_desc">Krävs av Android för att hitta användare via Bluetooth</string>
<string name="perm_location_system">bitchat behöver detta för att skanna enheter</string>
<string name="perm_notifications_desc">Ta emot aviseringar vid privata meddelanden</string>
<string name="perm_notifications_system">Tillåt bitchat att skicka aviseringar</string>
<string name="perm_battery_desc">Inaktivera batterioptimering för tillförlitlig drift i bakgrunden och meshanslutning</string>
<string name="perm_battery_system">Tillåt körning utan batteribegränsningar</string>
<string name="perm_type_nearby_devices">Enheter i närheten</string>
<string name="perm_type_precise_location">Exakt plats</string>
<string name="perm_type_microphone">Mikrofon</string>
<string name="perm_type_notifications">Aviseringar</string>
<string name="perm_type_battery_optimization">Batterioptimering</string>
<string name="perm_type_other">Övrigt</string>
<string name="pwd_prompt_title">Ange kanalens lösenord</string>
<string name="pwd_prompt_message">Kanal %1$s är lösenordsskyddad. Ange lösenordet för att gå med.</string>
<string name="pwd_label">Lösenord</string>
<string name="join">Gå med</string>
<string name="cancel">Avbryt</string>
<plurals name="notification_and_more">
<item quantity="one">och %d till</item>
<item quantity="other">och %d till</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 person</item>
<item quantity="other">%d personer</item>
</plurals>
</resources>
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- TODO: Tamil translations -->
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- คำอธิบายสิทธิ์ -->
<string name="permission_bluetooth_rationale">จำเป็นต้องมีสิทธิ์บลูทูธเพื่อแชทโดยตรงกับผู้อื่นโดยไม่ใช้อินเทอร์เน็ต</string>
<string name="permission_location_rationale">จำเป็นต้องมีสิทธิ์ตำแหน่งเพื่อค้นหาอุปกรณ์ใกล้เคียงผ่านบลูทูธ</string>
<string name="permission_notification_rationale">จำเป็นต้องมีสิทธิ์การแจ้งเตือนเพื่อแจ้งเตือนคุณเมื่อมีข้อความใหม่</string>
<!-- ตัวยึดตำแหน่ง / UI พื้นฐาน -->
<string name="nickname_hint">ชื่อเล่น</string>
<string name="message_hint">พิมพ์ข้อความ…</string>
<string name="channel_password_hint">รหัสผ่าน</string>
<string name="join_channel">เข้าร่วมช่อง</string>
<string name="leave_channel">ออก</string>
<string name="send_message">ส่ง</string>
<string name="show_commands">แสดงคำสั่ง</string>
<string name="back">กลับ</string>
<string name="people">ผู้คน</string>
<string name="channels">ช่อง</string>
<string name="online_users">ผู้ใช้ที่ออนไลน์</string>
<string name="no_one_connected">ไม่มีการเชื่อมต่อ</string>
<string name="emergency_clear_hint">แตะสามครั้งเพื่อลบข้อมูลทั้งหมด</string>
<string name="your_network">เครือข่ายของคุณ</string>
<!-- การเพิ่มประสิทธิภาพแบตเตอรี่ -->
<string name="battery_optimization_detected">ตรวจพบการเพิ่มประสิทธิภาพแบตเตอรี่</string>
<string name="battery_optimization_disabled">ปิดการเพิ่มประสิทธิภาพแบตเตอรี่แล้ว</string>
<string name="battery_optimization_not_required">ไม่จำเป็นต้องเพิ่มประสิทธิภาพแบตเตอรี่</string>
<string name="battery_optimization_checking">กำลังตรวจสอบการเพิ่มประสิทธิภาพแบตเตอรี่</string>
<string name="battery_optimization_why_disable">ทำไมต้องปิดการเพิ่มประสิทธิภาพแบตเตอรี่?</string>
<string name="battery_optimization_explanation">bitchat ทำงานเบื้องหลังเพื่อคงการเชื่อมต่อแบบเมชกับอุปกรณ์ใกล้เคียง การเพิ่มประสิทธิภาพแบตเตอรี่อาจขัดจังหวะการเชื่อมต่อเหล่านี้ ทำให้ข้อความล่าช้าหรือสูญหาย\n\nการปิดการเพิ่มประสิทธิภาพแบตเตอรี่ช่วยให้การสื่อสารแบบเพียร์ทูเพียร์เชื่อถือได้</string>
<string name="battery_optimization_disable_button">ปิดการเพิ่มประสิทธิภาพแบตเตอรี่</string>
<string name="battery_optimization_note">หมายเหตุ: คุณสามารถเปลี่ยนได้ภายหลังที่ การตั้งค่า Android &gt; แอป &gt; bitchat &gt; แบตเตอรี่</string>
<string name="battery_optimization_not_supported_explanation">อุปกรณ์ของคุณไม่ต้องการการตั้งค่าการเพิ่มประสิทธิภาพแบตเตอรี่ bitchat จะทำงานตามปกติ</string>
<string name="battery_optimization_not_supported_message">อุปกรณ์ของคุณไม่ต้องการการตั้งค่าการเพิ่มประสิทธิภาพแบตเตอรี่ bitchat จะทำงานตามปกติ</string>
<string name="battery_optimization_success_message">bitchat สามารถทำงานเบื้องหลังได้อย่างเชื่อถือได้</string>
<string name="battery_optimization_benefits">• ส่งข้อความได้อย่างเชื่อถือ\n• รักษาการเชื่อมต่อแบบเมช\n• ส่งต่อข้อความเบื้องหลัง\n• ป้องกันการหลุดการเชื่อมต่อ</string>
<string name="battery_optimization_check_again">ตรวจสอบอีกครั้ง</string>
<string name="battery_optimization_skip">ข้ามตอนนี้</string>
<string name="battery_optimization_continue">ดำเนินการต่อ</string>
<string name="retry">ลองอีกครั้ง</string>
<string name="skip">ข้าม</string>
<!-- การแจ้งเตือน -->
<string name="notification_summary_more">และอีก %1$d</string>
<string name="notification_messages_from_people">ข้อความ %1$d จาก %2$d คน</string>
<string name="notification_more_conversations">และการสนทนาอีก %1$d รายการ</string>
<string name="notification_active_peers_title">👥 มีผู้ใช้ใกล้คุณ!</string>
<string name="notification_active_peers_one">มี 1 คนใกล้คุณ</string>
<string name="notification_active_peers_many">มี %1$d คนใกล้คุณ</string>
<string name="notification_new_messages">ข้อความใหม่</string>
<string name="notification_new_location_messages">ข้อความตำแหน่งใหม่</string>
<string name="notification_mentions_in">ถูกกล่าวถึงใน %1$s</string>
<string name="notification_mentions_in_more">ถูกกล่าวถึงใน %1$s (+%2$d)</string>
<string name="notification_mentions_in_plural">มี %1$d การกล่าวถึงใน %2$s</string>
<string name="notification_new_activity_in">กิจกรรมใหม่ใน %1$s</string>
<string name="notification_messages_in">ข้อความใน %1$s</string>
<string name="notification_joined_conversation">%1$s ได้เข้าร่วมการสนทนา</string>
<string name="notification_geohash_summary_title_mentions">bitchat – %1$d การกล่าวถึง</string>
<string name="notification_geohash_summary_title">bitchat – แชทตามตำแหน่ง</string>
<string name="notification_geohash_summary_text">%1$d ข้อความจาก %2$d พื้นที่</string>
<string name="notification_mesh_mention_title_singular">ถูกกล่าวถึงในแชทเมช</string>
<string name="notification_mesh_mention_title_plural">ถูกกล่าวถึง %1$d ครั้งในแชทเมช</string>
<string name="notification_more_locations">และอีก %1$d พื้นที่</string>
<string name="notification_and_more">และอีก %1$d</string>
<!-- การช่วยสำหรับการเข้าถึงรายการโปรด -->
<string name="cd_add_favorite">เพิ่มในรายการโปรด</string>
<string name="cd_remove_favorite">เอาออกจากรายการโปรด</string>
<string name="cd_add_bookmark">เพิ่มที่คั่นหน้า</string>
<!-- ส่วนหัวแชท & การช่วยสำหรับการเข้าถึง -->
<string name="chat_back">กลับ</string>
<string name="chat_channel_prefix">ช่อง: %1$s</string>
<string name="chat_leave">ออก</string>
<string name="cd_nostr_reachable">ติดต่อได้ผ่าน Nostr</string>
<string name="cd_unread_private_messages">ข้อความส่วนตัวยังไม่ได้อ่าน</string>
<string name="cd_toggle_bookmark">สลับที่คั่นหน้า</string>
<string name="cd_teleported">เทเลพอร์ตแล้ว</string>
<string name="cd_tor_status">สถานะ Tor</string>
<string name="cd_connected_peers">เพียร์ที่เชื่อมต่อ</string>
<string name="cd_geohash_participants">ผู้เข้าร่วม geohash</string>
<string name="cd_ready_for_handshake">พร้อมสำหรับการจับมือ</string>
<string name="cd_handshake_in_progress">กำลังจับมือ</string>
<string name="cd_encrypted">เข้ารหัสจากปลายทางถึงปลายทาง</string>
<string name="cd_handshake_failed">การจับมือล้มเหลว</string>
<!-- กล่องโต้ตอบตัวดูไฟล์ -->
<string name="file_viewer_title">📎 รับไฟล์แล้ว</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 ขนาด: %1$s</string>
<string name="file_viewer_type">🏷️ ประเภท: %1$s</string>
<string name="file_viewer_open_save">📂 เปิด / บันทึก</string>
<string name="close_with_emoji">❌ ปิด</string>
<string name="pick_image">เลือกภาพ</string>
<!-- แผ่นข้อมูลเกี่ยวกับ -->
<string name="about_tagline">แชทเมชแบบกระจายศูนย์พร้อมการเข้ารหัสแบบปลายทางถึงปลายทาง</string>
<string name="about_offline_mesh_title">แชทเมชออฟไลน์</string>
<string name="about_offline_mesh_desc">สื่อสารโดยตรงผ่าน Bluetooth LE โดยไม่ใช้อินเทอร์เน็ตหรือเซิร์ฟเวอร์ ข้อความจะถูกส่งต่อผ่านอุปกรณ์ใกล้เคียงเพื่อขยายระยะ</string>
<string name="about_online_geohash_title">ช่อง geohash ออนไลน์</string>
<string name="about_online_geohash_desc">เชื่อมต่อกับผู้คนใกล้คุณผ่านช่องที่อ้างอิง geohash ขยายเมชผ่านรีเลย์อินเทอร์เน็ตสาธารณะ</string>
<string name="about_e2e_title">การเข้ารหัสแบบปลายทางถึงปลายทาง</string>
<string name="about_e2e_desc">ข้อความส่วนตัวถูกเข้ารหัส ข้อความในช่องเป็นสาธารณะ</string>
<string name="about_appearance">ลักษณะ</string>
<string name="about_system">ระบบ</string>
<string name="about_light">สว่าง</string>
<string name="about_dark">มืด</string>
<string name="about_pow">พิสูจน์ผลงาน (Proof of Work)</string>
<string name="about_pow_off">ปิด PoW</string>
<string name="about_pow_on">เปิด PoW</string>
<string name="about_pow_tip">เพิ่ม Proof of Work ให้ข้อความ geohash เพื่อยากต่อการสแปม</string>
<string name="about_pow_difficulty">ความยาก: %1$d บิต (~%2$s)</string>
<string name="about_pow_difficulty_attempts">ความยาก %1$d ต้องใช้การลองแฮชประมาณ %2$s ครั้ง</string>
<string name="about_pow_desc_none">ไม่ต้องใช้ Proof of Work</string>
<string name="about_pow_desc_very_low">ต่ำมาก – ป้องกันสแปมน้อยที่สุด</string>
<string name="about_pow_desc_low">ต่ำ – ป้องกันสแปมพื้นฐาน</string>
<string name="about_pow_desc_medium">ปานกลาง – ป้องกันสแปมได้ดี</string>
<string name="about_pow_desc_high">สูง – ป้องกันสแปมอย่างแข็งแรง</string>
<string name="about_pow_desc_very_high">สูงมาก – อาจทำให้เกิดความล่าช้า</string>
<string name="about_pow_desc_extreme">สูงสุด – ต้องใช้ทรัพยากรคำนวณมาก</string>
<string name="about_network">เครือข่าย</string>
<string name="about_tor_off">ปิด Tor</string>
<string name="about_tor_on">เปิด Tor</string>
<string name="about_tor_route">กำหนดเส้นทางทราฟฟิกอินเทอร์เน็ตผ่าน Tor เพื่อเพิ่มความเป็นส่วนตัว</string>
<string name="about_tor_status">สถานะ Tor: %1$s, การบูต %2$d%%</string>
<string name="about_last">ล่าสุด: %1$s</string>
<string name="about_emergency_title">ลบข้อมูลฉุกเฉิน</string>
<string name="about_emergency_tip">เคล็ดลับ: แตะชื่อแอปสามครั้งเพื่อลบข้อมูลที่บันทึกทั้งหมด – รวมทั้งข้อความ กุญแจ และการตั้งค่า</string>
<string name="about_debug_settings">การตั้งค่าดีบัก</string>
<string name="about_footer">โอเพนซอร์ส • ความเป็นส่วนตัวมาก่อน • กระจายศูนย์</string>
<string name="close_plain">ปิด</string>
<string name="cancel_lower">ยกเลิก</string>
<!-- คำอธิบายเนื้อหาทั่วไป -->
<string name="cd_warning">คำเตือน</string>
<string name="cd_location_services">บริการตำแหน่ง</string>
<string name="cd_privacy">ความเป็นส่วนตัว</string>
<string name="cd_error">ข้อผิดพลาด</string>
<string name="cd_battery_optimization">การเพิ่มประสิทธิภาพแบตเตอรี่</string>
<string name="cd_benefits">ประโยชน์</string>
<string name="cd_checking_battery_optimization">กำลังตรวจสอบการเพิ่มประสิทธิภาพแบตเตอรี่</string>
<string name="cd_not_supported_battery_optimization">ไม่รองรับการเพิ่มประสิทธิภาพแบตเตอรี่</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">ข้อความที่ยังไม่ได้อ่าน</string>
<string name="cd_open_map">เปิดแผนที่</string>
<string name="cd_remove_bookmark">เอาที่คั่นหน้าออก</string>
<string name="cd_teleport">เทเลพอร์ต</string>
<string name="cd_selected">ที่เลือก</string>
<string name="cd_leave_channel">ออกจากช่อง</string>
<string name="cd_reachable_via_nostr">ติดต่อได้ผ่าน Nostr</string>
<string name="cd_offline_favorite">รายการโปรด (ออฟไลน์)</string>
<string name="cd_decrease_precision">ลดความแม่นยำ</string>
<string name="cd_increase_precision">เพิ่มความแม่นยำ</string>
<string name="cd_select_geohash">เลือก geohash</string>
<string name="cd_scroll_to_bottom">เลื่อนไปด้านล่างสุด</string>
<string name="cd_file">ไฟล์</string>
<string name="cd_image">รูปภาพ</string>
<string name="cd_cancel">ยกเลิก</string>
<string name="cd_link">ลิงก์</string>
<string name="cd_pick_media">เลือกมีเดีย</string>
<string name="cd_pick_file">เลือกไฟล์</string>
<string name="cd_save_current_image">บันทึกรูปภาพปัจจุบัน</string>
<string name="cd_close">ปิด</string>
<string name="cd_image_index_of">รูปภาพ %1$d จาก %2$d</string>
<string name="cd_privacy_protected">คุ้มครองความเป็นส่วนตัว</string>
<string name="cd_record_voice">บันทึกบันทึกเสียง</string>
<string name="cd_offline_mesh_chat">แชทเมชออฟไลน์</string>
<string name="cd_online_geohash_channels">ช่อง geohash ออนไลน์</string>
<string name="cd_end_to_end_encryption">การเข้ารหัสแบบปลายทางถึงปลายทาง</string>
<!-- รูปภาพ & ไฟล์ -->
<string name="image_page_of">รูปภาพ %1$d จาก %2$d</string>
<string name="image_unavailable">ไม่สามารถใช้รูปภาพได้</string>
<string name="image_saved_to_downloads">บันทึกรูปภาพไว้ใน "ดาวน์โหลด" แล้ว</string>
<string name="image_save_failed">ไม่สามารถบันทึกรูปภาพได้</string>
<string name="toast_image_saved">บันทึกรูปภาพไว้ใน "ดาวน์โหลด" แล้ว</string>
<string name="toast_failed_to_save_image">ไม่สามารถบันทึกรูปภาพได้</string>
<string name="pick_file">เลือกไฟล์</string>
<string name="file_unavailable">[ไม่สามารถใช้ไฟล์ได้]</string>
<string name="unknown">ไม่ทราบ</string>
<!-- แผ่นการทำงานของผู้ใช้ -->
<string name="choose_action_message_or_user">เลือกการทำงานสำหรับข้อความนี้หรือผู้ใช้นี้</string>
<string name="choose_action_user">เลือกการทำงานสำหรับผู้ใช้นี้</string>
<string name="action_copy_message_title">คัดลอกข้อความ</string>
<string name="action_copy_message_subtitle">คัดลอกข้อความนี้ไปยังคลิปบอร์ด</string>
<string name="action_slap_title">ตบ %1$s</string>
<string name="action_slap_subtitle">ส่งตบแบบขำ ๆ</string>
<string name="action_hug_title">กอด %1$s</string>
<string name="action_hug_subtitle">ส่งกอดแบบเป็นมิตร</string>
<string name="action_block_title">บล็อก %1$s</string>
<string name="action_block_subtitle">บล็อกข้อความทั้งหมดจากผู้ใช้นี้</string>
<!-- แผ่นช่อง geohash -->
<string name="location_channels_title">#ช่องตามตำแหน่ง</string>
<string name="location_channels_desc">แชทกับผู้คนใกล้คุณผ่านช่อง geohash จะแชร์เฉพาะ geohash โดยคร่าว ๆ เท่านั้น ไม่ใช่ข้อมูล GPS ที่แม่นยำ เพื่อคุ้มครองความเป็นส่วนตัวของคุณ โปรดอย่าถ่ายภาพหน้าจอหรือแชร์หน้าจอนี้</string>
<string name="grant_location_permission">ให้สิทธิ์ตำแหน่ง</string>
<string name="location_permission_denied">ปฏิเสธสิทธิ์ตำแหน่ง เปิดใช้งานในการตั้งค่าเพื่อใช้ช่องตามตำแหน่ง</string>
<string name="open_settings">เปิดการตั้งค่า</string>
<string name="location_permission_granted">\u2713 อนุญาตตำแหน่งแล้ว</string>
<string name="checking_permissions">กำลังตรวจสอบสิทธิ์…</string>
<string name="finding_nearby_channels">กำลังค้นหาช่องใกล้เคียง…</string>
<string name="bookmarked">มีที่คั่นหน้า</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">geohash ไม่ถูกต้อง</string>
<string name="teleport">เทเลพอร์ต</string>
<string name="disable_location_services">ปิดบริการตำแหน่ง</string>
<string name="enable_location_services">เปิดบริการตำแหน่ง</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">บล็อก</string>
<string name="location_level_neighborhood">ละแวกใกล้เคียง</string>
<string name="location_level_city">เมือง</string>
<string name="location_level_province">จังหวัด</string>
<string name="location_level_region">ภูมิภาค</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- ดีบัก / วินิจฉัย -->
<string name="debug_tools">เครื่องมือดีบัก</string>
<string name="debug_tools_desc">เครื่องมือสำหรับนักพัฒนาสำหรับการวินิจฉัยและควบคุม</string>
<string name="debug_verbose_logging">การบันทึกแบบละเอียด</string>
<string name="debug_verbose_hint">บันทึกการเข้าร่วม/ออกของเพียร์ ทิศทางการเชื่อมต่อ การส่งต่อแพ็กเก็ต และรีเลย์</string>
<string name="debug_bluetooth_roles">บทบาทบลูทูธ</string>
<string name="debug_gatt_server">เซิร์ฟเวอร์ GATT</string>
<string name="debug_connections_fmt">การเชื่อมต่อ: %1$d / %2$d</string>
<string name="debug_max_server">สูงสุดของเซิร์ฟเวอร์</string>
<string name="debug_gatt_client">ไคลเอนต์ GATT</string>
<string name="debug_max_client">สูงสุดของไคลเอนต์</string>
<string name="debug_overall_connections_fmt">การเชื่อมต่อ: %1$d / %2$d</string>
<string name="debug_max_overall">รวมสูงสุด</string>
<string name="debug_packet_relay">การส่งต่อแพ็กเก็ต</string>
<string name="debug_since_start_fmt">ตั้งแต่เริ่มต้น: %1$d</string>
<string name="debug_roles_hint">สลับบทบาทและปิดการเชื่อมต่อทั้งหมดเมื่อปิดใช้งาน</string>
<string name="debug_sync_settings">การตั้งค่าการซิงค์</string>
<string name="debug_max_packets_per_sync_fmt">แพ็กเก็ตสูงสุดต่อการซิงค์: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">ขนาดตัวกรอง GCS สูงสุด: %1$d ไบต์ (1281024)</string>
<string name="debug_target_fpr_fmt">อัตราบวกเทียมเป้าหมาย: %1$.2f%%</string>
<string name="debug_connected_devices">อุปกรณ์ที่เชื่อมต่อ</string>
<string name="debug_our_device_id_fmt">รหัสอุปกรณ์ของเรา: %1$s</string>
<string name="debug_none">ไม่มี</string>
<string name="debug_disconnect">ตัดการเชื่อมต่อ</string>
<string name="debug_recent_scan_results">อุปกรณ์ที่สแกนล่าสุด</string>
<string name="debug_connect">เชื่อมต่อ</string>
<string name="debug_debug_console">คอนโซลดีบัก</string>
<string name="debug_clear">ล้าง</string>
<string name="debug_relays_window_fmt">10 วิ ล่าสุด: %1$d • 1 นาที: %2$d • 15 นาที: %3$d</string>
<string name="debug_derived_p_fmt">P ที่ได้มา: %1$s • จำนวนรายการสูงสุดโดยประมาณ: %2$s</string>
<string name="debug_direct_suffix"> • โดยตรง</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">ในบทบาทเซิร์ฟเวอร์ (เราเป็นโฮสต์)</string>
<string name="debug_role_client">ในบทบาทไคลเอนต์ (เราเชื่อมต่อ)</string>
<!-- หน้าจอเริ่มต้นใช้งาน -->
<string name="location_services_required">ต้องใช้บริการตำแหน่ง</string>
<string name="privacy_first">ความเป็นส่วนตัวมาก่อน</string>
<string name="location_explanation">bitchat ไม่ติดตามตำแหน่งของคุณ\n\nต้องใช้บริการตำแหน่งสำหรับการสแกนบลูทูธและคุณสมบัติแชท geohash</string>
<string name="location_needs_for">bitchat ต้องใช้บริการตำแหน่งสำหรับ:</string>
<string name="location_needs_bullets">• สแกนอุปกรณ์บลูทูธ\n• ค้นพบผู้ใช้ใกล้เคียงในเครือข่ายเมช\n• คุณสมบัติแชท geohash\n• ไม่มีการติดตามหรือเก็บตำแหน่ง</string>
<string name="open_location_settings">เปิดการตั้งค่าตำแหน่ง</string>
<string name="check_again">ตรวจสอบอีกครั้ง</string>
<string name="location_services_unavailable">ไม่สามารถใช้บริการตำแหน่งได้</string>
<string name="location_unavailable_explanation">บริการตำแหน่งไม่สามารถใช้ได้ในอุปกรณ์นี้ ซึ่งผิดปกติเนื่องจากโดยทั่วไปแล้วอุปกรณ์ Android จะมีบริการตำแหน่ง\n\nต้องใช้บริการตำแหน่งเพื่อให้การสแกนบลูทูธทำงานได้อย่างถูกต้อง (ข้อกำหนดของ Android) หากไม่มี แอปจะไม่สามารถค้นพบผู้ใช้ใกล้เคียงได้</string>
<string name="checking_location_services">กำลังตรวจสอบบริการตำแหน่ง…</string>
<string name="bluetooth_required">ต้องใช้บลูทูธ</string>
<string name="bluetooth_needs_for">bitchat ต้องใช้บลูทูธสำหรับ:</string>
<string name="bluetooth_needs_bullets">• ค้นพบผู้ใช้ใกล้เคียง\n• สร้างการเชื่อมต่อเครือข่ายเมช\n• ส่งและรับข้อความ\n• ทำงานโดยไม่ใช้อินเทอร์เน็ตหรือเซิร์ฟเวอร์</string>
<string name="enable_bluetooth">เปิดบลูทูธ</string>
<string name="bluetooth_not_supported">ไม่รองรับบลูทูธ</string>
<string name="bluetooth_unsupported_explanation">อุปกรณ์นี้ไม่รองรับ Bluetooth Low Energy (BLE) ซึ่งจำเป็นสำหรับการทำงานของ bitchat\n\nต้องใช้ BLE เพื่อสร้างเครือข่ายเมชและสื่อสารกับอุปกรณ์ใกล้เคียงโดยไม่ใช้อินเทอร์เน็ต</string>
<string name="checking_bluetooth_status">กำลังตรวจสอบสถานะบลูทูธ…</string>
<string name="battery_optimization_detected_title">ตรวจพบการเพิ่มประสิทธิภาพแบตเตอรี่</string>
<string name="battery_optimization_enabled_title">เปิดใช้การเพิ่มประสิทธิภาพแบตเตอรี่</string>
<string name="battery_optimization_explanation_short">bitchat ต้องทำงานเบื้องหลังเพื่อคงการเชื่อมต่อแบบเมช การเพิ่มประสิทธิภาพแบตเตอรี่อาจขัดจังหวะการเชื่อมต่อเหล่านี้</string>
<string name="benefits_of_disabling">ประโยชน์ของการปิดใช้งาน</string>
<string name="battery_benefits_short">• ส่งข้อความได้อย่างเชื่อถือ\n• รักษาการเชื่อมต่อแบบเมช\n• ป้องกันการหลุดการเชื่อมต่อ</string>
<string name="disable_battery_optimization">ปิดการเพิ่มประสิทธิภาพแบตเตอรี่</string>
<string name="battery_optimization_disabled_title">ปิดการเพิ่มประสิทธิภาพแบตเตอรี่แล้ว</string>
<string name="continue_btn">ดำเนินการต่อ</string>
<string name="initializing_mesh_network">กำลังเริ่มต้นเครือข่ายเมช</string>
<string name="setting_up_bluetooth">กำลังตั้งค่าเครือข่ายเมช Bluetooth…</string>
<string name="should_take_seconds">ควรใช้เวลาเพียงไม่กี่วินาที</string>
<string name="setup_not_complete">ตั้งค่าไม่เสร็จสมบูรณ์</string>
<string name="try_again">ลองอีกครั้ง</string>
<string name="privacy_protected">ความเป็นส่วนตัวของคุณได้รับการคุ้มครอง</string>
<string name="privacy_bullets">• ไม่มีการติดตามหรือเก็บข้อมูล\n• แชทเมชบลูทูธทำงานแบบออฟไลน์ทั้งหมด\n• แชท geohash ใช้อินเทอร์เน็ต</string>
<string name="permissions_header">สิทธิ์</string>
<string name="grant_permissions">ให้สิทธิ์</string>
<string name="location_tracking_warning">bitchat ไม่ติดตามตำแหน่งของคุณ</string>
<string name="geohash_people_header">ผู้คน</string>
<string name="nobody_around">ไม่มีใครอยู่ใกล้…</string>
<string name="you_suffix"> (คุณ)</string>
<string name="pan_zoom_instruction">ลาก/ซูมเพื่อเลือก geohash</string>
<string name="select">เลือก</string>
<string name="type_a_message_placeholder">พิมพ์ข้อความ…</string>
<string name="mention">กล่าวถึง</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">รูปภาพ</string>
<string name="media_type_file">ไฟล์</string>
<!-- ตัวช่วยข้อความการแจ้งเตือน -->
<string name="notification_sent_image">📷 ส่งรูปภาพแล้ว</string>
<string name="notification_sent_voice">🎤 ส่งบันทึกเสียงแล้ว</string>
<string name="notification_sent_file">📎 ส่งไฟล์แล้ว</string>
<!-- การช่วยสำหรับการเข้าถึงของเครื่องเล่นเสียง -->
<string name="cd_play_voice">เล่น</string>
<string name="cd_pause_voice">หยุดชั่วคราว</string>
<string name="cd_mining_pow">กำลังขุด PoW</string>
<string name="cd_pow_enabled">เปิดใช้ PoW</string>
<string name="cd_proof_of_work">Proof of Work</string>
<string name="pow_mining_ellipsis">กำลังขุด…</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- คำอธิบายสิทธิ์ -->
<string name="perm_nearby_devices_desc">จำเป็นสำหรับการค้นหาผู้ใช้ bitchat ผ่านบลูทูธ</string>
<string name="perm_nearby_devices_system">อนุญาตให้ bitchat เชื่อมต่อกับอุปกรณ์ใกล้เคียง</string>
<string name="perm_location_desc">ข้อกำหนดของ Android สำหรับการค้นหาผู้ใช้ bitchat ใกล้เคียงผ่านบลูทูธ</string>
<string name="perm_location_system">bitchat ต้องใช้สิ่งนี้เพื่อสแกนอุปกรณ์ใกล้เคียง</string>
<string name="perm_notifications_desc">รับการแจ้งเตือนเมื่อคุณได้รับข้อความส่วนตัว</string>
<string name="perm_notifications_system">อนุญาตให้ bitchat ส่งการแจ้งเตือนถึงคุณ</string>
<string name="perm_battery_desc">ปิดการเพิ่มประสิทธิภาพแบตเตอรี่เพื่อให้ bitchat ทำงานได้อย่างเชื่อถือในเบื้องหลังและคงการเชื่อมต่อแบบเมช</string>
<string name="perm_battery_system">อนุญาตให้ bitchat ทำงานโดยไม่มีข้อจำกัดของแบตเตอรี่</string>
<!-- ประเภทสิทธิ์ -->
<string name="perm_type_nearby_devices">อุปกรณ์ใกล้เคียง</string>
<string name="perm_type_precise_location">ตำแหน่งที่แม่นยำ</string>
<string name="perm_type_microphone">ไมโครโฟน</string>
<string name="perm_type_notifications">การแจ้งเตือน</string>
<string name="perm_type_battery_optimization">การเพิ่มประสิทธิภาพแบตเตอรี่</string>
<string name="perm_type_other">อื่น ๆ</string>
<!-- กล่องโต้ตอบรหัสผ่าน -->
<string name="pwd_prompt_title">ป้อนรหัสผ่านของช่อง</string>
<string name="pwd_prompt_message">ช่อง %1$s มีการป้องกันด้วยรหัสผ่าน ป้อนรหัสผ่านเพื่อเข้าร่วม</string>
<string name="pwd_label">รหัสผ่าน</string>
<string name="join">เข้าร่วม</string>
<string name="cancel">ยกเลิก</string>
<!-- พหูพจน์ -->
<plurals name="notification_and_more">
<item quantity="one">และอีก %d</item>
<item quantity="other">และอีก %d</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 คน</item>
<item quantity="other">%d คน</item>
</plurals>
</resources>
+341
View File
@@ -0,0 +1,341 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<string name="permission_bluetooth_rationale">İnternetsiz eşler arası mesajlaşma için Bluetooth izni gerekir.</string>
<string name="permission_location_rationale">Bluetooth ile yakın cihazları bulmak için konum izni gerekir.</string>
<string name="permission_notification_rationale">Yeni mesajlarda bildirim gönderebilmek için izin gerekir.</string>
<string name="nickname_hint">takma ad</string>
<string name="message_hint">mesaj yaz…</string>
<string name="channel_password_hint">Parola</string>
<string name="join_channel">Kanala katıl</string>
<string name="leave_channel">Ayrıl</string>
<string name="send_message">Gönder</string>
<string name="show_commands">Komutları göster</string>
<string name="back">Geri</string>
<string name="people">Kişiler</string>
<string name="channels">Kanallar</string>
<string name="online_users">Çevrimiçi kullanıcılar</string>
<string name="no_one_connected">Bağlı kimse yok</string>
<string name="emergency_clear_hint">Tüm verileri silmek için üç kez dokun</string>
<string name="your_network"></string>
<string name="battery_optimization_detected">Pil optimizasyonu algılandı</string>
<string name="battery_optimization_disabled">Pil optimizasyonu devre dışı</string>
<string name="battery_optimization_not_required">Pil optimizasyonu gerekmiyor</string>
<string name="battery_optimization_checking">Pil optimizasyonu kontrol ediliyor</string>
<string name="battery_optimization_why_disable">Neden devre dışı bırakmalı?</string>
<string name="battery_optimization_explanation">bitchat yakındaki cihazlarla mesh bağlantısını sürdürmek için arka planda çalışır. Pil optimizasyonu bu bağlantıları kesebilir ve mesajlar gecikebilir/ kaybolabilir.\n\nDevre dışı bırakmak güvenilir eşler arası mesajlaşmayı sağlar.</string>
<string name="battery_optimization_disable_button">Optimizasyonu kapat</string>
<string name="battery_optimization_note">Not: Daha sonra Ayarlar &gt; Uygulamalar &gt; bitchat &gt; Pil üzerinden değiştirebilirsin.</string>
<string name="battery_optimization_not_supported_explanation">Cihazının pil optimizasyonu ayarlarına ihtiyacı yok. bitchat normal çalışır.</string>
<string name="battery_optimization_not_supported_message">Cihazının pil optimizasyonu ayarlarına ihtiyacı yok. bitchat normal çalışır.</string>
<string name="battery_optimization_success_message">bitchat arka planda güvenle çalışabilir</string>
<string name="battery_optimization_benefits">• Güvenilir mesaj teslimi\n• Mesh bağlantısını korur\n• Arka planda iletim\n• Kopmaları önler</string>
<string name="battery_optimization_check_again">Tekrar kontrol et</string>
<string name="battery_optimization_skip">Şimdilik atla</string>
<string name="battery_optimization_continue">Devam</string>
<string name="retry">Yeniden dene</string>
<string name="skip">Atla</string>
<string name="notification_summary_more">ve %1$d daha</string>
<string name="notification_messages_from_people">%2$d kişiden %1$d mesaj</string>
<string name="notification_more_conversations">ve %1$d sohbet daha</string>
<string name="notification_active_peers_title">👥 yakında bitchatterlar!</string>
<string name="notification_active_peers_one">Yakında 1 kişi</string>
<string name="notification_active_peers_many">Yakında %1$d kişi</string>
<string name="notification_new_messages">Yeni mesajlar</string>
<string name="notification_new_location_messages">Yeni konum mesajları</string>
<string name="notification_mentions_in">%1$s içinde bahsedildi</string>
<string name="notification_mentions_in_more">%1$s içinde bahsedildi (+%2$d)</string>
<string name="notification_mentions_in_plural">%2$s içinde %1$d bahsetme</string>
<string name="notification_new_activity_in">%1$s içinde yeni etkinlik</string>
<string name="notification_messages_in">%1$s içindeki mesajlar</string>
<string name="notification_joined_conversation">%1$s sohbete katıldı</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d bahsetme</string>
<string name="notification_geohash_summary_title">bitchat konum sohbetleri</string>
<string name="notification_geohash_summary_text">%2$d konumdan %1$d mesaj</string>
<string name="notification_mesh_mention_title_singular">Mesh sohbette bahsedildi</string>
<string name="notification_mesh_mention_title_plural">Mesh sohbette %1$d bahsetme</string>
<string name="notification_more_locations">ve %1$d konum daha</string>
<string name="notification_and_more">ve %1$d daha</string>
<string name="cd_add_favorite">Sık kullanılanlara ekle</string>
<string name="cd_remove_favorite">Sık kullanılandan kaldır</string>
<string name="cd_add_bookmark">Yer imi ekle</string>
<string name="chat_back">geri</string>
<string name="chat_channel_prefix">kanal: %1$s</string>
<string name="chat_leave">ayrıl</string>
<string name="cd_nostr_reachable">Nostr üzerinden ulaşılabilir</string>
<string name="cd_unread_private_messages">Okunmamış özel mesaj</string>
<string name="cd_toggle_bookmark">Yer imini değiştir</string>
<string name="cd_teleported">Teleport edildi</string>
<string name="cd_tor_status">Tor durumu</string>
<string name="cd_connected_peers">Bağlı eşler</string>
<string name="cd_geohash_participants">Geohash katılımcıları</string>
<string name="cd_ready_for_handshake">El sıkışmaya hazır</string>
<string name="cd_handshake_in_progress">El sıkışma sürüyor</string>
<string name="cd_encrypted">Uçtan uca şifreli</string>
<string name="cd_handshake_failed">El sıkışma başarısız</string>
<string name="file_viewer_title">📎 Dosya alındı</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Boyut: %1$s</string>
<string name="file_viewer_type">🏷️ Tür: %1$s</string>
<string name="file_viewer_open_save">📂 Aç / Kaydet</string>
<string name="close_with_emoji">❌ Kapat</string>
<string name="pick_image">Görsel seç</string>
<string name="about_tagline">uçtan uca şifrelemeli merkezsiz mesh mesajlaşma</string>
<string name="about_offline_mesh_title">Çevrimdışı Mesh Sohbeti</string>
<string name="about_offline_mesh_desc">İnternet/ sunucu olmadan doğrudan Bluetooth LE ile iletişim kur. Mesajlar yakındaki cihazlarca aktarılır.</string>
<string name="about_online_geohash_title">Çevrimiçi Geohash Kanalları</string>
<string name="about_online_geohash_desc">Geohash tabanlı kanallarla yakınındaki insanlarla bağlantı kur. Herkese açık internet röleleriyle meshi genişlet.</string>
<string name="about_e2e_title">Uçtan Uca Şifreleme</string>
<string name="about_e2e_desc">Özel mesajlar şifrelidir. Kanal mesajları herkese açıktır.</string>
<string name="about_appearance">görünüm</string>
<string name="about_system">sistem</string>
<string name="about_light">açık</string>
<string name="about_dark">koyu</string>
<string name="about_pow">proof of work</string>
<string name="about_pow_off">pow kapalı</string>
<string name="about_pow_on">pow açık</string>
<string name="about_pow_tip">geohash mesajlarına spame karşı proof of work ekle.</string>
<string name="about_pow_difficulty">zorluk: %1$d bit (~%2$s)</string>
<string name="about_pow_difficulty_attempts">%1$d zorluğu ~%2$s hash denemesi gerektirir</string>
<string name="about_pow_desc_none">proof of work gerekmez</string>
<string name="about_pow_desc_very_low">çok düşük en az koruma</string>
<string name="about_pow_desc_low">düşük temel koruma</string>
<string name="about_pow_desc_medium">orta iyi koruma</string>
<string name="about_pow_desc_high">yüksek güçlü koruma</string>
<string name="about_pow_desc_very_high">çok yüksek gecikme olabilir</string>
<string name="about_pow_desc_extreme">aşırı ciddi hesaplama gerekir</string>
<string name="about_network"></string>
<string name="about_tor_off">tor kapalı</string>
<string name="about_tor_on">tor açık</string>
<string name="about_tor_route">Daha fazla gizlilik için interneti Tor üzerinden yönlendir.</string>
<string name="about_tor_status">Tor durumu: %1$s, önyükleme %2$d%%</string>
<string name="about_last">Son: %1$s</string>
<string name="about_emergency_title">Acil veri silme</string>
<string name="about_emergency_tip">İpucu: tüm verileri silmek için uygulama başlığına üç kez dokun (mesajlar, anahtarlar, ayarlar).</string>
<string name="about_debug_settings">Hata ayıklama ayarları</string>
<string name="about_footer">Open Source • Privacy First • Merkezsiz</string>
<string name="close_plain">Kapat</string>
<string name="cancel_lower">iptal</string>
<string name="cd_warning">Uyarı</string>
<string name="cd_location_services">Konum servisleri</string>
<string name="cd_privacy">Gizlilik</string>
<string name="cd_error">Hata</string>
<string name="cd_battery_optimization">Pil optimizasyonu</string>
<string name="cd_benefits">Faydalar</string>
<string name="cd_checking_battery_optimization">Optimizasyon kontrol ediliyor</string>
<string name="cd_not_supported_battery_optimization">Desteklenmiyor</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Okunmamış mesaj</string>
<string name="cd_open_map">Haritayı</string>
<string name="cd_remove_bookmark">Yer imini kaldır</string>
<string name="cd_teleport">Teleport</string>
<string name="cd_selected">Seçildi</string>
<string name="cd_leave_channel">Kanaldan ayrıl</string>
<string name="cd_reachable_via_nostr">Nostr üzerinden erişilebilir</string>
<string name="cd_offline_favorite">Favori (çevrimdışı)</string>
<string name="cd_decrease_precision">Hassasiyeti azalt</string>
<string name="cd_increase_precision">Hassasiyeti artır</string>
<string name="cd_select_geohash">Geohash seç</string>
<string name="cd_scroll_to_bottom">Alta kaydır</string>
<string name="cd_file">Dosya</string>
<string name="cd_image">Görsel</string>
<string name="cd_cancel">İptal</string>
<string name="cd_link">Bağlantı</string>
<string name="cd_pick_media">Medya seç</string>
<string name="cd_record_voice">Ses notu kaydet</string>
<string name="cd_offline_mesh_chat">Çevrimdışı Mesh Sohbeti</string>
<string name="cd_online_geohash_channels">Çevrimiçi Geohash Kanalları</string>
<string name="cd_end_to_end_encryption">Uçtan uca şifreleme</string>
<string name="image_page_of">Görsel %1$d / %2$d</string>
<string name="image_unavailable">Görsel kullanılamıyor</string>
<string name="image_saved_to_downloads">Görsel "İndirilenler"e kaydedildi</string>
<string name="image_save_failed">Görsel kaydedilemedi</string>
<string name="pick_file">Dosya seç</string>
<string name="file_unavailable">[dosya kullanılamıyor]</string>
<string name="unknown">bilinmiyor</string>
<string name="choose_action_message_or_user">bu mesaj veya kullanıcı için bir işlem seç</string>
<string name="choose_action_user">bu kullanıcı için bir işlem seç</string>
<string name="action_copy_message_title">mesajı kopyala</string>
<string name="action_copy_message_subtitle">mesajı panoya kopyala</string>
<string name="action_slap_title">%1$s kişisine şaplak</string>
<string name="action_slap_subtitle">şakacı bir şaplak gönder</string>
<string name="action_hug_title">%1$s kişisine sarıl</string>
<string name="action_hug_subtitle">samimi bir sarılma gönder</string>
<string name="action_block_title">%1$s kişisini engelle</string>
<string name="action_block_subtitle">bu kullanıcıdan gelen tüm mesajları engelle</string>
<string name="location_channels_title">#konum kanalları</string>
<string name="location_channels_desc">yakındaki insanlarla geohash kanallarıyla sohbet et. yalnızca kabaca geohash paylaşılır, kesin gps asla değil. gizliliğin için ekran görüntüsü alma ve paylaşma.</string>
<string name="grant_location_permission">konum izni ver</string>
<string name="location_permission_denied">konum izni reddedildi. konum kanalları için ayarlardan etkinleştir.</string>
<string name="open_settings">Ayarları</string>
<string name="location_permission_granted">\u2713 konum izni verildi</string>
<string name="checking_permissions">izinler kontrol ediliyor…</string>
<string name="finding_nearby_channels">yakın kanallar aranıyor…</string>
<string name="bookmarked">yer imli</string>
<string name="geohash_placeholder">geohash</string>
<string name="invalid_geohash">geçersiz geohash</string>
<string name="teleport">teleport</string>
<string name="disable_location_services">konum servislerini kapat</string>
<string name="enable_location_services">konum servislerini aç</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">blok</string>
<string name="location_level_neighborhood">mahalle</string>
<string name="location_level_city">şehir</string>
<string name="location_level_province">eyalet</string>
<string name="location_level_region">bölge</string>
<string name="debug_tools">hata ayıklama araçları</string>
<string name="debug_verbose_logging">ayrıntılı günlük</string>
<string name="debug_bluetooth_roles">Bluetooth rolleri</string>
<string name="debug_gatt_server">GATT sunucu</string>
<string name="debug_connections_fmt">bağlantı: %1$d / %2$d</string>
<string name="debug_max_server">maks sunucu</string>
<string name="debug_gatt_client">GATT istemci</string>
<string name="debug_max_client">maks istemci</string>
<string name="debug_overall_connections_fmt">bağlantı: %1$d / %2$d</string>
<string name="debug_max_overall">maks toplam</string>
<string name="debug_packet_relay">paket rölesi</string>
<string name="debug_since_start_fmt">başlangıçtan beri: %1$d</string>
<string name="debug_sync_settings">senk. ayarları</string>
<string name="debug_max_packets_per_sync_fmt">senk. başına maks paket: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">maks GCS filtre boyutu: %1$d bayt (1281024)</string>
<string name="debug_target_fpr_fmt">hedef FPR: %1$.2f%%</string>
<string name="debug_connected_devices">bağlı cihazlar</string>
<string name="debug_our_device_id_fmt">cihaz kimliğimiz: %1$s</string>
<string name="debug_none">yok</string>
<string name="debug_disconnect">bağlantıyı kes</string>
<string name="debug_recent_scan_results">son tarama sonuçları</string>
<string name="debug_connect">bağlan</string>
<string name="debug_debug_console">hata ayıklama konsolu</string>
<string name="debug_clear">temizle</string>
<string name="debug_relays_window_fmt">son 10 sn: %1$d • 1 dk: %2$d • 15 dk: %3$d</string>
<string name="debug_derived_p_fmt">türetilen P: %1$s • tahm. maks öge: %2$s</string>
<string name="debug_direct_suffix"> • doğrudan</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_question_mark">?</string>
<string name="debug_role_server">sunucu olarak (barındırıyoruz)</string>
<string name="debug_role_client">istemci olarak (bağlanıyoruz)</string>
<string name="location_services_required">Konum servisleri gerekli</string>
<string name="privacy_first">Önce gizlilik</string>
<string name="location_explanation">bitchat KONUMUNU takip etmez.\n\nBluetooth tarama ve Geohash sohbet için konum servisleri gerekir.</string>
<string name="location_needs_for">bitchat konum servislerini şunlar için kullanır:</string>
<string name="location_needs_bullets">• Bluetooth cihaz tarama\n• Mesh ağında yakın kullanıcıları bulma\n• Geohash sohbet özelliği\n• Takip veya konum toplama yok</string>
<string name="open_location_settings">Konum ayarlarını</string>
<string name="check_again">Tekrar kontrol et</string>
<string name="location_services_unavailable">Konum servisleri kullanılamıyor</string>
<string name="location_unavailable_explanation">Bu cihazda konum servisleri yok. Bu olağandışıdır.\n\nBluetooth taramasının düzgün çalışması (Android gereksinimi) için gerekir. Aksi halde yakın kullanıcılar bulunamaz.</string>
<string name="checking_location_services">Konum servisleri kontrol ediliyor…</string>
<string name="bluetooth_required">Bluetooth gerekli</string>
<string name="bluetooth_needs_for">bitchat Bluetoothu şunlar için kullanır:</string>
<string name="bluetooth_needs_bullets">• Yakın kullanıcıları bulma\n• Mesh bağlantıları kurma\n• Mesaj gönderme/alma\n• İnternetsiz çalışma</string>
<string name="enable_bluetooth">Bluetoothu aç</string>
<string name="bluetooth_not_supported">Bluetooth desteklenmiyor</string>
<string name="bluetooth_unsupported_explanation">Bu cihaz Bluetooth Low Energy (BLE) desteklemiyor, bitchat için gereklidir.\n\nBLE, internetsiz yakın cihazlarla iletişim ve mesh için gereklidir.</string>
<string name="checking_bluetooth_status">Bluetooth durumu kontrol ediliyor…</string>
<string name="battery_optimization_detected_title">pil optimizasyonu algılandı</string>
<string name="battery_optimization_enabled_title">Pil optimizasyonu açık</string>
<string name="battery_optimization_explanation_short">mesh için arka planda çalışmalı; optimizasyon kesintiye yol açabilir.</string>
<string name="benefits_of_disabling">Devre dışı bırakmanın faydaları</string>
<string name="battery_benefits_short">• güvenilir teslimat\n• bağlantıyı korur\n• kopmayı önler</string>
<string name="disable_battery_optimization">Optimizasyonu kapat</string>
<string name="battery_optimization_disabled_title">optimizasyon kapalı</string>
<string name="continue_btn">Devam</string>
<string name="initializing_mesh_network">Mesh ağı başlatılıyor</string>
<string name="dot">.</string>
<string name="setting_up_bluetooth">Bluetooth mesh ayarlanıyor…</string>
<string name="should_take_seconds">Yalnızca birkaç saniye sürecek</string>
<string name="warning_emoji">⚠️</string>
<string name="setup_not_complete">Kurulum tamamlanmadı</string>
<string name="try_again">Yeniden dene</string>
<string name="privacy_protected">Gizliliğin korunuyor</string>
<string name="privacy_bullets">• takip veya veri toplama yok\n• Bluetooth mesh sohbet çevrimdışı\n• geohash sohbet internete ihtiyaç duyar</string>
<string name="permissions_header">izinler</string>
<string name="grant_permissions">İzin ver</string>
<string name="location_tracking_warning">bitchat konumunu takip etmez</string>
<string name="at_symbol">@</string>
<string name="app_brand">bitchat/</string>
<string name="channel_count_prefix"> · ⧉ </string>
<string name="geohash_people_header">KİŞİLER</string>
<string name="nobody_around">yakında kimse yok…</string>
<string name="you_suffix"> (sen)</string>
<string name="pan_zoom_instruction">geohash seçmek için kaydır/zoom yap</string>
<string name="select">seç</string>
<string name="type_a_message_placeholder">mesaj yaz…</string>
<string name="mention_suggestion_at">@%1$s</string>
<string name="mention">bahset</string>
<string name="image_counter">%1$d / %2$d</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="at_nickname">@%1$s</string>
<string name="version_prefix">v%1$s</string>
<string name="hash_symbol">#</string>
<string name="underscore">_</string>
<string name="progress_bar_brackets">[%1$s] %2$d%%</string>
<string name="progress_filled"></string>
<string name="progress_empty"></string>
<string name="image_star">image/*</string>
<string name="media_type_image">Görsel</string>
<string name="media_type_file">Dosya</string>
<string name="status_sending"></string>
<string name="status_pending"></string>
<string name="status_sent"></string>
<string name="status_delivered">✓✓</string>
<string name="status_failed"></string>
<string name="status_read"></string>
<string name="notification_sent_image">📷 görsel gönderdi</string>
<string name="notification_sent_voice">🎤 sesli mesaj gönderdi</string>
<string name="notification_sent_file">📎 dosya gönderdi</string>
<string name="notification_file_pdf">📄</string>
<string name="notification_file_zip">🗜️</string>
<string name="notification_file_doc">📄</string>
<string name="notification_file_xls">📊</string>
<string name="notification_file_ppt">📈</string>
<string name="notification_file_generic">📎</string>
<string name="cd_play_voice">Oynat</string>
<string name="cd_pause_voice">Duraklat</string>
<string name="perm_nearby_devices_desc">Bluetooth ile bitchat kullanıcılarını bulmak için gereklidir</string>
<string name="perm_nearby_devices_system">bitchatin yakın cihazlara bağlanmasına izin ver</string>
<string name="perm_location_desc">Android gereği Bluetooth ile yakın kullanıcıları bulmak için gerekli</string>
<string name="perm_location_system">yakın cihazları taramak için gereklidir</string>
<string name="perm_notifications_desc">özel mesajlarda bildirim al</string>
<string name="perm_notifications_system">bitchatin bildirim göndermesine izin ver</string>
<string name="perm_battery_desc">arka planda güvenilir çalışmak ve meshi korumak için pil optimizasyonunu kapat</string>
<string name="perm_battery_system">pil kısıtlaması olmadan çalışmaya izin ver</string>
<string name="perm_type_nearby_devices">Yakın cihazlar</string>
<string name="perm_type_precise_location">Hassas konum</string>
<string name="perm_type_microphone">Mikrofon</string>
<string name="perm_type_notifications">Bildirimler</string>
<string name="perm_type_battery_optimization">Pil optimizasyonu</string>
<string name="perm_type_other">Diğer</string>
<string name="pwd_prompt_title">Kanal parolasını gir</string>
<string name="pwd_prompt_message">%1$s kanalı parolalıdır. Katılmak için parola gir.</string>
<string name="pwd_label">Parola</string>
<string name="join">Katıl</string>
<string name="cancel">İptal</string>
<plurals name="notification_and_more">
<item quantity="one">ve %d daha</item>
<item quantity="other">ve %d daha</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 kişi</item>
<item quantity="other">%d kişi</item>
</plurals>
</resources>
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- TODO: Ukrainian translations -->
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- اجازات کی وضاحت -->
<string name="permission_bluetooth_rationale">بلوٹوتھ کی اجازت انٹرنیٹ کے بغیر دوسروں سے براہ راست چیٹ کرنے کے لیے ضروری ہے۔</string>
<string name="permission_location_rationale">مقام کی اجازت بلوٹوتھ کے ذریعے قریبی آلات تلاش کرنے کے لیے ضروری ہے۔</string>
<string name="permission_notification_rationale">نوٹیفیکیشن کی اجازت آپ کو نئے پیغامات کے بارے میں بتانے کے لیے ضروری ہے۔</string>
<!-- پلیس ہولڈرز / بنیادی UI -->
<string name="nickname_hint">عرفی نام</string>
<string name="message_hint">پیغام لکھیں…</string>
<string name="channel_password_hint">پاس ورڈ</string>
<string name="join_channel">چینل میں شامل ہوں</string>
<string name="leave_channel">چھوڑیں</string>
<string name="send_message">بھیجیں</string>
<string name="show_commands">کمانڈز دکھائیں</string>
<string name="back">واپس</string>
<string name="people">لوگ</string>
<string name="channels">چینلز</string>
<string name="online_users">آن لائن صارفین</string>
<string name="no_one_connected">کوئی منسلک نہیں</string>
<string name="emergency_clear_hint">تمام ڈیٹا صاف کرنے کے لیے تین بار ٹیپ کریں</string>
<string name="your_network">آپ کا نیٹ ورک</string>
<!-- بیٹری کی اصلاح -->
<string name="battery_optimization_detected">بیٹری کی اصلاح کا پتہ چلا</string>
<string name="battery_optimization_disabled">بیٹری کی اصلاح بند ہے</string>
<string name="battery_optimization_not_required">بیٹری کی اصلاح ضروری نہیں</string>
<string name="battery_optimization_checking">بیٹری کی اصلاح چیک کر رہے ہیں</string>
<string name="battery_optimization_why_disable">بیٹری کی اصلاح کیوں بند کریں؟</string>
<string name="battery_optimization_explanation">bitchat قریبی آلات کے ساتھ میش کنیکشن برقرار رکھنے کے لیے پس منظر میں چلتا ہے۔ بیٹری کی اصلاح ان کنیکشنز کو خراب کر سکتی ہے، جس سے پیغامات دیر سے پہنچیں یا کھو جائیں۔\n\nبیٹری کی اصلاح بند کرنا قابل اعتماد پیئر‑ٹو‑پیئر کمیونیکیشن کو یقینی بناتا ہے۔</string>
<string name="battery_optimization_disable_button">بیٹری کی اصلاح بند کریں</string>
<string name="battery_optimization_note">نوٹ: آپ بعد میں Android سیٹنگز &gt; ایپس &gt; bitchat &gt; بیٹری میں اسے تبدیل کر سکتے ہیں۔</string>
<string name="battery_optimization_not_supported_explanation">آپ کے آلے کو بیٹری کی اصلاح کی سیٹنگز کی ضرورت نہیں۔ bitchat عام طور پر چلے گا۔</string>
<string name="battery_optimization_not_supported_message">آپ کے آلے کو بیٹری کی اصلاح کی سیٹنگز کی ضرورت نہیں۔ bitchat عام طور پر چلے گا۔</string>
<string name="battery_optimization_success_message">bitchat پس منظر میں قابل اعتماد طور پر چل سکتا ہے</string>
<string name="battery_optimization_benefits">• پیغامات کی قابل اعتماد ڈیلیوری\n• میش کنیکشن برقرار رکھنا\n• پس منظری پیغام فارورڈنگ\n• منطقی کنیکشن سے بچاؤ</string>
<string name="battery_optimization_check_again">دوبارہ چیک کریں</string>
<string name="battery_optimization_skip">ابھی چھوڑیں</string>
<string name="battery_optimization_continue">جاری رکھیں</string>
<string name="retry">دوبارہ کوشش کریں</string>
<string name="skip">چھوڑیں</string>
<!-- نوٹیفیکیشنز -->
<string name="notification_summary_more">اور %1$d مزید</string>
<string name="notification_messages_from_people">%2$d لوگوں سے %1$d پیغامات</string>
<string name="notification_more_conversations">اور %1$d مزید گفتگو</string>
<string name="notification_active_peers_title">👥 قریب میں bitchatter!</string>
<string name="notification_active_peers_one">قریب میں 1 شخص</string>
<string name="notification_active_peers_many">قریب میں %1$d لوگ</string>
<string name="notification_new_messages">نئے پیغامات</string>
<string name="notification_new_location_messages">نئے مقام کے پیغامات</string>
<string name="notification_mentions_in">%1$s میں ذکر</string>
<string name="notification_mentions_in_more">%1$s میں ذکر (+%2$d)</string>
<string name="notification_mentions_in_plural">%2$s میں %1$d ذکر</string>
<string name="notification_new_activity_in">%1$s میں نئی سرگرمی</string>
<string name="notification_messages_in">%1$s میں پیغامات</string>
<string name="notification_joined_conversation">%1$s گفتگو میں شامل ہوا</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d ذکر</string>
<string name="notification_geohash_summary_title">bitchat مقام چیٹس</string>
<string name="notification_geohash_summary_text">%2$d مقامات سے %1$d پیغامات</string>
<string name="notification_mesh_mention_title_singular">میش چیٹ میں ذکر</string>
<string name="notification_mesh_mention_title_plural">میش چیٹ میں %1$d ذکر</string>
<string name="notification_more_locations">اور %1$d مزید مقامات</string>
<string name="notification_and_more">اور %1$d مزید</string>
<!-- پسندیدہ رسائی -->
<string name="cd_add_favorite">پسندیدہ میں شامل کریں</string>
<string name="cd_remove_favorite">پسندیدہ سے ہٹائیں</string>
<string name="cd_add_bookmark">بک مارک شامل کریں</string>
<!-- چیٹ ہیڈر اور رسائی -->
<string name="chat_back">واپس</string>
<string name="chat_channel_prefix">چینل: %1$s</string>
<string name="chat_leave">چھوڑیں</string>
<string name="cd_nostr_reachable">Nostr کے ذریعے رسائی</string>
<string name="cd_unread_private_messages">غیر پڑھے ہوئے نجی پیغامات</string>
<string name="cd_toggle_bookmark">بک مارک تبدیل کریں</string>
<string name="cd_teleported">ٹیلی پورٹ</string>
<string name="cd_tor_status">Tor کی کیفیت</string>
<string name="cd_connected_peers">منسلک پیئرز</string>
<string name="cd_geohash_participants">geohash شرکاء</string>
<string name="cd_ready_for_handshake">ہینڈ شیک کے لیے تیار</string>
<string name="cd_handshake_in_progress">ہینڈ شیک جاری ہے</string>
<string name="cd_encrypted">اینڈ‑ٹو‑اینڈ انکرپٹڈ</string>
<string name="cd_handshake_failed">ہینڈ شیک ناکام</string>
<!-- فائل ویور ڈائیلاگ -->
<string name="file_viewer_title">📎 فائل موصولہ</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 سائز: %1$s</string>
<string name="file_viewer_type">🏷️ قسم: %1$s</string>
<string name="file_viewer_open_save">📂 کھولیں / محفوظ کریں</string>
<string name="close_with_emoji">❌ بند کریں</string>
<string name="pick_image">تصویر منتخب کریں</string>
<!-- تفصیلات شیٹ -->
<string name="about_tagline">غیر مرکزی میش چیٹ • اینڈ‑ٹو‑اینڈ انکرپشن</string>
<string name="about_offline_mesh_title">آف لائن میش چیٹ</string>
<string name="about_offline_mesh_desc">انٹرنیٹ یا سرورز کے بغیر Bluetooth LE کے ذریعے براہ راست بات چیت کریں۔ پیغامات قریبی آلات کے ذریعے ریلے ہوتے ہیں تاکہ رسائی بڑھے۔</string>
<string name="about_online_geohash_title">آن لائن geohash چینلز</string>
<string name="about_online_geohash_desc">geohash پر مبنی چینلز کے ذریعے اپنے قریب کے لوگوں سے جڑیں۔ عوامی انٹرنیٹ ریلے کے ذریعے میش کو پھیلائیں۔</string>
<string name="about_e2e_title">اینڈ‑ٹو‑اینڈ انکرپشن</string>
<string name="about_e2e_desc">نجی پیغامات انکرپٹڈ ہیں۔ چینل پیغامات عوامی ہیں۔</string>
<string name="about_appearance">ظاہری شکل</string>
<string name="about_system">سسٹم</string>
<string name="about_light">ہلکا</string>
<string name="about_dark">گہرا</string>
<string name="about_pow">پروف آف ورک</string>
<string name="about_pow_off">PoW بند</string>
<string name="about_pow_on">PoW چالو</string>
<string name="about_pow_tip">اسپام کو مشکل بنانے کے لیے geohash پیغامات میں Proof of Work شامل کریں۔</string>
<string name="about_pow_difficulty">مشکل: %1$d بٹ (~%2$s)</string>
<string name="about_pow_difficulty_attempts">مشکل %1$d کے لیے ~%2$s ہیش کوششیں</string>
<string name="about_pow_desc_none">Proof of Work ضروری نہیں</string>
<string name="about_pow_desc_very_low">بہت کم – کم سے کم اسپام تحفظ</string>
<string name="about_pow_desc_low">کم – بنیادی اسپام تحفظ</string>
<string name="about_pow_desc_medium">درمیانہ – اچھا اسپام تحفظ</string>
<string name="about_pow_desc_high">اعلیٰ – مضبوط اسپام تحفظ</string>
<string name="about_pow_desc_very_high">بہت اعلیٰ – تاخیر ہو سکتی ہے</string>
<string name="about_pow_desc_extreme">انتہائی – اہم کمپیوٹیشنل طاقت درکار</string>
<string name="about_network">نیٹ ورک</string>
<string name="about_tor_off">Tor بند</string>
<string name="about_tor_on">Tor چالو</string>
<string name="about_tor_route">زیادہ پرائیویسی کے لیے انٹرنیٹ ٹریفک کو Tor کے ذریعے بھیجیں۔</string>
<string name="about_tor_status">Tor کی کیفیت: %1$s، بوٹ اسٹریپ %2$d%%</string>
<string name="about_last">آخری: %1$s</string>
<string name="about_emergency_title">ہنگامی ڈیٹا صافی</string>
<string name="about_emergency_tip">تجویز: تمام محفوظ شدہ ڈیٹا – پیغامات، کلیدیں اور سیٹنگز سمیت – صاف کرنے کے لیے ایپ کے ٹائٹل پر تین بار ٹیپ کریں۔</string>
<string name="about_debug_settings">ڈیبگ سیٹنگز</string>
<string name="about_footer">اوپن سورس • پرائیویسی پہلے • غیر مرکزی</string>
<string name="close_plain">بند کریں</string>
<string name="cancel_lower">منسوخ کریں</string>
<!-- عمومی کنٹینٹ تفصیل -->
<string name="cd_warning">خبردار</string>
<string name="cd_location_services">مقام کی خدمات</string>
<string name="cd_privacy">پرائیویسی</string>
<string name="cd_error">خرابی</string>
<string name="cd_battery_optimization">بیٹری کی اصلاح</string>
<string name="cd_benefits">فوائد</string>
<string name="cd_checking_battery_optimization">بیٹری کی اصلاح چیک کر رہے ہیں</string>
<string name="cd_not_supported_battery_optimization">بیٹری کی اصلاح تعاون یافتہ نہیں</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">غیر پڑھا پیغام</string>
<string name="cd_open_map">نقشہ کھولیں</string>
<string name="cd_remove_bookmark">بک مارک ہٹائیں</string>
<string name="cd_teleport">ٹیلی پورٹ</string>
<string name="cd_selected">منتخب</string>
<string name="cd_leave_channel">چینل چھوڑیں</string>
<string name="cd_reachable_via_nostr">Nostr کے ذریعے رسائی</string>
<string name="cd_offline_favorite">پسندیدہ (آف لائن)</string>
<string name="cd_decrease_precision">درستگی کم کریں</string>
<string name="cd_increase_precision">درستگی بڑھائیں</string>
<string name="cd_select_geohash">geohash منتخب کریں</string>
<string name="cd_scroll_to_bottom">نیچے اسکرول کریں</string>
<string name="cd_file">فائل</string>
<string name="cd_image">تصویر</string>
<string name="cd_cancel">منسوخ کریں</string>
<string name="cd_link">لنک</string>
<string name="cd_pick_media">میڈیا منتخب کریں</string>
<string name="cd_pick_file">فائل منتخب کریں</string>
<string name="cd_save_current_image">موجودہ تصویر محفوظ کریں</string>
<string name="cd_close">بند کریں</string>
<string name="cd_image_index_of">تصویر %1$d / %2$d</string>
<string name="cd_privacy_protected">پرائیویسی محفوظ</string>
<string name="cd_record_voice">وائس نوٹ ریکارڈ کریں</string>
<string name="cd_offline_mesh_chat">آف لائن میش چیٹ</string>
<string name="cd_online_geohash_channels">آن لائن geohash چینلز</string>
<string name="cd_end_to_end_encryption">اینڈ‑ٹو‑اینڈ انکرپشن</string>
<!-- تصاویر اور فائلیں -->
<string name="image_page_of">تصویر %1$d / %2$d</string>
<string name="image_unavailable">تصویر دستیاب نہیں</string>
<string name="image_saved_to_downloads">تصویر "Downloads" میں محفوظ ہوئی</string>
<string name="image_save_failed">تصویر محفوظ نہیں ہو سکی</string>
<string name="toast_image_saved">تصویر "Downloads" میں محفوظ ہوئی</string>
<string name="toast_failed_to_save_image">تصویر محفوظ نہیں ہو سکی</string>
<string name="pick_file">فائل منتخب کریں</string>
<string name="file_unavailable">[فائل دستیاب نہیں]</string>
<string name="unknown">نامعلوم</string>
<!-- صارف ایکشن شیٹ -->
<string name="choose_action_message_or_user">اس پیغام یا صارف کے لیے ایکشن منتخب کریں</string>
<string name="choose_action_user">اس صارف کے لیے ایکشن منتخب کریں</string>
<string name="action_copy_message_title">پیغام کاپی کریں</string>
<string name="action_copy_message_subtitle">اس پیغام کو کلپ بورڈ میں کاپی کریں</string>
<string name="action_slap_title">%1$s کو تھپڑ</string>
<string name="action_slap_subtitle">مزاحیہ تھپڑ بھیجیں</string>
<string name="action_hug_title">%1$s کو گلے لگائیں</string>
<string name="action_hug_subtitle">دوستانہ آلنگن بھیجیں</string>
<string name="action_block_title">%1$s کو بلاک کریں</string>
<string name="action_block_subtitle">اس صارف کے تمام پیغامات بلاک کریں</string>
<!-- geohash چینلز شیٹ -->
<string name="location_channels_title">#مقام چینلز</string>
<string name="location_channels_desc">geohash چینلز کے ذریعے اپنے قریب کے لوگوں سے چیٹ کریں۔ صرف ایک مبہم geohash شیئر کیا جاتا ہے، کبھی درست GPS ڈیٹا نہیں۔ اپنی پرائیویسی کے لیے، اس اسکرین کا اسکرین شاٹ نہ لیں اور اسے شیئر نہ کریں۔</string>
<string name="grant_location_permission">مقام کی اجازت دیں</string>
<string name="location_permission_denied">مقام کی اجازت منع کی گئی۔ مقام چینلز استعمال کرنے کے لیے سیٹنگز میں فعال کریں۔</string>
<string name="open_settings">سیٹنگز کھولیں</string>
<string name="location_permission_granted">\u2713 مقام کی اجازت دی گئی</string>
<string name="checking_permissions">اجازات چیک کر رہے ہیں…</string>
<string name="finding_nearby_channels">قریبی چینلز تلاش کر رہے ہیں…</string>
<string name="bookmarked">بک مارکڈ</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">غلط geohash</string>
<string name="teleport">ٹیلی پورٹ</string>
<string name="disable_location_services">مقام کی خدمات بند کریں</string>
<string name="enable_location_services">مقام کی خدمات چالو کریں</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">بلاک</string>
<string name="location_level_neighborhood">محلہ</string>
<string name="location_level_city">شہر</string>
<string name="location_level_province">صوبہ</string>
<string name="location_level_region">علاقہ</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- ڈیبگ / تشخیص -->
<string name="debug_tools">ڈیبگ ٹولز</string>
<string name="debug_tools_desc">تشخیص اور کنٹرول کے لیے ڈیولپر ٹولز</string>
<string name="debug_verbose_logging">تفصیلی لاگنگ</string>
<string name="debug_verbose_hint">پیئر جوائن/لیو، کنیکشن ڈائریکشن، پیکٹ ریلے اور ریلے لاگ کرتا ہے</string>
<string name="debug_bluetooth_roles">Bluetooth کردار</string>
<string name="debug_gatt_server">GATT سرور</string>
<string name="debug_connections_fmt">کنیکشنز: %1$d / %2$d</string>
<string name="debug_max_server">زیادہ سے زیادہ سرور</string>
<string name="debug_gatt_client">GATT کلائنٹ</string>
<string name="debug_max_client">زیادہ سے زیادہ کلائنٹ</string>
<string name="debug_overall_connections_fmt">کنیکشنز: %1$d / %2$d</string>
<string name="debug_max_overall">زیادہ سے زیادہ کل</string>
<string name="debug_packet_relay">پیکٹ ریلے</string>
<string name="debug_since_start_fmt">شروع سے: %1$d</string>
<string name="debug_roles_hint">کردار آن/آف ٹوگل کریں اور بند کرتے وقت تمام کنیکشنز بند کریں</string>
<string name="debug_sync_settings">سنک سیٹنگز</string>
<string name="debug_max_packets_per_sync_fmt">فی سنک زیادہ سے زیادہ پیکٹس: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">زیادہ سے زیادہ GCS فلٹر سائز: %1$d بائٹس (1281024)</string>
<string name="debug_target_fpr_fmt">ہدف FPR: %1$.2f%%</string>
<string name="debug_connected_devices">منسلک آلات</string>
<string name="debug_our_device_id_fmt">ہمارا آلہ ID: %1$s</string>
<string name="debug_none">کوئی نہیں</string>
<string name="debug_disconnect">منقطع کریں</string>
<string name="debug_recent_scan_results">حال ہی میں اسکین شدہ آلات</string>
<string name="debug_connect">کنیکٹ</string>
<string name="debug_debug_console">ڈیبگ کنسول</string>
<string name="debug_clear">صاف کریں</string>
<string name="debug_relays_window_fmt">آخری 10 سیکنڈ: %1$d • 1 منٹ: %2$d • 15 منٹ: %3$d</string>
<string name="debug_derived_p_fmt">ماخوذ P: %1$s • تخمینی زیادہ سے زیادہ آئٹمز: %2$s</string>
<string name="debug_direct_suffix"> • براہ راست</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">سرور کے طور پر (ہم ہوسٹ کرتے ہیں)</string>
<string name="debug_role_client">کلائنٹ کے طور پر (ہم کنیکٹ کرتے ہیں)</string>
<!-- آن بورڈنگ اسکرینز -->
<string name="location_services_required">مقام کی خدمات ضروری</string>
<string name="privacy_first">پرائیویسی پہلے</string>
<string name="location_explanation">bitchat آپ کا مقام ٹریک نہیں کرتا۔\n\nBluetooth اسکیننگ اور geohash چیٹ فیچر کے لیے مقام کی خدمات ضروری ہیں۔</string>
<string name="location_needs_for">bitchat کو مقام کی خدمات کی ضرورت:</string>
<string name="location_needs_bullets">• Bluetooth آلات اسکیننگ\n• میش نیٹ ورک میں قریبی صارفین کی دریافت\n• geohash چیٹ فیچر\n• کوئی ٹریکنگ یا مقام کا اجماع نہیں</string>
<string name="open_location_settings">مقام سیٹنگز کھولیں</string>
<string name="check_again">دوبارہ چیک کریں</string>
<string name="location_services_unavailable">مقام کی خدمات دستیاب نہیں</string>
<string name="location_unavailable_explanation">اس آلے پر مقام کی خدمات دستیاب نہیں ہیں۔ یہ غیر معمولی ہے کیونکہ مقام کی خدمات Android آلات پر معیاری ہیں۔\n\nBluetooth اسکیننگ (Android کی ضرورت) کے ٹھیک سے کام کرنے کے لیے مقام کی خدمات ضروری ہیں۔ اس کے بغیر ایپ قریبی صارفین کو دریافت نہیں کر سکتی۔</string>
<string name="checking_location_services">مقام کی خدمات چیک کر رہے ہیں…</string>
<string name="bluetooth_required">Bluetooth ضروری</string>
<string name="bluetooth_needs_for">bitchat کو Bluetooth کی ضرورت:</string>
<string name="bluetooth_needs_bullets">• قریبی صارفین کی دریافت\n• میش نیٹ ورک کنیکشنز بنانا\n• پیغامات بھیجنا اور وصول کرنا\n• انٹرنیٹ یا سرورز کے بغیر کام کرنا</string>
<string name="enable_bluetooth">Bluetooth فعال کریں</string>
<string name="bluetooth_not_supported">Bluetooth تعاون یافتہ نہیں</string>
<string name="bluetooth_unsupported_explanation">یہ آلہ Bluetooth Low Energy (BLE) کو سپورٹ نہیں کرتا، جو bitchat کے کام کے لیے ضروری ہے۔\n\nBLE میش نیٹ ورکس بنانے اور انٹرنیٹ کے بغیر قریبی آلات کے ساتھ بات چیت کرنے کے لیے ضروری ہے۔</string>
<string name="checking_bluetooth_status">Bluetooth کی کیفیت چیک کر رہے ہیں…</string>
<string name="battery_optimization_detected_title">بیٹری کی اصلاح کا پتہ چلا</string>
<string name="battery_optimization_enabled_title">بیٹری کی اصلاح فعال</string>
<string name="battery_optimization_explanation_short">میش کنیکشنز برقرار رکھنے کے لیے bitchat کو پس منظر میں چلنا ضروری ہے۔ بیٹری کی اصلاح ان کنیکشنز کو خراب کر سکتی ہے۔</string>
<string name="benefits_of_disabling">بند کرنے کے فوائد</string>
<string name="battery_benefits_short">• قابل اعتماد پیغام کی ڈیلیوری\n• میش کنیکٹویٹی برقرار رکھنا\n• کنیکشن منقطع ہونے سے بچنا</string>
<string name="disable_battery_optimization">بیٹری کی اصلاح بند کریں</string>
<string name="battery_optimization_disabled_title">بیٹری کی اصلاح بند</string>
<string name="continue_btn">جاری رکھیں</string>
<string name="initializing_mesh_network">میش نیٹ ورک شروع کر رہے ہیں</string>
<string name="setting_up_bluetooth">Bluetooth میش نیٹ ورک سیٹ کر رہے ہیں…</string>
<string name="should_take_seconds">اس میں صرف چند سیکنڈ لگنے چاہیے</string>
<string name="setup_not_complete">سیٹ اپ مکمل نہیں</string>
<string name="try_again">دوبارہ کوشش کریں</string>
<string name="privacy_protected">آپ کی پرائیویسی محفوظ ہے</string>
<string name="privacy_bullets">• کوئی ٹریکنگ یا ڈیٹا اجماع نہیں\n• Bluetooth میش چیٹس مکمل آف لائن\n• geohash چیٹس انٹرنیٹ استعمال کرتے ہیں</string>
<string name="permissions_header">اجازات</string>
<string name="grant_permissions">اجازات دیں</string>
<string name="location_tracking_warning">bitchat آپ کا مقام ٹریک نہیں کرتا</string>
<string name="geohash_people_header">لوگ</string>
<string name="nobody_around">یہاں کوئی نہیں…</string>
<string name="you_suffix"> (آپ)</string>
<string name="pan_zoom_instruction">geohash منتخب کرنے کے لیے پین/زوم کریں</string>
<string name="select">منتخب کریں</string>
<string name="type_a_message_placeholder">پیغام لکھیں…</string>
<string name="mention">ذکر</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">تصویر</string>
<string name="media_type_file">فائل</string>
<!-- نوٹیفیکیشن ٹیکسٹ ہیلپرز -->
<string name="notification_sent_image">📷 تصویر بھیجی</string>
<string name="notification_sent_voice">🎤 وائس نوٹ بھیجا</string>
<string name="notification_sent_file">📎 فائل بھیجی</string>
<!-- وائس پلیئر رسائی -->
<string name="cd_play_voice">چلائیں</string>
<string name="cd_pause_voice">روکیں</string>
<string name="cd_mining_pow">PoW مائننگ</string>
<string name="cd_pow_enabled">PoW فعال</string>
<string name="cd_proof_of_work">پروف آف ورک</string>
<string name="pow_mining_ellipsis">مائننگ…</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- اجازات کی تفصیل -->
<string name="perm_nearby_devices_desc">بلوٹوتھ کے ذریعے bitchat صارفین کی دریافت کے لیے ضروری</string>
<string name="perm_nearby_devices_system">bitchat کو قریبی آلات سے جڑنے کی اجازت دیں</string>
<string name="perm_location_desc">Android کی ضرورت: بلوٹوتھ کے ذریعے قریبی bitchat صارفین کی دریافت</string>
<string name="perm_location_system">قریبی آلات اسکین کرنے کے لیے bitchat کو یہ چاہیے</string>
<string name="perm_notifications_desc">نجی پیغامات ملنے پر نوٹیفیکیشن حاصل کریں</string>
<string name="perm_notifications_system">bitchat کو آپ کو نوٹیفیکیشن بھیجنے کی اجازت دیں</string>
<string name="perm_battery_desc">یقینی بنانے کے لیے کہ bitchat پس منظر میں قابل اعتماد طور پر چلے اور میش کنیکشنز برقرار رکھے، بیٹری کی اصلاح بند کریں</string>
<string name="perm_battery_system">bitchat کو بیٹری کی پابندیوں کے بغیر چلنے کی اجازت دیں</string>
<!-- اجازات کی اقسام -->
<string name="perm_type_nearby_devices">قریبی آلات</string>
<string name="perm_type_precise_location">درست مقام</string>
<string name="perm_type_microphone">مائیکروفون</string>
<string name="perm_type_notifications">نوٹیفیکیشنز</string>
<string name="perm_type_battery_optimization">بیٹری کی اصلاح</string>
<string name="perm_type_other">دوسرے</string>
<!-- پاس ورڈ ڈائیلاگ -->
<string name="pwd_prompt_title">چینل پاس ورڈ داخل کریں</string>
<string name="pwd_prompt_message">چینل %1$s پاس ورڈ سے محفوظ ہے۔ شامل ہونے کے لیے پاس ورڈ داخل کریں۔</string>
<string name="pwd_label">پاس ورڈ</string>
<string name="join">شامل ہوں</string>
<string name="cancel">منسوخ کریں</string>
<!-- جمع -->
<plurals name="notification_and_more">
<item quantity="one">اور %d مزید</item>
<item quantity="other">اور %d مزید</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 شخص</item>
<item quantity="other">%d لوگ</item>
</plurals>
</resources>
+353
View File
@@ -0,0 +1,353 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- Lý do quyền -->
<string name="permission_bluetooth_rationale">Quyền Bluetooth là cần thiết để trò chuyện trực tiếp với những người khác mà không cần Internet.</string>
<string name="permission_location_rationale">Quyền vị trí là cần thiết để tìm các thiết bị gần đó qua Bluetooth.</string>
<string name="permission_notification_rationale">Quyền thông báo là cần thiết để thông báo cho bạn về tin nhắn mới.</string>
<!-- Placeholder / UI cơ bản -->
<string name="nickname_hint">Biệt danh</string>
<string name="message_hint">Nhập tin nhắn…</string>
<string name="channel_password_hint">Mật khẩu</string>
<string name="join_channel">Tham gia kênh</string>
<string name="leave_channel">Rời khỏi</string>
<string name="send_message">Gửi</string>
<string name="show_commands">Hiển thị lệnh</string>
<string name="back">Quay lại</string>
<string name="people">Mọi người</string>
<string name="channels">Kênh</string>
<string name="online_users">Người dùng trực tuyến</string>
<string name="no_one_connected">Không có ai kết nối</string>
<string name="emergency_clear_hint">Nhấn ba lần để xóa tất cả dữ liệu</string>
<string name="your_network">Mạng lưới</string>
<!-- Tối ưu hóa pin -->
<string name="battery_optimization_detected">Đã phát hiện tối ưu hóa pin</string>
<string name="battery_optimization_disabled">Tối ưu hóa pin đã tắt</string>
<string name="battery_optimization_not_required">Không cần tối ưu hóa pin</string>
<string name="battery_optimization_checking">Đang kiểm tra tối ưu hóa pin</string>
<string name="battery_optimization_why_disable">Tại sao nên tắt tối ưu hóa pin?</string>
<string name="battery_optimization_explanation">bitchat chạy nền để duy trì kết nối mesh với các thiết bị gần đó. Tối ưu hóa pin có thể làm gián đoạn các kết nối này, gây ra tin nhắn bị trễ hoặc mất.\n\nTắt tối ưu hóa pin đảm bảo liên lạc ngang hàng đáng tin cậy.</string>
<string name="battery_optimization_disable_button">Tắt tối ưu hóa pin</string>
<string name="battery_optimization_note">Lưu ý: Bạn có thể thay đổi điều này sau trong Android Settings &gt; Apps &gt; bitchat &gt; Battery.</string>
<string name="battery_optimization_not_supported_explanation">Thiết bị của bạn không cần cài đặt tối ưu hóa pin. bitchat sẽ chạy bình thường.</string>
<string name="battery_optimization_not_supported_message">Thiết bị của bạn không cần cài đặt tối ưu hóa pin. bitchat sẽ chạy bình thường.</string>
<string name="battery_optimization_success_message">bitchat có thể chạy đáng tin cậy trong nền</string>
<string name="battery_optimization_benefits">• Gửi tin nhắn đáng tin cậy\n• Duy trì kết nối mesh\n• Chuyển tiếp tin nhắn nền\n• Ngăn ngừa mất kết nối</string>
<string name="battery_optimization_check_again">Kiểm tra lại</string>
<string name="battery_optimization_skip">Bỏ qua ngay</string>
<string name="battery_optimization_continue">Tiếp tục</string>
<string name="retry">Thử lại</string>
<string name="skip">Bỏ qua</string>
<!-- Thông báo -->
<string name="notification_summary_more">và %1$d khác</string>
<string name="notification_messages_from_people">%1$d tin nhắn từ %2$d người</string>
<string name="notification_more_conversations">và %1$d cuộc trò chuyện khác</string>
<string name="notification_active_peers_title">👥 bitchatter gần đó!</string>
<string name="notification_active_peers_one">1 người gần đó</string>
<string name="notification_active_peers_many">%1$d người gần đó</string>
<string name="notification_new_messages">Tin nhắn mới</string>
<string name="notification_new_location_messages">Tin nhắn vị trí mới</string>
<string name="notification_mentions_in">Được nhắc đến trong %1$s</string>
<string name="notification_mentions_in_more">Được nhắc đến trong %1$s (+%2$d khác)</string>
<string name="notification_mentions_in_plural">%1$d lần nhắc đến trong %2$s</string>
<string name="notification_new_activity_in">Hoạt động mới trong %1$s</string>
<string name="notification_messages_in">Tin nhắn trong %1$s</string>
<string name="notification_joined_conversation">%1$s đã tham gia cuộc trò chuyện</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d lần nhắc đến</string>
<string name="notification_geohash_summary_title">bitchat Trò chuyện vị trí</string>
<string name="notification_geohash_summary_text">%1$d tin nhắn từ %2$d vị trí</string>
<string name="notification_mesh_mention_title_singular">Được nhắc đến trong Mesh Chat</string>
<string name="notification_mesh_mention_title_plural">%1$d lần nhắc đến trong Mesh Chat</string>
<string name="notification_more_locations">và %1$d vị trí khác</string>
<string name="notification_and_more">và %1$d khác</string>
<!-- Khả năng truy cập yêu thích -->
<string name="cd_add_favorite">Thêm vào yêu thích</string>
<string name="cd_remove_favorite">Xóa khỏi yêu thích</string>
<string name="cd_add_bookmark">Thêm bookmark</string>
<!-- Header trò chuyện & khả năng truy cập -->
<string name="chat_back">quay lại</string>
<string name="chat_channel_prefix">Kênh: %1$s</string>
<string name="chat_leave">rời khỏi</string>
<string name="cd_nostr_reachable">Có thể tiếp cận qua Nostr</string>
<string name="cd_unread_private_messages">Tin nhắn riêng chưa đọc</string>
<string name="cd_toggle_bookmark">Bật/tắt bookmark</string>
<string name="cd_teleported">Đã dịch chuyển</string>
<string name="cd_tor_status">Trạng thái Tor</string>
<string name="cd_connected_peers">Peers đã kết nối</string>
<string name="cd_geohash_participants">Người tham gia geohash</string>
<string name="cd_ready_for_handshake">Sẵn sàng cho handshake</string>
<string name="cd_handshake_in_progress">Handshake đang tiến hành</string>
<string name="cd_encrypted">Mã hóa đầu cuối</string>
<string name="cd_handshake_failed">Handshake thất bại</string>
<!-- Dialog xem file -->
<string name="file_viewer_title">📎 File đã nhận</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Kích thước: %1$s</string>
<string name="file_viewer_type">🏷️ Loại: %1$s</string>
<string name="file_viewer_open_save">📂 Mở / Lưu</string>
<string name="close_with_emoji">❌ Đóng</string>
<string name="pick_image">Chọn hình ảnh</string>
<!-- Sheet giới thiệu -->
<string name="about_tagline">trò chuyện mesh phi tập trung với mã hóa đầu cuối</string>
<string name="about_offline_mesh_title">Trò chuyện Mesh ngoại tuyến</string>
<string name="about_offline_mesh_desc">Liên lạc trực tiếp qua Bluetooth LE mà không cần Internet hoặc máy chủ. Tin nhắn được chuyển tiếp qua các thiết bị gần để mở rộng phạm vi.</string>
<string name="about_online_geohash_title">Kênh Geohash trực tuyến</string>
<string name="about_online_geohash_desc">Kết nối với những người trong khu vực của bạn qua các kênh dựa trên geohash. Mở rộng mesh qua các relay Internet công cộng.</string>
<string name="about_e2e_title">Mã hóa đầu cuối</string>
<string name="about_e2e_desc">Tin nhắn riêng được mã hóa. Tin nhắn kênh là công khai.</string>
<string name="about_appearance">Giao diện</string>
<string name="about_system">Hệ thống</string>
<string name="about_light">Sáng</string>
<string name="about_dark">Tối</string>
<string name="about_pow">Proof of Work</string>
<string name="about_pow_off">PoW tắt</string>
<string name="about_pow_on">PoW bật</string>
<string name="about_pow_tip">Thêm proof of work vào tin nhắn geohash để làm cho spam khó hơn.</string>
<string name="about_pow_difficulty">Độ khó: %1$d bit (~%2$s)</string>
<string name="about_pow_difficulty_attempts">Độ khó %1$d cần ~%2$s lần thử hash</string>
<string name="about_pow_desc_none">không cần proof of work</string>
<string name="about_pow_desc_very_low">rất thấp bảo vệ spam tối thiểu</string>
<string name="about_pow_desc_low">thấp bảo vệ spam cơ bản</string>
<string name="about_pow_desc_medium">trung bình bảo vệ spam tốt</string>
<string name="about_pow_desc_high">cao bảo vệ spam mạnh</string>
<string name="about_pow_desc_very_high">rất cao có thể gây độ trễ</string>
<string name="about_pow_desc_extreme">cực cao cần sức mạnh tính toán đáng kể</string>
<string name="about_network">Mạng lưới</string>
<string name="about_tor_off">Tor tắt</string>
<string name="about_tor_on">Tor bật</string>
<string name="about_tor_route">Định tuyến lưu lượng Internet qua Tor để có thêm quyền riêng tư.</string>
<string name="about_tor_status">Trạng thái Tor: %1$s, Bootstrap %2$d%%</string>
<string name="about_last">Cuối cùng: %1$s</string>
<string name="about_emergency_title">Xóa dữ liệu khẩn cấp</string>
<string name="about_emergency_tip">Mẹo: Nhấn ba lần vào tiêu đề ứng dụng để xóa tất cả dữ liệu đã lưu bao gồm tin nhắn, khóa và cài đặt.</string>
<string name="about_debug_settings">Cài đặt debug</string>
<string name="about_footer">Mã nguồn mở • Quyền riêng tư trước tiên • Phi tập trung</string>
<string name="close_plain">Đóng</string>
<string name="cancel_lower">hủy</string>
<!-- Mô tả nội dung chung -->
<string name="cd_warning">Cảnh báo</string>
<string name="cd_location_services">Dịch vụ vị trí</string>
<string name="cd_privacy">Quyền riêng tư</string>
<string name="cd_error">Lỗi</string>
<string name="cd_battery_optimization">Tối ưu hóa pin</string>
<string name="cd_benefits">Lợi ích</string>
<string name="cd_checking_battery_optimization">Đang kiểm tra tối ưu hóa pin</string>
<string name="cd_not_supported_battery_optimization">Tối ưu hóa pin không được hỗ trợ</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Tin nhắn chưa đọc</string>
<string name="cd_open_map">Mở bản đồ</string>
<string name="cd_remove_bookmark">Xóa bookmark</string>
<string name="cd_teleport">Dịch chuyển</string>
<string name="cd_selected">Đã chọn</string>
<string name="cd_leave_channel">Rời khỏi kênh</string>
<string name="cd_reachable_via_nostr">Có thể tiếp cận qua Nostr</string>
<string name="cd_offline_favorite">Yêu thích (ngoại tuyến)</string>
<string name="cd_decrease_precision">Giảm độ chính xác</string>
<string name="cd_increase_precision">Tăng độ chính xác</string>
<string name="cd_select_geohash">Chọn geohash</string>
<string name="cd_scroll_to_bottom">Cuộn xuống dưới</string>
<string name="cd_file">File</string>
<string name="cd_image">Hình ảnh</string>
<string name="cd_cancel">Hủy</string>
<string name="cd_link">Liên kết</string>
<string name="cd_pick_media">Chọn media</string>
<string name="cd_pick_file">Chọn file</string>
<string name="cd_save_current_image">Lưu hình ảnh hiện tại</string>
<string name="cd_close">Đóng</string>
<string name="cd_image_index_of">Hình ảnh %1$d trong %2$d</string>
<string name="cd_privacy_protected">Quyền riêng tư được bảo vệ</string>
<string name="cd_record_voice">Ghi tin nhắn thoại</string>
<string name="cd_offline_mesh_chat">Trò chuyện Mesh ngoại tuyến</string>
<string name="cd_online_geohash_channels">Kênh Geohash trực tuyến</string>
<string name="cd_end_to_end_encryption">Mã hóa đầu cuối</string>
<!-- Hình ảnh & file -->
<string name="image_page_of">Hình ảnh %1$d trong %2$d</string>
<string name="image_unavailable">Hình ảnh không có sẵn</string>
<string name="image_saved_to_downloads">Hình ảnh đã lưu vào \"Downloads\"</string>
<string name="image_save_failed">Không thể lưu hình ảnh</string>
<string name="toast_image_saved">Hình ảnh đã lưu vào \"Downloads\"</string>
<string name="toast_failed_to_save_image">Không thể lưu hình ảnh</string>
<string name="pick_file">Chọn file</string>
<string name="file_unavailable">[File không có sẵn]</string>
<string name="unknown">không rõ</string>
<!-- Sheet hành động người dùng -->
<string name="choose_action_message_or_user">Chọn hành động cho tin nhắn hoặc người dùng này</string>
<string name="choose_action_user">Chọn hành động cho người dùng này</string>
<string name="action_copy_message_title">Sao chép tin nhắn</string>
<string name="action_copy_message_subtitle">Sao chép tin nhắn này vào clipboard</string>
<string name="action_slap_title">Tát %1$s</string>
<string name="action_slap_subtitle">Gửi một cái tát vui nhộn</string>
<string name="action_hug_title">Ôm %1$s</string>
<string name="action_hug_subtitle">Gửi một cái ôm thân thiện</string>
<string name="action_block_title">Chặn %1$s</string>
<string name="action_block_subtitle">Chặn tất cả tin nhắn từ người dùng này</string>
<!-- Sheet kênh geohash -->
<string name="location_channels_title">#Kênh vị trí</string>
<string name="location_channels_desc">Trò chuyện với những người gần bạn qua các kênh geohash. Chỉ geohash thô được chia sẻ, không phải dữ liệu GPS chính xác. Vui lòng không chụp màn hình hoặc chia sẻ chế độ xem này để bảo vệ quyền riêng tư.</string>
<string name="grant_location_permission">Cấp quyền vị trí</string>
<string name="location_permission_denied">Quyền vị trí bị từ chối. Hãy bật trong Cài đặt để sử dụng kênh vị trí.</string>
<string name="open_settings">Mở Cài đặt</string>
<string name="location_permission_granted">\u2713 Đã cấp quyền vị trí</string>
<string name="checking_permissions">Đang kiểm tra quyền …</string>
<string name="finding_nearby_channels">Đang tìm kênh gần đó …</string>
<string name="bookmarked">Đã bookmark</string>
<string name="geohash_placeholder">Geohash</string>
<string name="invalid_geohash">Geohash không hợp lệ</string>
<string name="teleport">dịch chuyển</string>
<string name="disable_location_services">Tắt dịch vụ vị trí</string>
<string name="enable_location_services">Bật dịch vụ vị trí</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">Khối</string>
<string name="location_level_neighborhood">Khu phố</string>
<string name="location_level_city">Thành phố</string>
<string name="location_level_province">Tỉnh</string>
<string name="location_level_region">Khu vực</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<!-- Debug / Chẩn đoán -->
<string name="debug_tools">Công cụ debug</string>
<string name="debug_tools_desc">Công cụ nhà phát triển cho chẩn đoán và điều khiển</string>
<string name="debug_verbose_logging">ghi log chi tiết</string>
<string name="debug_verbose_hint">Ghi log peer join/leave, hướng kết nối, chuyển tiếp gói và relay</string>
<string name="debug_bluetooth_roles">Vai trò Bluetooth</string>
<string name="debug_gatt_server">GATT Server</string>
<string name="debug_connections_fmt">Kết nối: %1$d / %2$d</string>
<string name="debug_max_server">server tối đa</string>
<string name="debug_gatt_client">GATT Client</string>
<string name="debug_max_client">client tối đa</string>
<string name="debug_overall_connections_fmt">Kết nối: %1$d / %2$d</string>
<string name="debug_max_overall">tối đa tổng</string>
<string name="debug_packet_relay">Packet Relay</string>
<string name="debug_since_start_fmt">từ lúc bắt đầu: %1$d</string>
<string name="debug_roles_hint">Bật/tắt vai trò và đóng tất cả kết nối khi tắt</string>
<string name="debug_sync_settings">Cài đặt sync</string>
<string name="debug_max_packets_per_sync_fmt">gói tối đa mỗi sync: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">kích thước bộ lọc GCS tối đa: %1$d Byte (1281024)</string>
<string name="debug_target_fpr_fmt">FPR mục tiêu: %1$.2f%%</string>
<string name="debug_connected_devices">thiết bị đã kết nối</string>
<string name="debug_our_device_id_fmt">ID thiết bị của chúng tôi: %1$s</string>
<string name="debug_none">không có</string>
<string name="debug_disconnect">ngắt kết nối</string>
<string name="debug_recent_scan_results">thiết bị được quét gần đây</string>
<string name="debug_connect">kết nối</string>
<string name="debug_debug_console">Console debug</string>
<string name="debug_clear">xóa</string>
<string name="debug_relays_window_fmt">10s cuối: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">P dẫn xuất: %1$s • phần tử tối đa ước tính: %2$s</string>
<string name="debug_direct_suffix"> • trực tiếp</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_role_server">làm server (chúng tôi host)</string>
<string name="debug_role_client">làm client (chúng tôi kết nối)</string>
<!-- Màn hình onboarding -->
<string name="location_services_required">Yêu cầu dịch vụ vị trí</string>
<string name="privacy_first">Quyền riêng tư trước tiên</string>
<string name="location_explanation">bitchat KHÔNG theo dõi vị trí của bạn.\n\nDịch vụ vị trí cần thiết cho quét Bluetooth và tính năng geohash chat.</string>
<string name="location_needs_for">bitchat cần dịch vụ vị trí cho:</string>
<string name="location_needs_bullets">• Quét thiết bị Bluetooth\n• Khám phá người dùng gần đó trong mạng mesh\n• Tính năng geohash chat\n• Không theo dõi hoặc thu thập vị trí</string>
<string name="open_location_settings">Mở cài đặt vị trí</string>
<string name="check_again">Kiểm tra lại</string>
<string name="location_services_unavailable">Dịch vụ vị trí không có sẵn</string>
<string name="location_unavailable_explanation">Dịch vụ vị trí không có sẵn trên thiết bị này. Điều này bất thường vì dịch vụ vị trí là tiêu chuẩn trên thiết bị Android.\n\nbitchat cần dịch vụ vị trí để quét Bluetooth hoạt động đúng (yêu cầu Android). Không có nó, ứng dụng không thể khám phá người dùng gần đó.</string>
<string name="checking_location_services">Đang kiểm tra dịch vụ vị trí …</string>
<string name="bluetooth_required">Yêu cầu Bluetooth</string>
<string name="bluetooth_needs_for">bitchat cần Bluetooth cho:</string>
<string name="bluetooth_needs_bullets">• Khám phá người dùng gần đó\n• Tạo kết nối mạng mesh\n• Gửi và nhận tin nhắn\n• Hoạt động mà không cần Internet hoặc máy chủ</string>
<string name="enable_bluetooth">Bật Bluetooth</string>
<string name="bluetooth_not_supported">Bluetooth không được hỗ trợ</string>
<string name="bluetooth_unsupported_explanation">Thiết bị này không hỗ trợ Bluetooth Low Energy (BLE), cần thiết để bitchat hoạt động.\n\nbitchat cần BLE để tạo mạng mesh và liên lạc với thiết bị gần đó mà không cần Internet.</string>
<string name="checking_bluetooth_status">Đang kiểm tra trạng thái Bluetooth …</string>
<string name="battery_optimization_detected_title">Đã phát hiện tối ưu hóa pin</string>
<string name="battery_optimization_enabled_title">Tối ưu hóa pin đã bật</string>
<string name="battery_optimization_explanation_short">bitchat phải chạy nền để duy trì kết nối mesh. Tối ưu hóa pin có thể làm gián đoạn các kết nối này.</string>
<string name="benefits_of_disabling">Lợi ích của việc tắt</string>
<string name="battery_benefits_short">• gửi tin nhắn đáng tin cậy\n• duy trì kết nối mesh\n• ngăn ngừa mất kết nối</string>
<string name="disable_battery_optimization">Tắt tối ưu hóa pin</string>
<string name="battery_optimization_disabled_title">Tối ưu hóa pin đã tắt</string>
<string name="continue_btn">Tiếp tục</string>
<string name="initializing_mesh_network">Đang khởi tạo mạng mesh</string>
<string name="setting_up_bluetooth">Đang thiết lập mạng Bluetooth mesh …</string>
<string name="should_take_seconds">Điều này chỉ mất vài giây</string>
<string name="setup_not_complete">Thiết lập chưa hoàn thành</string>
<string name="try_again">Thử lại</string>
<string name="privacy_protected">Quyền riêng tư của bạn được bảo vệ</string>
<string name="privacy_bullets">• không theo dõi hoặc thu thập dữ liệu\n• Bluetooth mesh chat hoàn toàn ngoại tuyến\n• Geohash chat sử dụng Internet</string>
<string name="permissions_header">Quyền</string>
<string name="grant_permissions">Cấp quyền</string>
<string name="location_tracking_warning">bitchat KHÔNG theo dõi vị trí của bạn</string>
<string name="geohash_people_header">MỌI NGƯỜI</string>
<string name="nobody_around">không có ai xung quanh …</string>
<string name="you_suffix"> (bạn)</string>
<string name="pan_zoom_instruction">di chuyển và zoom để chọn geohash</string>
<string name="select">chọn</string>
<string name="type_a_message_placeholder">Nhập tin nhắn …</string>
<string name="mention">nhắc đến</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="version_prefix">v%1$s</string>
<string name="image_star">image/*</string>
<string name="media_type_image">Hình ảnh</string>
<string name="media_type_file">File</string>
<!-- Trợ giúp văn bản thông báo -->
<string name="notification_sent_image">📷 đã gửi hình ảnh</string>
<string name="notification_sent_voice">🎤 đã gửi tin nhắn thoại</string>
<string name="notification_sent_file">📎 đã gửi file</string>
<!-- Khả năng truy cập trình phát thoại -->
<string name="cd_play_voice">Phát</string>
<string name="cd_pause_voice">Tạm dừng</string>
<string name="cd_mining_pow">Đang mining PoW</string>
<string name="cd_pow_enabled">PoW đã bật</string>
<string name="cd_proof_of_work">Proof of Work</string>
<string name="pow_mining_ellipsis">Đang mining …</string>
<string name="pow_label_format">pow: %1$dbit</string>
<!-- Mô tả quyền -->
<string name="perm_nearby_devices_desc">Cần thiết để khám phá người dùng bitchat qua Bluetooth</string>
<string name="perm_nearby_devices_system">Cho phép bitchat kết nối với thiết bị gần đó</string>
<string name="perm_location_desc">Android yêu cầu để khám phá người dùng bitchat gần đó qua Bluetooth</string>
<string name="perm_location_system">bitchat cần điều này để quét thiết bị gần đó</string>
<string name="perm_notifications_desc">Nhận thông báo khi bạn nhận tin nhắn riêng</string>
<string name="perm_notifications_system">Cho phép bitchat gửi thông báo cho bạn</string>
<string name="perm_battery_desc">Tắt tối ưu hóa pin để đảm bảo bitchat chạy đáng tin cậy trong nền và duy trì kết nối mạng mesh</string>
<string name="perm_battery_system">Cho phép bitchat chạy mà không bị giới hạn pin</string>
<!-- Loại quyền -->
<string name="perm_type_nearby_devices">Thiết bị gần đó</string>
<string name="perm_type_precise_location">Vị trí chính xác</string>
<string name="perm_type_microphone">Microphone</string>
<string name="perm_type_notifications">Thông báo</string>
<string name="perm_type_battery_optimization">Tối ưu hóa pin</string>
<string name="perm_type_other">Khác</string>
<!-- Dialog mật khẩu -->
<string name="pwd_prompt_title">Nhập mật khẩu kênh</string>
<string name="pwd_prompt_message">Kênh %1$s được bảo vệ bằng mật khẩu. Nhập mật khẩu để tham gia.</string>
<string name="pwd_label">Mật khẩu</string>
<string name="join">Tham gia</string>
<string name="cancel">Hủy</string>
<!-- Số nhiều -->
<plurals name="notification_and_more">
<item quantity="one">và %d khác</item>
<item quantity="other">và %d khác</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 người</item>
<item quantity="other">%d người</item>
</plurals>
</resources>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- TODO: Chinese (Simplified) translations -->
</resources>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- TODO: Chinese (Traditional) translations -->
</resources>
+366
View File
@@ -0,0 +1,366 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">bitchat</string>
<!-- 权限说明 -->
<string name="permission_bluetooth_rationale">需要蓝牙权限以在无网络时进行点对点聊天。</string>
<string name="permission_location_rationale">需要位置信息权限以通过蓝牙发现附近设备。</string>
<string name="permission_notification_rationale">需要通知权限以提醒你有新消息。</string>
<!-- 占位/基础 UI -->
<string name="nickname_hint">昵称</string>
<string name="message_hint">输入消息…</string>
<string name="channel_password_hint">密码</string>
<string name="join_channel">加入频道</string>
<string name="leave_channel">离开</string>
<string name="send_message">发送</string>
<string name="show_commands">显示命令</string>
<string name="back">返回</string>
<string name="people">成员</string>
<string name="channels">频道</string>
<string name="online_users">在线用户</string>
<string name="no_one_connected">无人连接</string>
<string name="emergency_clear_hint">三击以清除所有数据</string>
<string name="your_network">网络</string>
<!-- 电池优化 -->
<string name="battery_optimization_detected">检测到电池优化</string>
<string name="battery_optimization_disabled">电池优化已禁用</string>
<string name="battery_optimization_not_required">无需电池优化</string>
<string name="battery_optimization_checking">正在检查电池优化</string>
<string name="battery_optimization_why_disable">为何禁用电池优化?</string>
<string name="battery_optimization_explanation">bitchat 在后台运行以保持与附近设备的 mesh 连接。电池优化可能中断连接,导致消息延迟或丢失。\n\n禁用可确保可靠的点对点消息。</string>
<string name="battery_optimization_disable_button">禁用电池优化</string>
<string name="battery_optimization_note">备注:稍后可在 设置 &gt; 应用 &gt; bitchat &gt; 电池 中更改。</string>
<string name="battery_optimization_not_supported_explanation">你的设备不需要电池优化设置。bitchat 将正常运行。</string>
<string name="battery_optimization_not_supported_message">你的设备不需要电池优化设置。bitchat 将正常运行。</string>
<string name="battery_optimization_success_message">bitchat 可在后台可靠运行</string>
<string name="battery_optimization_benefits">• 可靠投递消息\n• 维持 mesh 连接\n• 后台转发\n• 避免断连</string>
<string name="battery_optimization_check_again">重新检查</string>
<string name="battery_optimization_skip">暂时跳过</string>
<string name="battery_optimization_continue">继续</string>
<string name="retry">重试</string>
<string name="skip">跳过</string>
<!-- 通知 -->
<string name="notification_summary_more">以及另外 %1$d 条</string>
<string name="notification_messages_from_people">来自 %2$d 位的 %1$d 条消息</string>
<string name="notification_more_conversations">以及另外 %1$d 个会话</string>
<string name="notification_active_peers_title">👥 附近的 bitchatter</string>
<string name="notification_active_peers_one">附近 1 人</string>
<string name="notification_active_peers_many">附近 %1$d 人</string>
<string name="notification_new_messages">新消息</string>
<string name="notification_new_location_messages">新的地点消息</string>
<string name="notification_mentions_in">在 %1$s 中被提及</string>
<string name="notification_mentions_in_more">在 %1$s 中被提及(另有 %2$d 条)</string>
<string name="notification_mentions_in_plural">在 %2$s 中有 %1$d 次提及</string>
<string name="notification_new_activity_in">%1$s 中有新动态</string>
<string name="notification_messages_in">%1$s 中的消息</string>
<string name="notification_joined_conversation">%1$s 加入了会话</string>
<string name="notification_geohash_summary_title_mentions">bitchat %1$d 次提及</string>
<string name="notification_geohash_summary_title">bitchat 地点聊天</string>
<string name="notification_geohash_summary_text">来自 %2$d 个地点的 %1$d 条消息</string>
<string name="notification_mesh_mention_title_singular">在 Mesh 聊天中被提及</string>
<string name="notification_mesh_mention_title_plural">在 Mesh 聊天中有 %1$d 次提及</string>
<string name="notification_more_locations">以及另外 %1$d 个地点</string>
<string name="notification_and_more">以及另外 %1$d 条</string>
<!-- 收藏 / 可访问性 -->
<string name="cd_add_favorite">加入收藏</string>
<string name="cd_remove_favorite">移出收藏</string>
<string name="cd_add_bookmark">添加书签</string>
<!-- 聊天头部 / 可访问性 -->
<string name="chat_back">返回</string>
<string name="chat_channel_prefix">频道:%1$s</string>
<string name="chat_leave">离开</string>
<string name="cd_nostr_reachable">可通过 Nostr 联系</string>
<string name="cd_unread_private_messages">未读私信</string>
<string name="cd_toggle_bookmark">切换书签</string>
<string name="cd_teleported">已传送</string>
<string name="cd_tor_status">Tor 状态</string>
<string name="cd_connected_peers">已连接节点</string>
<string name="cd_geohash_participants">Geohash 参与者</string>
<string name="cd_ready_for_handshake">准备握手</string>
<string name="cd_handshake_in_progress">握手中</string>
<string name="cd_encrypted">端到端加密</string>
<string name="cd_handshake_failed">握手失败</string>
<!-- 文件查看对话框 -->
<string name="file_viewer_title">📎 收到文件</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 大小:%1$s</string>
<string name="file_viewer_type">🏷️ 类型:%1$s</string>
<string name="file_viewer_open_save">📂 打开 / 保存</string>
<string name="close_with_emoji">❌ 关闭</string>
<string name="pick_image">选择图片</string>
<!-- 关于 -->
<string name="about_tagline">去中心化 mesh 消息,端到端加密</string>
<string name="about_offline_mesh_title">离线 Mesh 聊天</string>
<string name="about_offline_mesh_desc">无需网络或服务器,通过 Bluetooth LE 直接通信。利用附近设备中继消息以扩展范围。</string>
<string name="about_online_geohash_title">在线 Geohash 频道</string>
<string name="about_online_geohash_desc">使用基于 geohash 的频道与附近的人交流。通过公共互联网中继扩展 mesh。</string>
<string name="about_e2e_title">端到端加密</string>
<string name="about_e2e_desc">私信加密;频道消息为公开。</string>
<string name="about_appearance">外观</string>
<string name="about_system">系统</string>
<string name="about_light">浅色</string>
<string name="about_dark">深色</string>
<string name="about_pow">工作量证明</string>
<string name="about_pow_off">pow 关</string>
<string name="about_pow_on">pow 开</string>
<string name="about_pow_tip">为 geohash 消息添加工作量证明以抑制垃圾信息。</string>
<string name="about_pow_difficulty">难度:%1$d 位 (~%2$s)</string>
<string name="about_pow_difficulty_attempts">难度 %1$d 约需 ~%2$s 次哈希尝试</string>
<string name="about_pow_desc_none">无需工作量证明</string>
<string name="about_pow_desc_very_low">很低——最低防护</string>
<string name="about_pow_desc_low">较低——基础防护</string>
<string name="about_pow_desc_medium">中等——良好防护</string>
<string name="about_pow_desc_high">高——强防护</string>
<string name="about_pow_desc_very_high">很高——可能延迟</string>
<string name="about_pow_desc_extreme">极高——需要大量计算</string>
<string name="about_network">网络</string>
<string name="about_tor_off">tor 关</string>
<string name="about_tor_on">tor 开</string>
<string name="about_tor_route">通过 Tor 路由互联网以提升隐私。</string>
<string name="about_tor_status">Tor 状态:%1$s,引导 %2$d%%</string>
<string name="about_last">最近:%1$s</string>
<string name="about_emergency_title">紧急数据删除</string>
<string name="about_emergency_tip">提示:三击应用标题以删除所有数据,包括消息、密钥和设置。</string>
<string name="about_debug_settings">调试设置</string>
<string name="about_footer">Open Source • Privacy First • 去中心化</string>
<string name="close_plain">关闭</string>
<string name="cancel_lower">取消</string>
<!-- 通用 CD -->
<string name="cd_warning">警告</string>
<string name="cd_location_services">定位服务</string>
<string name="cd_privacy">隐私</string>
<string name="cd_error">错误</string>
<string name="cd_battery_optimization">电池优化</string>
<string name="cd_benefits">好处</string>
<string name="cd_checking_battery_optimization">检查电池优化</string>
<string name="cd_not_supported_battery_optimization">不支持</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">未读消息</string>
<string name="cd_open_map">打开地图</string>
<string name="cd_remove_bookmark">移除书签</string>
<string name="cd_teleport">传送</string>
<string name="cd_selected">已选择</string>
<string name="cd_leave_channel">离开频道</string>
<string name="cd_reachable_via_nostr">可通过 Nostr 联系</string>
<string name="cd_offline_favorite">收藏(离线)</string>
<string name="cd_decrease_precision">降低精度</string>
<string name="cd_increase_precision">提高精度</string>
<string name="cd_select_geohash">选择 geohash</string>
<string name="cd_scroll_to_bottom">滚动到底部</string>
<string name="cd_file">文件</string>
<string name="cd_image">图片</string>
<string name="cd_cancel">取消</string>
<string name="cd_link">链接</string>
<string name="cd_pick_media">选择媒体</string>
<string name="cd_record_voice">录制语音</string>
<string name="cd_offline_mesh_chat">离线 Mesh 聊天</string>
<string name="cd_online_geohash_channels">在线 Geohash 频道</string>
<string name="cd_end_to_end_encryption">端到端加密</string>
<!-- 图片/文件 -->
<string name="image_page_of">图片 %1$d / %2$d</string>
<string name="image_unavailable">图片不可用</string>
<string name="image_saved_to_downloads">图片已保存到“下载”</string>
<string name="image_save_failed">图片保存失败</string>
<string name="pick_file">选择文件</string>
<string name="file_unavailable">[文件不可用]</string>
<string name="unknown">未知</string>
<!-- 用户操作面板 -->
<string name="choose_action_message_or_user">为此消息或用户选择操作</string>
<string name="choose_action_user">为此用户选择操作</string>
<string name="action_copy_message_title">复制消息</string>
<string name="action_copy_message_subtitle">将此消息复制到剪贴板</string>
<string name="action_slap_title">扇 %1$s 一下</string>
<string name="action_slap_subtitle">发送一个打趣的“扇巴掌”</string>
<string name="action_hug_title">拥抱 %1$s</string>
<string name="action_hug_subtitle">发送一个友好的拥抱</string>
<string name="action_block_title">屏蔽 %1$s</string>
<string name="action_block_subtitle">屏蔽该用户的所有消息</string>
<!-- 地点频道面板 -->
<string name="location_channels_title">#地点频道</string>
<string name="location_channels_desc">使用 geohash 频道与附近的人聊天。仅共享粗略的 geohash,从不共享精确 GPS。为保护隐私,请勿截图或分享此页面。</string>
<string name="grant_location_permission">授予定位权限</string>
<string name="location_permission_denied">定位权限被拒。请在设置中启用以使用地点频道。</string>
<string name="open_settings">打开设置</string>
<string name="location_permission_granted">\u2713 已授予定位权限</string>
<string name="checking_permissions">正在检查权限…</string>
<string name="finding_nearby_channels">正在查找附近频道…</string>
<string name="bookmarked">已收藏</string>
<string name="geohash_placeholder">geohash</string>
<string name="invalid_geohash">无效的 geohash</string>
<string name="teleport">传送</string>
<string name="disable_location_services">禁用定位服务</string>
<string name="enable_location_services">启用定位服务</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">街区</string>
<string name="location_level_neighborhood">社区</string>
<string name="location_level_city">城市</string>
<string name="location_level_province">省/州</string>
<string name="location_level_region">地区</string>
<!-- 调试/诊断 -->
<string name="debug_tools">调试工具</string>
<string name="debug_verbose_logging">详细日志</string>
<string name="debug_bluetooth_roles">Bluetooth 角色</string>
<string name="debug_gatt_server">GATT 服务器</string>
<string name="debug_connections_fmt">连接:%1$d / %2$d</string>
<string name="debug_max_server">最大服务器</string>
<string name="debug_gatt_client">GATT 客户端</string>
<string name="debug_max_client">最大客户端</string>
<string name="debug_overall_connections_fmt">连接:%1$d / %2$d</string>
<string name="debug_max_overall">最大总计</string>
<string name="debug_packet_relay">数据包中继</string>
<string name="debug_since_start_fmt">自启动以来:%1$d</string>
<string name="debug_sync_settings">同步设置</string>
<string name="debug_max_packets_per_sync_fmt">每次同步的最大包数:%1$d</string>
<string name="debug_max_gcs_filter_size_fmt">GCS 过滤器最大大小:%1$d 字节(128–1024</string>
<string name="debug_target_fpr_fmt">目标 FPR%1$.2f%%</string>
<string name="debug_connected_devices">已连接设备</string>
<string name="debug_our_device_id_fmt">我们的设备 ID%1$s</string>
<string name="debug_none"></string>
<string name="debug_disconnect">断开</string>
<string name="debug_recent_scan_results">最近扫描结果</string>
<string name="debug_connect">连接</string>
<string name="debug_debug_console">调试控制台</string>
<string name="debug_clear">清除</string>
<string name="debug_relays_window_fmt">最近 10 秒:%1$d • 1 分钟:%2$d • 15 分钟:%3$d</string>
<string name="debug_derived_p_fmt">导出 P:%1$s • 估算最大元素:%2$s</string>
<string name="debug_direct_suffix"> • 直连</string>
<string name="debug_rssi_fmt">%1$s • RSSI%2$s</string>
<string name="debug_question_mark">?</string>
<string name="debug_role_server">作为服务器(我们托管)</string>
<string name="debug_role_client">作为客户端(我们连接)</string>
<!-- 入门屏幕 -->
<string name="location_services_required">需要定位服务</string>
<string name="privacy_first">隐私优先</string>
<string name="location_explanation">bitchat 不会跟踪你的位置。\n\n蓝牙扫描和 geohash 聊天功能需要定位服务。</string>
<string name="location_needs_for">bitchat 需要定位服务用于:</string>
<string name="location_needs_bullets">• 蓝牙设备扫描\n• 在 mesh 网络发现附近用户\n• Geohash 聊天\n• 不跟踪或收集位置</string>
<string name="open_location_settings">打开定位设置</string>
<string name="check_again">再次检查</string>
<string name="location_services_unavailable">定位服务不可用</string>
<string name="location_unavailable_explanation">此设备上定位服务不可用。这不常见,因为 Android 设备通常具备此功能。\n\n为使蓝牙扫描正常工作(Android 要求),需要定位服务。否则无法发现附近用户。</string>
<string name="checking_location_services">正在检查定位服务…</string>
<string name="bluetooth_required">需要 Bluetooth</string>
<string name="bluetooth_needs_for">bitchat 需要 Bluetooth 以:</string>
<string name="bluetooth_needs_bullets">• 发现附近用户\n• 建立 mesh 连接\n• 发送和接收消息\n• 在无网络和服务器时工作</string>
<string name="enable_bluetooth">启用 Bluetooth</string>
<string name="bluetooth_not_supported">不支持 Bluetooth</string>
<string name="bluetooth_unsupported_explanation">此设备不支持 Bluetooth Low Energy (BLE),而 bitchat 需要它。\n\nbitchat 需要 BLE 以建立 mesh 并在无网络时与附近设备通信。</string>
<string name="checking_bluetooth_status">正在检查 Bluetooth 状态…</string>
<string name="battery_optimization_detected_title">检测到电池优化</string>
<string name="battery_optimization_enabled_title">电池优化已启用</string>
<string name="battery_optimization_explanation_short">bitchat 需要在后台运行以维持连接;电池优化可能会中断。</string>
<string name="benefits_of_disabling">禁用的好处</string>
<string name="battery_benefits_short">• 可靠投递\n• 维持连接\n• 避免中断</string>
<string name="disable_battery_optimization">禁用优化</string>
<string name="battery_optimization_disabled_title">已禁用优化</string>
<string name="continue_btn">继续</string>
<string name="initializing_mesh_network">正在初始化 mesh 网络</string>
<string name="dot">.</string>
<string name="setting_up_bluetooth">正在设置 Bluetooth mesh…</string>
<string name="should_take_seconds">只需几秒钟</string>
<string name="warning_emoji">⚠️</string>
<string name="setup_not_complete">设置未完成</string>
<string name="try_again">重试</string>
<string name="privacy_protected">你的隐私已受保护</string>
<string name="privacy_bullets">• 不跟踪不收集\n• 蓝牙 mesh 聊天完全离线\n• geohash 聊天使用互联网</string>
<string name="permissions_header">权限</string>
<string name="grant_permissions">授予权限</string>
<string name="location_tracking_warning">bitchat 不会跟踪你的位置</string>
<string name="at_symbol">@</string>
<string name="app_brand">bitchat/</string>
<string name="channel_count_prefix"> · ⧉ </string>
<string name="geohash_people_header">成员</string>
<string name="nobody_around">附近无人…</string>
<string name="you_suffix"> (你)</string>
<string name="pan_zoom_instruction">拖动/缩放以选择 geohash</string>
<string name="select">选择</string>
<string name="type_a_message_placeholder">输入消息…</string>
<string name="mention_suggestion_at">@%1$s</string>
<string name="mention">提及</string>
<string name="image_counter">%1$d / %2$d</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="at_nickname">@%1$s</string>
<string name="version_prefix">v%1$s</string>
<string name="hash_symbol">#</string>
<string name="underscore">_</string>
<string name="progress_bar_brackets">[%1$s] %2$d%%</string>
<string name="progress_filled"></string>
<string name="progress_empty"></string>
<string name="image_star">image/*</string>
<string name="media_type_image">图片</string>
<string name="media_type_file">文件</string>
<!-- 消息状态 -->
<string name="status_sending"></string>
<string name="status_pending"></string>
<string name="status_sent"></string>
<string name="status_delivered">✓✓</string>
<string name="status_failed"></string>
<string name="status_read"></string>
<!-- 通知文本辅助 -->
<string name="notification_sent_image">📷 发送了图片</string>
<string name="notification_sent_voice">🎤 发送了语音消息</string>
<string name="notification_sent_file">📎 发送了文件</string>
<string name="notification_file_pdf">📄</string>
<string name="notification_file_zip">🗜️</string>
<string name="notification_file_doc">📄</string>
<string name="notification_file_xls">📊</string>
<string name="notification_file_ppt">📈</string>
<string name="notification_file_generic">📎</string>
<!-- 语音播放器无障碍 -->
<string name="cd_play_voice">播放</string>
<string name="cd_pause_voice">暂停</string>
<!-- 权限描述 -->
<string name="perm_nearby_devices_desc">需要通过 Bluetooth 发现 bitchat 用户</string>
<string name="perm_nearby_devices_system">允许 bitchat 连接附近设备</string>
<string name="perm_location_desc">Android 要求以通过 Bluetooth 发现附近用户</string>
<string name="perm_location_system">bitchat 需要此权限以扫描附近设备</string>
<string name="perm_notifications_desc">在收到私信时接收通知</string>
<string name="perm_notifications_system">允许 bitchat 向你发送通知</string>
<string name="perm_battery_desc">禁用电池优化以确保后台可靠运行并维持连接</string>
<string name="perm_battery_system">允许 bitchat 在无电池限制下运行</string>
<!-- 权限类型 -->
<string name="perm_type_nearby_devices">附近设备</string>
<string name="perm_type_precise_location">精确位置</string>
<string name="perm_type_microphone">麦克风</string>
<string name="perm_type_notifications">通知</string>
<string name="perm_type_battery_optimization">电池优化</string>
<string name="perm_type_other">其他</string>
<!-- 密码提示对话框 -->
<string name="pwd_prompt_title">输入频道密码</string>
<string name="pwd_prompt_message">频道 %1$s 已受密码保护。请输入密码以加入。</string>
<string name="pwd_label">密码</string>
<string name="join">加入</string>
<string name="cancel">取消</string>
<!-- 复数 -->
<plurals name="notification_and_more">
<item quantity="one">以及另外 %d 条</item>
<item quantity="other">以及另外 %d 条</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 人</item>
<item quantity="other">%d 人</item>
</plurals>
</resources>
+337
View File
@@ -37,4 +37,341 @@
<string name="battery_optimization_continue">Continue</string>
<string name="retry">Retry</string>
<string name="skip">Skip</string>
<!-- Notifications -->
<string name="notification_summary_more">and %1$d more</string>
<string name="notification_messages_from_people">%1$d messages from %2$d people</string>
<string name="notification_more_conversations">and %1$d more conversations</string>
<string name="notification_active_peers_title">👥 bitchatters nearby!</string>
<string name="notification_active_peers_one">1 person around</string>
<string name="notification_active_peers_many">%1$d people around</string>
<string name="notification_new_messages">New Messages</string>
<string name="notification_new_location_messages">New Location Messages</string>
<string name="notification_mentions_in">Mentioned in %1$s</string>
<string name="notification_mentions_in_more">Mentioned in %1$s (+%2$d more)</string>
<string name="notification_mentions_in_plural">%1$d mentions in %2$s</string>
<string name="notification_new_activity_in">New activity in %1$s</string>
<string name="notification_messages_in">Messages in %1$s</string>
<string name="notification_joined_conversation">%1$s joined the conversation</string>
<string name="notification_geohash_summary_title_mentions">bitchat - %1$d mentions</string>
<string name="notification_geohash_summary_title">bitchat - location chats</string>
<string name="notification_geohash_summary_text">%1$d messages from %2$d locations</string>
<string name="notification_mesh_mention_title_singular">Mentioned in Mesh Chat</string>
<string name="notification_mesh_mention_title_plural">%1$d mentions in Mesh Chat</string>
<string name="notification_more_locations">and %1$d more locations</string>
<string name="notification_and_more">and %1$d more</string>
<!-- Favorites accessibility -->
<string name="cd_add_favorite">Add to favorites</string>
<string name="cd_remove_favorite">Remove from favorites</string>
<string name="cd_add_bookmark">Add bookmark</string>
<!-- Chat header & accessibility -->
<string name="chat_back">back</string>
<string name="chat_channel_prefix">channel: %1$s</string>
<string name="chat_leave">leave</string>
<string name="cd_nostr_reachable">Nostr reachable</string>
<string name="cd_unread_private_messages">Unread private messages</string>
<string name="cd_toggle_bookmark">Toggle bookmark</string>
<string name="cd_teleported">Teleported</string>
<string name="cd_tor_status">Tor status</string>
<string name="cd_connected_peers">Connected peers</string>
<string name="cd_geohash_participants">Geohash participants</string>
<string name="cd_ready_for_handshake">Ready for handshake</string>
<string name="cd_handshake_in_progress">Handshake in progress</string>
<string name="cd_encrypted">End-to-end encrypted</string>
<string name="cd_handshake_failed">Handshake failed</string>
<!-- File viewer dialog -->
<string name="file_viewer_title">📎 File Received</string>
<string name="file_viewer_name">📄 %1$s</string>
<string name="file_viewer_size">📏 Size: %1$s</string>
<string name="file_viewer_type">🏷️ Type: %1$s</string>
<string name="file_viewer_open_save">📂 Open / Save</string>
<string name="close_with_emoji">❌ Close</string>
<string name="pick_image">Pick image</string>
<string name="cd_save_current_image">Save current image</string>
<string name="cd_close">Close</string>
<string name="toast_image_saved">Image saved to Downloads</string>
<string name="toast_failed_to_save_image">Failed to save image</string>
<string name="cd_image_index_of">Image %1$d of %2$d</string>
<string name="cd_pick_file">Pick file</string>
<!-- About sheet -->
<string name="about_tagline">decentralized mesh messaging with end-to-end encryption</string>
<string name="about_offline_mesh_title">Offline Mesh Chat</string>
<string name="about_offline_mesh_desc">Communicate directly via Bluetooth LE without internet or servers. Messages relay through nearby devices to extend range.</string>
<string name="about_online_geohash_title">Online Geohash Channels</string>
<string name="about_online_geohash_desc">Connect with people in your area using geohash-based channels. Extend the mesh using public internet relays.</string>
<string name="about_e2e_title">End-to-End Encryption</string>
<string name="about_e2e_desc">Private messages are encrypted. Channel messages are public.</string>
<string name="about_appearance">appearance</string>
<string name="about_system">system</string>
<string name="about_light">light</string>
<string name="about_dark">dark</string>
<string name="about_pow">proof of work</string>
<string name="about_pow_off">pow off</string>
<string name="about_pow_on">pow on</string>
<string name="about_pow_tip">add proof of work to geohash messages for spam deterrence.</string>
<string name="about_pow_difficulty">difficulty: %1$d bits (~%2$s)</string>
<string name="about_pow_difficulty_attempts">difficulty %1$d requires ~%2$s hash attempts</string>
<string name="about_pow_desc_none">no proof of work required</string>
<string name="about_pow_desc_very_low">very low - minimal spam protection</string>
<string name="about_pow_desc_low">low - basic spam protection</string>
<string name="about_pow_desc_medium">medium - good spam protection</string>
<string name="about_pow_desc_high">high - strong spam protection</string>
<string name="about_pow_desc_very_high">very high - may cause delays</string>
<string name="about_pow_desc_extreme">extreme - significant computation required</string>
<string name="about_network">network</string>
<string name="about_tor_off">tor off</string>
<string name="about_tor_on">tor on</string>
<string name="about_tor_route">route internet over tor for enhanced privacy.</string>
<string name="about_tor_status">tor Status: %1$s, bootstrap %2$d%%</string>
<string name="about_last">Last: %1$s</string>
<string name="about_emergency_title">Emergency Data Deletion</string>
<string name="about_emergency_tip">Tip: Triple-click the app title to emergency delete all stored data including messages, keys, and settings.</string>
<string name="about_debug_settings">Debug Settings</string>
<string name="about_footer">Open Source • Privacy First • Decentralized</string>
<string name="close_plain">Close</string>
<string name="cd_privacy_protected">Privacy Protected</string>
<string name="cancel_lower">cancel</string>
<!-- Generic content descriptions -->
<string name="cd_warning">Warning</string>
<string name="cd_location_services">Location Services</string>
<string name="cd_privacy">Privacy</string>
<string name="cd_error">Error</string>
<string name="cd_battery_optimization">Battery Optimization</string>
<string name="cd_benefits">Benefits</string>
<string name="cd_checking_battery_optimization">Checking Battery Optimization</string>
<string name="cd_not_supported_battery_optimization">Battery Optimization Not Supported</string>
<string name="cd_bluetooth">Bluetooth</string>
<string name="cd_unread_message">Unread message</string>
<string name="cd_open_map">Open map</string>
<string name="cd_remove_bookmark">Remove bookmark</string>
<string name="cd_teleport">Teleport</string>
<string name="cd_selected">Selected</string>
<string name="cd_leave_channel">Leave channel</string>
<string name="cd_reachable_via_nostr">Reachable via Nostr</string>
<string name="cd_offline_favorite">Offline favorite</string>
<string name="cd_decrease_precision">Decrease precision</string>
<string name="cd_increase_precision">Increase precision</string>
<string name="cd_select_geohash">Select geohash</string>
<string name="cd_scroll_to_bottom">Scroll to bottom</string>
<string name="cd_file">File</string>
<string name="cd_image">Image</string>
<string name="cd_cancel">Cancel</string>
<string name="cd_link">Link</string>
<string name="cd_record_voice">Record voice note</string>
<string name="cd_pick_media">Pick media</string>
<string name="cd_mining_pow">Mining PoW</string>
<string name="cd_pow_enabled">PoW Enabled</string>
<string name="cd_proof_of_work">Proof of Work</string>
<string name="pow_mining_ellipsis">mining...</string>
<string name="pow_label_format">pow: %1$dbit</string>
<string name="cd_offline_mesh_chat">Offline Mesh Chat</string>
<string name="cd_online_geohash_channels">Online Geohash Channels</string>
<string name="cd_end_to_end_encryption">End-to-End Encryption</string>
<string name="location_bluetooth_subtitle">#bluetooth • %1$s</string>
<string name="image_page_of">Image %1$d of %2$d</string>
<string name="image_unavailable">Image unavailable</string>
<string name="image_saved_to_downloads">Image saved to Downloads</string>
<string name="image_save_failed">Failed to save image</string>
<string name="pick_file">Pick file</string>
<string name="file_unavailable">[file unavailable]</string>
<string name="unknown">unknown</string>
<!-- Chat user sheet actions -->
<string name="choose_action_message_or_user">choose an action for this message or user</string>
<string name="choose_action_user">choose an action for this user</string>
<string name="action_copy_message_title">copy message</string>
<string name="action_copy_message_subtitle">copy this message to clipboard</string>
<string name="action_slap_title">slap %1$s</string>
<string name="action_slap_subtitle">send a playful slap message</string>
<string name="action_hug_title">hug %1$s</string>
<string name="action_hug_subtitle">send a friendly hug message</string>
<string name="action_block_title">block %1$s</string>
<string name="action_block_subtitle">block all messages from this user</string>
<!-- Location channels sheet -->
<string name="location_channels_title">#location channels</string>
<string name="location_channels_desc">chat with people near you using geohash channels. only a coarse geohash is shared, never exact gps. do not screenshot or share this screen to protect your privacy.</string>
<string name="grant_location_permission">grant location permission</string>
<string name="location_permission_denied">location permission denied. enable in settings to use location channels.</string>
<string name="location_permission_granted">\u2713 location permission granted</string>
<string name="checking_permissions">checking permissions...</string>
<string name="finding_nearby_channels">finding nearby channels…</string>
<string name="bookmarked">bookmarked</string>
<string name="geohash_placeholder">geohash</string>
<string name="invalid_geohash">invalid geohash</string>
<string name="teleport">teleport</string>
<string name="disable_location_services">disable location services</string>
<string name="enable_location_services">enable location services</string>
<string name="mesh_label">mesh</string>
<string name="location_level_block">block</string>
<string name="location_level_neighborhood">neighborhood</string>
<string name="location_level_city">city</string>
<string name="location_level_province">province</string>
<string name="location_level_region">region</string>
<!-- Debug / Diagnostics -->
<string name="debug_tools">debug tools</string>
<string name="debug_tools_desc">developer utilities for diagnostics and control</string>
<string name="debug_verbose_logging">verbose logging</string>
<string name="debug_verbose_hint">logs peer joins/leaves, connection direction, packet routing and relays</string>
<string name="debug_bluetooth_roles">bluetooth roles</string>
<string name="debug_gatt_server">gatt server</string>
<string name="debug_connections_fmt">connections: %1$d / %2$d</string>
<string name="debug_max_server">max server</string>
<string name="debug_gatt_client">gatt client</string>
<string name="debug_max_client">max client</string>
<string name="debug_overall_connections_fmt">connections: %1$d / %2$d</string>
<string name="debug_max_overall">max overall</string>
<string name="debug_packet_relay">packet relay</string>
<string name="debug_since_start_fmt">since start: %1$d</string>
<string name="debug_roles_hint">turn roles on/off and close all connections when disabled</string>
<string name="debug_sync_settings">sync settings</string>
<string name="debug_max_packets_per_sync_fmt">max packets per sync: %1$d</string>
<string name="debug_max_gcs_filter_size_fmt">max GCS filter size: %1$d bytes (1281024)</string>
<string name="debug_target_fpr_fmt">target FPR: %1$.2f%%</string>
<string name="debug_connected_devices">connected devices</string>
<string name="debug_our_device_id_fmt">our device id: %1$s</string>
<string name="debug_none">none</string>
<string name="debug_disconnect">disconnect</string>
<string name="debug_recent_scan_results">recent scan results</string>
<string name="debug_connect">connect</string>
<string name="debug_debug_console">debug console</string>
<string name="debug_clear">clear</string>
<string name="debug_relays_window_fmt">last 10s: %1$d • 1m: %2$d • 15m: %3$d</string>
<string name="debug_derived_p_fmt">derived P: %1$s • est. max elements: %2$s</string>
<string name="debug_direct_suffix"> • direct</string>
<string name="debug_rssi_fmt">%1$s • RSSI: %2$s</string>
<string name="debug_question_mark">?</string>
<string name="debug_role_server">as server (we host)</string>
<string name="debug_role_client">as client (we connect)</string>
<!-- Onboarding screens -->
<string name="location_services_required">Location Services Required</string>
<string name="privacy_first">Privacy First</string>
<string name="location_explanation">bitchat does NOT track your location.\n\nLocation services are required for Bluetooth scanning and for the Geohash chat feature.</string>
<string name="location_needs_for">bitchat needs location services for:</string>
<string name="location_needs_bullets">• Bluetooth device scanning\n• Discovering nearby users on mesh network\n• Geohash chat feature\n• No tracking or location collection</string>
<string name="open_location_settings">Open Location Settings</string>
<string name="check_again">Check Again</string>
<string name="location_services_unavailable">Location Services Unavailable</string>
<string name="location_unavailable_explanation">Location services are not available on this device. This is unusual as location services are standard on Android devices.\n\nbitchat needs location services for Bluetooth scanning to work properly (Android requirement). Without this, the app cannot discover nearby users.</string>
<string name="checking_location_services">Checking location services...</string>
<string name="bluetooth_required">Bluetooth Required</string>
<string name="bluetooth_needs_for">bitchat needs Bluetooth to:</string>
<string name="bluetooth_needs_bullets">• Discover nearby users\n• Create mesh network connections\n• Send and receive messages\n• Work without internet or servers</string>
<string name="enable_bluetooth">Enable Bluetooth</string>
<string name="bluetooth_not_supported">Bluetooth Not Supported</string>
<string name="bluetooth_unsupported_explanation">This device doesn\'t support Bluetooth Low Energy (BLE), which is required for bitchat to function.\n\nbitchat needs BLE to create mesh networks and communicate with nearby devices without internet.</string>
<string name="checking_bluetooth_status">Checking Bluetooth status...</string>
<string name="battery_optimization_detected_title">battery optimization detected</string>
<string name="battery_optimization_enabled_title">Battery Optimization Enabled</string>
<string name="battery_optimization_explanation_short">bitchat needs to run in the background to maintain mesh connections. battery optimization can interrupt these connections.</string>
<string name="benefits_of_disabling">Benefits of Disabling</string>
<string name="battery_benefits_short">• reliable message delivery\n• maintains mesh connectivity\n• prevents connection drops</string>
<string name="disable_battery_optimization">Disable Battery Optimization</string>
<string name="battery_optimization_disabled_title">battery optimization disabled</string>
<string name="continue_btn">Continue</string>
<string name="initializing_mesh_network">Initializing mesh network</string>
<string name="dot">.</string>
<string name="setting_up_bluetooth">Setting up Bluetooth mesh networking...</string>
<string name="should_take_seconds">This should only take a few seconds</string>
<string name="warning_emoji">⚠️</string>
<string name="setup_not_complete">Setup Not Complete</string>
<string name="try_again">Try Again</string>
<string name="open_settings">Open Settings</string>
<string name="privacy_protected">Your Privacy is Protected</string>
<string name="privacy_bullets">• no tracking or data collection\n• Bluetooth mesh chats are fully offline\n• Geohash chats use the internet</string>
<string name="permissions_header">permissions</string>
<string name="grant_permissions">Grant Permissions</string>
<string name="location_tracking_warning">bitchat does NOT track your location</string>
<string name="at_symbol">@</string>
<string name="app_brand">bitchat/</string>
<string name="channel_count_prefix"> · ⧉ </string>
<string name="geohash_people_header">PEOPLE</string>
<string name="nobody_around">nobody around...</string>
<string name="you_suffix"> (you)</string>
<string name="pan_zoom_instruction">pan and zoom to select a geohash</string>
<string name="select">select</string>
<string name="type_a_message_placeholder">type a message...</string>
<string name="mention_suggestion_at">@%1$s</string>
<string name="mention">mention</string>
<string name="image_counter">%1$d / %2$d</string>
<string name="pow_time_estimate">(~%1$s)</string>
<string name="at_nickname">@%1$s</string>
<string name="version_prefix">v%1$s</string>
<string name="hash_symbol">#</string>
<string name="underscore">_</string>
<string name="progress_bar_brackets">[%1$s] %2$d%%</string>
<string name="progress_filled"></string>
<string name="progress_empty"></string>
<string name="image_star">image/*</string>
<string name="media_type_image">Image</string>
<string name="media_type_file">File</string>
<!-- Message status icons -->
<string name="status_sending"></string>
<string name="status_pending"></string>
<string name="status_sent"></string>
<string name="status_delivered">✓✓</string>
<string name="status_failed"></string>
<string name="status_read"></string>
<!-- Notification text helpers -->
<string name="notification_sent_image">📷 sent an image</string>
<string name="notification_sent_voice">🎤 sent a voice message</string>
<string name="notification_sent_file">📎 sent a file</string>
<string name="notification_file_pdf">📄</string>
<string name="notification_file_zip">🗜️</string>
<string name="notification_file_doc">📄</string>
<string name="notification_file_xls">📊</string>
<string name="notification_file_ppt">📈</string>
<string name="notification_file_generic">📎</string>
<!-- Voice player accessibility -->
<string name="cd_play_voice">Play</string>
<string name="cd_pause_voice">Pause</string>
<!-- Permission descriptions -->
<string name="perm_nearby_devices_desc">Required to discover bitchat users via Bluetooth</string>
<string name="perm_nearby_devices_system">Allow bitchat to connect to nearby devices</string>
<string name="perm_location_desc">Required by Android to discover nearby bitchat users via Bluetooth</string>
<string name="perm_location_system">bitchat needs this to scan for nearby devices</string>
<string name="perm_notifications_desc">Receive notifications when you receive private messages</string>
<string name="perm_notifications_system">Allow bitchat to send you notifications</string>
<string name="perm_battery_desc">Disable battery optimization to ensure bitchat runs reliably in the background and maintains mesh network connections</string>
<string name="perm_battery_system">Allow bitchat to run without battery restrictions</string>
<!-- Permission types -->
<string name="perm_type_nearby_devices">Nearby Devices</string>
<string name="perm_type_precise_location">Precise Location</string>
<string name="perm_type_microphone">Microphone</string>
<string name="perm_type_notifications">Notifications</string>
<string name="perm_type_battery_optimization">Battery Optimization</string>
<string name="perm_type_other">Other</string>
<!-- Password prompt dialog -->
<string name="pwd_prompt_title">Enter Channel Password</string>
<string name="pwd_prompt_message">Channel %1$s is password protected. Enter the password to join.</string>
<string name="pwd_label">Password</string>
<string name="join">Join</string>
<string name="cancel">Cancel</string>
<!-- Plurals -->
<plurals name="notification_and_more">
<item quantity="one">and %d more</item>
<item quantity="other">and %d more</item>
</plurals>
<plurals name="people_count">
<item quantity="one">1 person</item>
<item quantity="other">%d people</item>
</plurals>
</resources>