@proulr/rosetta 0.1.18 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "alerts.age18": "You must be 18 or older.",
3
+ "alerts.album.emptyTitle": "Empty album",
3
4
  "alerts.attention": "Attention",
4
5
  "alerts.block": "Block",
5
6
  "alerts.camera": "Camera error",
@@ -9,6 +10,7 @@
9
10
  "alerts.couldNotRemove": "Couldn’t remove.",
10
11
  "alerts.couldNotRemoveTrip": "Couldn’t remove the trip.",
11
12
  "alerts.couldNotSave": "Couldn’t save.",
13
+ "alerts.couldNotSaveHandle": "Couldn't save the @.",
12
14
  "alerts.couldNotSaveNetworks": "Couldn’t save social links.",
13
15
  "alerts.crop": "Couldn’t crop",
14
16
  "alerts.dataExport.createJobFailed": "Couldn’t create the export job",
@@ -17,6 +19,8 @@
17
19
  "alerts.dataExport.serverTimeout": "Timed out waiting for the server export",
18
20
  "alerts.dataExport.shareDialogTitle": "Export local data",
19
21
  "alerts.dataExport.sharingUnavailable": "Sharing is unavailable on this device",
22
+ "alerts.deactivate": "Disable",
23
+ "alerts.delete": "Delete",
20
24
  "alerts.devicePermission.location": "location",
21
25
  "alerts.devicePermission.notifications": "notifications",
22
26
  "alerts.devicePermission.pairFormat": "{first} and {second}",
@@ -29,13 +33,20 @@
29
33
  "alerts.empty": "Empty",
30
34
  "alerts.error": "Error",
31
35
  "alerts.errorSave": "Couldn’t save",
36
+ "alerts.fileOpenFailed": "Could not open the file.",
37
+ "alerts.fileTitle": "File",
32
38
  "alerts.flash.sendFail": "Couldn’t send the reaction.",
33
39
  "alerts.gallery": "Gallery",
40
+ "alerts.galleryPickFail": "Couldn't pick images.",
34
41
  "alerts.genericFail": "Couldn’t complete the action.",
35
42
  "alerts.genericRetry": "Couldn’t finish. Try again.",
43
+ "alerts.invalidBirthDate": "Invalid date of birth. Use DD/MM/YYYY.",
36
44
  "alerts.invalidExamDate": "Invalid last exam date. Use DD/MM/YYYY.",
45
+ "alerts.invalidReminderDate": "Invalid reminder date. Use DD/MM/YYYY.",
37
46
  "alerts.limit": "Limit",
38
47
  "alerts.location": "Location",
48
+ "alerts.locationUnavailable": "Couldn’t get your current location.",
49
+ "alerts.mediaPreparing": "Media is still being prepared.",
39
50
  "alerts.mic": "Microphone",
40
51
  "alerts.ops": "Oops",
41
52
  "alerts.permission.cameraBlocked": "Camera blocked. Enable it in device settings.",
@@ -51,6 +62,11 @@
51
62
  "alerts.photoPick": "Couldn’t pick photo",
52
63
  "alerts.photoUpload": "Couldn’t upload photo",
53
64
  "alerts.pinInvalid": "Invalid PIN. Use at least 4 digits.",
65
+ "alerts.pinMismatch": "PIN mismatch",
66
+ "alerts.pinMismatchBody": "Confirm the same PIN in both fields.",
67
+ "alerts.postEmpty": "Write something or add media.",
68
+ "alerts.preferenceUnavailable": "This preference is not available on the server yet.",
69
+ "alerts.publishFail": "Couldn’t publish.",
54
70
  "alerts.push.blockedWebMessage": "Allow Proulr notifications in your browser to get messages like WhatsApp Web.",
55
71
  "alerts.push.blockedWebTitle": "Notifications blocked",
56
72
  "alerts.push.deniedMessage": "Enable Proulr notifications in your phone settings to receive alerts.",
@@ -101,19 +117,34 @@
101
117
  "alerts.pushTest.sendError": "Send error.",
102
118
  "alerts.pushTest.ticketFormat": "Ticket {id}",
103
119
  "alerts.pushTest.tokenUnavailable": "Push token unavailable.",
120
+ "alerts.remove": "Remove",
104
121
  "alerts.report": "Report",
105
122
  "alerts.report.already": "You already reported this profile in the last 24 hours.",
106
123
  "alerts.report.chooseReason": "Choose a report reason.",
107
124
  "alerts.report.needLogin": "Sign in to report.",
108
125
  "alerts.report.writeSummary": "Write a short summary of what happened.",
126
+ "alerts.repost": "Repost",
127
+ "alerts.repostSoon": "Reposting will be available soon.",
128
+ "alerts.repostThoughtsSoon": "Reposting thoughts will be available soon.",
129
+ "alerts.revoke": "Revoke",
130
+ "alerts.saveFailed": "Could not save.",
131
+ "alerts.selectImageFail": "Couldn’t select the image.",
132
+ "alerts.selectMediaFail": "Couldn’t select the media.",
133
+ "alerts.selectVideoFail": "Couldn’t select the video.",
134
+ "alerts.sendFailRetry": "Couldn’t send. Try again.",
109
135
  "alerts.soon": "Coming soon",
110
136
  "alerts.soonFeature": "{feature} isn’t available yet.",
