From fc1c23314bd3cd758e7204ee2dc728a3ecb2f67c Mon Sep 17 00:00:00 2001
From: callebtc <93376500+callebtc@users.noreply.github.com>
Date: Mon, 27 Jul 2026 02:57:22 +0200
Subject: [PATCH] capitalization
---
.../bitchat/android/ui/MeshPeerListSheet.kt | 2 +-
.../android/ui/debug/DebugSettingsSheet.kt | 12 +-
app/src/main/res/values/strings.xml | 286 +++++++++---------
3 files changed, 150 insertions(+), 150 deletions(-)
diff --git a/app/src/main/java/com/bitchat/android/ui/MeshPeerListSheet.kt b/app/src/main/java/com/bitchat/android/ui/MeshPeerListSheet.kt
index 5aae35a3..180b35c8 100644
--- a/app/src/main/java/com/bitchat/android/ui/MeshPeerListSheet.kt
+++ b/app/src/main/java/com/bitchat/android/ui/MeshPeerListSheet.kt
@@ -829,7 +829,7 @@ fun PrivateChatSheet(
val name = if (fullPubkey.isNotEmpty()) {
viewModel.geohashViewModel.displayNameForGeohashConversation(fullPubkey, gh)
} else {
- peerNicknames[peerID] ?: "unknown"
+ peerNicknames[peerID] ?: "Unknown"
}
"#$gh/@$name"
} else {
diff --git a/app/src/main/java/com/bitchat/android/ui/debug/DebugSettingsSheet.kt b/app/src/main/java/com/bitchat/android/ui/debug/DebugSettingsSheet.kt
index 8d38c678..4f4f53da 100644
--- a/app/src/main/java/com/bitchat/android/ui/debug/DebugSettingsSheet.kt
+++ b/app/src/main/java/com/bitchat/android/ui/debug/DebugSettingsSheet.kt
@@ -61,13 +61,13 @@ fun MeshTopologySection(
Column(Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(8.dp)) {
Row(verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp)) {
Icon(Icons.Filled.SettingsEthernet, contentDescription = null, tint = Color(0xFF8E8E93))
- Text("mesh topology", fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
+ Text("Mesh topology", fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
}
val nodes = snapshot.nodes
val edges = snapshot.edges
val empty = nodes.isEmpty()
if (empty) {
- Text("no gossip yet", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.6f))
+ Text("No gossip yet", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.6f))
} else {
ForceDirectedMeshGraph(
nodes = nodes,
@@ -88,7 +88,7 @@ fun MeshTopologySection(
verticalArrangement = Arrangement.spacedBy(4.dp)
) {
nodes.forEach { node ->
- val label = "${node.peerID.take(8)} • ${node.nickname ?: "unknown"}"
+ val label = "${node.peerID.take(8)} • ${node.nickname ?: "Unknown"}"
Text(
text = label,
fontFamily = FontFamily.Monospace,
@@ -388,7 +388,7 @@ fun DebugSettingsSheet(
}
Row(verticalAlignment = Alignment.CenterVertically) {
Spacer(Modifier.width(24.dp))
- Text("Wi‑Fi Aware verbose", fontFamily = FontFamily.Monospace, modifier = Modifier.weight(1f))
+ Text("Wi‑Fi Aware verbose logging", fontFamily = FontFamily.Monospace, modifier = Modifier.weight(1f))
Switch(checked = wifiAwareVerbose, onCheckedChange = { manager.setWifiAwareVerbose(it) })
}
}
@@ -719,7 +719,7 @@ 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(0xFF9C27B0))
- Text("sync settings", fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
+ Text("Sync settings", fontFamily = FontFamily.Monospace, fontSize = 14.sp, fontWeight = FontWeight.Medium)
}
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)
@@ -745,7 +745,7 @@ fun DebugSettingsSheet(
val localAddr = remember { meshService.connectionManager.getLocalAdapterAddress() }
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))
+ Text("None", fontFamily = FontFamily.Monospace, fontSize = 11.sp, color = colorScheme.onSurface.copy(alpha = 0.6f))
} else {
connectedDevices.forEach { dev ->
Surface(shape = RoundedCornerShape(8.dp), color = colorScheme.surface.copy(alpha = 0.6f)) {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0818a9f1..93579e5b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -4,8 +4,8 @@
Bluetooth permission is required for peer-to-peer messaging without internet.
Location permission is required to discover nearby devices via Bluetooth.
Notification permission is required to alert you of new messages.
- nickname
- type a message…
+ Nickname
+ Type a message…
Password
Join Channel
Leave
@@ -54,7 +54,7 @@
Messages in %1$s
%1$s joined the conversation
bitchat - %1$d mentions
- bitchat - location chats
+ bitchat - Location chats
%1$d messages from %2$d locations
Mentioned in Mesh Chat
%1$d mentions in Mesh Chat
@@ -72,8 +72,8 @@
Add bookmark
- back
- leave
+ Back
+ Leave
Nostr reachable
Unread private messages
Location notes
@@ -152,34 +152,34 @@
Geohash channels connect you with people nearby, extending the mesh over public relays.
End-to-End Encryption
Private messages are encrypted. Channel messages are public.
- system
- light
- dark
- proof of work
- pow off
- pow on
- add proof of work to geohash messages for spam deterrence.
- difficulty: %1$d bits (~%2$s)
- difficulty %1$d requires ~%2$s hash attempts
- no proof of work required
- very low - minimal spam protection
- low - basic spam protection
- medium - good spam protection
- high - strong spam protection
- very high - may cause delays
- extreme - significant computation required
- network
- tor off
- tor on
- route internet over tor for enhanced privacy.
- tor Status: %1$s, bootstrap %2$d%%
+ System
+ Light
+ Dark
+ Proof of Work
+ PoW Off
+ PoW On
+ Add proof of work to geohash messages for spam deterrence.
+ Difficulty: %1$d bits (~%2$s)
+ Difficulty %1$d requires ~%2$s hash attempts
+ No proof of work required
+ Very low – minimal spam protection
+ Low – basic spam protection
+ Medium – good spam protection
+ High – strong spam protection
+ Very high – may cause delays
+ Extreme – significant computation required
+ Network
+ Tor Off
+ Tor On
+ Route internet over Tor for enhanced privacy.
+ Tor Status: %1$s, bootstrap %2$d%%
Last: %1$s
Panic Mode
Debug Settings
Open Source • Privacy First • Decentralized
Close
Privacy Protected
- cancel
+ Cancel
Warning
@@ -196,8 +196,8 @@
Remove bookmark
Teleport
Quit bitchat
- run in background
- keep mesh active when app is closed (foreground service)
+ Run in Background
+ Keep mesh active when app is closed (foreground service)
Leave channel
Reachable via Nostr
Offline favorite
@@ -214,8 +214,8 @@
Mining PoW
PoW Enabled
Proof of Work
- mining...
- pow: %1$dbit
+ Mining…
+ PoW: %1$dbit
Offline Mesh Chat
Online Geohash Channels
End-to-End Encryption
@@ -227,27 +227,27 @@
Failed to save image
Pick file
[file unavailable]
- unknown
+ Unknown
- choose an action for this message or user
- choose an action for this user
- copy message
- copy this message to clipboard
- slap %1$s
- send a playful slap message
- hug %1$s
- send a friendly hug message
- block %1$s
- block all messages from this user
- message %1$s
- send a private message
+ Choose an action for this message or user
+ Choose an action for this user
+ Copy message
+ Copy this message to clipboard
+ Slap %1$s
+ Send a playful slap message
+ Hug %1$s
+ Send a friendly hug message
+ Block %1$s
+ Block all messages from this user
+ Message %1$s
+ Send a private message
- #location channels
+ #Location Channels
Location Channels
- 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.
+ 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.
Nearby
@@ -260,113 +260,113 @@
On location
Teleported in
- grant location permission
- location permission denied. enable in settings to use location channels.
+ Grant location permission
+ Location permission denied. Enable in settings to use location channels.
- \u2713 location permission granted
- checking permissions...
- finding nearby channels…
- bookmarked
+ \u2713 Location permission granted
+ Checking permissions…
+ Finding nearby channels…
+ Bookmarked
geohash
- invalid geohash
- teleport
+ Invalid geohash
+ Teleport
Remove location access
- enable location services
+ Enable location services
mesh
- block
- neighborhood
- city
- province
- region
+ Block
+ Neighborhood
+ City
+ Province
+ Region
- #%1$s ± 1 • %2$d note
- #%1$s ± 1 • %2$d notes
- add short permanent notes to this location for other visitors to find.
- geo relays unavailable; notes paused
- no geo relays nearby
- notes rely on geo relays. check connection and try again.
- loading notes…
- no notes yet
- be the first to add one for this spot.
- dismiss
- add a note for this place
+ Add short permanent notes to this location for other visitors to find.
+ Geo relays unavailable; notes paused
+ No geo relays nearby
+ Notes rely on geo relays. Check connection and try again.
+ Loading notes…
+ No notes yet
+ Be the first to add one for this spot.
+ Dismiss
+ Add a note for this place
- debug tools
- developer utilities for diagnostics and control
- verbose logging
- logs peer joins/leaves, connection direction, packet routing and relays
- bluetooth roles
- gatt server
- connections: %1$d / %2$d
- max server
- gatt client
- max client
- connections: %1$d / %2$d
- max overall
- packet relay
- since start: %1$d
- turn roles on/off and close all connections when disabled
- sync settings
- max packets per sync: %1$d
- max GCS filter size: %1$d bytes (128–1024)
- target FPR: %1$.2f%%
- connected devices
- our device id: %1$s
- none
- disconnect
- recent scan results
+ Debug Tools
+ Developer utilities for diagnostics and control
+ Verbose logging
+ Logs peer joins/leaves, connection direction, packet routing and relays
+ Bluetooth roles
+ GATT server
+ Connections: %1$d / %2$d
+ Max server
+ GATT client
+ Max client
+ Connections: %1$d / %2$d
+ Max overall
+ Packet relay
+ Since start: %1$d
+ Turn roles on/off and close all connections when disabled
+ Sync settings
+ Max packets per sync: %1$d
+ Max GCS filter size: %1$d bytes (128–1024)
+ Target FPR: %1$.2f%%
+ Connected devices
+ Our device ID: %1$s
+ None
+ Disconnect
+ Recent scan results
- verify
- scan to verify me
- scan someone elses qr
- scan someone elses qr
- show my qr
- remove verification
- qr unavailable
- camera permission is needed to scan qr codes
- enable camera
- paste verification url
- validate
- verification requested
- security verification
- their fingerprint
- your fingerprint
- handshake pending
- open a private chat to view fingerprints
- encrypted & verified
- encrypted
- handshaking
- handshake failed
- not encrypted
- verified
- you have verified this persons identity.
- not verified
- compare these fingerprints with %1$s using a secure channel.
- mark as verified
- start handshake
- copy
+ Verify
+ Scan to verify me
+ Scan someone else\'s QR
+ Scan someone else\'s QR
+ Show my QR
+ Remove verification
+ QR unavailable
+ Camera permission is needed to scan QR codes
+ Enable camera
+ Paste verification URL
+ Validate
+ Verification requested
+ Security verification
+ Their fingerprint
+ Your fingerprint
+ Handshake pending
+ Open a private chat to view fingerprints
+ Encrypted & verified
+ Encrypted
+ Handshaking
+ Handshake failed
+ Not encrypted
+ Verified
+ You have verified this person\'s identity.
+ Not verified
+ Compare these fingerprints with %1$s using a secure channel.
+ Mark as verified
+ Start handshake
+ Copy
Mutual verification
You and %1$s verified each other
- mutual verification with %1$s
+ Mutual verification with %1$s
Verified
You verified %1$s
- verified %1$s
+ Verified %1$s
- connect
- debug console
- clear
- last 10s: %1$d • 1m: %2$d • 15m: %3$d
- derived P: %1$s • est. max elements: %2$s
+ Connect
+ Debug console
+ Clear
+ Last 10s: %1$d • 1m: %2$d • 15m: %3$d
+ Derived P: %1$s • est. max elements: %2$s
• direct
RSSI: %1$s
?
- as server (we host)
- as client (we connect)
+ As server (we host)
+ As client (we connect)
Location Services Required
@@ -375,11 +375,11 @@
bitchat needs location services for:
• Bluetooth device scanning\n• Discovering nearby users on mesh network\n• Geohash chat feature\n• No tracking or location collection
Background Location Recommended
- optional, improves mesh reliability
+ Optional, improves mesh reliability
Android recommends background location so bitchat can scan for nearby devices while the app is not open. This keeps the mesh alive after reboot.
When settings opens, choose "Allow all the time".
bitchat uses background location for:
- - scan for nearby devices while the app is closed\n- reconnect after reboot\n- keep the mesh running in the background
+ - Scan for nearby devices while the app is closed\n- Reconnect after reboot\n- Keep the mesh running in the background
We NEVER collect or store your location. Your privacy is safe.
Allow Background Location
Continue without background location
@@ -395,13 +395,13 @@
Bluetooth Not Supported
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.
Checking Bluetooth status...
- battery optimization detected
+ Battery optimization detected
Battery Optimization Enabled
- bitchat needs to run in the background to maintain mesh connections. battery optimization can interrupt these connections.
+ bitchat needs to run in the background to maintain mesh connections. Battery optimization can interrupt these connections.
Benefits of Disabling
- • reliable message delivery\n• maintains mesh connectivity\n• prevents connection drops
+ • Reliable message delivery\n• Maintains mesh connectivity\n• Prevents connection drops
Disable Battery Optimization
- battery optimization disabled
+ Battery optimization disabled
Continue
Initializing mesh network
.
@@ -412,20 +412,20 @@
Try Again
Open Settings
Your Privacy is Protected
- • no tracking or data collection\n• Bluetooth mesh chats are fully offline\n• Geohash chats use the internet
- permissions
+ • No tracking or data collection\n• Bluetooth mesh chats are fully offline\n• Geohash chats use the internet
+ Permissions
Grant Permissions
bitchat does NOT track your location
@
Open About
· ⧉
- nobody around...
+ Nobody around…
(you)
- pan and zoom to select a geohash
- select
+ Pan and zoom to select a geohash
+ Select
Type a message…
@%1$s
- mention
+ Mention
%1$d / %2$d
(~%1$s)
@%1$s