@proulr/rosetta 0.1.2

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/src/index.ts ADDED
@@ -0,0 +1,20 @@
1
+ export type {
2
+ ProulrLocale,
3
+ ProulrLocalePref,
4
+ ProulrLocaleEntry,
5
+ ProulrLocaleCatalog,
6
+ } from './locale-types';
7
+ export { DEFAULT_PROULR_LOCALE, PROULR_LOCALES } from './locale-types';
8
+
9
+ export {
10
+ isProulrLocale,
11
+ isProulrLocalePref,
12
+ resolveLocaleFromQuery,
13
+ resolveLocaleFromPref,
14
+ resolveLocaleFromSystemTag,
15
+ resolveLocaleFromSystemTags,
16
+ } from './resolve-locale';
17
+
18
+ export { t, tFormat } from './translate';
19
+
20
+ export { PROULR_LOCALE_CATALOG, type ProulrMessageKey } from './catalog';
@@ -0,0 +1,13 @@
1
+ export type ProulrLocale = 'pt-BR' | 'en';
2
+
3
+ export type ProulrLocalePref = 'system' | ProulrLocale;
4
+
5
+ /** @deprecated Prefer flat JSON locales (`src/locales/<locale>/*.json`). */
6
+ export type ProulrLocaleEntry = Record<ProulrLocale, string>;
7
+
8
+ /** @deprecated Prefer flat JSON locales (`src/locales/<locale>/*.json`). */
9
+ export type ProulrLocaleCatalog = Record<string, ProulrLocaleEntry>;
10
+
11
+ export const DEFAULT_PROULR_LOCALE: ProulrLocale = 'pt-BR';
12
+
13
+ export const PROULR_LOCALES: readonly ProulrLocale[] = ['pt-BR', 'en'] as const;
@@ -0,0 +1,40 @@
1
+ {
2
+ "alerts.age18": "You must be 18 or older.",
3
+ "alerts.attention": "Attention",
4
+ "alerts.block": "Block",
5
+ "alerts.camera": "Camera error",
6
+ "alerts.couldNotAddTrip": "Couldn’t add the trip.",
7
+ "alerts.couldNotComplete": "Couldn’t complete",
8
+ "alerts.couldNotRemove": "Couldn’t remove.",
9
+ "alerts.couldNotRemoveTrip": "Couldn’t remove the trip.",
10
+ "alerts.couldNotSave": "Couldn’t save.",
11
+ "alerts.couldNotSaveNetworks": "Couldn’t save social links.",
12
+ "alerts.crop": "Couldn’t crop",
13
+ "alerts.displayNameRequired": "Enter a display name.",
14
+ "alerts.empty": "Empty",
15
+ "alerts.error": "Error",
16
+ "alerts.errorSave": "Couldn’t save",
17
+ "alerts.flash.sendFail": "Couldn’t send the reaction.",
18
+ "alerts.gallery": "Gallery",
19
+ "alerts.genericFail": "Couldn’t complete the action.",
20
+ "alerts.genericRetry": "Couldn’t finish. Try again.",
21
+ "alerts.invalidExamDate": "Invalid last exam date. Use DD/MM/YYYY.",
22
+ "alerts.limit": "Limit",
23
+ "alerts.location": "Location",
24
+ "alerts.mic": "Microphone",
25
+ "alerts.ops": "Oops",
26
+ "alerts.photoPick": "Couldn’t pick photo",
27
+ "alerts.photoUpload": "Couldn’t upload photo",
28
+ "alerts.pinInvalid": "Invalid PIN. Use at least 4 digits.",
29
+ "alerts.report": "Report",
30
+ "alerts.report.already": "You already reported this profile in the last 24 hours.",
31
+ "alerts.report.chooseReason": "Choose a report reason.",
32
+ "alerts.report.needLogin": "Sign in to report.",
33
+ "alerts.report.writeSummary": "Write a short summary of what happened.",
34
+ "alerts.soon": "Coming soon",
35
+ "alerts.soonFeature": "{feature} isn’t available yet.",
36
+ "alerts.tryAgain": "Try again.",
37
+ "alerts.unavailable": "Unavailable",
38
+ "alerts.wait": "Please wait",
39
+ "alerts.yourHandle": "Your @"
40
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "auth.common.back": "Back",
3
+ "auth.locale.changeA11y": "Change language",
4
+ "auth.locale.currentA11y": "Current language: {label}",
5
+ "auth.login.createAccount": "Create account",
6
+ "auth.login.email": "Email",
7
+ "auth.login.errorTitle": "Sign-in error",
8
+ "auth.login.fillAlert": "Enter email and password.",
9
+ "auth.login.fillHint": "Enter email and password to continue",
10
+ "auth.login.googleFail": "Couldn’t sign in with Google.",
11
+ "auth.login.noAccount": "Don’t have an account?",
12
+ "auth.login.orContinue": "or continue with",
13
+ "auth.login.password": "Password",
14
+ "auth.login.ready": "Ready to sign in",
15
+ "auth.login.submit": "Sign in",
16
+ "auth.login.subtitle": "Sign in to keep hunting nearby",
17
+ "auth.login.supabaseMissing": "Supabase isn’t configured. Set the environment variables.",
18
+ "auth.login.title": "Welcome back",
19
+ "auth.login.validating": "Validating your account…",
20
+ "auth.signup.acceptCheck": "I have read and accept the Terms of Service and Privacy Policy",
21
+ "auth.signup.acceptContinue": "Accept and continue",
22
+ "auth.signup.ageBanner": "You must be 18 or older to use Proulr.",
23
+ "auth.signup.birthPlaceholder": "Date of birth (DD/MM/YYYY)",
24
+ "auth.signup.confirmEmailBody": "We sent a confirmation link. Open the email to activate your account.",
25
+ "auth.signup.confirmEmailTitle": "Confirm your email",
26
+ "auth.signup.confirmPassword": "Confirm password",
27
+ "auth.signup.create": "Create account",
28
+ "auth.signup.e2eFooter": "Your messages are protected with end-to-end encryption.",
29
+ "auth.signup.errorTitle": "Account creation error",
30
+ "auth.signup.formSubtitle": "You’re creating a Proulr account",
31
+ "auth.signup.formTitle": "Your account",
32
+ "auth.signup.googleFail": "Couldn’t create an account with Google.",
33
+ "auth.signup.hasAccount": "Already have an account?",
34
+ "auth.signup.invalidBirth": "Invalid date of birth.",
35
+ "auth.signup.legalFooter": "By creating an account you agree to the Terms and Privacy Policy.",
36
+ "auth.signup.passwordMin": "Password (min. 6)",
37
+ "auth.signup.policiesBody": "Proulr is for adults 18+. By continuing, you confirm you’ve read and accept our Terms and Privacy Policy.",
38
+ "auth.signup.policiesSubtitle": "We need your consent to continue",
39
+ "auth.signup.policiesTitle": "Read our policies",
40
+ "auth.signup.readDoc": "Read",
41
+ "auth.signup.validIncomplete": "Fill in all fields to continue",
42
+ "auth.signup.validReady": "All set — you can create your account",
43
+ "auth.welcome.createAccount": "Create account",
44
+ "auth.welcome.heroCaption": "Join the night hunt",
45
+ "auth.welcome.signIn": "Sign in"
46
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "chat.empty.chats.title": "No conversations yet.",
3
+ "chat.empty.flashes.hint": "Reactions and interest signals show up here.",
4
+ "chat.empty.flashes.title": "No Flashes yet",
5
+ "chat.empty.visits.hint": "When someone opens your profile, they’ll show up here.",
6
+ "chat.empty.visits.title": "No one viewed your profile in the last 24h",
7
+ "chat.fab.closed": "Create in Chat",
8
+ "chat.fab.newGroup": "New group",
9
+ "chat.filter.all": "All",
10
+ "chat.filter.nearby": "Nearby",
11
+ "chat.filter.online": "Online",
12
+ "chat.filter.sent": "Sent",
13
+ "chat.filter.unread": "Unread",
14
+ "chat.invite.subtitle": "Joining the group",
15
+ "chat.invite.title": "Invite",
16
+ "chat.search.placeholder": "Search chats…",
17
+ "chat.segment.chats": "Chats",
18
+ "chat.segment.flashes": "Flashes",
19
+ "chat.segment.visits": "Visits",
20
+ "chat.thread.fallbackGroup": "Group",
21
+ "chat.thread.fallbackName": "Conversation"
22
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "common.active": "Active",
3
+ "common.app": "App",
4
+ "common.attention": "Attention",
5
+ "common.cancel": "Cancel",
6
+ "common.chat": "Chat",
7
+ "common.chats": "Chats",
8
+ "common.confirm": "Confirm",
9
+ "common.error": "Error",
10
+ "common.flashes": "Flashes",
11
+ "common.general": "General",
12
+ "common.huntConnectDiscover": "Hunt · Connect · Discover",
13
+ "common.id": "ID",
14
+ "common.media": "Media",
15
+ "common.notifications": "Notifications",
16
+ "common.ops": "Oops",
17
+ "common.options": "Options",
18
+ "common.privacy": "Privacy",
19
+ "common.save": "Save",
20
+ "common.saved": "Saved",
21
+ "common.security": "Security",
22
+ "common.social": "Social",
23
+ "common.soon": "Coming soon",
24
+ "common.support": "Support",
25
+ "common.tagline": "Proulr — Hunt · Connect · Discover",
26
+ "common.tryAgain": "Try again.",
27
+ "common.version": "Version"
28
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "discover.browse.defaultLabel": "Selected region",
3
+ "discover.browse.subtitle": "Choose a region to hunt",
4
+ "discover.empty.creators": "No creators nearby right now.",
5
+ "discover.empty.default": "No one nearby yet.",
6
+ "discover.empty.online": "No one online nearby right now.",
7
+ "discover.empty.position": "No one with position \"{position}\" nearby. Refresh or change the filter.",
8
+ "discover.empty.title": "No one nearby",
9
+ "discover.endRegion.body": "You’ve seen the closest profiles. Turn on Hunt to explore other cities without changing your real location.",
10
+ "discover.endRegion.cta": "Hunt in another region",
11
+ "discover.endRegion.title": "You’ve reached the end of this area",
12
+ "discover.filter.all": "All",
13
+ "discover.filter.creators": "Creators",
14
+ "discover.filter.online": "Online Now",
15
+ "discover.filter.position": "Position",
16
+ "discover.hideDistance.body": "While this is on, you won’t see the nearby people grid.",
17
+ "discover.hideDistance.openSettings": "Open settings",
18
+ "discover.hideDistance.title": "You hid your distance",
19
+ "discover.hunt.activeBody": "You’re seeing who’s in {region}. No one there sees you — your real location didn’t change.",
20
+ "discover.hunt.activeTitle": "Hunt mode active",
21
+ "discover.hunt.changeRegion": "Change region",
22
+ "discover.hunt.otherRegion": "another region",
23
+ "discover.hunt.useMyLocation": "Use my location",
24
+ "discover.position.ativo": "Top",
25
+ "discover.position.passivo": "Bottom",
26
+ "discover.position.preferNot": "Prefer not to say",
27
+ "discover.position.versatil": "Versatile",
28
+ "discover.position.versatilAtivo": "Versatile-top",
29
+ "discover.position.versatilPassivo": "Versatile-bottom",
30
+ "discover.subtitle.huntingIn": "Hunting in {label}",
31
+ "discover.subtitle.huntingOther": "Hunting in another region",
32
+ "discover.subtitle.nearby": "Nearby encounters"
33
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "flash.deprecated.subtitle": "Moved to chat-bff",
3
+ "flash.deprecated.title": "Flashes",
4
+ "flash.msg.chat": "wants to chat",
5
+ "flash.msg.eyes": "has their eye on you",
6
+ "flash.msg.fire": "thinks you’re hot",
7
+ "flash.msg.flash": "sent you a Flash",
8
+ "flash.msg.heart": "liked you",
9
+ "flash.msg.wave": "said hi",
10
+ "flash.reaction.chat": "Chat",
11
+ "flash.reaction.eyes": "Interested",
12
+ "flash.reaction.fire": "Hot",
13
+ "flash.reaction.flash": "Flash",
14
+ "flash.reaction.heart": "Liked",
15
+ "flash.reaction.wave": "Hi"
16
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "report.harassment": "Harassment",
3
+ "report.harassment.hint": "Threats, humiliation, or abusive behavior",
4
+ "report.illegal": "Illegal content",
5
+ "report.illegal.hint": "Illegal material or content that breaks the law",
6
+ "report.other": "Other",
7
+ "report.other.hint": "Other — describe in the summary",
8
+ "report.spam": "Spam",
9
+ "report.spam.hint": "Ads, suspicious links, or repeated messages"
10
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "profile.albums.subtitle": "Private photo and video collections",
3
+ "profile.albums.title": "My albums",
4
+ "profile.completion.banner": "Complete your profile to show up more",
5
+ "profile.completion.cta": "Complete profile",
6
+ "profile.completion.gateLater": "Do it later and start using",
7
+ "profile.completion.gateNow": "Complete now",
8
+ "profile.completion.gateTitle": "Complete your profile for more reach",
9
+ "profile.completion.reminderBody": "Complete profiles show up more in Hunt and get more Flashes.",
10
+ "profile.completion.reminderTitle": "Complete your profile",
11
+ "profile.handle.invalidFormat": "Your @ must be 3–30 characters (lowercase letters, numbers, and _).",
12
+ "profile.handle.rateLimited": "You can only change your @ every 30 days.",
13
+ "profile.handle.reserved": "That @ is reserved and can’t be used.",
14
+ "profile.handle.taken": "That @ is already taken.",
15
+ "profile.onboarding.corpo.interstitial": "Let’s talk about relationships.",
16
+ "profile.onboarding.corpo.subtitle": "Height, weight, ethnicity, build, and body hair.",
17
+ "profile.onboarding.corpo.title": "Your body",
18
+ "profile.onboarding.fotos.interstitial": "Next, tell us what you’re looking for.",
19
+ "profile.onboarding.fotos.subtitle": "Add your photos. The first one is your main photo.",
20
+ "profile.onboarding.fotos.title": "Show who you are",
21
+ "profile.onboarding.identidade.interstitial": "Next, let’s add your photos.",
22
+ "profile.onboarding.identidade.subtitle": "Choose your name and @.",
23
+ "profile.onboarding.identidade.title": "What should we call you?",
24
+ "profile.onboarding.interesses.interstitial": "Next, a few health details.",
25
+ "profile.onboarding.interesses.subtitle": "Interests, tags, and communities.",
26
+ "profile.onboarding.interesses.title": "Interests",
27
+ "profile.onboarding.link_viagem.interstitial": "All set to start using Proulr!",
28
+ "profile.onboarding.link_viagem.subtitle": "Your external link and travel plans.",
29
+ "profile.onboarding.link_viagem.title": "Link and travel",
30
+ "profile.onboarding.preferencias.interstitial": "Nice! Let’s flesh out your profile.",
31
+ "profile.onboarding.preferencias.subtitle": "Gender, looking for, and position.",
32
+ "profile.onboarding.preferencias.title": "What are you looking for?",
33
+ "profile.onboarding.redes.interstitial": "Finally, your link and travel mode.",
34
+ "profile.onboarding.redes.subtitle": "Connect your social profiles.",
35
+ "profile.onboarding.redes.title": "Social networks",
36
+ "profile.onboarding.relacionamento.interstitial": "Tell us about your interests.",
37
+ "profile.onboarding.relacionamento.subtitle": "Status, partnership, and where you like to meet.",
38
+ "profile.onboarding.relacionamento.title": "Relationship",
39
+ "profile.onboarding.saude.interstitial": "Let’s add your social links.",
40
+ "profile.onboarding.saude.subtitle": "HIV, precautions, vaccines, and practices.",
41
+ "profile.onboarding.saude.title": "Health",
42
+ "profile.onboarding.sobre.interstitial": "Next, a few details about your body.",
43
+ "profile.onboarding.sobre.subtitle": "A short bio, what you do, and where you live.",
44
+ "profile.onboarding.sobre.title": "About you",
45
+ "profile.photo.add": "Add photo",
46
+ "profile.photo.addPromptBody": "Profiles with a photo get many more Flashes.",
47
+ "profile.photo.addPromptTitle": "How about a photo?",
48
+ "profile.photo.continueWithout": "Continue without a photo",
49
+ "profile.photo.huntTitle": "Hunt photo",
50
+ "profile.photo.vibesTitle": "Vibes photo",
51
+ "profile.ui.customVibesHint": "The rest of your profile stays the same in both modes.",
52
+ "profile.ui.customVibesToggle": "Use a different photo and name on Vibes",
53
+ "profile.ui.editTitle": "Edit profile",
54
+ "profile.ui.handleLabel": "YOUR @",
55
+ "profile.ui.modeHunt": "Hunt mode",
56
+ "profile.ui.modeVibes": "Vibes mode",
57
+ "profile.ui.myProfile": "My profile",
58
+ "profile.ui.nameLabel": "YOUR NAME",
59
+ "profile.ui.photosHint": "The first photo is your main profile photo.",
60
+ "profile.ui.photosTitle": "Photos",
61
+ "profile.ui.save": "Save profile",
62
+ "profile.ui.vibesName": "VIBES NAME",
63
+ "profile.ui.vibesPhoto": "VIBES PHOTO",
64
+ "profile.ui.vibesPhotoHint": "Shows next to your @ on Vibes posts."
65
+ }
@@ -0,0 +1,201 @@
1
+ {
2
+ "settings.appPreferences.subtitle": "General, chat, photos and notifications",
3
+ "settings.appPreferences.title": "App preferences",
4
+ "settings.chat.noAutocomplete": "No autocomplete suggestions",
5
+ "settings.chat.returnKeySends": "Return key sends message",
6
+ "settings.chat.savedPhrases": "Saved phrases",
7
+ "settings.distanceUnits.title": "Distance units",
8
+ "settings.language.navSubtitle": "How app text is displayed",
9
+ "settings.language.navTitle": "Language",
10
+ "settings.language.optionEn": "English",
11
+ "settings.language.optionPtBr": "Português (Brasil)",
12
+ "settings.language.optionSystem": "System",
13
+ "settings.language.subtitle": "App text language",
14
+ "settings.language.title": "Language",
15
+ "settings.media.keepAwake": "Keep screen awake",
16
+ "settings.media.uploadQuality": "Upload quality",
17
+ "settings.notifications.adjustments": "Sounds, vibration and categories",
18
+ "settings.notifications.disablePush": "Disable push",
19
+ "settings.notifications.navTitle": "Notification settings",
20
+ "settings.section.chat": "Chat",
21
+ "settings.section.general": "General",
22
+ "settings.section.media": "Media & display",
23
+ "settings.section.notifications": "Notifications",
24
+ "shell.about.build": "Build",
25
+ "shell.about.followIg": "Follow on Instagram",
26
+ "shell.about.followX": "Follow on X",
27
+ "shell.about.guidelines": "Profile guidelines",
28
+ "shell.about.section.app": "App",
29
+ "shell.about.section.social": "Social",
30
+ "shell.about.section.terms": "Terms & policies",
31
+ "shell.about.title": "About",
32
+ "shell.consent.ads": "Personalized ads",
33
+ "shell.consent.ads.hint": "When we enable ads, we’ll honor this choice",
34
+ "shell.consent.analytics": "Usage analytics",
35
+ "shell.consent.analytics.hint": "Helps improve stability and performance",
36
+ "shell.consent.banner": "Control how Proulr uses data for ads and metrics. We don’t show third-party ads in the MVP, but you can set preferences early.",
37
+ "shell.consent.subtitle": "Privacy and ads preferences",
38
+ "shell.consent.title": "Consent center",
39
+ "shell.deactivate.banner": "Need help before you leave? Our team can help with privacy, blocks, and account recovery.",
40
+ "shell.deactivate.contactSupport": "Contact support",
41
+ "shell.deactivate.contactSupport.hint": "Help with account, blocks, and safety",
42
+ "shell.deactivate.deleteAccount": "Delete account",
43
+ "shell.deactivate.deleteAccount.hint": "Deactivates the account and starts data removal",
44
+ "shell.deactivate.signOutDevice": "Sign out of this device",
45
+ "shell.deactivate.signOutDevice.hint": "Ends only the local session",
46
+ "shell.deactivate.signOutNow": "Sign out now",
47
+ "shell.deactivate.subtitle": "Support, sign out, or delete",
48
+ "shell.deactivate.title": "Deactivate account",
49
+ "shell.dnd.clear": "Clear snooze",
50
+ "shell.dnd.quietHours": "Quiet hours",
51
+ "shell.dnd.quietHours.hint": "Uses default 10:00 PM–8:00 AM",
52
+ "shell.dnd.quietHoursToggle": "Enable quiet hours",
53
+ "shell.dnd.snooze": "Snooze",
54
+ "shell.dnd.snooze1h": "1 hour",
55
+ "shell.dnd.snooze8h": "8 hours",
56
+ "shell.dnd.subtitle": "Snooze or mute by schedule",
57
+ "shell.dnd.title": "Do not disturb",
58
+ "shell.dnd.untilTomorrow": "Until tomorrow",
59
+ "shell.drawer.boost": "Boost",
60
+ "shell.drawer.communities": "Communities",
61
+ "shell.drawer.editProfile": "Edit profile",
62
+ "shell.drawer.events": "Events",
63
+ "shell.drawer.hunt": "Hunt",
64
+ "shell.drawer.incognito": "Incognito mode",
65
+ "shell.drawer.lists": "Lists",
66
+ "shell.drawer.menu": "Menu",
67
+ "shell.drawer.myAlbums": "My albums",
68
+ "shell.drawer.myProfile": "My profile",
69
+ "shell.drawer.premium": "Premium",
70
+ "shell.drawer.rightNow": "Right Now",
71
+ "shell.drawer.safety": "Safety center",
72
+ "shell.drawer.saved": "Saved items",
73
+ "shell.drawer.signOut": "Sign out",
74
+ "shell.language.en": "English",
75
+ "shell.language.en.hint": "App text in English",
76
+ "shell.language.ptBr": "Português (Brasil)",
77
+ "shell.language.ptBr.hint": "Text in Brazilian Portuguese",
78
+ "shell.language.subtitle": "App text language",
79
+ "shell.language.system": "System",
80
+ "shell.language.system.hint": "Follows device language",
81
+ "shell.language.title": "Language",
82
+ "shell.notif.appSounds": "In-app sounds",
83
+ "shell.notif.appVibrations": "In-app vibration",
84
+ "shell.notif.disablePush": "Disable all push",
85
+ "shell.notif.dnd.subtitle": "Snooze or mute by schedule",
86
+ "shell.notif.inApp": "In app",
87
+ "shell.notif.inAppAlerts": "In-app alerts",
88
+ "shell.notif.inAppAlerts.hint": "Toasts and banners while the app is open",
89
+ "shell.notif.openSystem": "Open system settings",
90
+ "shell.notif.openSystem.hint": "Device notification permission and channels",
91
+ "shell.notif.pushProulr": "Proulr push",
92
+ "shell.notif.schedules": "Schedules",
93
+ "shell.notif.subtitle": "Push alerts, sounds, and vibration",
94
+ "shell.notif.systemMgmt": "System management",
95
+ "shell.notif.title": "Notifications",
96
+ "shell.prefs.distanceUnits": "Distance units",
97
+ "shell.prefs.distanceUnits.hint": "Metric, imperial, or system",
98
+ "shell.prefs.keepAwake": "Keep screen awake",
99
+ "shell.prefs.noAutocorrect": "Disable autocorrect",
100
+ "shell.prefs.notif.hint": "Push, sounds, and vibration",
101
+ "shell.prefs.returnKeySends": "Return key sends message",
102
+ "shell.prefs.savedPhrases": "Saved phrases",
103
+ "shell.prefs.savedPhrases.hint": "Shortcuts in the chat composer",
104
+ "shell.prefs.subtitle": "Units, language, chat, and media",
105
+ "shell.prefs.title": "Preferences",
106
+ "shell.prefs.uploadQuality": "Upload quality",
107
+ "shell.privacy.appLock": "Startup lock",
108
+ "shell.privacy.appLock.hint": "PIN or biometrics when opening the app",
109
+ "shell.privacy.disablePersonalization": "Disable personalized recommendations",
110
+ "shell.privacy.discover": "Discover",
111
+ "shell.privacy.discreetIcon": "Discreet icon",
112
+ "shell.privacy.discreetIcon.hint": "Switch home-screen icon",
113
+ "shell.privacy.dnd.subtitle": "Mute by schedule or snooze",
114
+ "shell.privacy.hideAge": "Hide age",
115
+ "shell.privacy.hideDistance": "Hide distance",
116
+ "shell.privacy.hideDistance.hint": "You’re removed from the grid and can’t see nearby people",
117
+ "shell.privacy.hideFromDiscover": "Hide profile from Global grid",
118
+ "shell.privacy.hideFromDiscover.hint": "You stop appearing in Discover",
119
+ "shell.privacy.hidePosition": "Hide position",
120
+ "shell.privacy.hidePreview": "Hide notification preview",
121
+ "shell.privacy.hidePreview.hint": "Shows alerts without message content",
122
+ "shell.privacy.hideReadReceipts": "Hide read receipts",
123
+ "shell.privacy.hideTribes": "Hide tribes",
124
+ "shell.privacy.limitData": "Limit data",
125
+ "shell.privacy.limitPersonal": "Limit personal details",
126
+ "shell.privacy.notifAlerts": "Notifications and alerts",
127
+ "shell.privacy.sensitive": "Sensitive content",
128
+ "shell.privacy.sensitiveFilter": "Sensitive content filter",
129
+ "shell.privacy.sensitiveFilter.hint": "Hides explicit media in grids",
130
+ "shell.privacy.showHealth": "Show health status",
131
+ "shell.privacy.subtitle": "Control what others see and receive",
132
+ "shell.privacy.title": "Privacy",
133
+ "shell.privacy.travelIndicator": "Travel indicator",
134
+ "shell.privacy.visibility": "Visibility",
135
+ "shell.quality.adaptive": "Adaptive",
136
+ "shell.quality.maximum": "Maximum",
137
+ "shell.quality.thumbnail": "Thumbnail",
138
+ "shell.safety.blockReport.subtitle": "How to block and report someone",
139
+ "shell.safety.blockReport.title": "Blocking and reports",
140
+ "shell.safety.community.subtitle": "Community rules on Proulr",
141
+ "shell.safety.communityGuidelines": "Community guidelines",
142
+ "shell.safety.consent.subtitle": "Respect and boundaries in chats",
143
+ "shell.safety.consent.title": "Consent",
144
+ "shell.safety.dataAccess.subtitle": "Export and privacy (LGPD)",
145
+ "shell.safety.dataAccess.title": "Access your data",
146
+ "shell.safety.getHelp": "Get help",
147
+ "shell.safety.getHelp.hint": "Talk to support",
148
+ "shell.safety.location.subtitle": "How we use your location",
149
+ "shell.safety.location.title": "Location",
150
+ "shell.safety.meeting.subtitle": "Tips for safer meetups",
151
+ "shell.safety.meeting.title": "Meeting safety",
152
+ "shell.safety.privacySettings.subtitle": "Control what others see",
153
+ "shell.safety.privacySettings.title": "Privacy settings",
154
+ "shell.safety.quickHelp": "Quick help",
155
+ "shell.safety.scams.subtitle": "How to spot suspicious profiles",
156
+ "shell.safety.scams.title": "Scams and harassment",
157
+ "shell.safety.section.privacy": "Privacy",
158
+ "shell.safety.section.safety": "Safety",
159
+ "shell.safety.subtitle": "Guides, help, and privacy",
160
+ "shell.safety.title": "Safety center",
161
+ "shell.settings.aboutProulr": "About Proulr",
162
+ "shell.settings.appIcon": "App icon",
163
+ "shell.settings.appLock": "App lock",
164
+ "shell.settings.blockedHidden": "Blocked & hidden",
165
+ "shell.settings.deactivate": "Deactivate account",
166
+ "shell.settings.device": "Device",
167
+ "shell.settings.dnd": "Do not disturb",
168
+ "shell.settings.downloadData": "Download data",
169
+ "shell.settings.editProfile": "Edit profile",
170
+ "shell.settings.editProfile.subtitle": "Update your information",
171
+ "shell.settings.email": "Email",
172
+ "shell.settings.muted": "Muted",
173
+ "shell.settings.preferences": "Preferences",
174
+ "shell.settings.privacy": "Privacy",
175
+ "shell.settings.privacyPolicy": "Privacy Policy",
176
+ "shell.settings.push.message": "Enable to get Flashes and messages in your tray.",
177
+ "shell.settings.push.title": "Push notifications",
178
+ "shell.settings.safetyCenter": "Safety center",
179
+ "shell.settings.section.account": "Account",
180
+ "shell.settings.sessions": "Sessions",
181
+ "shell.settings.signOut": "Sign out",
182
+ "shell.settings.subscriptions": "Subscriptions",
183
+ "shell.settings.subscriptions.subtitle": "Plans and benefits",
184
+ "shell.settings.support": "Support",
185
+ "shell.settings.terms": "Terms of Service",
186
+ "shell.settings.title": "Settings",
187
+ "shell.settings.version": "Version",
188
+ "shell.soon.feature": "{label} will be available soon.",
189
+ "shell.tab.chat": "Chat",
190
+ "shell.tab.discover": "Hunt",
191
+ "shell.tab.vibes": "Vibes",
192
+ "shell.units.distance": "Distance",
193
+ "shell.units.imperial": "Imperial",
194
+ "shell.units.imperial.hint": "Miles and feet",
195
+ "shell.units.metric": "Metric",
196
+ "shell.units.metric.hint": "Kilometers and centimeters",
197
+ "shell.units.subtitle": "How distances are shown",
198
+ "shell.units.system": "System",
199
+ "shell.units.system.hint": "Follows device language",
200
+ "shell.units.title": "Units"
201
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "social.fab.photos": "Photos",
3
+ "social.fab.publish": "Post",
4
+ "social.fab.story": "Story",
5
+ "social.feed.fab": "Create in Feed",
6
+ "social.feed.subtitle": "Community posts",
7
+ "social.feed.title": "Feed",
8
+ "social.saved.title": "Saved items",
9
+ "social.vibes.fab": "Create in Vibes",
10
+ "social.vibes.subtitle": "What the community is saying",
11
+ "social.vibes.title": "Vibes"
12
+ }
@@ -0,0 +1,40 @@
1
+ {
2
+ "alerts.age18": "Você precisa ter 18 anos ou mais.",
3
+ "alerts.attention": "Atenção",
4
+ "alerts.block": "Bloquear",
5
+ "alerts.camera": "Erro na câmera",
6
+ "alerts.couldNotAddTrip": "Não foi possível adicionar a viagem.",
7
+ "alerts.couldNotComplete": "Não foi possível concluir",
8
+ "alerts.couldNotRemove": "Não foi possível remover.",
9
+ "alerts.couldNotRemoveTrip": "Não foi possível remover a viagem.",
10
+ "alerts.couldNotSave": "Não foi possível salvar.",
11
+ "alerts.couldNotSaveNetworks": "Não foi possível salvar as redes.",
12
+ "alerts.crop": "Erro ao cortar",
13
+ "alerts.displayNameRequired": "Informe um nome de exibição.",
14
+ "alerts.empty": "Vazio",
15
+ "alerts.error": "Erro",
16
+ "alerts.errorSave": "Erro ao salvar",
17
+ "alerts.flash.sendFail": "Não foi possível enviar a reação.",
18
+ "alerts.gallery": "Galeria",
19
+ "alerts.genericFail": "Não foi possível concluir a ação.",
20
+ "alerts.genericRetry": "Não foi possível concluir. Tente novamente.",
21
+ "alerts.invalidExamDate": "Data do último exame inválida. Use o formato DD/MM/AAAA.",
22
+ "alerts.limit": "Limite",
23
+ "alerts.location": "Localização",
24
+ "alerts.mic": "Microfone",
25
+ "alerts.ops": "Ops",
26
+ "alerts.photoPick": "Erro ao escolher foto",
27
+ "alerts.photoUpload": "Erro ao enviar foto",
28
+ "alerts.pinInvalid": "PIN inválido. Use pelo menos 4 dígitos.",
29
+ "alerts.report": "Denúncia",
30
+ "alerts.report.already": "Você já denunciou este perfil nas últimas 24 horas.",
31
+ "alerts.report.chooseReason": "Escolha o motivo da denúncia.",
32
+ "alerts.report.needLogin": "Faça login para denunciar.",
33
+ "alerts.report.writeSummary": "Escreva um breve resumo do que aconteceu.",
34
+ "alerts.soon": "Em breve",
35
+ "alerts.soonFeature": "{feature} ainda não está disponível.",
36
+ "alerts.tryAgain": "Tente novamente.",
37
+ "alerts.unavailable": "Indisponível",
38
+ "alerts.wait": "Aguarde",
39
+ "alerts.yourHandle": "Seu @"
40
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "auth.common.back": "Voltar",
3
+ "auth.locale.changeA11y": "Alterar idioma",
4
+ "auth.locale.currentA11y": "Idioma atual: {label}",
5
+ "auth.login.createAccount": "Criar conta",
6
+ "auth.login.email": "E-mail",
7
+ "auth.login.errorTitle": "Erro ao entrar",
8
+ "auth.login.fillAlert": "Preencha e-mail e senha.",
9
+ "auth.login.fillHint": "Preencha e-mail e senha para continuar",
10
+ "auth.login.googleFail": "Não foi possível entrar com Google.",
11
+ "auth.login.noAccount": "Não tem conta?",
12
+ "auth.login.orContinue": "ou continue com",
13
+ "auth.login.password": "Senha",
14
+ "auth.login.ready": "Pronto para entrar",
15
+ "auth.login.submit": "Entrar",
16
+ "auth.login.subtitle": "Entre para continuar caçando por perto",
17
+ "auth.login.supabaseMissing": "Supabase não configurado. Defina as variáveis de ambiente.",
18
+ "auth.login.title": "Bem-vindo de volta",
19
+ "auth.login.validating": "Validando sua conta…",
20
+ "auth.signup.acceptCheck": "Li e aceito os Termos de Serviço e a Política de Privacidade",
21
+ "auth.signup.acceptContinue": "Aceitar e continuar",
22
+ "auth.signup.ageBanner": "Você precisa ter 18 anos ou mais para usar o Proulr.",
23
+ "auth.signup.birthPlaceholder": "Data de nascimento (DD/MM/AAAA)",
24
+ "auth.signup.confirmEmailBody": "Enviamos um link de confirmação. Abra o e-mail para ativar sua conta.",
25
+ "auth.signup.confirmEmailTitle": "Confirme seu e-mail",
26
+ "auth.signup.confirmPassword": "Confirmar senha",
27
+ "auth.signup.create": "Criar conta",
28
+ "auth.signup.e2eFooter": "Suas mensagens são protegidas com criptografia de ponta a ponta.",
29
+ "auth.signup.errorTitle": "Erro ao criar conta",
30
+ "auth.signup.formSubtitle": "Você está criando uma conta no Proulr",
31
+ "auth.signup.formTitle": "Sua conta",
32
+ "auth.signup.googleFail": "Não foi possível criar conta com Google.",
33
+ "auth.signup.hasAccount": "Já tem conta?",
34
+ "auth.signup.invalidBirth": "Data de nascimento inválida.",
35
+ "auth.signup.legalFooter": "Ao criar uma conta você concorda com os Termos e a Política de Privacidade.",
36
+ "auth.signup.passwordMin": "Senha (mín. 6)",
37
+ "auth.signup.policiesBody": "O Proulr é para maiores de 18 anos. Ao continuar, você confirma que leu e aceita nossos Termos e a Política de Privacidade.",
38
+ "auth.signup.policiesSubtitle": "Precisamos do seu consentimento para continuar",
39
+ "auth.signup.policiesTitle": "Leia nossas políticas",
40
+ "auth.signup.readDoc": "Ler",
41
+ "auth.signup.validIncomplete": "Preencha todos os campos para continuar",
42
+ "auth.signup.validReady": "Tudo certo — pode criar sua conta",
43
+ "auth.welcome.createAccount": "Criar conta",
44
+ "auth.welcome.heroCaption": "Entre na caçada noturna",
45
+ "auth.welcome.signIn": "Entrar"
46
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "chat.empty.chats.title": "Nenhuma conversa ainda.",
3
+ "chat.empty.flashes.hint": "Reações e sinais de interesse aparecem aqui.",
4
+ "chat.empty.flashes.title": "Nenhum Flash ainda",
5
+ "chat.empty.visits.hint": "Quando alguém abrir seu perfil, aparece aqui.",
6
+ "chat.empty.visits.title": "Ninguém visualizou seu perfil nas últimas 24h",
7
+ "chat.fab.closed": "Criar no Chat",
8
+ "chat.fab.newGroup": "Novo grupo",
9
+ "chat.filter.all": "Todas",
10
+ "chat.filter.nearby": "Próximos",
11
+ "chat.filter.online": "Online",
12
+ "chat.filter.sent": "Enviadas",
13
+ "chat.filter.unread": "Não lidas",
14
+ "chat.invite.subtitle": "Entrando no grupo",
15
+ "chat.invite.title": "Convite",
16
+ "chat.search.placeholder": "Buscar conversas…",
17
+ "chat.segment.chats": "Chats",
18
+ "chat.segment.flashes": "Flashes",
19
+ "chat.segment.visits": "Visitas",
20
+ "chat.thread.fallbackGroup": "Grupo",
21
+ "chat.thread.fallbackName": "Conversa"
22
+ }