@proulr/rosetta 0.1.18 → 0.1.19
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.
- package/package.json +1 -1
- package/src/generated/locale-messages.ts +1908 -0
- package/src/locales/en/alerts.json +31 -0
- package/src/locales/en/auth.json +54 -18
- package/src/locales/en/chat.json +274 -1
- package/src/locales/en/common.json +26 -3
- package/src/locales/en/discover.json +7 -0
- package/src/locales/en/flash.json +3 -0
- package/src/locales/en/hybrid.json +37 -0
- package/src/locales/en/profile.json +229 -1
- package/src/locales/en/shell.json +253 -1
- package/src/locales/en/social.json +64 -0
- package/src/locales/pt-BR/alerts.json +31 -0
- package/src/locales/pt-BR/auth.json +54 -18
- package/src/locales/pt-BR/chat.json +274 -1
- package/src/locales/pt-BR/common.json +26 -3
- package/src/locales/pt-BR/discover.json +7 -0
- package/src/locales/pt-BR/flash.json +3 -0
- package/src/locales/pt-BR/hybrid.json +37 -0
- package/src/locales/pt-BR/profile.json +229 -1
- package/src/locales/pt-BR/shell.json +253 -1
- package/src/locales/pt-BR/social.json +64 -0
|
@@ -21,6 +21,17 @@
|
|
|
21
21
|
"settings.section.general": "General",
|
|
22
22
|
"settings.section.media": "Media & display",
|
|
23
23
|
"settings.section.notifications": "Notifications",
|
|
24
|
+
"shell.a11y.backToApp": "Back to app",
|
|
25
|
+
"shell.a11y.closeMenu": "Close menu",
|
|
26
|
+
"shell.a11y.closeProfileMenu": "Close profile menu",
|
|
27
|
+
"shell.a11y.closeSelection": "Close selection",
|
|
28
|
+
"shell.a11y.groupInfo": "Info for {title}",
|
|
29
|
+
"shell.a11y.moreOptions": "More options",
|
|
30
|
+
"shell.a11y.openProfileMenu": "Open profile menu",
|
|
31
|
+
"shell.a11y.search": "Search",
|
|
32
|
+
"shell.a11y.switchToMode": "Switch to {mode}",
|
|
33
|
+
"shell.a11y.viewMyProfile": "View my profile",
|
|
34
|
+
"shell.a11y.viewPeerProfile": "View {name}’s profile",
|
|
24
35
|
"shell.about.build": "Build",
|
|
25
36
|
"shell.about.followIg": "Follow on Instagram",
|
|
26
37
|
"shell.about.followX": "Follow on X",
|
|
@@ -29,10 +40,66 @@
|
|
|
29
40
|
"shell.about.section.social": "Social",
|
|
30
41
|
"shell.about.section.terms": "Terms & policies",
|
|
31
42
|
"shell.about.title": "About",
|
|
43
|
+
"shell.ad.label": "Ad",
|
|
44
|
+
"shell.appIcon.appearanceSection": "Home screen appearance",
|
|
32
45
|
"shell.appIcon.defaultHint": "Main icon with the brand",
|
|
33
46
|
"shell.appIcon.defaultLabel": "Proulr",
|
|
34
47
|
"shell.appIcon.discreetHint": "Neutral calendar look on the home screen",
|
|
35
48
|
"shell.appIcon.discreetLabel": "Discreet",
|
|
49
|
+
"shell.appIcon.nativeBuildHint": "Alternate icons require a native build (iOS or Android). In Expo Go or on the web, the default icon stays active.",
|
|
50
|
+
"shell.appIcon.nativeOnly": "Available only in the native app.",
|
|
51
|
+
"shell.appIcon.restartHint": "On some devices the icon only changes after restarting the launcher or phone.",
|
|
52
|
+
"shell.appIcon.subtitle": "Switch the app icon on the home screen",
|
|
53
|
+
"shell.appIcon.swapHint": "The switch may take a few seconds. In development builds, run prebuild after adding new icon assets.",
|
|
54
|
+
"shell.appIcon.title": "Discreet icon",
|
|
55
|
+
"shell.appIcon.webUnavailable": "Icon switching is not available on the web.",
|
|
56
|
+
"shell.appLock.biometricConfirm": "Confirm biometrics for the lock",
|
|
57
|
+
"shell.appLock.biometricHintAvailable": "Face ID / fingerprint",
|
|
58
|
+
"shell.appLock.biometricHintUnavailable": "Biometrics unavailable on this device",
|
|
59
|
+
"shell.appLock.biometricSection": "Biometrics",
|
|
60
|
+
"shell.appLock.biometricToggle": "Unlock with biometrics",
|
|
61
|
+
"shell.appLock.confirmPin": "Confirm PIN",
|
|
62
|
+
"shell.appLock.disable": "Disable lock",
|
|
63
|
+
"shell.appLock.disableBody": "Remove PIN and biometrics from this device?",
|
|
64
|
+
"shell.appLock.disableConfirm": "Disable",
|
|
65
|
+
"shell.appLock.disableTitle": "Disable lock",
|
|
66
|
+
"shell.appLock.enabledBody": "Next time you open the app, you will need to enter the PIN or use biometrics.",
|
|
67
|
+
"shell.appLock.enabledTitle": "Lock enabled",
|
|
68
|
+
"shell.appLock.enterPinHint": "Enter your PIN to continue",
|
|
69
|
+
"shell.appLock.gatePrompt": "Unlock Proulr",
|
|
70
|
+
"shell.appLock.lockedTitle": "Proulr locked",
|
|
71
|
+
"shell.appLock.nativeOnly": "Available only in the native app.",
|
|
72
|
+
"shell.appLock.newPin": "New PIN",
|
|
73
|
+
"shell.appLock.pinPlaceholder": "PIN",
|
|
74
|
+
"shell.appLock.pinSection": "PIN",
|
|
75
|
+
"shell.appLock.protectHint": "Protect the app on shared devices. The PIN stays only on this device (SecureStore).",
|
|
76
|
+
"shell.appLock.savePin": "Save PIN",
|
|
77
|
+
"shell.appLock.subtitle": "PIN and biometrics when opening the app",
|
|
78
|
+
"shell.appLock.title": "Startup lock",
|
|
79
|
+
"shell.appLock.unlock": "Unlock",
|
|
80
|
+
"shell.appLock.useBiometric": "Use biometrics",
|
|
81
|
+
"shell.appLock.wrongPin": "Incorrect PIN",
|
|
82
|
+
"shell.blocked.actionUnblock": "unblock",
|
|
83
|
+
"shell.blocked.actionUnhide": "unhide",
|
|
84
|
+
"shell.blocked.bulkUnblock": "Unblock all",
|
|
85
|
+
"shell.blocked.bulkUnhide": "Unhide all",
|
|
86
|
+
"shell.blocked.cancelSelection": "Cancel selection",
|
|
87
|
+
"shell.blocked.confirmBody": "Do you want to {action} {name}?",
|
|
88
|
+
"shell.blocked.confirmTitle": "Confirm",
|
|
89
|
+
"shell.blocked.done": "Done",
|
|
90
|
+
"shell.blocked.empty": "No blocked or hidden profiles.",
|
|
91
|
+
"shell.blocked.hint": "Tap the photo to unblock/unhide. ⋮ menu for bulk actions.",
|
|
92
|
+
"shell.blocked.meta": "{status} · Last contact: {date}",
|
|
93
|
+
"shell.blocked.moreActions": "More actions",
|
|
94
|
+
"shell.blocked.noRecentContact": "No recent contact",
|
|
95
|
+
"shell.blocked.profilesSection": "Profiles",
|
|
96
|
+
"shell.blocked.selectMany": "Select multiple",
|
|
97
|
+
"shell.blocked.statusBlocked": "Blocked",
|
|
98
|
+
"shell.blocked.statusHidden": "Hidden",
|
|
99
|
+
"shell.blocked.statusMuted": "Muted",
|
|
100
|
+
"shell.blocked.subtitle": "Manage profiles you blocked or hid",
|
|
101
|
+
"shell.blocked.title": "Hidden and blocked",
|
|
102
|
+
"shell.blocked.updating": "Updating list…",
|
|
36
103
|
"shell.consent.ads": "Personalized ads",
|
|
37
104
|
"shell.consent.ads.hint": "When we enable ads, we’ll honor this choice",
|
|
38
105
|
"shell.consent.analytics": "Usage analytics",
|
|
@@ -50,6 +117,38 @@
|
|
|
50
117
|
"shell.deactivate.signOutNow": "Sign out now",
|
|
51
118
|
"shell.deactivate.subtitle": "Support, sign out, or delete",
|
|
52
119
|
"shell.deactivate.title": "Deactivate account",
|
|
120
|
+
"shell.device.appVersion": "App version",
|
|
121
|
+
"shell.device.cacheClearedBody": "Temporary data removed.",
|
|
122
|
+
"shell.device.cacheClearedTitle": "Cache cleared",
|
|
123
|
+
"shell.device.clearCache": "Clear device cache",
|
|
124
|
+
"shell.device.clearCacheHint": "Clears local SDUI cache",
|
|
125
|
+
"shell.device.connectionOk": "Connection OK",
|
|
126
|
+
"shell.device.coords": "Lat {lat}, Lng {lng}",
|
|
127
|
+
"shell.device.copyId": "Copy device ID",
|
|
128
|
+
"shell.device.copyIdToastBody": "Device identifier copied to the clipboard.",
|
|
129
|
+
"shell.device.copyIdToastTitle": "ID copied",
|
|
130
|
+
"shell.device.diagnosticsSection": "Diagnostics",
|
|
131
|
+
"shell.device.infoSection": "Information",
|
|
132
|
+
"shell.device.latencyMs": "Approximate latency: {ms} ms",
|
|
133
|
+
"shell.device.loading": "Loading…",
|
|
134
|
+
"shell.device.loadingInfo": "Loading device information…",
|
|
135
|
+
"shell.device.locationOk": "Location OK",
|
|
136
|
+
"shell.device.manageDevices": "Manage devices",
|
|
137
|
+
"shell.device.manageDevicesHint": "Active sessions and revocation",
|
|
138
|
+
"shell.device.osVersion": "OS version",
|
|
139
|
+
"shell.device.platform": "Platform",
|
|
140
|
+
"shell.device.refresh": "Refresh information",
|
|
141
|
+
"shell.device.running": "Running: {task}…",
|
|
142
|
+
"shell.device.sectionAccount": "Account on this device",
|
|
143
|
+
"shell.device.subtitle": "Sessions, cache, and diagnostics",
|
|
144
|
+
"shell.device.taskCache": "clearing cache",
|
|
145
|
+
"shell.device.taskConnection": "connection test",
|
|
146
|
+
"shell.device.taskCopyId": "copy ID",
|
|
147
|
+
"shell.device.taskLocation": "location",
|
|
148
|
+
"shell.device.testConnection": "Test connection",
|
|
149
|
+
"shell.device.title": "Device",
|
|
150
|
+
"shell.device.unknownError": "Unknown error",
|
|
151
|
+
"shell.device.verifyLocation": "Check location",
|
|
53
152
|
"shell.dnd.clear": "Clear snooze",
|
|
54
153
|
"shell.dnd.quietHours": "Quiet hours",
|
|
55
154
|
"shell.dnd.quietHours.hint": "Uses default 10:00 PM–8:00 AM",
|
|
@@ -60,6 +159,38 @@
|
|
|
60
159
|
"shell.dnd.subtitle": "Snooze or mute by schedule",
|
|
61
160
|
"shell.dnd.title": "Do not disturb",
|
|
62
161
|
"shell.dnd.untilTomorrow": "Until tomorrow",
|
|
162
|
+
"shell.downloadData.emailFallback": "your email",
|
|
163
|
+
"shell.downloadData.emailHint": "Linked account: {email}. The download link expires in 7 days.",
|
|
164
|
+
"shell.downloadData.emailStep": "Step 1 — Confirm email",
|
|
165
|
+
"shell.downloadData.exportLocal": "Export local data",
|
|
166
|
+
"shell.downloadData.exportQueued": "Export queued",
|
|
167
|
+
"shell.downloadData.exportReady": "Export ready",
|
|
168
|
+
"shell.downloadData.exportReadyBody": "Opening download link.",
|
|
169
|
+
"shell.downloadData.localFail": "Failed to export local data",
|
|
170
|
+
"shell.downloadData.localHint": "Immediate JSON with saved phrases and app AsyncStorage keys.",
|
|
171
|
+
"shell.downloadData.localSection": "Step 2 — Local data",
|
|
172
|
+
"shell.downloadData.localToastBody": "File shared successfully.",
|
|
173
|
+
"shell.downloadData.localToastTitle": "Local export",
|
|
174
|
+
"shell.downloadData.openDownload": "Open download",
|
|
175
|
+
"shell.downloadData.privacyBanner": "Your data lives in two places: on this device (encrypted chat, local preferences) and on the server (profile, flashes, photos). E2E messages export ciphertext — readable content needs your backup password.",
|
|
176
|
+
"shell.downloadData.reusedJob": " (existing job reused)",
|
|
177
|
+
"shell.downloadData.serverFail": "Couldn't start the export.",
|
|
178
|
+
"shell.downloadData.serverHint": "Generates a server file with your account data. The link stays available for 7 days.",
|
|
179
|
+
"shell.downloadData.serverPackageHint": "Async job with profile and photo metadata. Encrypted messages and local data are not included in this package.",
|
|
180
|
+
"shell.downloadData.serverSection": "Step 3 — Server data",
|
|
181
|
+
"shell.downloadData.serverStart": "Start server export",
|
|
182
|
+
"shell.downloadData.serverStatus": "Server export: {status}",
|
|
183
|
+
"shell.downloadData.serverTitle": "Server export",
|
|
184
|
+
"shell.downloadData.statusExpired": "Expired",
|
|
185
|
+
"shell.downloadData.statusFailed": "Failed",
|
|
186
|
+
"shell.downloadData.statusLabel": "Status: {status}",
|
|
187
|
+
"shell.downloadData.statusPending": "Queued",
|
|
188
|
+
"shell.downloadData.statusProcessing": "Processing",
|
|
189
|
+
"shell.downloadData.statusReady": "Ready to download",
|
|
190
|
+
"shell.downloadData.subtitle": "Local and server export",
|
|
191
|
+
"shell.downloadData.title": "Download my data",
|
|
192
|
+
"shell.downloadData.unavailableLink": "Link unavailable",
|
|
193
|
+
"shell.downloadData.unavailableLinkBody": "Couldn't open the download on this device.",
|
|
63
194
|
"shell.drawer.boost": "Boost",
|
|
64
195
|
"shell.drawer.communities": "Communities",
|
|
65
196
|
"shell.drawer.editProfile": "Edit profile",
|
|
@@ -69,6 +200,8 @@
|
|
|
69
200
|
"shell.drawer.inviteFriends": "Invite friends",
|
|
70
201
|
"shell.drawer.lists": "Lists",
|
|
71
202
|
"shell.drawer.menu": "Menu",
|
|
203
|
+
"shell.drawer.modeHunt": "Hunt mode",
|
|
204
|
+
"shell.drawer.modeVibes": "Vibes mode",
|
|
72
205
|
"shell.drawer.myAlbums": "My albums",
|
|
73
206
|
"shell.drawer.myProfile": "My profile",
|
|
74
207
|
"shell.drawer.premium": "Premium",
|
|
@@ -76,6 +209,8 @@
|
|
|
76
209
|
"shell.drawer.safety": "Safety center",
|
|
77
210
|
"shell.drawer.saved": "Saved items",
|
|
78
211
|
"shell.drawer.signOut": "Sign out",
|
|
212
|
+
"shell.fab.closeCreateMenu": "Close create menu",
|
|
213
|
+
"shell.hunt.browseFab": "Hunt — see who’s in another region",
|
|
79
214
|
"shell.language.en": "English",
|
|
80
215
|
"shell.language.en.hint": "App text in English",
|
|
81
216
|
"shell.language.ptBr": "Português (Brasil)",
|
|
@@ -84,6 +219,15 @@
|
|
|
84
219
|
"shell.language.system": "System",
|
|
85
220
|
"shell.language.system.hint": "Follows device language",
|
|
86
221
|
"shell.language.title": "Language",
|
|
222
|
+
"shell.muted.confirmBody": "Unmute {name}?",
|
|
223
|
+
"shell.muted.confirmTitle": "Remove mute",
|
|
224
|
+
"shell.muted.empty": "No muted members.",
|
|
225
|
+
"shell.muted.section": "Muted",
|
|
226
|
+
"shell.muted.statusMuted": "Muted",
|
|
227
|
+
"shell.muted.subtitle": "Who doesn’t send chat notifications",
|
|
228
|
+
"shell.muted.title": "Muted members",
|
|
229
|
+
"shell.muted.unmuteAll": "Unmute all",
|
|
230
|
+
"shell.muted.updating": "Updating list…",
|
|
87
231
|
"shell.notif.appSounds": "In-app sounds",
|
|
88
232
|
"shell.notif.appVibrations": "In-app vibration",
|
|
89
233
|
"shell.notif.disablePush": "Disable all push",
|
|
@@ -98,6 +242,46 @@
|
|
|
98
242
|
"shell.notif.subtitle": "Push alerts, sounds, and vibration",
|
|
99
243
|
"shell.notif.systemMgmt": "System management",
|
|
100
244
|
"shell.notif.title": "Notifications",
|
|
245
|
+
"shell.notifTest.banner": "Tray notifications only work in the installed app (native build). Remote push doesn’t arrive in Expo Go.",
|
|
246
|
+
"shell.notifTest.copyToken": "Copy token",
|
|
247
|
+
"shell.notifTest.diagnostics": "Diagnostics",
|
|
248
|
+
"shell.notifTest.easConfigured": "Configured",
|
|
249
|
+
"shell.notifTest.easMissing": "Missing",
|
|
250
|
+
"shell.notifTest.easProject": "EAS project",
|
|
251
|
+
"shell.notifTest.env": "Environment",
|
|
252
|
+
"shell.notifTest.failed": "Failed.",
|
|
253
|
+
"shell.notifTest.firebaseHint": "If the token isn’t generated, finish FCM setup:",
|
|
254
|
+
"shell.notifTest.firebaseSection": "Configure Firebase (Android)",
|
|
255
|
+
"shell.notifTest.firebaseStep1": "1. Create a project in Firebase Console.",
|
|
256
|
+
"shell.notifTest.firebaseStep2": "2. Add an Android app with package com.proulr.app and download google-services.json.",
|
|
257
|
+
"shell.notifTest.firebaseStep3": "3. Put the file at the project root and set android.googleServicesFile in app.json.",
|
|
258
|
+
"shell.notifTest.firebaseStep4": "4. In Firebase > Settings > Cloud Messaging, create a service account key (FCM V1) and upload it to EAS with: eas credentials.",
|
|
259
|
+
"shell.notifTest.firebaseStep5": "5. Rebuild natively and reinstall the app.",
|
|
260
|
+
"shell.notifTest.localHint": "Doesn’t depend on the server or FCM. Validates permission, channel, and on-device display.",
|
|
261
|
+
"shell.notifTest.localLabel": "Local notification",
|
|
262
|
+
"shell.notifTest.localRun": "Fire local notification",
|
|
263
|
+
"shell.notifTest.notEmulator": "No (emulator)",
|
|
264
|
+
"shell.notifTest.openExpoDocs": "Open Expo docs",
|
|
265
|
+
"shell.notifTest.permission": "Permission",
|
|
266
|
+
"shell.notifTest.permissionDenied": "Denied",
|
|
267
|
+
"shell.notifTest.permissionGranted": "Granted",
|
|
268
|
+
"shell.notifTest.physicalDevice": "Physical device",
|
|
269
|
+
"shell.notifTest.platform": "Platform",
|
|
270
|
+
"shell.notifTest.remoteHint": "Sends a real Expo push to this device. Validates the full path used by Flashes and messages (token + FCM + delivery).",
|
|
271
|
+
"shell.notifTest.remoteLabel": "Remote push (to me)",
|
|
272
|
+
"shell.notifTest.remoteRun": "Send remote test push",
|
|
273
|
+
"shell.notifTest.subtitle": "Push diagnostics",
|
|
274
|
+
"shell.notifTest.success": "Success.",
|
|
275
|
+
"shell.notifTest.tests": "Tests",
|
|
276
|
+
"shell.notifTest.title": "Test notifications",
|
|
277
|
+
"shell.notifTest.tokenCopiedBody": "Paste into Expo Push Tool for manual tests.",
|
|
278
|
+
"shell.notifTest.tokenCopiedTitle": "Token copied",
|
|
279
|
+
"shell.notifTest.tokenErrorHint": "On Android, this almost always means Firebase Cloud Messaging (FCM) isn’t configured. See the steps below.",
|
|
280
|
+
"shell.notifTest.tokenErrorTitle": "Failed to generate token",
|
|
281
|
+
"shell.notifTest.tokenGenerated": "Token generated",
|
|
282
|
+
"shell.notifTest.tokenLabel": "Expo push token",
|
|
283
|
+
"shell.notifTest.tokenSaved": "Token saved on server",
|
|
284
|
+
"shell.pageUnavailable": "This settings page is unavailable.",
|
|
101
285
|
"shell.prefs.distanceUnits": "Distance units",
|
|
102
286
|
"shell.prefs.distanceUnits.hint": "Metric, imperial, or system",
|
|
103
287
|
"shell.prefs.keepAwake": "Keep screen awake",
|
|
@@ -137,6 +321,7 @@
|
|
|
137
321
|
"shell.privacy.title": "Privacy",
|
|
138
322
|
"shell.privacy.travelIndicator": "Travel indicator",
|
|
139
323
|
"shell.privacy.visibility": "Visibility",
|
|
324
|
+
"shell.pullToRefresh": "Pull to refresh",
|
|
140
325
|
"shell.quality.adaptive": "Adaptive",
|
|
141
326
|
"shell.quality.maximum": "Maximum",
|
|
142
327
|
"shell.quality.thumbnail": "Thumbnail",
|
|
@@ -165,6 +350,29 @@
|
|
|
165
350
|
"shell.safety.section.safety": "Safety",
|
|
166
351
|
"shell.safety.subtitle": "Guides, help, and privacy",
|
|
167
352
|
"shell.safety.title": "Safety center",
|
|
353
|
+
"shell.search.conversations": "Search conversations…",
|
|
354
|
+
"shell.search.placeholder": "Search…",
|
|
355
|
+
"shell.search.postsTags": "Search posts, @ or #…",
|
|
356
|
+
"shell.sessions.devicesSection": "Devices",
|
|
357
|
+
"shell.sessions.empty": "No sessions registered yet. They appear after signing in on this device.",
|
|
358
|
+
"shell.sessions.endCurrentTitle": "End on this device",
|
|
359
|
+
"shell.sessions.endOthers": "End other sessions",
|
|
360
|
+
"shell.sessions.endOthersBody": "Sign out all other devices?",
|
|
361
|
+
"shell.sessions.endOthersDone": "Other sessions ended",
|
|
362
|
+
"shell.sessions.endOthersDoneBody": "All other devices were signed out.",
|
|
363
|
+
"shell.sessions.endOthersTitle": "End other sessions",
|
|
364
|
+
"shell.sessions.loading": "Loading sessions…",
|
|
365
|
+
"shell.sessions.revokeConfirmCurrent": "You will be signed out of this device.",
|
|
366
|
+
"shell.sessions.revokeConfirmOther": "End session on this device?",
|
|
367
|
+
"shell.sessions.revokeFail": "Couldn't revoke this device.",
|
|
368
|
+
"shell.sessions.revokeTitle": "Revoke device",
|
|
369
|
+
"shell.sessions.revokedTitle": "Device revoked",
|
|
370
|
+
"shell.sessions.rowSubtitle": "Version {version} · Last activity {date}",
|
|
371
|
+
"shell.sessions.signOut": "Sign out",
|
|
372
|
+
"shell.sessions.subtitle": "Sessions connected to your account. Revoking another device ends the server session when possible.",
|
|
373
|
+
"shell.sessions.title": "Manage devices",
|
|
374
|
+
"shell.sessions.toastEnded": "The session was ended on the server. The device will lose access immediately.",
|
|
375
|
+
"shell.sessions.toastRemoved": "Record removed. Without a saved session identifier, the device may stay connected until the token expires.",
|
|
168
376
|
"shell.settings.aboutProulr": "About Proulr",
|
|
169
377
|
"shell.settings.appIcon": "App icon",
|
|
170
378
|
"shell.settings.appLock": "App lock",
|
|
@@ -195,9 +403,49 @@
|
|
|
195
403
|
"shell.settings.title": "Settings",
|
|
196
404
|
"shell.settings.version": "Version",
|
|
197
405
|
"shell.soon.feature": "{label} will be available soon.",
|
|
406
|
+
"shell.subscriptions.active": "Active",
|
|
407
|
+
"shell.subscriptions.boost": "Boost",
|
|
408
|
+
"shell.subscriptions.boostPriced": "Boost — {price}",
|
|
409
|
+
"shell.subscriptions.boostSuccessBody": "Your boost will be applied according to app rules.",
|
|
410
|
+
"shell.subscriptions.boostSuccessTitle": "Boost purchased",
|
|
411
|
+
"shell.subscriptions.consumables": "Consumables",
|
|
412
|
+
"shell.subscriptions.dayPass": "1-Day PRO Pass",
|
|
413
|
+
"shell.subscriptions.dayPassPriced": "1-Day PRO Pass — {price}",
|
|
414
|
+
"shell.subscriptions.inactive": "Inactive",
|
|
415
|
+
"shell.subscriptions.manage": "Manage subscription",
|
|
416
|
+
"shell.subscriptions.manageHint": "Open App Store / Play Store settings",
|
|
417
|
+
"shell.subscriptions.manageSuccessBody": "Use the store screen to change or cancel your subscription.",
|
|
418
|
+
"shell.subscriptions.manageSuccessTitle": "Store opened",
|
|
419
|
+
"shell.subscriptions.nativeOnly": "Available only in the native app.",
|
|
420
|
+
"shell.subscriptions.passSuccessBody": "Your temporary PRO access was linked to the account.",
|
|
421
|
+
"shell.subscriptions.passSuccessTitle": "Pass activated",
|
|
422
|
+
"shell.subscriptions.planSection": "Plan",
|
|
423
|
+
"shell.subscriptions.proSuccessBody": "Proulr Pro was linked to your account.",
|
|
424
|
+
"shell.subscriptions.proSuccessTitle": "Subscription active",
|
|
425
|
+
"shell.subscriptions.refresh": "Refresh",
|
|
426
|
+
"shell.subscriptions.refreshing": "Updating status…",
|
|
427
|
+
"shell.subscriptions.renewsOn": "Renews on {date}",
|
|
428
|
+
"shell.subscriptions.restore": "Restore purchase",
|
|
429
|
+
"shell.subscriptions.restoreHint": "Recover subscriptions already paid on this store account",
|
|
430
|
+
"shell.subscriptions.restoreSuccessBody": "We checked your store account and updated the status.",
|
|
431
|
+
"shell.subscriptions.restoreSuccessTitle": "Purchases restored",
|
|
432
|
+
"shell.subscriptions.storeSection": "Store account",
|
|
433
|
+
"shell.subscriptions.subscribePro": "Subscribe to Pro",
|
|
434
|
+
"shell.subscriptions.subscribeProPriced": "Subscribe to Pro ({price})",
|
|
435
|
+
"shell.subscriptions.subtitle": "Pro, Boost, and 1-day Pass",
|
|
436
|
+
"shell.subscriptions.title": "Subscriptions",
|
|
437
|
+
"shell.subscriptions.unavailableConsumables": "One-off purchases become available when RevenueCat is active.",
|
|
438
|
+
"shell.surface.discoverSubtitle": "You’re in meetup mode",
|
|
439
|
+
"shell.surface.discoverTitle": "Hunt",
|
|
440
|
+
"shell.surface.vibesSubtitle": "You’re in social mode",
|
|
441
|
+
"shell.surface.vibesTitle": "Vibes",
|
|
198
442
|
"shell.tab.chat": "Chat",
|
|
199
443
|
"shell.tab.discover": "Hunt",
|
|
200
444
|
"shell.tab.vibes": "Vibes",
|
|
445
|
+
"shell.unavailable.body": "We couldn’t load this screen right now. No connection or no data saved on the device.",
|
|
446
|
+
"shell.unavailable.goHunt": "Go to Hunt",
|
|
447
|
+
"shell.unavailable.retry": "Try again",
|
|
448
|
+
"shell.unavailable.title": "Screen unavailable",
|
|
201
449
|
"shell.units.distance": "Distance",
|
|
202
450
|
"shell.units.imperial": "Imperial",
|
|
203
451
|
"shell.units.imperial.hint": "Miles and feet",
|
|
@@ -206,5 +454,9 @@
|
|
|
206
454
|
"shell.units.subtitle": "How distances are shown",
|
|
207
455
|
"shell.units.system": "System",
|
|
208
456
|
"shell.units.system.hint": "Follows device language",
|
|
209
|
-
"shell.units.title": "Units"
|
|
457
|
+
"shell.units.title": "Units",
|
|
458
|
+
"shell.web.installCta": "Install",
|
|
459
|
+
"shell.web.installSubtitle": "Open it like an app, with a home-screen icon.",
|
|
460
|
+
"shell.web.installTitle": "Install Proulr",
|
|
461
|
+
"shell.web.notNow": "Not now"
|
|
210
462
|
}
|
|
@@ -1,13 +1,41 @@
|
|
|
1
1
|
{
|
|
2
|
+
"social.a11y.addImage": "Add image",
|
|
3
|
+
"social.a11y.addMedia": "Add media",
|
|
4
|
+
"social.a11y.addVideo": "Add video",
|
|
5
|
+
"social.a11y.cancelReply": "Cancel reply",
|
|
6
|
+
"social.a11y.closeReactions": "Close reactions",
|
|
7
|
+
"social.a11y.dateFilter": "Date filter",
|
|
8
|
+
"social.a11y.nextStory": "Next story",
|
|
9
|
+
"social.a11y.notifyActive": "Notifications from this profile are on",
|
|
10
|
+
"social.a11y.notifyEnable": "Enable notifications from this profile",
|
|
11
|
+
"social.a11y.openCamera": "Open camera",
|
|
12
|
+
"social.a11y.openFullscreenImage": "Open image fullscreen",
|
|
13
|
+
"social.a11y.openProfile": "Open {name}’s profile",
|
|
14
|
+
"social.a11y.openThread": "Open thread",
|
|
15
|
+
"social.a11y.previousStory": "Previous story",
|
|
16
|
+
"social.a11y.removeMedia": "Remove media",
|
|
17
|
+
"social.a11y.searchPeopleThreads": "Search people and threads",
|
|
18
|
+
"social.a11y.sendMessage": "Send message",
|
|
19
|
+
"social.a11y.sendReply": "Send reply",
|
|
20
|
+
"social.comments.archive": "Archive",
|
|
21
|
+
"social.comments.replyTo": "someone",
|
|
22
|
+
"social.comments.title": "Post",
|
|
23
|
+
"social.compose.galleryDenied": "Allow gallery access to see your recent photos.",
|
|
24
|
+
"social.compose.mediaLimit": "You can attach up to {count} photos or videos per post.",
|
|
25
|
+
"social.compose.mediaRoomLeft": "You can only add {count} more media item(s) to this post.",
|
|
26
|
+
"social.compose.mediaSelectHint": "Tap Select to choose up to {count} photos or videos.",
|
|
2
27
|
"social.count.millionShort": "{value}M",
|
|
3
28
|
"social.count.thousandShort": "{value}K",
|
|
4
29
|
"social.fab.photos": "Photos",
|
|
5
30
|
"social.fab.publish": "Post",
|
|
6
31
|
"social.fab.story": "Story",
|
|
7
32
|
"social.feed.fab": "Create in Feed",
|
|
33
|
+
"social.feed.searchPlaceholder": "Search people in the feed...",
|
|
8
34
|
"social.feed.subtitle": "Community posts",
|
|
9
35
|
"social.feed.title": "Feed",
|
|
10
36
|
"social.media.readImageError": "Couldn't read the image.",
|
|
37
|
+
"social.notify.howHint": "How do you want to be notified about {name}?",
|
|
38
|
+
"social.notify.title": "Notifications",
|
|
11
39
|
"social.notifyMode.all": "Everything",
|
|
12
40
|
"social.notifyMode.allHint": "Posts, media, and replies from this profile",
|
|
13
41
|
"social.notifyMode.media": "Media only",
|
|
@@ -17,7 +45,17 @@
|
|
|
17
45
|
"social.notifyMode.replies": "Replies only",
|
|
18
46
|
"social.notifyMode.repliesHint": "When this person replies to posts",
|
|
19
47
|
"social.people.someone": "Someone",
|
|
48
|
+
"social.post.mediaOnly": "Post with media",
|
|
20
49
|
"social.post.recentGalleryUnavailable": "Recent gallery is unavailable in this build.",
|
|
50
|
+
"social.profile.followUpdateFail": "Couldn’t update follow.",
|
|
51
|
+
"social.profile.mediaEmpty": "No media published yet.",
|
|
52
|
+
"social.profile.mediaTab": "Media",
|
|
53
|
+
"social.profile.notFound": "Vibes profile not found.",
|
|
54
|
+
"social.profile.notifyUpdateFail": "Couldn’t update notifications.",
|
|
55
|
+
"social.profile.photosVideosCount": "{count} Photos and videos",
|
|
56
|
+
"social.profile.postsCount": "{count} posts",
|
|
57
|
+
"social.profile.postsEmpty": "No posts from this person.",
|
|
58
|
+
"social.profile.postsTab": "Posts",
|
|
21
59
|
"social.replyAudience.everyone": "Anyone",
|
|
22
60
|
"social.replyAudience.everyoneHint": "Everyone can reply to this post.",
|
|
23
61
|
"social.replyAudience.everyoneReply": "Anyone can reply",
|
|
@@ -28,7 +66,33 @@
|
|
|
28
66
|
"social.replyAudience.mentionedHint": "Only profiles mentioned in the post can reply.",
|
|
29
67
|
"social.replyAudience.mentionedReply": "Only people you mention can reply",
|
|
30
68
|
"social.saved.title": "Saved items",
|
|
69
|
+
"social.stats.comments": "Comments",
|
|
70
|
+
"social.stats.likes": "Likes",
|
|
71
|
+
"social.stats.reposts": "Reposts",
|
|
72
|
+
"social.stats.saved": "Saved items",
|
|
73
|
+
"social.stats.views": "Views",
|
|
74
|
+
"social.stats.viewsSuffix": " · {count} Views",
|
|
75
|
+
"social.story.audienceDiscoverHint": "Shows in profile discovery.",
|
|
76
|
+
"social.story.audienceVibesHint": "Shows in the thoughts feed.",
|
|
31
77
|
"social.story.captureImageError": "Couldn't generate the story image.",
|
|
78
|
+
"social.story.createNew": "Create new story",
|
|
79
|
+
"social.story.createTitle": "Create story",
|
|
80
|
+
"social.story.delete": "Delete",
|
|
81
|
+
"social.story.deleteA11y": "Delete story",
|
|
82
|
+
"social.story.deleteTitle": "Delete story",
|
|
83
|
+
"social.story.deletedBody": "Your story was removed.",
|
|
84
|
+
"social.story.deletedTitle": "Story deleted",
|
|
85
|
+
"social.story.gallerySelectHint": "Tap Select to choose a photo or video.",
|
|
86
|
+
"social.story.mentions": "Mentions",
|
|
87
|
+
"social.story.messageSentBody": "Your reply was sent in chat.",
|
|
88
|
+
"social.story.messageSentTitle": "Message sent",
|
|
89
|
+
"social.story.music": "Music",
|
|
90
|
+
"social.story.quickReactions": "Quick reactions",
|
|
91
|
+
"social.story.reactionSentBody": "Your reaction was sent in chat.",
|
|
92
|
+
"social.story.reactionSentTitle": "Reaction sent",
|
|
93
|
+
"social.story.textPlaceholder": "Start typing...",
|
|
94
|
+
"social.story.viewMine": "View my stories",
|
|
95
|
+
"social.story.yourStories": "Your stories",
|
|
32
96
|
"social.storyFont.bold": "Bold",
|
|
33
97
|
"social.storyFont.extrabold": "Impact",
|
|
34
98
|
"social.storyFont.medium": "Light",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"alerts.age18": "Você precisa ter 18 anos ou mais.",
|
|
3
|
+
"alerts.album.emptyTitle": "Álbum vazio",
|
|
3
4
|
"alerts.attention": "Atenção",
|
|
4
5
|
"alerts.block": "Bloquear",
|
|
5
6
|
"alerts.camera": "Erro na câmera",
|
|
@@ -9,6 +10,7 @@
|
|
|
9
10
|
"alerts.couldNotRemove": "Não foi possível remover.",
|
|
10
11
|
"alerts.couldNotRemoveTrip": "Não foi possível remover a viagem.",
|
|
11
12
|
"alerts.couldNotSave": "Não foi possível salvar.",
|
|
13
|
+
"alerts.couldNotSaveHandle": "Não foi possível salvar o @.",
|
|
12
14
|
"alerts.couldNotSaveNetworks": "Não foi possível salvar as redes.",
|
|
13
15
|
"alerts.crop": "Erro ao cortar",
|
|
14
16
|
"alerts.dataExport.createJobFailed": "Falha ao criar job de exportação",
|
|
@@ -17,6 +19,8 @@
|
|
|
17
19
|
"alerts.dataExport.serverTimeout": "Tempo esgotado aguardando exportação do servidor",
|
|
18
20
|
"alerts.dataExport.shareDialogTitle": "Exportar dados locais",
|
|
19
21
|
"alerts.dataExport.sharingUnavailable": "Compartilhamento indisponível neste dispositivo",
|
|
22
|
+
"alerts.deactivate": "Desativar",
|
|
23
|
+
"alerts.delete": "Excluir",
|
|
20
24
|
"alerts.devicePermission.location": "localização",
|
|
21
25
|
"alerts.devicePermission.notifications": "notificações",
|
|
22
26
|
"alerts.devicePermission.pairFormat": "{first} e {second}",
|
|
@@ -29,13 +33,20 @@
|
|
|
29
33
|
"alerts.empty": "Vazio",
|
|
30
34
|
"alerts.error": "Erro",
|
|
31
35
|
"alerts.errorSave": "Erro ao salvar",
|
|
36
|
+
"alerts.fileOpenFailed": "Não foi possível abrir o arquivo.",
|
|
37
|
+
"alerts.fileTitle": "Arquivo",
|
|
32
38
|
"alerts.flash.sendFail": "Não foi possível enviar a reação.",
|
|
33
39
|
"alerts.gallery": "Galeria",
|
|
40
|
+
"alerts.galleryPickFail": "Não foi possível escolher imagens.",
|
|
34
41
|
"alerts.genericFail": "Não foi possível concluir a ação.",
|
|
35
42
|
"alerts.genericRetry": "Não foi possível concluir. Tente novamente.",
|
|
43
|
+
"alerts.invalidBirthDate": "Data de nascimento inválida. Use o formato DD/MM/AAAA.",
|
|
36
44
|
"alerts.invalidExamDate": "Data do último exame inválida. Use o formato DD/MM/AAAA.",
|
|
45
|
+
"alerts.invalidReminderDate": "Data do lembrete inválida. Use o formato DD/MM/AAAA.",
|
|
37
46
|
"alerts.limit": "Limite",
|
|
38
47
|
"alerts.location": "Localização",
|
|
48
|
+
"alerts.locationUnavailable": "Não foi possível obter sua localização atual.",
|
|
49
|
+
"alerts.mediaPreparing": "A mídia ainda está sendo preparada.",
|
|
39
50
|
"alerts.mic": "Microfone",
|
|
40
51
|
"alerts.ops": "Ops",
|
|
41
52
|
"alerts.permission.cameraBlocked": "Câmera bloqueada. Ative nas configurações do aparelho.",
|
|
@@ -51,6 +62,11 @@
|
|
|
51
62
|
"alerts.photoPick": "Erro ao escolher foto",
|
|
52
63
|
"alerts.photoUpload": "Erro ao enviar foto",
|
|
53
64
|
"alerts.pinInvalid": "PIN inválido. Use pelo menos 4 dígitos.",
|
|
65
|
+
"alerts.pinMismatch": "PIN diferente",
|
|
66
|
+
"alerts.pinMismatchBody": "Confirme o mesmo PIN nos dois campos.",
|
|
67
|
+
"alerts.postEmpty": "Escreva algo ou adicione uma mídia.",
|
|
68
|
+
"alerts.preferenceUnavailable": "Esta preferência ainda não está disponível no servidor.",
|
|
69
|
+
"alerts.publishFail": "Não foi possível publicar.",
|
|
54
70
|
"alerts.push.blockedWebMessage": "Permita notificações do Proulr no navegador para receber mensagens como no WhatsApp Web.",
|
|
55
71
|
"alerts.push.blockedWebTitle": "Notificações bloqueadas",
|
|
56
72
|
"alerts.push.deniedMessage": "Ative as notificações do Proulr nas configurações do celular para receber alertas.",
|
|
@@ -101,19 +117,34 @@
|
|
|
101
117
|
"alerts.pushTest.sendError": "Erro no envio.",
|
|
102
118
|
"alerts.pushTest.ticketFormat": "Ticket {id}",
|
|
103
119
|
"alerts.pushTest.tokenUnavailable": "Token de push indisponível.",
|
|
120
|
+
"alerts.remove": "Remover",
|
|
104
121
|
"alerts.report": "Denúncia",
|
|
105
122
|
"alerts.report.already": "Você já denunciou este perfil nas últimas 24 horas.",
|
|
106
123
|
"alerts.report.chooseReason": "Escolha o motivo da denúncia.",
|
|
107
124
|
"alerts.report.needLogin": "Faça login para denunciar.",
|
|
108
125
|
"alerts.report.writeSummary": "Escreva um breve resumo do que aconteceu.",
|
|
126
|
+
"alerts.repost": "Repost",
|
|
127
|
+
"alerts.repostSoon": "Repostar estará disponível em breve.",
|
|
128
|
+
"alerts.repostThoughtsSoon": "Repostar pensamentos estará disponível em breve.",
|
|
129
|
+
"alerts.revoke": "Revogar",
|
|
130
|
+
"alerts.saveFailed": "Não foi possível salvar.",
|
|
131
|
+
"alerts.selectImageFail": "Não foi possível selecionar a imagem.",
|
|
132
|
+
"alerts.selectMediaFail": "Não foi possível selecionar a mídia.",
|
|
133
|
+
"alerts.selectVideoFail": "Não foi possível selecionar o vídeo.",
|
|
134
|
+
"alerts.sendFailRetry": "Não foi possível enviar. Tente novamente.",
|
|
109
135
|
"alerts.soon": "Em breve",
|
|
110
136
|
"alerts.soonFeature": "{feature} ainda não está disponível.",
|
|
137
|
+
"alerts.storyDeleteFail": "Não foi possível excluir o story.",
|
|
138
|
+
"alerts.storyPublishFail": "Não foi possível publicar o story.",
|
|
139
|
+
"alerts.storyTextEmpty": "Escreva algo para publicar o story de texto.",
|
|
111
140
|
"alerts.systemNotif.browserLabel": "Configurar no navegador",
|
|
112
141
|
"alerts.systemNotif.browserSubtitle": "Abrir permissões do site Proulr neste navegador",
|
|
113
142
|
"alerts.systemNotif.deviceLabel": "Configurar no aparelho",
|
|
114
143
|
"alerts.systemNotif.deviceSubtitle": "Abrir painel de notificações do sistema",
|
|
115
144
|
"alerts.tryAgain": "Tente novamente.",
|
|
116
145
|
"alerts.unavailable": "Indisponível",
|
|
146
|
+
"alerts.useCapturedPhotoFail": "Não foi possível usar a foto capturada.",
|
|
147
|
+
"alerts.useMediaFail": "Não foi possível usar esta mídia.",
|
|
117
148
|
"alerts.wait": "Aguarde",
|
|
118
149
|
"alerts.webNotif.chromiumSteps": "No {browser}: toque no cadeado (ou ícone ⓘ) à esquerda da URL {origin} → Configurações do site → Notificações → Permitir.",
|
|
119
150
|
"alerts.webNotif.firefoxSteps": "No Firefox: toque no cadeado à esquerda da URL {origin} → Conexão segura → Mais informações → Permissões → Notificações → Permitir.",
|
|
@@ -1,5 +1,58 @@
|
|
|
1
1
|
{
|
|
2
|
+
"auth.ageGate.allowCamera": "Permitir câmera",
|
|
3
|
+
"auth.ageGate.banner": "É rápido e seguro: o vídeo serve só para verificar idade adulta — não pedimos documento nem data de nascimento nesta etapa.",
|
|
4
|
+
"auth.ageGate.cameraHint": "Centralize seu rosto no oval e toque em iniciar",
|
|
5
|
+
"auth.ageGate.cameraNotReady": "A câmera ainda não está pronta. Aguarde um instante.",
|
|
6
|
+
"auth.ageGate.captureFaceFail": "Não foi possível capturar o rosto.",
|
|
7
|
+
"auth.ageGate.captureFaceVideoFail": "Não foi possível capturar o rosto no vídeo.",
|
|
8
|
+
"auth.ageGate.cta": "Continuar — leva poucos segundos",
|
|
9
|
+
"auth.ageGate.errorTitle": "Erro na verificação",
|
|
10
|
+
"auth.ageGate.manualReviewBody": "Analisaremos seu vídeo manualmente. Você receberá acesso assim que a revisão for concluída.",
|
|
11
|
+
"auth.ageGate.manualReviewBodyInternal": "Analisaremos seu vídeo manualmente no painel interno. Você será liberado assim que a revisão for aprovada.",
|
|
12
|
+
"auth.ageGate.manualReviewConfirmBody": "Seu caso será analisado no painel interno do Proulr. Não é necessário enviar e-mail — basta confirmar abaixo para entrar na fila de revisão.",
|
|
13
|
+
"auth.ageGate.manualReviewHint": "Se a validação automática falhar, revisamos manualmente — você não perde o cadastro.",
|
|
14
|
+
"auth.ageGate.manualReviewQueueSubtitle": "Sua verificação de idade está na fila do time Proulr",
|
|
15
|
+
"auth.ageGate.manualReviewSentSubtitle": "Sua verificação foi enviada para o time do Proulr",
|
|
16
|
+
"auth.ageGate.manualReviewTitle": "Revisão em andamento",
|
|
17
|
+
"auth.ageGate.notesPlaceholder": "Conte o que aconteceu (opcional)",
|
|
18
|
+
"auth.ageGate.permissionBody": "Precisamos da câmera frontal para validar sua idade com um vídeo curto.",
|
|
19
|
+
"auth.ageGate.permissionBodyWeb": "Precisamos da câmera do navegador para validar sua idade com um vídeo curto.",
|
|
20
|
+
"auth.ageGate.prepareCountdown": "Prepare-se… {count}",
|
|
21
|
+
"auth.ageGate.preparing": "Preparando…",
|
|
22
|
+
"auth.ageGate.processingSubtitle": "Analisando seu vídeo. Em geral leva poucos segundos.",
|
|
23
|
+
"auth.ageGate.processingTitle": "Verificando idade",
|
|
24
|
+
"auth.ageGate.recordVideoFail": "Falha ao gravar o vídeo.",
|
|
25
|
+
"auth.ageGate.recording": "Gravando…",
|
|
26
|
+
"auth.ageGate.recordingCountdown": "Gravando… mantenha o rosto no oval ({count})",
|
|
27
|
+
"auth.ageGate.retry": "Tentar novamente",
|
|
28
|
+
"auth.ageGate.retryNow": "Tentar novamente agora",
|
|
29
|
+
"auth.ageGate.retryRecord": "Tentar gravar novamente",
|
|
30
|
+
"auth.ageGate.reviewInProgressSubtitle": "Não foi possível confirmar automaticamente que você tem 18 anos ou mais",
|
|
31
|
+
"auth.ageGate.reviewInProgressTitle": "Verificação em revisão",
|
|
32
|
+
"auth.ageGate.sendManualReview": "Enviar para revisão manual",
|
|
33
|
+
"auth.ageGate.serviceUnavailableBody": "O modelo de verificação não respondeu a tempo. Tente novamente em instantes.",
|
|
34
|
+
"auth.ageGate.serviceUnavailableTitle": "Serviço indisponível",
|
|
35
|
+
"auth.ageGate.signOut": "Sair da conta",
|
|
36
|
+
"auth.ageGate.startVerify": "Iniciar verificação",
|
|
37
|
+
"auth.ageGate.startVerifyFail": "Não foi possível iniciar a verificação.",
|
|
38
|
+
"auth.ageGate.steps": "1. Centralize seu rosto no oval\n2. Grave um vídeo de 3 segundos\n3. Aguarde a validação automática",
|
|
39
|
+
"auth.ageGate.subtitle": "Só um vídeo de 3 segundos para confirmar que você tem 18 anos ou mais",
|
|
40
|
+
"auth.ageGate.title": "Verificação rápida e segura",
|
|
41
|
+
"auth.ageGate.trustFastBody": "Vídeo de 3 segundos e validação automática",
|
|
42
|
+
"auth.ageGate.trustFastTitle": "Rápido",
|
|
43
|
+
"auth.ageGate.trustSafeBody": "Usado só para confirmar idade. Seus dados ficam protegidos",
|
|
44
|
+
"auth.ageGate.trustSafeTitle": "Seguro",
|
|
45
|
+
"auth.backup.confirmPlaceholder": "Confirmar senha",
|
|
46
|
+
"auth.backup.createBody": "Defina uma senha para recuperar suas mensagens cifradas em outro celular. Se você entrou com e-mail, pode usar a mesma senha da conta.",
|
|
47
|
+
"auth.backup.createTitle": "Senha de backup",
|
|
48
|
+
"auth.backup.passwordPlaceholder": "Senha de backup",
|
|
49
|
+
"auth.backup.restore": "Restaurar",
|
|
50
|
+
"auth.backup.restoreBody": "Digite sua senha de backup para decifrar o histórico neste aparelho.",
|
|
51
|
+
"auth.backup.restoreTitle": "Restaurar mensagens",
|
|
52
|
+
"auth.backup.saveContinue": "Salvar e continuar",
|
|
2
53
|
"auth.common.back": "Voltar",
|
|
54
|
+
"auth.google.a11y": "Google",
|
|
55
|
+
"auth.google.continue": "Continuar com Google",
|
|
3
56
|
"auth.googleError.expoGoIncomplete": "Login com Google não concluído no Expo Go. Configure EXPO_PUBLIC_AUTH_REDIRECT_URL (exp://IP:8081/--/auth-callback) ou teste com npx expo run:android.",
|
|
4
57
|
"auth.googleError.generic": "Não foi possível concluir o login com Google.",
|
|
5
58
|
"auth.googleError.inProgress": "Login com Google já está em andamento.",
|
|
@@ -56,22 +109,5 @@
|
|
|
56
109
|
"auth.signup.validReady": "Tudo certo — pode criar sua conta",
|
|
57
110
|
"auth.welcome.createAccount": "Criar conta",
|
|
58
111
|
"auth.welcome.heroCaption": "Entre na caçada noturna",
|
|
59
|
-
"auth.welcome.signIn": "Entrar"
|
|
60
|
-
"auth.ageGate.title": "Verificação rápida e segura",
|
|
61
|
-
"auth.ageGate.subtitle": "Só um vídeo de 3 segundos para confirmar que você tem 18 anos ou mais",
|
|
62
|
-
"auth.ageGate.banner": "É rápido e seguro: o vídeo serve só para verificar idade adulta — não pedimos documento nem data de nascimento nesta etapa.",
|
|
63
|
-
"auth.ageGate.trustFastTitle": "Rápido",
|
|
64
|
-
"auth.ageGate.trustFastBody": "Vídeo de 3 segundos e validação automática",
|
|
65
|
-
"auth.ageGate.trustSafeTitle": "Seguro",
|
|
66
|
-
"auth.ageGate.trustSafeBody": "Usado só para confirmar idade. Seus dados ficam protegidos",
|
|
67
|
-
"auth.ageGate.steps": "1. Centralize seu rosto no oval\n2. Grave um vídeo de 3 segundos\n3. Aguarde a validação automática",
|
|
68
|
-
"auth.ageGate.cta": "Continuar — leva poucos segundos",
|
|
69
|
-
"auth.ageGate.manualReviewHint": "Se a validação automática falhar, revisamos manualmente — você não perde o cadastro.",
|
|
70
|
-
"auth.ageGate.processingTitle": "Verificando idade",
|
|
71
|
-
"auth.ageGate.processingSubtitle": "Analisando seu vídeo. Em geral leva poucos segundos.",
|
|
72
|
-
"auth.ageGate.errorTitle": "Erro na verificação",
|
|
73
|
-
"auth.ageGate.cameraNotReady": "A câmera ainda não está pronta. Aguarde um instante.",
|
|
74
|
-
"auth.ageGate.captureFaceFail": "Não foi possível capturar o rosto.",
|
|
75
|
-
"auth.ageGate.captureFaceVideoFail": "Não foi possível capturar o rosto no vídeo.",
|
|
76
|
-
"auth.ageGate.recordVideoFail": "Falha ao gravar o vídeo."
|
|
112
|
+
"auth.welcome.signIn": "Entrar"
|
|
77
113
|
}
|