137
+ "alerts.storyDeleteFail": "Couldn’t delete the story.",
138
+ "alerts.storyPublishFail": "Couldn’t publish the story.",
139
+ "alerts.storyTextEmpty": "Write something to publish a text story.",
111
140
  "alerts.systemNotif.browserLabel": "Set up in browser",
112
141
  "alerts.systemNotif.browserSubtitle": "Open Proulr site permissions in this browser",
113
142
  "alerts.systemNotif.deviceLabel": "Set up on device",
114
143
  "alerts.systemNotif.deviceSubtitle": "Open the system notification settings",
115
144
  "alerts.tryAgain": "Try again.",
116
145
  "alerts.unavailable": "Unavailable",
146
+ "alerts.useCapturedPhotoFail": "Couldn’t use the captured photo.",
147
+ "alerts.useMediaFail": "Couldn’t use this media.",
117
148
  "alerts.wait": "Please wait",
118
149
  "alerts.webNotif.chromiumSteps": "In {browser}: tap the padlock (or ⓘ icon) to the left of the URL {origin} → Site settings → Notifications → Allow.",
119
150
  "alerts.webNotif.firefoxSteps": "In Firefox: tap the padlock to the left of the URL {origin} → Secure connection → More information → Permissions → Notifications → Allow.",
@@ -1,5 +1,58 @@
1
1
  {
2
+ "auth.ageGate.allowCamera": "Allow camera",
3
+ "auth.ageGate.banner": "It’s quick and secure: the video is only used to verify adult age — we don’t ask for an ID or date of birth in this step.",
4
+ "auth.ageGate.cameraHint": "Center your face in the oval and tap start",
5
+ "auth.ageGate.cameraNotReady": "The camera isn’t ready yet. Give it a moment.",
6
+ "auth.ageGate.captureFaceFail": "Couldn’t capture your face.",
7
+ "auth.ageGate.captureFaceVideoFail": "Couldn’t capture your face in the video.",
8
+ "auth.ageGate.cta": "Continue — it only takes a moment",
9
+ "auth.ageGate.errorTitle": "Verification error",
10
+ "auth.ageGate.manualReviewBody": "We'll review your video manually. You'll get access once the review is complete.",
11
+ "auth.ageGate.manualReviewBodyInternal": "We'll review your video manually on the internal board. You'll be cleared once the review is approved.",
12
+ "auth.ageGate.manualReviewConfirmBody": "Your case will be reviewed on Proulr's internal board. You don't need to send an email — just confirm below to join the review queue.",
13
+ "auth.ageGate.manualReviewHint": "If automatic validation fails, we review it manually — you won’t lose your signup.",
14
+ "auth.ageGate.manualReviewQueueSubtitle": "Your age verification is in the Proulr team queue",
15
+ "auth.ageGate.manualReviewSentSubtitle": "Your verification was sent to the Proulr team",
16
+ "auth.ageGate.manualReviewTitle": "Review in progress",
17
+ "auth.ageGate.notesPlaceholder": "Tell us what happened (optional)",
18
+ "auth.ageGate.permissionBody": "We need the front camera to verify your age with a short video.",
19
+ "auth.ageGate.permissionBodyWeb": "We need the browser camera to verify your age with a short video.",
20
+ "auth.ageGate.prepareCountdown": "Get ready… {count}",
21
+ "auth.ageGate.preparing": "Preparing…",
22
+ "auth.ageGate.processingSubtitle": "Analyzing your video. It usually takes a few seconds.",
23
+ "auth.ageGate.processingTitle": "Verifying age",
24
+ "auth.ageGate.recordVideoFail": "Video recording failed.",
25
+ "auth.ageGate.recording": "Recording…",
26
+ "auth.ageGate.recordingCountdown": "Recording… keep your face in the oval ({count})",
27
+ "auth.ageGate.retry": "Try again",
28
+ "auth.ageGate.retryNow": "Try again now",
29
+ "auth.ageGate.retryRecord": "Try recording again",
30
+ "auth.ageGate.reviewInProgressSubtitle": "Couldn't automatically confirm that you're 18 or older",
31
+ "auth.ageGate.reviewInProgressTitle": "Verification under review",
32
+ "auth.ageGate.sendManualReview": "Send for manual review",
33
+ "auth.ageGate.serviceUnavailableBody": "The verification model didn't respond in time. Try again in a moment.",
34
+ "auth.ageGate.serviceUnavailableTitle": "Service unavailable",
35
+ "auth.ageGate.signOut": "Sign out",
36
+ "auth.ageGate.startVerify": "Start verification",
37
+ "auth.ageGate.startVerifyFail": "Couldn't start verification.",
38
+ "auth.ageGate.steps": "1. Center your face in the oval\n2. Record a 3-second video\n3. Wait for automatic validation",
39
+ "auth.ageGate.subtitle": "Just a 3-second video to confirm you’re 18 or older",
40
+ "auth.ageGate.title": "Quick and secure verification",
41
+ "auth.ageGate.trustFastBody": "3-second video and automatic validation",
42
+ "auth.ageGate.trustFastTitle": "Quick",
43
+ "auth.ageGate.trustSafeBody": "Used only to confirm age. Your data stays protected",
44
+ "auth.ageGate.trustSafeTitle": "Secure",
45
+ "auth.backup.confirmPlaceholder": "Confirm password",
46
+ "auth.backup.createBody": "Set a password to recover your encrypted messages on another phone. If you signed in with email, you can use the same account password.",
47
+ "auth.backup.createTitle": "Backup password",
48
+ "auth.backup.passwordPlaceholder": "Backup password",
49
+ "auth.backup.restore": "Restore",
50
+ "auth.backup.restoreBody": "Enter your backup password to decrypt history on this device.",
51
+ "auth.backup.restoreTitle": "Restore messages",
52
+ "auth.backup.saveContinue": "Save and continue",
2
53
  "auth.common.back": "Back",
54
+ "auth.google.a11y": "Google",
55
+ "auth.google.continue": "Continue with Google",
3
56
  "auth.googleError.expoGoIncomplete": "Google sign-in not completed in Expo Go. Set EXPO_PUBLIC_AUTH_REDIRECT_URL (exp://IP:8081/--/auth-callback) or test with npx expo run:android.",
4
57
  "auth.googleError.generic": "Couldn’t complete Google sign-in.",
5
58
  "auth.googleError.inProgress": "Google sign-in is already in progress.",
@@ -56,22 +109,5 @@
56
109
  "auth.signup.validReady": "All set — you can create your account",
57
110
  "auth.welcome.createAccount": "Create account",
58
111
  "auth.welcome.heroCaption": "Join the night hunt",
59
- "auth.welcome.signIn": "Sign in",
60
- "auth.ageGate.title": "Quick and secure verification",
61
- "auth.ageGate.subtitle": "Just a 3-second video to confirm you’re 18 or older",
62
- "auth.ageGate.banner": "It’s quick and secure: the video is only used to verify adult age — we don’t ask for an ID or date of birth in this step.",
63
- "auth.ageGate.trustFastTitle": "Quick",
64
- "auth.ageGate.trustFastBody": "3-second video and automatic validation",
65
- "auth.ageGate.trustSafeTitle": "Secure",
66
- "auth.ageGate.trustSafeBody": "Used only to confirm age. Your data stays protected",
67
- "auth.ageGate.steps": "1. Center your face in the oval\n2. Record a 3-second video\n3. Wait for automatic validation",
68
- "auth.ageGate.cta": "Continue — it only takes a moment",
69
- "auth.ageGate.manualReviewHint": "If automatic validation fails, we review it manually — you won’t lose your signup.",
70
- "auth.ageGate.processingTitle": "Verifying age",
71
- "auth.ageGate.processingSubtitle": "Analyzing your video. It usually takes a few seconds.",
72
- "auth.ageGate.errorTitle": "Verification error",
73
- "auth.ageGate.cameraNotReady": "The camera isn’t ready yet. Give it a moment.",
74
- "auth.ageGate.captureFaceFail": "Couldn’t capture your face.",
75
- "auth.ageGate.captureFaceVideoFail": "Couldn’t capture your face in the video.",
76
- "auth.ageGate.recordVideoFail": "Video recording failed."
112
+ "auth.welcome.signIn": "Sign in"
77
113
  }
