mirror of
https://github.com/dz0ny/meshcore-sar.git
synced 2026-08-13 17:30:28 +00:00
feat: UX polish, localization, advert relocation, and map filter fixes
- i18n: translate connection screen + chat tab keys into 13 locales; add "Send my contact" (advert) strings in all locales - feat: move self-advert from home header into composer "+" action menu (new lib/utils/advert_helper.dart, always shows Flood/Direct sheet) - fix: hide-repeaters map toggle was bypassed in simple mode - fix: simple mode map now shows only favourite chat contacts - fix: wrap ListTiles in Material (contact_tile secondary actions, inferred contact group card) to satisfy Flutter ink assertions - device-authoritative contact/channel sync and UX review fixes Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -2493,5 +2493,125 @@
|
||||
"enterRegionName": "Bölge adı (ör. auckland)",
|
||||
"noRegionsFound": "Bu aktarıcıda bölge bulunamadı.",
|
||||
"regionScopeSet": "Bölge kapsamı {name} olarak ayarlandı",
|
||||
"regionScopeCleared": "Bölge kapsamı temizlendi"
|
||||
"regionScopeCleared": "Bölge kapsamı temizlendi",
|
||||
"simpleMode": "Basit mod",
|
||||
"simpleModeDescription": "Yalnızca favori kişilerle sohbet ve harita",
|
||||
"simpleModeRequiresLockedDestination": "Basit modu kullanmak için önce bir kanalla \"Hedefi kilitle\" seçeneğini etkinleştirin",
|
||||
"noFavouriteContacts": "Favori kişi yok",
|
||||
"selectDestinationFirst": "Önce bir kanal, kişi veya oda seçin",
|
||||
"recipientNoLongerAvailable": "Alıcı artık mevcut değil",
|
||||
"failedToSendMessage": "Gönderilemedi: {error}",
|
||||
"tictactoeDirectOnly": "XOX yalnızca doğrudan mesajlarda çalışır. Önce bir kişi seçin.",
|
||||
"deviceKeyUnavailable": "Cihaz anahtarı mevcut değil",
|
||||
"imageCompressionFailed": "Resim sıkıştırma başarısız",
|
||||
"imageFragmentationFailed": "Resim parçalama başarısız",
|
||||
"failedToAnnounceImage": "Resim duyurulamadı",
|
||||
"noRecipientSelected": "Alıcı seçilmedi",
|
||||
"imageSendFailed": "Resim gönderilemedi",
|
||||
"microphonePermissionRequiredForVoice": "Sesli mesajlar için mikrofon izni gerekli",
|
||||
"recordingDiscarded": "Kayıt silindi",
|
||||
"publicChannelMediaWarning": "Genel kanala {mediaType} göndermek üzeresiniz. Mesh ağındaki herkes bunu alabileceği için bu önerilmez. Bunu özellikle istemiyorsanız özel veya etiketli bir kanal seçin.",
|
||||
"selectPrivateChannelToShareLocation": "Konumunuzu paylaşmak için özel bir kanal seçin.",
|
||||
"stopSharingMyLocation": "Konumumu paylaşmayı durdur",
|
||||
"shareMyLocation": "Konumumu paylaş",
|
||||
"stopRecording": "Kaydı durdur",
|
||||
"recordVoice": "Sesli mesaj kaydet",
|
||||
"moreActions": "Diğer işlemler",
|
||||
"noMessagesInFilter": "Bu filtrede mesaj yok",
|
||||
"noMatchesInFilter": "Bu filtrede eşleşme yok",
|
||||
"syncFailed": "Senkronizasyon başarısız: {error}",
|
||||
"invalidLink": "Geçersiz bağlantı",
|
||||
"cannotOpenLink": "Bağlantı açılamıyor",
|
||||
"failedToOpenLink": "Bağlantı açılamadı",
|
||||
"failedToResendMessage": "Mesaj yeniden gönderilemedi",
|
||||
"retryFailed": "Yeniden deneme başarısız: {error}",
|
||||
"deleteDrawingAndMessage": "Çizimi ve mesajı sil",
|
||||
"lastEchoRelay": "Son yankı: röle",
|
||||
"lastEchoPath": "Son yankı: yol",
|
||||
"lastEchoBytesReport": "Son yankı: bayt raporu",
|
||||
"noGpsCoordinatesAvailable": "Kullanılabilir GPS koordinatı yok",
|
||||
"notASarMarker": "Bu bir SAR işareti değil",
|
||||
"failedToSaveTemplate": "Şablon kaydedilemedi: {error}",
|
||||
"drawingNotFound": "Çizim bulunamadı",
|
||||
"unknownDrawingType": "Bilinmeyen çizim türü",
|
||||
"customMapMarker": "Özel harita işareti",
|
||||
"customMapPointLabel": "Nokta: {point}",
|
||||
"mapIdLabel": "Harita ID: {id}",
|
||||
"cannotFetchVoice": "Ses alınamıyor",
|
||||
"senderContactUnknown": "Gönderenin kişisi bilinmiyor. Önce kişileri senkronize edin.",
|
||||
"senderRouteUnknown": "Gönderenin rotası bilinmiyor. Önce kişileri/yolu senkronize edin.",
|
||||
"messageTooFar": "Mesaj çok uzakta ({hops} atlama, en fazla {maxHops}).",
|
||||
"senderRouteNoPathResponse": "Gönderenin rotası yol denetimine yanıt vermedi. Kişileri/yolu senkronize edip yeniden deneyin.",
|
||||
"senderRouteNoRawResponse": "Gönderenin rotası ham aktarım yolunda yanıt vermedi.",
|
||||
"voiceFetchOverHops": "{hops} atlama üzerinden ses alma biraz sürebilir.",
|
||||
"voiceReceiveCanceled": "Ses alımı iptal edildi",
|
||||
"fetchingMissingVoiceFragments": "Eksik ses parçaları alınıyor",
|
||||
"receivingVoice": "Ses alınıyor",
|
||||
"cannotFetchImage": "Resim alınamıyor",
|
||||
"imageFetchOverHops": "{hops} atlama üzerinden resim alma biraz sürebilir.",
|
||||
"imageAlreadyBeingReceived": "Resim zaten alınıyor",
|
||||
"loadImage": "Resmi yükle",
|
||||
"imageFetchFailedToSendRequest": "Resim isteği gönderilemedi",
|
||||
"imageUnavailable": "Resim şu anda kullanılamıyor",
|
||||
"imageFetchTimedOut": "Resim alma zaman aşımına uğradı",
|
||||
"imageReceiveCanceled": "Resim alımı iptal edildi",
|
||||
"closeImagePreview": "Resim önizlemesini kapat",
|
||||
"recordingReleaseToSend": "Kaydediliyor... göndermek için bırakın",
|
||||
"sendingVoice": "Ses gönderiliyor...",
|
||||
"sendLongPressToRecordVoice": "Gönder (ses kaydı için basılı tutun)",
|
||||
"discardRecording": "Kaydı sil",
|
||||
"hopCount": "{count, plural, other{{count} atlama}}",
|
||||
"channelsSectionDescription": "Yakındaki mesh trafiği için yayın kanalları",
|
||||
"roomsSectionDescription": "Sürekli ekip koordinasyonu için ortak alanlar",
|
||||
"contactsSectionDescription": "Doğrudan ulaşabileceğiniz kişiler ve cihazlar",
|
||||
"noRecentChatters": "Yakın zamanda konuşan yok",
|
||||
"public": "Genel",
|
||||
"failedToSendTicTacToeMove": "XOX hamlesi gönderilemedi",
|
||||
"youWon": "Kazandınız",
|
||||
"opponentWon": "Rakip kazandı",
|
||||
"gameDraw": "Berabere",
|
||||
"yourTurn": "Sıra sizde",
|
||||
"opponentTurn": "Sıra rakipte",
|
||||
"pleaseEnterValidCoordinates": "Geçerli koordinatlar girin",
|
||||
"locationNotAvailable": "Konum mevcut değil",
|
||||
"customCaveMapPoint": "Özel mağara haritası noktası",
|
||||
"mapPoint": "Harita noktası",
|
||||
"fetchingMissingImageFragments": "Eksik parçalar alınıyor…",
|
||||
"loadingImage": "Yükleniyor…",
|
||||
"receivingImage": "Alınıyor…",
|
||||
"tapToLoad": "Yüklemek için dokunun",
|
||||
"connectDevice": "Cihaza bağlan",
|
||||
"chooseTransportSubtitle": "Bluetooth, WiFi veya Seri aktarım seçin",
|
||||
"ble": "BLE",
|
||||
"network": "Ağ",
|
||||
"serial": "Seri",
|
||||
"scan": "Tara",
|
||||
"pressScanToSearchForDevices": "Yakındaki cihazları aramak için tara düğmesine basın",
|
||||
"failedToConnectToDevice": "{name} cihazına bağlanılamadı",
|
||||
"unknownDevice": "Bilinmeyen cihaz",
|
||||
"showingCachedResultsTapRefresh": "Önbelleğe alınmış sonuçlar gösteriliyor. Yeniden taramak için yenile düğmesine dokunun.",
|
||||
"scanningLocalNetworkOnPort": "Yerel ağda {port} bağlantı noktasındaki MeshCore WiFi cihazları taranıyor",
|
||||
"cancelScanAndAddServer": "Taramayı iptal et ve sunucu ekle",
|
||||
"addServer": "Sunucu ekle",
|
||||
"scanningProgressIps": "Taranıyor... {scanned}/{total} IP",
|
||||
"cancelAndEnterManually": "İptal et ve elle gir",
|
||||
"noRecentOrDiscoveredServers": "Henüz son kullanılan veya keşfedilen sunucu yok",
|
||||
"recentlyUsed": "Son kullanılanlar",
|
||||
"connecting": "Bağlanıyor...",
|
||||
"discoveredOnThisNetwork": "Bu ağda keşfedildi",
|
||||
"serverNoLongerAvailable": "{host}:{port} adresindeki sunucu artık kullanılamıyor. Etkin sunucuları bulmak için lütfen yeniden tarayın.",
|
||||
"failedToConnectToHost": "{host}:{port} adresine bağlanılamadı",
|
||||
"enterValidIpAddress": "Geçerli bir IP adresi girin",
|
||||
"enterValidTcpPort": "Geçerli bir TCP bağlantı noktası girin",
|
||||
"ipAddress": "IP adresi",
|
||||
"tcpPort": "TCP bağlantı noktası",
|
||||
"customServerPort": "Özel sunucu bağlantı noktası",
|
||||
"chat": "Sohbet",
|
||||
"restoringPreviousLink": "Önceki bağlantı geri yükleniyor",
|
||||
"noDeviceConnected": "Bağlı cihaz yok",
|
||||
"sendAdvert": "Kişi bilgimi gönder",
|
||||
"advertMode": "Kişi bilgimi gönder",
|
||||
"advertModeSubtitle": "Kişi bilgilerinizin ne kadar uzağa gideceğini seçin.",
|
||||
"floodAdvertSent": "Kişi bilgisi tüm mesh ağına gönderildi",
|
||||
"directAdvertSent": "Kişi bilgisi yakındaki cihazlara gönderildi"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user