@@ -1,33 +1,193 @@
1
1
  {
2
+ "chat.a11y.addGroupPhoto": "Add group photo",
3
+ "chat.a11y.changeGroupPhoto": "Change group photo",
4
+ "chat.a11y.closeConversation": "Close conversation",
5
+ "chat.a11y.closePreview": "Close preview",
6
+ "chat.a11y.closeReactions": "Close reactions",
7
+ "chat.a11y.closeSelection": "Close selection",
8
+ "chat.a11y.collapseInviteLink": "Collapse invite link",
9
+ "chat.a11y.dateFilter": "Date filter",
10
+ "chat.a11y.discardAudio": "Discard audio",
11
+ "chat.a11y.editGroupName": "Edit group name",
12
+ "chat.a11y.groupSections": "Group sections",
13
+ "chat.a11y.inboxSections": "Inbox sections",
14
+ "chat.a11y.memberActions": "Actions for {name}",
15
+ "chat.a11y.moreEmojis": "More emojis",
16
+ "chat.a11y.moreOptions": "More options",
17
+ "chat.a11y.openImage": "Open image",
18
+ "chat.a11y.pauseAudio": "Pause audio",
19
+ "chat.a11y.pauseRecording": "Pause recording",
20
+ "chat.a11y.playAudio": "Play audio",
21
+ "chat.a11y.reactWith": "React with {emoji}",
22
+ "chat.a11y.removeOption": "Remove option",
23
+ "chat.a11y.removePhrase": "Remove phrase",
24
+ "chat.a11y.reply": "Reply",
25
+ "chat.a11y.reportGroup": "Report group",
26
+ "chat.a11y.resumeRecording": "Resume recording",
27
+ "chat.a11y.search": "Search",
28
+ "chat.a11y.sendAudio": "Send audio",
29
+ "chat.a11y.sendMedia": "Send media",
30
+ "chat.a11y.sendMessage": "Send message",
31
+ "chat.a11y.viewOnceAbout": "About view once",
32
+ "chat.a11y.waitingSend": "Waiting to send",
33
+ "chat.action.add": "Add",
34
+ "chat.action.addMembers": "Add members",
35
+ "chat.action.close": "Close",
36
+ "chat.action.copy": "Copy",
37
+ "chat.action.cropImage": "Crop image",
38
+ "chat.action.delete": "Delete",
39
+ "chat.action.deleteForEveryone": "Delete for everyone",
40
+ "chat.action.deleteForMe": "Delete for me",
41
+ "chat.action.deleteGroup": "Delete group",
42
+ "chat.action.demoteAdmin": "Remove admin",
43
+ "chat.action.generateNew": "Generate new",
44
+ "chat.action.groupInfo": "Group info",
45
+ "chat.action.inviteViaLink": "Invite via link",
46
+ "chat.action.learnMore": "Learn more",
47
+ "chat.action.leave": "Leave",
48
+ "chat.action.mute": "Mute",
49
+ "chat.action.next": "Next",
50
+ "chat.action.promoteAdmin": "Make admin",
51
+ "chat.action.remove": "Remove",
52
+ "chat.action.removeFromGroup": "Remove from group",
53
+ "chat.action.removeMember": "Remove member",
54
+ "chat.action.replace": "Replace",
55
+ "chat.action.reply": "Reply",
56
+ "chat.action.report": "Report",
57
+ "chat.action.revoke": "Revoke",
58
+ "chat.action.send": "Send",
59
+ "chat.action.sendLocation": "Send location",
60
+ "chat.action.share": "Share",
61
+ "chat.action.shareAlbum": "Share album",
62
+ "chat.action.tryAgain": "Try again",
63
+ "chat.action.unmute": "Unmute",
64
+ "chat.action.update": "Refresh",
65
+ "chat.album.activeMany": "{count} active albums",
66
+ "chat.album.activeOne": "1 active album",
67
+ "chat.album.availableInChat": "Available inside a conversation",
68
+ "chat.album.editTitle": "Edit album",
69
+ "chat.album.manage": "Manage albums",
70
+ "chat.album.privateHint": "Create, edit, and share private photos in this chat",
71
+ "chat.album.privateTitle": "Private albums",
72
+ "chat.album.requestHintMine": "When they share, the album appears here in chat.",
73
+ "chat.album.requestHintPeer": "Choose an album to share with this person.",
74
+ "chat.album.requestPeerPrivate": "Requested access to the private album",
75
+ "chat.album.sectionHint": "Create or edit your albums here before sharing in chat.",
76
+ "chat.album.stopSharing": "Stop sharing ({count})",
77
+ "chat.audio.a11y.record": "Record audio",
2
78
  "chat.audio.error.recordFail": "Failed to record the audio.",
79
+ "chat.audio.error.sendFail": "Couldn't send the audio.",
80
+ "chat.audio.error.startFail": "Couldn't start recording.",
3
81
  "chat.audio.error.unavailable": "Audio file unavailable.",
82
+ "chat.audio.error.unavailableThrow": "Audio unavailable",
83
+ "chat.audio.expoGoTitle": "Expo Go",
84
+ "chat.audio.micNeeded": "We need the microphone to record audio messages.",
85
+ "chat.audio.pause": "Pause",
86
+ "chat.audio.resume": "Resume",
87
+ "chat.audio.shortBody": "Record at least half a second before sending.",
88
+ "chat.audio.shortTitle": "Audio too short",
4
89
  "chat.backup.restoreFail": "Could not restore the backup.",
5
90
  "chat.backup.wrongPassword": "Incorrect backup password.",
6
91
  "chat.common.listPair": "{a} and {b}",
7
92
  "chat.common.someone": "Someone",
8
93
  "chat.common.you": "You",
94
+ "chat.create.aboutPlaceholder": "About the group",
95
+ "chat.create.detailsSubtitle": "Name, photo and description",
96
+ "chat.create.detailsTitle": "Group details",
97
+ "chat.create.emptyContacts": "No recent contacts in inbox.",
98
+ "chat.create.emptySearch": "No one found with that name.",
99
+ "chat.create.error.createFail": "Couldn't create the group. Try again.",
100
+ "chat.create.error.photoFail": "Couldn't add the photo. Try again.",
101
+ "chat.create.namePlaceholder": "e.g. Night hunt",
102
+ "chat.create.participantsIncludingYou": "{count} participants (including you)",
103
+ "chat.create.photoHint": "Tap the camera to take or choose a group image (optional).",
104
+ "chat.create.searchPlaceholder": "Name or @handle",
105
+ "chat.create.selectHint": "Select at least one person from inbox or search on Vibes.",
106
+ "chat.create.selectedCount": "{count} selected",
107
+ "chat.create.submit": "Create group",
9
108
  "chat.date.today": "Today",
10
109
  "chat.date.yesterday": "Yesterday",
110
+ "chat.dateFilter.apply": "Apply filter",
111
+ "chat.dateFilter.clear": "Clear filter",
112
+ "chat.dateFilter.from": "From",
113
+ "chat.dateFilter.hint": "Filter conversations by the date of the last message. Use DD/MM/YYYY.",
114
+ "chat.dateFilter.placeholder": "DD/MM/YYYY",
115
+ "chat.dateFilter.title": "Filter by date",
116
+ "chat.dateFilter.to": "To",
117
+ "chat.delete.title": "Delete message?",
118
+ "chat.emoji.title": "Emojis",
11
119
  "chat.empty.chats.title": "No conversations yet.",
12
120
  "chat.empty.flashes.hint": "Reactions and interest signals show up here.",
13
121
  "chat.empty.flashes.title": "No Flashes yet",
14
122
  "chat.empty.visits.hint": "When someone opens your profile, they’ll show up here.",
15
123
  "chat.empty.visits.title": "No one viewed your profile in the last 24h",
124
+ "chat.emptyDetail.subtitle": "Pick a conversation from the list to get started.",
125
+ "chat.emptyDetail.title": "Select a chat",
16
126
  "chat.fab.closed": "Create in Chat",
17
127
  "chat.fab.newGroup": "New group",
128
+ "chat.file.a11yDownload": "Download {name}",
129
+ "chat.file.a11yOpen": "Open {name}",
130
+ "chat.file.downloading": "Downloading…",
18
131
  "chat.file.error.downloadFailed": "Couldn't download the file.",
19
132
  "chat.file.error.notDownloaded": "File hasn't been downloaded yet.",
133
+ "chat.file.error.openFail": "Couldn't open the file.",
20
134
  "chat.file.error.unavailable": "File unavailable.",
135
+ "chat.file.openDetail": "Choose download or download and open on the device.",
21
136
  "chat.file.openDialogTitle": "Open file",
137
+ "chat.file.openDownload": "Download",
138
+ "chat.file.openDownloadAndOpen": "Download and open",
139
+ "chat.file.tapDownload": "Tap to download",
140
+ "chat.file.tapOpen": "Tap to open",
22
141
  "chat.filter.all": "All",
23
142
  "chat.filter.nearby": "Nearby",
24
143
  "chat.filter.online": "Online",
25
144
  "chat.filter.received": "Received",
26
145
  "chat.filter.sent": "Sent",
27
146
  "chat.filter.unread": "Unread",
147
+ "chat.group.addDescription": "Add description",
148
+ "chat.group.addMembers.empty": "No contacts available to add.",
149
+ "chat.group.addMembers.errorAdd": "Couldn't add. Make sure you're an admin.",
150
+ "chat.group.addMembers.errorLoad": "Couldn't load the group.",
151
+ "chat.group.addMembers.selectHint": "Select people to join the group.",
152
+ "chat.group.addMembers.title": "Add members",
153
+ "chat.group.deleteBody": "This deletes the group and history for everyone. This can't be undone.",
154
+ "chat.group.deleteTitle": "Delete group",
155
+ "chat.group.demoteBody": "Remove admin permission from {name}?",
156
+ "chat.group.description": "Description",
157
+ "chat.group.descriptionPlaceholder": "Description (optional)",
158
+ "chat.group.documentsTab": "Documents",
159
+ "chat.group.editTitle": "Edit group",
160
+ "chat.group.emptyDocuments": "No documents in this group yet.",
161
+ "chat.group.emptyLinks": "No links shared in this group yet.",
162
+ "chat.group.emptyMedia": "No photos, videos, or GIFs in this group yet.",
163
+ "chat.group.error.deleteFail": "Couldn't delete the group.",
164
+ "chat.group.error.demoteFail": "Couldn't remove admin.",
165
+ "chat.group.error.leaveFail": "Couldn't leave the group. Try again.",
166
+ "chat.group.error.muteFail": "Couldn't update group mute.",
167
+ "chat.group.error.photoUpdateFail": "Couldn't update the group photo.",
168
+ "chat.group.error.promoteFail": "Couldn't make admin.",
169
+ "chat.group.error.removeMemberFail": "Couldn't remove the member.",
170
+ "chat.group.error.updateFail": "Couldn't update the group.",
28
171
  "chat.group.header.members": "{count} members",
29
172
  "chat.group.header.onlineAndMembers": "{online} online · {count} members",
173
+ "chat.group.infoFallback": "Info",
174
+ "chat.group.infoSubtitle": "Group · {count} participants",
175
+ "chat.group.leaveBody": "You'll stop receiving messages from this group.",
176
+ "chat.group.leaveTitle": "Leave group",
177
+ "chat.group.linksTab": "Links",
178
+ "chat.group.mediaTab": "Media",
179
+ "chat.group.membersTab": "Members",
180
+ "chat.group.namePlaceholder": "Group name",
181
+ "chat.group.nameRequiredBody": "Enter a name for the group.",
182
+ "chat.group.nameRequiredTitle": "Name required",
183
+ "chat.group.participantsCount": "{count} participants",
30
184
  "chat.group.photo.error.mustBeImage": "The group photo must be an image.",
185
+ "chat.group.photoPromptTitle": "Group photo",
186
+ "chat.group.promoteBody": "Grant admin permission to {name}?",
187
+ "chat.group.removeMemberBody": "Remove {name} from the group?",
188
+ "chat.group.role.admin": "Admin",
189
+ "chat.group.role.owner": "Owner",
190
+ "chat.group.searchMembers": "Search members",
31
191
  "chat.group.system.created": "Group was created",
32
192
  "chat.group.system.createdTitled": "Group \"{title}\" was created",
33
193
  "chat.group.system.memberJoined": "New member {name} joined the group",
@@ -39,20 +199,95 @@
39
199
  "chat.group.system.renamed": "The group was renamed to {title}",
40
200
  "chat.group.system.renamedBy": "{name} changed the group name to {title}",
41
201
  "chat.group.system.updated": "Group update",
202
+ "chat.group.tab.members": "Members",
42
203
  "chat.groupInvite.shareMessage": "Join the group \"{title}\" on Proulr\n{url}",
204
+ "chat.icebreakers.hint": "Tap a suggestion to start the conversation",
205
+ "chat.icebreakers.title": "Icebreakers",
43
206
  "chat.inbox.distanceHidden": "Distance hidden",
44
207
  "chat.inbox.distanceUnavailable": "Distance unavailable",
208
+ "chat.inbox.noMessagesYet": "No messages yet",
209
+ "chat.inbox.opening": "Opening…",
210
+ "chat.input.placeholder": "Message",
211
+ "chat.invite.enterToAccept": "Sign in to accept the invite",
212
+ "chat.invite.error.expired": "This invite has expired.",
213
+ "chat.invite.error.invalid": "Invite invalid or unavailable.",
214
+ "chat.invite.error.joinFail": "Couldn't join the group. Try again.",
215
+ "chat.invite.error.joinTitle": "Couldn't join",
216
+ "chat.invite.error.limit": "This invite reached its usage limit.",
217
+ "chat.invite.error.needLogin": "Sign in to join the group.",
218
+ "chat.invite.error.revoked": "This invite was revoked.",
219
+ "chat.invite.error.tryLater": "Try again later.",
220
+ "chat.invite.goToChats": "Go to chats",
221
+ "chat.invite.hasAccount": "I already have an account",
222
+ "chat.invite.joining": "Joining the group…",
45
223
  "chat.invite.subtitle": "Joining the group",
46
224
  "chat.invite.title": "Invite",
225
+ "chat.inviteBubble.cta": "Invite to join the group",
226
+ "chat.inviteBubble.title": "Group invite",
227
+ "chat.inviteLink.copiedBody": "Paste it in any chat or app.",
228
+ "chat.inviteLink.copiedBodyShare": "Paste it in WhatsApp or any chat.",
229
+ "chat.inviteLink.copiedTitle": "Link copied",
230
+ "chat.inviteLink.error.copy": "Couldn't copy the link.",
231
+ "chat.inviteLink.error.load": "Couldn't load the invite link.",
232
+ "chat.inviteLink.error.regenerate": "Couldn't generate a new link.",
233
+ "chat.inviteLink.error.revoke": "Couldn't revoke the link.",
234
+ "chat.inviteLink.error.share": "Couldn't share the link.",
235
+ "chat.inviteLink.newToastBody": "The previous invite was invalidated.",
236
+ "chat.inviteLink.newToastTitle": "New link",
237
+ "chat.inviteLink.regenerateBody": "The current link will stop working. Continue?",
238
+ "chat.inviteLink.regenerateTitle": "Generate new link",
239
+ "chat.inviteLink.revokeBody": "Anyone with the link will no longer be able to join via invite.",
240
+ "chat.inviteLink.revokeTitle": "Revoke link",
241
+ "chat.inviteLink.revokedBody": "The invite was deactivated.",
242
+ "chat.inviteLink.revokedTitle": "Link revoked",
243
+ "chat.location.current": "Current location",
244
+ "chat.location.error.load": "Couldn't load your location.",
245
+ "chat.location.error.unavailable": "Couldn't get your current location.",
246
+ "chat.location.lookingUp": "Looking up address…",
247
+ "chat.location.refreshing": "Updating…",
248
+ "chat.location.shareHint": "Share where you are now in this conversation.",
249
+ "chat.location.title": "Send location",
250
+ "chat.location.unavailable": "Location unavailable.",
47
251
  "chat.media.albumRevokedNamed": "Album removed: {name}",
48
252
  "chat.media.audio": "Audio",
253
+ "chat.media.captionPlaceholder": "Add a caption...",
254
+ "chat.media.error.createAlbum": "Couldn't create the album.",
255
+ "chat.media.error.cropOpen": "Couldn't open the crop tool.",
49
256
  "chat.media.error.readImage": "Couldn't read the image.",
50
257
  "chat.media.error.readSelected": "Couldn't read the selected media.",
258
+ "chat.media.error.select": "Couldn't select the media.",
259
+ "chat.media.error.sendDoc": "Couldn't send the document.",
260
+ "chat.media.error.sendMedia": "Couldn't send the media.",
261
+ "chat.media.error.stopSharing": "Couldn't stop sharing.",
51
262
  "chat.media.file": "File",
52
263
  "chat.media.gif": "GIF",
53
264
  "chat.media.location": "Location",
54
265
  "chat.media.photo": "Photo",
266
+ "chat.media.sendNow": "Send now",
267
+ "chat.media.title": "Media",
55
268
  "chat.media.video": "Video",
269
+ "chat.media.videoSent": "Video sent",
270
+ "chat.member.fallback": "member",
271
+ "chat.member.thisMember": "this member",
272
+ "chat.message.blockedProfile": "Profile blocked.",
273
+ "chat.message.e2eBanner": "End-to-end encrypted messages",
274
+ "chat.message.invalidConversation": "Invalid conversation or incomplete link.",
275
+ "chat.message.locationShared": "Shared location",
276
+ "chat.message.openMap": "Tap to open in maps",
277
+ "chat.message.openTap": "Tap to open",
278
+ "chat.message.status.delivered": "Delivered",
279
+ "chat.message.status.read": "Seen",
280
+ "chat.message.status.sent": "Sent",
281
+ "chat.poll.addOption": "Add option",
282
+ "chat.poll.newTitle": "New poll",
283
+ "chat.poll.optionPlaceholder": "Option {n}",
284
+ "chat.poll.optionsLabel": "Options",
285
+ "chat.poll.questionLabel": "Question",
286
+ "chat.poll.questionPlaceholder": "Ask a question…",
287
+ "chat.poll.send": "Send poll",
288
+ "chat.poll.validation": "Enter a question and at least 2 options.",
289
+ "chat.poll.votesMany": "{count} votes",
290
+ "chat.poll.votesOne": "1 vote",
56
291
  "chat.presence.offline": "Offline",
57
292
  "chat.presence.online": "Online",
58
293
  "chat.presence.recent": "Recently active",
@@ -72,18 +307,56 @@
72
307
  "chat.preview.senderPrefix": "{name}: ",
73
308
  "chat.preview.storyReaction": "Reacted to the story",
74
309
  "chat.preview.storyReply": "Story reply",
310
+ "chat.reaction.errorSave": "Couldn't save the reaction. Try again.",
311
+ "chat.reaction.title": "Reaction",
312
+ "chat.report.errorMessage": "Couldn't report this message.",
313
+ "chat.report.errorSend": "Couldn't send the report right now.",
314
+ "chat.report.groupBody": "Why are you reporting this group?",
315
+ "chat.report.groupTitle": "Report group",
316
+ "chat.report.harassment": "Harassment",
317
+ "chat.report.illegal": "Illegal content",
318
+ "chat.report.messageBody": "Why are you reporting this message?",
319
+ "chat.report.other": "Other",
320
+ "chat.report.sentBody": "Thanks. We'll review it.",
321
+ "chat.report.sentBodyGroup": "Thanks. We'll review the group.",
322
+ "chat.report.sentTitle": "Report sent",
323
+ "chat.report.spam": "Spam",
324
+ "chat.savedPhrases.empty": "No saved phrases yet.",
325
+ "chat.savedPhrases.errorLoad": "Couldn't load your saved phrases.",
326
+ "chat.savedPhrases.errorRemove": "Couldn't remove the phrase.",
327
+ "chat.savedPhrases.errorSave": "Couldn't save the phrase.",
75
328
  "chat.savedPhrases.grabDrink": "Wanna grab a drink?",
76
329
  "chat.savedPhrases.greeting": "Hi! How are you?",
77
330
  "chat.savedPhrases.letsTalk": "Hey, up for a chat?",
78
331
  "chat.savedPhrases.likedProfile": "Loved your profile!",
79
332
  "chat.savedPhrases.nearby": "I'm nearby, want to meet up?",
333
+ "chat.savedPhrases.placeholder": "New phrase...",
334
+ "chat.savedPhrases.subtitle": "Tap to send or add new quick phrases.",
335
+ "chat.savedPhrases.title": "Saved phrases",
80
336
  "chat.savedPhrases.whatTime": "What time works for you?",
337
+ "chat.scrollToBottom.a11y": "Jump to the end of the conversation",
338
+ "chat.scrollToBottom.a11yUnread": "{count} new messages. Jump to the end of the conversation.",
81
339
  "chat.search.placeholder": "Search chats…",
82
340
  "chat.segment.chats": "Chats",
83
341
  "chat.segment.flashes": "Flashes",
84
342
  "chat.segment.visits": "Visits",
343
+ "chat.story.expired": "Story expired",
344
+ "chat.story.reacted": "You reacted to the story",
345
+ "chat.story.reactedPeer": "Reacted to your story",
346
+ "chat.story.replied": "You replied to the story",
347
+ "chat.story.repliedPeer": "Replied to your story",
85
348
  "chat.storyReply.peerKeyUnavailable": "Recipient public key unavailable.",
86
349
  "chat.thread.decryptFailed": "[could not decrypt]",
87
350
  "chat.thread.fallbackGroup": "Group",
88
- "chat.thread.fallbackName": "Conversation"
351
+ "chat.thread.fallbackName": "Conversation",
352
+ "chat.thread.muteOff": "Notifications are on again.",
353
+ "chat.thread.muteOn": "Notifications muted for this person.",
354
+ "chat.toast.done": "Done",
355
+ "chat.viewOnce.delete": "Delete",
356
+ "chat.viewOnce.infoBody": "View-once photos, videos, and audio disappear from the conversation after the person opens the file once.",
357
+ "chat.viewOnce.moreInfoBody": "You have 14 days to open it. You can't forward, save, or share. After opening, the media disappears from the conversation.",
358
+ "chat.viewOnce.openFail": "Couldn't open this view-once media.",
359
+ "chat.viewOnce.pause": "Pause",
360
+ "chat.viewOnce.play": "Play",
361
+ "chat.viewOnce.title": "View once"
89
362
  }
@@ -1,5 +1,8 @@
1
1
  {
2
2
  "common.active": "Active",
3
+ "common.ad": "Ad",
4
+ "common.album.create": "Create album",
5
+ "common.album.createA11y": "Create album",
3
6
  "common.album.defaultName": "My album",
4
7
  "common.album.expiry10m": "10 minutes",
5
8
  "common.album.expiry1h": "1 hour",
@@ -12,8 +15,11 @@
12
15
  "common.album.maxAlbums": "You can have at most {max} albums.",
13
16
  "common.album.maxPhotos": "Maximum of {max} photos per album.",
14
17
  "common.album.maxVideos": "Maximum of {max} video per album.",
18
+ "common.album.new": "New",
15
19
  "common.app": "App",
16
20
  "common.attention": "Attention",
21
+ "common.back": "Back",
22
+ "common.camera": "Camera",
17
23
  "common.camera.notReady": "The camera isn’t ready yet. Give it a moment.",
18
24
  "common.camera.photoSaveFail": "Couldn’t save the photo.",
19
25
  "common.camera.streamUnavailable": "Camera stream unavailable in this browser.",
@@ -26,25 +32,36 @@
26
32
  "common.cancel": "Cancel",
27
33
  "common.chat": "Chat",
28
34
  "common.chats": "Chats",
35
+ "common.close": "Close",
29
36
  "common.confirm": "Confirm",
37
+ "common.delete": "Delete",
38
+ "common.document": "Document",
39
+ "common.emDash": "—",
30
40
  "common.error": "Error",
31
41
  "common.flashes": "Flashes",
42
+ "common.gallery": "Gallery",
32
43
  "common.general": "General",
33
44
  "common.huntConnectDiscover": "Hunt · Connect · Discover",
34
45
  "common.id": "ID",
46
+ "common.loading": "Loading…",
35
47
  "common.media": "Media",
36
48
  "common.media.readFail": "Couldn’t read the selected media.",
49
+ "common.member": "Member",
50
+ "common.no": "No",
37
51
  "common.notifications": "Notifications",
38
52
  "common.ops": "Oops",
39
53
  "common.options": "Options",
54
+ "common.permissions": "Permissions",
55
+ "common.photo": "Photo",
56
+ "common.poll": "Poll",
40
57
  "common.privacy": "Privacy",
41
58
  "common.purchase.cancelled": "Purchase canceled.",
42
59
  "common.purchase.genericFail": "Couldn’t complete the purchase. Try again in a moment.",
43
60
  "common.purchase.manageNativeOnly": "Subscription management is only available in the iOS/Android app.",
44
- "common.purchase.productNotFound": "Product not found in RevenueCat. Check offerings and product IDs.",
45
- "common.purchase.productUnavailable": "Product unavailable in the store right now.",
46
61
  "common.purchase.proPlanDescription": "Stealth mode, read receipts, and more",
47
62
  "common.purchase.proPlanTitle": "Proulr Pro",
63
+ "common.purchase.productNotFound": "Product not found in RevenueCat. Check offerings and product IDs.",
64
+ "common.purchase.productUnavailable": "Product unavailable in the store right now.",
48
65
  "common.purchase.storeOffline": "No connection to the store. Check your internet and try again.",
49
66
  "common.purchase.storeSettingsOpenFail": "Couldn’t open the store settings.",
50
67
  "common.purchase.unavailableInstallSdk": "Install react-native-purchases and create a new native build to enable purchases.",
@@ -52,13 +69,19 @@
52
69
  "common.purchase.unavailableNotConfigured": "In-app purchases unavailable — set EXPO_PUBLIC_REVENUECAT_* in this build.",
53
70
  "common.purchase.unavailableRuntime": "In-app purchases are only available in the iOS/Android app (native build).",
54
71
  "common.purchase.unavailableSdkMissing": "Purchases SDK not installed. Add react-native-purchases and create a new native build.",
72
+ "common.reload": "Reload",
73
+ "common.remove": "Remove",
74
+ "common.retry": "Try again",
55
75
  "common.save": "Save",
56
76
  "common.saved": "Saved",
77
+ "common.search": "Search",
57
78
  "common.security": "Security",
58
79
  "common.social": "Social",
59
80
  "common.soon": "Coming soon",
60
81
  "common.support": "Support",
61
82
  "common.tagline": "Proulr — Hunt · Connect · Discover",
62
83
  "common.tryAgain": "Try again.",
63
- "common.version": "Version"
84
+ "common.version": "Version",
85
+ "common.video": "Video",
86
+ "common.yes": "Yes"
64
87
  }
@@ -1,5 +1,11 @@
1
1
  {
2
+ "discover.a11y.blurredProfile": "Hunt in another region to see this profile",
3
+ "discover.a11y.centerLocation": "Center on my location",
4
+ "discover.a11y.searchPlace": "Search place",
2
5
  "discover.browse.defaultLabel": "Selected region",
6
+ "discover.browse.huntHere": "Hunt here",
7
+ "discover.browse.infoBanner": "Hunt mode: you see who’s in the chosen region, but no one there can see you. Your real location doesn’t change.",
8
+ "discover.browse.searchPlaceholder": "Search city, neighborhood, or address",
3
9
  "discover.browse.subtitle": "Choose a region to hunt",
4
10
  "discover.empty.creators": "No creators nearby right now.",
5
11
  "discover.empty.default": "No one nearby yet.",
@@ -21,6 +27,7 @@
21
27
  "discover.hunt.changeRegion": "Change region",
22
28
  "discover.hunt.otherRegion": "another region",
23
29
  "discover.hunt.useMyLocation": "Use my location",
30
+ "discover.position.all": "All positions",
24
31
  "discover.position.ativo": "Top",
25
32
  "discover.position.passivo": "Bottom",
26
33
  "discover.position.preferNot": "Prefer not to say",
@@ -14,6 +14,9 @@
14
14
  "flash.msg.flash": "sent you a Flash",
15
15
  "flash.msg.heart": "liked you",
16
16
  "flash.msg.wave": "said hi",
17
+ "flash.picker.forSomeone": "for {name}",
18
+ "flash.picker.hint": "One reaction per person every 24 hours",
19
+ "flash.picker.title": "Send reaction",
17
20
  "flash.reaction.chat": "Chat",
18
21
  "flash.reaction.eyes": "Interested",
19
22
  "flash.reaction.fire": "Hot",