mirror of
https://github.com/sky-systems/sky_phone.git
synced 2026-08-28 23:01:37 +00:00
2005 lines
187 KiB
Lua
2005 lines
187 KiB
Lua
Locales["en"] = {
|
||
CommandDescription = "Open your phone.",
|
||
Controls = {
|
||
OpenPhone = "Open phone",
|
||
},
|
||
TestData = {
|
||
CommandDescription = "Create or refresh test content in every data-driven phone app.",
|
||
Success = "Test content is ready. Your Sky Cloud login is {email}. Reopen the phone to refresh every app.",
|
||
Failed = "Test content could not be created. Check the server console for details.",
|
||
},
|
||
FlipTokCommand = {
|
||
usage = "Usage: /{command} <@handle> [on|off]",
|
||
noPermission = "You do not have permission to manage FlipTok verification.",
|
||
notFound = "FlipTok profile @{handle} was not found.",
|
||
updated = "FlipTok @{handle} is now {state}.",
|
||
verified = "verified",
|
||
unverified = "unverified",
|
||
},
|
||
PicstagramCommand = {
|
||
usage = "Usage: /{command} <@handle> <on|off>",
|
||
noPermission = "You do not have permission to manage Picstagram verification.",
|
||
notFound = "Picstagram profile @{handle} was not found.",
|
||
updated = "Picstagram @{handle} is now {state}.",
|
||
verified = "verified",
|
||
unverified = "unverified",
|
||
},
|
||
DeviceErrors = {
|
||
phone_slot_missing = "The used phone could not be identified. Make sure phones are not stacked.",
|
||
phone_stacked = "Phones cannot be stacked.",
|
||
invalid_imei = "This phone has invalid IMEI metadata.",
|
||
metadata_unsupported = "The configured inventory cannot store unique phone metadata.",
|
||
player_unavailable = "Your character identity is not available.",
|
||
sim_slot_missing = "The used SIM card could not be identified.",
|
||
sim_stacked = "SIM cards cannot be stacked.",
|
||
invalid_sim = "This SIM card has invalid metadata.",
|
||
phone_required = "You need a phone in your inventory.",
|
||
operation_in_progress = "Another phone operation is already in progress.",
|
||
voice_unavailable = "The configured phone voice service is unavailable.",
|
||
default = "The phone could not be opened.",
|
||
},
|
||
Payphone = {
|
||
Interact = "Use the payphone.",
|
||
RingingHelp = "Calling {number}... | Hang up",
|
||
ConnectedHelp = "Connected to {number} | {duration} | {currency}{cost} | Hang up",
|
||
},
|
||
Nui = {
|
||
Payphone = {
|
||
title = "LOS SANTOS PAYPHONE",
|
||
subtitle = "PUBLIC TELEPHONE",
|
||
numberLabel = "NUMBER TO CALL",
|
||
numberPlaceholder = "Enter a phone number",
|
||
rate = "{currency}{price} / SEC",
|
||
ready = "READY",
|
||
dialing = "DIALING",
|
||
ringing = "RINGING",
|
||
connected = "CONNECTED",
|
||
callEnded = "CALL ENDED",
|
||
unavailable = "NUMBER UNAVAILABLE",
|
||
busy = "LINE BUSY",
|
||
noAnswer = "NO ANSWER",
|
||
declined = "CALL DECLINED",
|
||
disconnected = "DISCONNECTED",
|
||
insufficientFunds = "OUT OF MONEY",
|
||
invalidNumber = "ENTER A VALID NUMBER",
|
||
requestFailed = "CALL COULD NOT BE STARTED",
|
||
voiceUnavailable = "VOICE SERVICE UNAVAILABLE",
|
||
call = "CALL",
|
||
hangup = "HANG UP",
|
||
close = "Close payphone",
|
||
delete = "Delete digit",
|
||
clear = "Clear number",
|
||
keypad = "Dial pad",
|
||
elapsed = "TIME",
|
||
cost = "COST",
|
||
},
|
||
Setup = {
|
||
title = "Sky Phone Setup Assistant", ownerFallback = "Sky Phone Owner", getStarted = "Get Started", setUpLater = "Set Up Later",
|
||
development = { skip = "Skip setup" },
|
||
welcome = { title = "Welcome to Sky Phone", eyebrow = "Designed around you", hello = "hello", hallo = "hallo", bonjour = "bonjour", body = "Hello, {name}. Let's make this phone unmistakably yours.", private = "Private by design", personal = "Made for you" },
|
||
connection = {
|
||
eyebrow = "Mobile Connection", title = "Your connection is ready", body = "Sky Phone automatically detects the SIM installed in this device.",
|
||
noSim = "No SIM installed", ready = "Connected to the Sky network", offline = "Phone works offline; calls and messages require a SIM",
|
||
preserved = "Your SIM number and SIM-backed conversations remain with the SIM, even if this phone is erased.",
|
||
},
|
||
cloud = {
|
||
eyebrow = "Sky Cloud", title = "Keep important data with you", body = "Sign in to sync supported app data and recover it on another Sky Phone.",
|
||
signIn = "Sign In", create = "Create Account", email = "Sky Cloud Email", password = "Password", connected = "Sky Cloud connected",
|
||
signInTitle = "Sign in to Sky Cloud", createTitle = "Create your Sky Cloud account",
|
||
signInBody = "Access your protected data, purchases and settings on this phone.", createBody = "Choose your personal iFruit address and keep important data available across devices.",
|
||
accountPreview = "Your Sky Cloud ID", accountName = "Account name", addressPlaceholder = "alex.morgan", confirmPassword = "Confirm Password",
|
||
passwordMismatch = "The passwords do not match.", strength0 = "At least 6 characters", strength1 = "Basic password", strength2 = "Good password", strength3 = "Strong password", strength4 = "Excellent password",
|
||
signInAction = "Sign In Securely", createAction = "Create Sky Cloud Account", securityNote = "Encrypted connection · Your password stays private",
|
||
invalid = "Enter a valid email and a password with at least 6 characters.",
|
||
errors = {
|
||
invalid_email = "Enter a valid Sky Cloud email.", invalid_password = "Your password must contain at least 6 characters.",
|
||
invalid_credentials = "Email or password is incorrect.", email_taken = "This Sky Cloud email is already registered.",
|
||
rate_limited = "Too many attempts. Try again shortly.", request_failed = "Sky Cloud is temporarily unavailable.",
|
||
},
|
||
},
|
||
security = {
|
||
eyebrow = "Privacy & Security", title = "Protect this phone", body = "Choose a four- or six-digit passcode to keep your apps and local information private.",
|
||
["local"] = "The passcode belongs to this physical phone and is never transferred with the SIM.", create = "Create Passcode", createSelected = "Create {count}-Digit Passcode",
|
||
lengthTitle = "Choose passcode length", fourDigit = "4-Digit Code", sixDigit = "6-Digit Code",
|
||
enter = "Create a Passcode", confirm = "Verify Your Passcode", codeHint = "Enter a memorable six-digit code.", fourDigitHint = "Enter a memorable four-digit code.", sixDigitHint = "Enter a memorable six-digit code.",
|
||
mismatch = "The passcodes did not match. Try again.", failed = "The passcode could not be saved.",
|
||
},
|
||
appearance = { eyebrow = "Display", title = "Choose your appearance", body = "Automatic follows your system. You can change this at any time in Settings." },
|
||
performance = {
|
||
eyebrow = "Performance", title = "Choose how your phone feels", body = "Balance responsiveness and visual effects for your FiveM setup.",
|
||
performance = "Fastest response with optimized, blur-free glass.", ultimate = "Rich depth, live blur and the complete glass experience.",
|
||
changeLater = "You can switch modes later under Settings › Appearance.",
|
||
},
|
||
wallpaper = { eyebrow = "Personalize", title = "Make it yours", body = "Choose one of twelve crafted Sky Phone backgrounds." },
|
||
notifications = {
|
||
eyebrow = "Stay Informed", title = "Notifications your way", body = "Choose how apps may reach you. Critical alarms and calls stay available.",
|
||
allow = "Allow App Notifications", allowBody = "Show banners, lock-screen updates and badges.",
|
||
sounds = "Notification Sounds", soundsBody = "Play a subtle sound for incoming updates.",
|
||
},
|
||
apps = {
|
||
eyebrow = "Suggested for You", title = "Start with your favorites", body = "Choose optional apps. Every essential phone app is already included.", install = "Add {count} Apps",
|
||
descriptions = { banking = "Secure city banking", garage = "Your vehicles at a glance", skyride = "Request a ride", citymarkt = "Shop local listings", picstagram = "Share photos", snake = "A timeless game" },
|
||
},
|
||
ready = {
|
||
eyebrow = "Setup Complete", title = "Welcome, {name}", body = "Your Sky Phone is configured and ready. Your choices can always be refined in Settings.",
|
||
localOnly = "Stored on this phone", enter = "Enter Sky Phone", review = "Review Setup",
|
||
},
|
||
},
|
||
Common = {
|
||
add = "Add", back = "Back", cancel = "Cancel", clear = "Clear", close = "Close", continue = "Continue", delete = "Delete", done = "Done", edit = "Edit", home = "Home", loading = "Loading", pause = "Pause", use = "Use",
|
||
phone = "Phone", phoneStatus = "Phone status", reset = "Reset",
|
||
save = "Save", search = "Search", send = "Send", start = "Start", stop = "Stop",
|
||
signOut = "Sign Out", signingOut = "Signing Out...", signOutTitle = "Sign out of {app}?",
|
||
signOutBody = "You will only be signed out of {app}. Your other iFruit apps stay signed in.", signOutFailed = "Could not sign out. Please try again.",
|
||
appAuth = {
|
||
eyebrow = "iFruit account", title = "Continue to {app}", body = "Use your iFruit email and password. This login applies only to {app}.",
|
||
login = "Login", register = "Register", email = "iFruit email", password = "Password", confirm = "Confirm password",
|
||
loginAction = "Log in", registerAction = "Create account",
|
||
errors = {
|
||
invalid_email = "Enter a valid iFruit email.", invalid_password = "Password must be 6–64 characters.",
|
||
invalid_credentials = "Email or password is incorrect.", email_taken = "That iFruit email is already registered.",
|
||
rate_limited = "Too many attempts. Try again in a minute.", default = "The account request failed.",
|
||
},
|
||
},
|
||
},
|
||
ControlCenter = {
|
||
airplaneMode = "Airplane Mode", bluetooth = "Bluetooth", brightness = "Brightness", calculator = "Calculator",
|
||
camera = "Camera", cellular = "Cellular Data", close = "Close Control Center", easyShareContact = "Share my contact with nearby players", flashlight = "Flashlight",
|
||
focus = "Focus", label = "Control Center", media = "Media", muteRingtone = "Mute ringtone and notifications", next = "Next track", notPlaying = "Not Playing",
|
||
open = "Open Control Center", play = "Play", previous = "Previous track", quickActions = "Quick actions",
|
||
timer = "Timer", unmuteRingtone = "Unmute ringtone and notifications", volume = "Volume", wifi = "Wi-Fi",
|
||
},
|
||
Notifications = { clearAll = "Clear All", clear = "Clear", now = "now", open = "Open notification" },
|
||
LockScreen = {
|
||
label = "Lock Screen", flashlight = "Flashlight", camera = "Camera", swipeUp = "Swipe up to open",
|
||
passcode = {
|
||
enter = "Enter Passcode", unlockSubtitle = "Enter the passcode for this phone.", cancel = "Cancel", delete = "Delete digit",
|
||
incorrect = "Incorrect passcode", locked = "Too many attempts. Try again in {seconds} seconds.",
|
||
tryAgain = "Try again in {seconds} seconds", rateLimited = "Too many attempts. Please wait.",
|
||
},
|
||
},
|
||
HardwareButtons = {
|
||
lock = "Lock phone", mute = "Mute ringtone and notifications", unlock = "Unlock phone",
|
||
unmute = "Unmute ringtone and notifications", volumeDown = "Volume down",
|
||
volumeLevel = "Volume {value} percent", volumeUp = "Volume up",
|
||
},
|
||
Home = {
|
||
appLibrary = "App Library", appLibrarySearch = "Search apps", allApps = "All Apps", apps = "Apps",
|
||
dock = "Dock", noApps = "No apps found", removeApp = "Remove {app} from Home Screen", addToHome = "Add {app} to Home Screen", addPage = "Add Home Screen page", deletePage = "Delete current Home Screen page", removedFromHome = "Removed from Home Screen", page = "Page", pages = "Home screen pages",
|
||
folders = { defaultName = "Folder", close = "Close folder", rename = "Rename Folder", name = "Folder name", pages = "Folder pages" },
|
||
groups = {
|
||
suggestions = "Suggestions", recentlyAdded = "Recently Added", games = "Games",
|
||
productivity = "Productivity", shopping = "Shopping", social = "Social Networks", utilities = "Utilities",
|
||
},
|
||
widgets = {
|
||
label = "Widgets",
|
||
weather = { city = "Los Santos", condition = "Partly Cloudy" },
|
||
calendar = { event = "No more events today" },
|
||
battery = { label = "Phone" },
|
||
media = { title = "Night Drive", artist = "Sky Radio", play = "Play", pause = "Pause" },
|
||
},
|
||
widgetSystem = {
|
||
galleryTitle = "Widgets", search = "Search Widgets", size = "Size", add = "Add Widget", addWidget = "Add Widget",
|
||
editWidget = "Edit Widget", removeWidget = "Remove Widget", remove = "Remove widget", configure = "Configure Widget", noResults = "No widgets found",
|
||
sizes = { small = "Small", medium = "Medium", large = "Large" },
|
||
categories = { essentials = "Essentials", information = "Information", media = "Media", finance = "Finance", people = "People" },
|
||
clock = { name = "Clock", description = "The current time, with an optional date.", showDate = "Show Date" },
|
||
date = { name = "Date", description = "Weekday, month, and date at a glance." },
|
||
weather = { name = "Weather", description = "Current conditions, location, and high and low.", range = "H: {high}° L: {low}°" },
|
||
music = { name = "Now Playing", description = "Music controls and the current track.", empty = "No recently played music" },
|
||
wallet = { name = "Wallet", description = "Your current bank or cash balance.", balance = "Displayed Balance", bank = "Bank", cash = "Cash" },
|
||
transactions = { name = "Transactions", description = "Your latest incoming and outgoing payments." },
|
||
contacts = { name = "Favorites", description = "Call or message your favorite contacts.", choose = "Favorite Contacts" },
|
||
},
|
||
},
|
||
Apps = {
|
||
health = {
|
||
name = "Health",
|
||
navigation = "Health navigation",
|
||
tabs = { today = "Today", trends = "Trends", medicalId = "Medical ID" },
|
||
loading = "Loading health data...",
|
||
errorTitle = "Health is unavailable",
|
||
errorBody = "Your activity data could not be loaded.",
|
||
tryAgain = "Try Again",
|
||
goal = "of {count}",
|
||
steps = "Steps",
|
||
distance = "Distance",
|
||
active = "Active",
|
||
energy = "Energy",
|
||
kilometers = "{count} km",
|
||
minutes = "{count} min",
|
||
kilocalories = "{count} kcal",
|
||
thisWeek = "This week",
|
||
snapshot = "Health snapshot",
|
||
trends = {
|
||
title = "Trends", week = "Week", month = "Month", total = "{count} steps",
|
||
more = "{count}% more than last week", less = "{count}% less than last week",
|
||
same = "Same as last week", dailyAverage = "Daily average", activeTime = "Active time",
|
||
dailyActivity = "Daily activity", goal = "Goal",
|
||
},
|
||
medicalId = {
|
||
title = "Medical ID", edit = "Edit", done = "Done", resident = "Los Santos resident",
|
||
emergencyInformation = "Emergency information", bloodType = "Blood type",
|
||
allergies = "Allergies", conditions = "Conditions", medication = "Medication",
|
||
noneRecorded = "None recorded", emergencyContact = "Emergency contact",
|
||
contactName = "Contact name", relation = "Relation", phoneNumber = "Phone number",
|
||
emergencyCall = "Emergency call", callContact = "Call emergency contact",
|
||
saveFailed = "Medical ID could not be saved.",
|
||
},
|
||
errors = {
|
||
invalid_phone_number = "Enter a valid in-game phone number.",
|
||
invalid_request = "Check the Medical ID fields.",
|
||
rate_limited = "Please wait before trying again.",
|
||
request_failed = "Health could not complete the request.",
|
||
},
|
||
},
|
||
customApps = {
|
||
loading = "Opening app...",
|
||
unavailableTitle = "App unavailable",
|
||
unavailableBody = "This custom app could not be loaded. Check that its resource is started, then reopen the app.",
|
||
close = "Close app",
|
||
},
|
||
weazelNews = {
|
||
name = "Weazel News",
|
||
brand = "WEAZEL NEWS",
|
||
navigation = "Weazel News navigation",
|
||
tabs = {
|
||
home = "Home",
|
||
categories = "Categories",
|
||
search = "Search",
|
||
editorial = "Editorial",
|
||
},
|
||
back = "Back",
|
||
retry = "Try Again",
|
||
loadMore = "Load More",
|
||
home = {
|
||
eyebrow = "Los Santos, live",
|
||
latest = "Latest News",
|
||
},
|
||
categories = {
|
||
title = "Categories",
|
||
subtitle = "Browse every story from the Weazel News desk.",
|
||
all = "All Stories",
|
||
official = "Official Notices",
|
||
events = "Events & Leisure",
|
||
jobs = "Jobs",
|
||
news = "News & Events",
|
||
business = "Business",
|
||
},
|
||
search = {
|
||
placeholder = "Search articles...",
|
||
title = "Search Weazel News",
|
||
emptyTitle = "No Articles Found",
|
||
emptyBody = "Try another headline, topic, or category.",
|
||
},
|
||
states = {
|
||
loading = "Loading Weazel News...",
|
||
emptyTitle = "No News Yet",
|
||
emptyBody = "The Weazel News desk has not published any articles here yet.",
|
||
errorTitle = "Weazel News Is Unavailable",
|
||
readOnlyTitle = "Read-only Access",
|
||
readOnlyBody = "Your current job can read Weazel News, but cannot manage articles.",
|
||
noManagedTitle = "No Editorial Articles",
|
||
noManagedBody = "Create an article or change the current editorial filter.",
|
||
},
|
||
article = {
|
||
readMore = "Read Article",
|
||
byline = "By {author}",
|
||
updated = "Updated {date}",
|
||
published = "Published {date}",
|
||
coverAlt = "Cover image for {title}",
|
||
},
|
||
editorial = {
|
||
title = "Editorial Desk",
|
||
subtitle = "Create, publish, and maintain Weazel News articles.",
|
||
newArticle = "New Article",
|
||
published = "Published",
|
||
drafts = "Drafts",
|
||
all = "All",
|
||
jobAccess = "Signed in as {job}",
|
||
edit = "Edit Article",
|
||
delete = "Delete Article",
|
||
},
|
||
composer = {
|
||
newTitle = "New Article",
|
||
editTitle = "Edit Article",
|
||
title = "Headline",
|
||
titlePlaceholder = "Write a clear headline",
|
||
body = "Article",
|
||
bodyPlaceholder = "Write the full story...",
|
||
category = "Category",
|
||
status = "Publication Status",
|
||
cover = "Cover Image",
|
||
photos = "Article Photos",
|
||
photoCount = "{count} of {maximum} photos",
|
||
addPhotos = "Add Photos",
|
||
choosePhotos = "Choose from Photos",
|
||
takePhoto = "Take Photo",
|
||
photoSourceHint = "Choose several photos from your library or take a new one.",
|
||
primaryPhoto = "Cover",
|
||
makePrimary = "Use as Cover",
|
||
chooseCover = "Choose from Photos",
|
||
changeCover = "Change Cover",
|
||
removeCover = "Remove Cover",
|
||
coverAlt = "Selected article cover",
|
||
publish = "Publish Article",
|
||
saveDraft = "Save Draft",
|
||
saveChanges = "Save Changes",
|
||
statusPublished = "Published",
|
||
statusDraft = "Draft",
|
||
},
|
||
delete = {
|
||
title = "Delete Article?",
|
||
body = "This article will be removed from Weazel News.",
|
||
cancel = "Cancel",
|
||
confirm = "Delete",
|
||
},
|
||
feedback = {
|
||
created = "Article created.",
|
||
updated = "Article updated.",
|
||
deleted = "Article deleted.",
|
||
},
|
||
accessibility = {
|
||
articleList = "Weazel News articles",
|
||
categoryList = "News categories",
|
||
editorialList = "Editorial articles",
|
||
openArticle = "Open {title}",
|
||
openCategory = "Open {category}",
|
||
openEditorial = "Open the editorial desk",
|
||
newArticle = "Create a new article",
|
||
editArticle = "Edit {title}",
|
||
deleteArticle = "Delete {title}",
|
||
search = "Search Weazel News",
|
||
clearSearch = "Clear article search",
|
||
articleImages = "Article photos",
|
||
previousPhoto = "Show the previous article photo",
|
||
nextPhoto = "Show the next article photo",
|
||
showPhoto = "Show article photo {current} of {total}",
|
||
coverPreview = "Article cover preview",
|
||
removeCover = "Remove the selected cover image",
|
||
removePhoto = "Remove this article photo",
|
||
status = "Article status: {status}",
|
||
},
|
||
errors = {
|
||
feature_disabled = "Weazel News is currently disabled.",
|
||
invalid_article = "Enter a valid headline, article, and category.",
|
||
invalid_draft = "Enter a headline and article text before saving the draft.",
|
||
invalid_publish = "Enter a headline and article text before publishing.",
|
||
invalid_request = "Check the article details and try again.",
|
||
invalid_image = "Choose a valid photo from this phone.",
|
||
invalid_attachment = "Choose a valid photo from this phone.",
|
||
not_authorized = "Your current job cannot manage Weazel News articles.",
|
||
article_not_found = "This article is no longer available.",
|
||
not_found = "This article is no longer available.",
|
||
revision_conflict = "This article changed on another device. Reload it and try again.",
|
||
rate_limited = "Too many requests. Try again shortly.",
|
||
request_failed = "Weazel News could not complete the request.",
|
||
default = "Weazel News is temporarily unavailable.",
|
||
},
|
||
},
|
||
crewlink = {
|
||
name = "CrewLink", connecting = "Connecting your crew...", privateNetwork = "Private location network",
|
||
signInTitle = "Connect your Sky Cloud account", signInBody = "CrewLink uses your private Sky Cloud identity to keep groups and roles available across your phones.", openSettings = "Open Sky Cloud settings",
|
||
authEyebrow = "Private crew network", authTitle = "Welcome to CrewLink",
|
||
authBody = "Your iFruit email is linked automatically. Enter your password to continue.",
|
||
login = "Log in", register = "Register", ifruitEmail = "iFruit address", password = "Password", passwordPlaceholder = "8-72 characters", gallery = "Photos", camera = "Camera", backToLogin = "Back to CrewLink login",
|
||
authErrors = {
|
||
no_ifruit_account = "Sign in to your Sky Cloud account in Settings first.", invalid_username = "Use 3-20 letters, numbers, dots, or underscores.", invalid_password = "Password must be 8-72 characters.", invalid_credentials = "The password for this iFruit email is incorrect.",
|
||
profile_not_found = "No CrewLink profile exists for this iFruit email.", profile_exists = "This iFruit email already has a CrewLink profile.",
|
||
username_taken = "That CrewLink username is already taken.", invalid_profile_image = "Choose a valid photo from this phone.",
|
||
rate_limited = "Too many attempts. Try again shortly.", request_failed = "CrewLink could not complete the request.",
|
||
},
|
||
welcomeEyebrow = "Your crew. One signal.", welcomeTitle = "Find your people", welcomeBody = "Choose a private CrewLink username. Only confirmed group members can see your presence and shared location.",
|
||
username = "CrewLink username", usernamePlaceholder = "e.g. Skyline", createProfile = "Create CrewLink Profile", profileCreated = "Your CrewLink profile is ready.", privacyNote = "Private by design. No public player search.",
|
||
noGroupEyebrow = "No active crew", noGroupTitle = "Build your private network", noGroupBody = "Create a crew or join friends with a private invitation code.",
|
||
createGroup = "Create Group", createGroupBody = "Give your crew a recognizable name and signal colour.", joinGroup = "Join Group", joinWithCode = "Join with Code", joinWithCodeBody = "Enter the private eight-character code shared by a coordinator.",
|
||
groupName = "Group name", groupNamePlaceholder = "e.g. Night Shift", groupColour = "Signal colour", createCrew = "Create Crew", joinCrew = "Join Crew", inviteCode = "Invitation code", inviteCodePlaceholder = "AB12CD34",
|
||
groupCreated = "Crew created.", joinedGroup = "You joined the crew.", activeGroupChanged = "Active crew changed.", pendingInvitations = "Invitations", invitedBy = "Invited by @{username}", inviteAccepted = "Invitation accepted.", inviteDeclined = "Invitation declined.",
|
||
navigation = "CrewLink navigation", map = "Map", crew = "Crew", pings = "Pings", profile = "Profile", onlineNow = "online now", zoomIn = "Zoom in", zoomOut = "Zoom out", myLocation = "Center my location",
|
||
member = "Member", members = "Members", openCrew = "View team", newPing = "New Ping", shareLocation = "Mark a place", locationUnavailable = "Your live location is currently hidden.", activeCrew = "Active private crew", groupSummarySingle = "{online} of {total} member online", groupSummary = "{online} of {total} members online", private = "Private",
|
||
nearby = "Nearby", copyCode = "Copy code", shareInvite = "Invite by message", shareInviteTitle = "Join {group} on CrewLink", shareInviteBody = "Use invitation code {code} to join {group}.", manage = "Manage", refresh = "Refresh", codeCopied = "Invitation code copied.", codeRotated = "A new invitation code is active.",
|
||
peopleNearby = "People Nearby", peopleNearbyBody = "Only CrewLink users within {distance} meters appear here.", metersAway = "{distance} m away", invite = "Invite", inviteSent = "Invitation sent to @{username}.", nobodyNearby = "Nobody in range", nobodyNearbyBody = "Move closer to another CrewLink user and scan again.", scanAgain = "Scan Again",
|
||
liveCoordination = "Live coordination", noPings = "No active pings", noPingsBody = "Share a meeting point, warning, or target with your crew.", expiresMinutes = "{count} min left", expiresSeconds = "{count} sec left", sharedBy = "Shared by @{username}", setRoute = "Set Route", routeSet = "GPS route set.", pingCreated = "Ping shared with your crew.", pingRemoved = "Ping removed.",
|
||
newPingBody = "Choose a point on the map, then add a label and ping type.", pingLabel = "Ping label", pingLabelPlaceholder = "e.g. Meet at the garage", placeOnMap = "Place ping on map", placeOnMapBody = "Move the map until the crosshair marks the exact spot.", positionSelected = "Position selected · tap to change", addHere = "Place Here", sharePing = "Share Ping",
|
||
pingTypes = { meeting = "Meet", danger = "Danger", help = "Help", target = "Target", info = "Info" },
|
||
status = { live = "Live", hidden = "Location hidden", offline = "Offline" },
|
||
roles = { owner = "Owner", coordinator = "Coordinator", moderator = "Moderator", member = "Member", guest = "Guest" },
|
||
roleDescriptions = { coordinator = "Manage invitations, settings, roles, and pings.", moderator = "Invite nearby users and moderate group pings.", member = "Share presence and create pings when enabled.", guest = "View the active crew without coordination permissions." },
|
||
manageCrew = "Manage Crew", manageCrewBody = "Update identity, permissions, and invitations.", memberPings = "Member pings", memberPingsBody = "Allow members and guests to create pings.", allowOverhead = "Overhead labels", allowOverheadBody = "Permit nearby opt-in member labels in the world.", groupSaved = "Crew settings saved.",
|
||
assignRole = "Assign Role", roleUpdated = "Member role updated.", transferOwnership = "Transfer Ownership", removeMember = "Remove from Crew", yourCrewLinkId = "Your CrewLink ID", privacyVisibility = "Privacy & Visibility", shareOnMap = "Share on group map", shareOnMapBody = "Active members can see your live position.", overheadLabels = "Nearby overhead label", overheadLabelsBody = "Show your CrewLink name to nearby opted-in members.",
|
||
yourGroups = "Your Groups", createAnotherGroup = "Create another group", account = "CrewLink Account", externalApi = "Connected resources", externalApiBody = "Approved scripts may add temporary group pings.", editUsername = "Edit Username", editUsernameBody = "Your username is unique across CrewLink.",
|
||
editProfile = "Edit CrewLink Profile", editProfileBody = "Change your username and profile photo.", removeProfilePhoto = "Remove profile photo", profileSaved = "CrewLink profile saved.", deleteGroup = "Delete Group", leaveGroup = "Leave Group", confirmAction = "Confirm",
|
||
confirm = {
|
||
["delete-group"] = { title = "Delete this crew?", body = "The group, memberships, invitations, and active pings will be permanently removed." },
|
||
["leave-group"] = { title = "Leave this crew?", body = "You will lose access to its members, map, and pings." },
|
||
["remove-member"] = { title = "Remove this member?", body = "They will immediately lose access to this crew." },
|
||
["transfer-owner"] = { title = "Transfer ownership?", body = "The selected member becomes owner and you become coordinator." },
|
||
},
|
||
["delete-groupDone"] = "Crew deleted.", ["leave-groupDone"] = "You left the crew.", ["remove-memberDone"] = "Member removed.", ["transfer-ownerDone"] = "Ownership transferred.",
|
||
notifications = { invite = "{actor} invited you to {group}.", member_joined = "{actor} joined {group}.", ping = "{actor} shared '{ping}' with {group}.", role = "Your CrewLink role changed in {group}.", removed = "You were removed from {group}.", default = "Your CrewLink group has an update." },
|
||
errors = {
|
||
not_authenticated = "Sign in to your Sky Cloud account first.", profile_required = "Create your CrewLink profile first.", invalid_username = "Use 3-20 letters, numbers, dots, or underscores.", invalid_profile = "Check your profile details.", invalid_profile_image = "Choose a valid photo from this phone.", username_taken = "That CrewLink username is already taken.",
|
||
invalid_group = "Choose a valid group name and signal colour.", group_limit = "You have reached your group limit.", member_limit = "This group has reached its member limit.", group_not_found = "This group is no longer available.", invalid_code = "That invitation code is invalid.", already_member = "You are already a member of this group.", forbidden = "Your current role cannot perform this action.",
|
||
player_not_nearby = "That player is no longer nearby.", player_unavailable = "That player cannot receive a CrewLink invitation.", invalid_invitation = "This invitation is invalid.", invitation_expired = "This invitation has expired.", invalid_role = "That role cannot be assigned.", owner_must_transfer = "Transfer ownership before leaving this group.",
|
||
invalid_ping = "Choose a valid ping type, label, and position.", ping_limit = "This crew already has too many active pings.", ping_not_found = "That ping is no longer active.", rate_limited = "Too many CrewLink actions. Try again shortly.", request_failed = "CrewLink is temporarily unavailable.",
|
||
},
|
||
},
|
||
flare = {
|
||
name = "Flare", signInTitle = "Sign in to Flare", signInBody = "Flare profiles and matches are linked to your private Sky Cloud account.",
|
||
createProfile = "Create your profile", welcome = "Find your spark", welcomeBody = "Build a profile and meet people across Los Santos.",
|
||
photo = "Profile photo", profilePhotos = "Profile photos", profilePhotosBody = "Add one to six photos from Photos or Camera. Your first photo is shown first.", profilePhotoRequired = "Add at least one profile photo to continue.", addPhotos = "Add photos", choosePhotos = "Choose from Photos", primaryPhoto = "Main", removePhoto = "Remove photo {number}",
|
||
profilePhotoFallback = "Flare profile avatar", profilePhotoNumber = "Profile photo {number} of {count}", viewProfilePhoto = "Show profile photo {number} of {count}",
|
||
yourName = "Your name", namePlaceholder = "What should people call you?", age = "Age", bio = "About you", bioPlaceholder = "A short line that starts a conversation...",
|
||
gender = "I am", showMe = "Show me", woman = "Woman", man = "Man", nonbinary = "Non-binary", women = "Women", men = "Men", nonbinaryPeople = "Non-binary people", everyone = "Everyone",
|
||
minimumAge = "Minimum age", maximumAge = "Maximum age", start = "Start exploring", saveProfile = "Save profile", editProfileBody = "Keep your profile fresh and unmistakably you.",
|
||
navigation = "Flare navigation", discover = "Discover", matches = "Matches", profile = "Profile",
|
||
tabs = { discover = "Swipe", explore = "Explore", likes = "Likes", matches = "Chat", profile = "Profile" },
|
||
filters = "Discovery settings", nearby = "Nearby", rewind = "Rewind", superLike = "Super Like", explore = "Explore", clearExploreFilter = "Show all profiles",
|
||
exploreTitle = "Explore", exploreBody = "Find people who are into the same things.",
|
||
exploreModes = { forYou = "For You", dateNight = "Date Night", freeTonight = "Free Tonight", longTerm = "Long-term thing", newFriends = "New Friends", weekend = "Weekend plans" },
|
||
likesTitle = "Likes You", likesBody = "See who already likes you, then make your choice.", matched = "Matched", newMatches = "New Matches", messages = "Messages",
|
||
settings = "Settings", editProfile = "Edit profile", editRelationshipGoal = "Edit relationship goal", profileGoalBody = "Shown on your discovery card.", like = "Like", pass = "Pass",
|
||
accountActions = "Account", signOut = "Sign Out", signOutTitle = "Sign out of Sky Cloud?", signOutBody = "This signs the whole phone out of Sky Cloud. Your Flare profile, matches and chats stay stored.", signingOut = "Signing Out...", signOutHint = "Signing out affects every app that uses Sky Cloud on this phone.",
|
||
deleteAccount = "Delete Flare Account", deleteAccountTitle = "Delete your Flare account?", deleteAccountBody = "Your Flare profile, swipes, matches and conversations will be permanently deleted. Your Sky Cloud account and Photos library stay available.", deletingAccount = "Deleting...",
|
||
relationshipGoal = "Relationship goal", interests = "Interests", interestsPlaceholder = "Music, travel, coffee", interestsHint = "Separate up to five interests with commas.",
|
||
discoverySettings = "Discovery", discoveryPreferences = "Who you want to meet", showProfile = "Show me on Flare", showProfileBody = "Let new people discover your profile.",
|
||
discoveryPrivacyNote = "Turning Discovery off hides you from new people. Your existing matches and chats stay available.",
|
||
discoveryOffTitle = "Discovery is off", discoveryOffBody = "Your profile is hidden from new people. Your existing matches and chats stay available.", discoveryOffShort = "Only existing matches can still reach you.", enableDiscovery = "Enable Discovery", saveSettings = "Save settings",
|
||
likedYou = "Likes you", superLikedYou = "Super Liked you", noLikes = "No new likes", noLikesBody = "People who like you before you decide will appear here.",
|
||
matchActions = "Match actions", unmatch = "Unmatch", unmatchTitle = "Unmatch this person?", unmatchBody = "You and {name} will disappear from each other's match lists. This cannot be undone.",
|
||
messagePhoto = "Photo", gif = "GIF", video = "Video", attachPhoto = "Attach Photo", takePhoto = "Take Photo", emoji = "Emoji", attachGif = "Attach GIF", attachVideo = "Attach Video", gifs = "GIFs", searchGifs = "Search GIPHY", loadMore = "Load More", retryGifs = "Try Again", moreActions = "More Actions",
|
||
noProfiles = "You're all caught up", noProfilesBody = "Come back later when new people join Flare.", yourMatches = "Your matches", matchesBody = "A spark goes both ways.", newMatch = "You matched — say hello!", noMatches = "No sparks yet", noMatchesBody = "When someone likes you back, they will appear here.",
|
||
messagePlaceholder = "Write a message", itsAMatch = "It's a spark!", matchBody = "You and {name} liked each other.", sayHello = "Say hello", keepSwiping = "Keep exploring", newMatchNotification = "You and {sender} found a spark!", newMessageNotification = "New message from {sender}",
|
||
lookingFor = { longTerm = "Long-term connection", dates = "Good dates", friends = "New friends" },
|
||
errors = {
|
||
invalid_profile = "Check your name, age and profile text.", profile_not_found = "This Flare account is no longer available.", invalid_profile_photos = "Choose or take at least one and up to six photos saved in your own Photos library.", request_failed = "Flare could not save those changes. Try again.", invalid_target = "This profile is no longer available.", invalid_choice = "That swipe could not be saved.", invalid_discovery = "That Discovery setting is invalid.", discovery_disabled = "Enable Discovery before swiping.",
|
||
nothing_to_rewind = "There is no recent swipe to rewind.", cannot_rewind_match = "A swipe that created a match cannot be rewound.",
|
||
match_not_found = "This match is no longer available.", invalid_message = "Write a message before sending.", invalid_attachment = "This attachment is unavailable.", gif_provider_unconfigured = "GIF search is not configured.", gif_provider_unauthorized = "The GIF provider key is invalid.", gif_provider_rate_limited = "GIF search is busy. Try again shortly.", gif_provider_failed = "GIFs are temporarily unavailable.", rate_limited = "Slow down for a moment and try again.", default = "Flare could not complete the request.",
|
||
},
|
||
},
|
||
picstagram = {
|
||
name = "Picstagram", loading = "Loading Picstagram", home = "Home", explore = "Explore",
|
||
create = "Create", activity = "Activity", profile = "Profile", following = "Following",
|
||
city = "City", posts = "Posts", followers = "Followers", verified = "Verified profile",
|
||
editProfile = "Edit profile", saved = "Saved", photos = "Photos", allPosts = "All posts", videos = "Videos", taggedPosts = "Tagged posts", emptyBio = "No bio yet.",
|
||
authTitle = "Your Picstagram profile", login = "Sign In", register = "Register",
|
||
createAccount = "Create Profile", logout = "Sign Out", signingOut = "Signing Out...",
|
||
loginBody = "Sign in to continue with your photos, stories, follows, and saved posts.",
|
||
registerBody = "Create a private Picstagram login for your photo profile.",
|
||
registrationHint = "A Sky Cloud account is required once to create and own a Picstagram profile.",
|
||
displayName = "Name", username = "Username", password = "Password",
|
||
confirmPassword = "Confirm password", passwordsMismatch = "The passwords do not match.",
|
||
displayNamePlaceholder = "Your name", usernamePlaceholder = "username",
|
||
passwordPlaceholder = "At least 8 characters", confirmPasswordPlaceholder = "Enter password again",
|
||
signOutTitle = "Sign out of Picstagram?",
|
||
signOutBody = "Your profile and posts stay online. This phone returns to the sign-in screen.",
|
||
stories = "Stories", yourStory = "Your story", noStories = "No active stories",
|
||
storyViews = "{count} views", storyViewers = "Story viewers", seenBy = "Seen by {count}",
|
||
nextStory = "Next story", closeStory = "Close story", removeStory = "Remove story", storyRemoved = "Story removed.",
|
||
emptyFeed = "Your feed is quiet", emptyFeedBody = "Discover profiles or share the first photo.",
|
||
discoverPeople = "Discover people", searchPlaceholder = "Search profiles, captions, places, or tags",
|
||
noResults = "No results", noResultsBody = "Try another username, caption, place, or hashtag.",
|
||
newPost = "New Post", newStory = "New Story", post = "Post", story = "Story",
|
||
choosePhotos = "Choose photos", choosePhoto = "Choose photo", photo = "Photo", video = "Video", gallery = "Gallery", camera = "Camera",
|
||
choosePhotosHint = "Select up to five photos or one video", chooseStoryHint = "Select one photo or video",
|
||
selectedPhotos = "{count} selected", changePhotos = "Change selection", previousPhoto = "Previous photo", nextPhoto = "Next photo", caption = "Caption",
|
||
captionPlaceholder = "Write a caption...", storyTextPlaceholder = "Add a short story text...",
|
||
location = "Location", locationPlaceholder = "Add a place", allowComments = "Allow comments",
|
||
publishing = "Publishing...", published = "Your post is live.", storyPublished = "Your story is live.",
|
||
comments = "Comments", comment = "Comment", noComments = "No comments yet", addComment = "Add a comment...",
|
||
reply = "Reply", replyPlaceholder = "Write a reply...", replyingTo = "Replying to {handle}", removeComment = "Remove comment", likes = "{count} likes",
|
||
viewComments = "View all {count} comments", showReplies = "Show {count} replies", hideReplies = "Hide replies", like = "Like", unlike = "Unlike", save = "Save",
|
||
unsave = "Remove from saved", more = "More", archive = "Archive", restore = "Restore",
|
||
deletePost = "Delete post", deletePostTitle = "Delete this post?",
|
||
deletePostBody = "The post and its reactions will no longer be available.",
|
||
privateProfile = "This profile is private", privateProfileBody = "Follow this profile to see its posts and stories.",
|
||
follow = "Follow", requested = "Requested", unfollow = "Following", accept = "Accept", decline = "Decline", noConnections = "No profiles here yet", shareProfile = "Share profile", share = "Share",
|
||
followRequests = "Follow requests", requestAccepted = "Follow request accepted.", requestDeclined = "Follow request declined.", noActivity = "No activity yet", markRead = "Mark as read",
|
||
publicProfile = "Public profile", privateProfileSetting = "Private profile", profileVisibility = "Profile visibility",
|
||
privacyHint = "Only accepted followers can see your posts and stories.", bio = "Bio",
|
||
avatar = "Profile photo", chooseAvatar = "Choose profile photo", removeAvatar = "Remove profile photo",
|
||
saveProfile = "Save profile", profileSaved = "Profile updated.", cancel = "Cancel", done = "Done",
|
||
report = "Report", reportTarget = "Report {target}", reportReason = "Reason",
|
||
reportDetails = "Additional details (optional)", submitReport = "Submit report", reported = "Report submitted.",
|
||
block = "Block profile", unblock = "Unblock profile", blocked = "Profile blocked.",
|
||
blockTitle = "Block @{handle}?", blockBody = "You will no longer see or interact with each other's Picstagram content.",
|
||
moderation = "Moderation", reports = "Open reports", noReports = "No open reports",
|
||
noDetails = "No additional details", hide = "Hide", remove = "Remove", restoreAction = "Restore", dismiss = "Dismiss",
|
||
reportTargets = { post = "Post", profile = "Profile", comment = "Comment", story = "Story" },
|
||
reportReasons = { spam = "Spam or misleading", harassment = "Harassment or bullying", dangerous = "Dangerous activity", illegal = "Illegal content", other = "Something else" },
|
||
activityKinds = { follow_request = "requested to follow you", follow = "started following you", request_accepted = "accepted your follow request", like = "liked your post", comment = "commented on your post", comment_like = "liked your comment", reply = "replied to your comment", verified = "verification changed" },
|
||
notifications = { follow_request = "{actor} requested to follow you.", follow = "{actor} started following you.", request_accepted = "{actor} accepted your follow request.", like = "{actor} liked your post.", comment = "{actor} commented on your post.", comment_like = "{actor} liked your comment.", reply = "{actor} replied to your comment.", verified = "Your Picstagram profile is now verified.", default = "You have new Picstagram activity." },
|
||
errors = {
|
||
invalid_post = "Check the post details.", invalid_story = "Check the story details.",
|
||
invalid_media = "Choose photos owned by this phone.", invalid_comment = "Enter a valid comment.",
|
||
comments_disabled = "Comments are disabled.", invalid_profile = "Check your profile details.",
|
||
invalid_handle = "Use 3–24 letters, numbers, dots, or underscores.",
|
||
invalid_display_name = "Enter a display name.", invalid_password = "Password must be 8–72 characters.",
|
||
invalid_credentials = "Username or password is incorrect.",
|
||
already_registered = "This Sky Cloud account already owns a Picstagram profile.",
|
||
handle_taken = "This username is already taken.", post_not_found = "This post is unavailable.",
|
||
story_not_found = "This story is unavailable.", profile_not_found = "This profile is unavailable.",
|
||
request_not_found = "This follow request is no longer open.", profile_unavailable = "This profile is unavailable.",
|
||
blocked = "This profile is blocked.", already_reported = "You already reported this content.",
|
||
invalid_report = "Choose a valid report reason.", invalid_search = "Enter a valid search.",
|
||
invalid_cursor = "The feed changed. Refresh and try again.", invalid_status = "This action is not available.",
|
||
not_authorized = "You are not allowed to do that.", report_not_found = "This report is no longer open.",
|
||
rate_limited = "Too many actions. Try again shortly.", not_authenticated = "Sign in to Sky Cloud first.",
|
||
picstagram_not_authenticated = "Sign in to Picstagram first.", request_failed = "The request failed.",
|
||
default = "Picstagram could not complete the request."
|
||
},
|
||
},
|
||
feather = {
|
||
name = "Feather", loading = "Loading Feather", home = "Home", explore = "Explore", activity = "Notifications", activityNav = "Alerts", profile = "Profile", back = "Back",
|
||
settings = "Settings", settingsEyebrow = "Feather preferences", compactMode = "Compact timeline", compactModeBody = "Show more conversation on the screen.", showSuggestions = "Profile suggestions", showSuggestionsBody = "Show people to follow on your profile.",
|
||
forYou = "For you", following = "Following", add = "Add", network = "Network", networkTitle = "Find your people", networkBody = "Follow voices from across Los Santos and build a timeline that feels like yours.", networkSearchPlaceholder = "Search names or @usernames", postSearchPlaceholder = "Search posts or #hashtags", searchResults = "Search results", suggestedPeople = "Suggested for you", noPeopleFound = "No people found", noPeopleFoundBody = "Try another name or username.", noSuggestions = "No suggestions yet", noSuggestionsBody = "New Feather accounts will appear here.", all = "All", mentions = "Mentions", media = "Media", trending = "Trending", peopleTab = "People", searchPlaceholder = "Search Feather", search = "Search", cancel = "Cancel", done = "Done",
|
||
authEyebrow = "Feather network", authWelcome = "Welcome to Feather", authBody = "Your iFruit email is linked automatically. Use your Feather username to continue.",
|
||
login = "Log in", register = "Register", loginTitle = "Good to see you again", loginBody = "Use your Feather username. Your iFruit email is linked automatically.",
|
||
registerTitle = "Create your Feather profile", registerBody = "Choose a username and optional profile photo. No password is needed.",
|
||
email = "iFruit address", emailPlaceholder = "yourname", password = "Password", passwordPlaceholder = "6–64 characters",
|
||
confirmPassword = "Confirm password", confirmPasswordPlaceholder = "Enter it again", showPassword = "Show password", hidePassword = "Hide password",
|
||
loginAction = "Continue to Feather", registerAction = "Create profile", noAccount = "New to Feather?", haveAccount = "Already registered?",
|
||
registerNow = "Create a profile", loginNow = "Log in", authTrust = "Your Feather profile is linked to your Sky Cloud account through your iFruit email.",
|
||
profileStep = "Step 2 of 2", accountConnected = "Sky Cloud account connected",
|
||
authErrors = {
|
||
no_ifruit_account = "Sign in to your Sky Cloud account in Settings first.", invalid_handle = "Use 3-30 letters, numbers or underscores.", invalid_username = "That username does not match your Feather profile.",
|
||
profile_not_found = "No Feather profile exists for this iFruit email.", already_registered = "This iFruit email already has a Feather profile.",
|
||
handle_taken = "That Feather username is already taken.", invalid_media = "Choose a valid photo from this phone.",
|
||
rate_limited = "Too many attempts. Try again in a minute.", default = "Feather could not complete the request. Please try again.",
|
||
},
|
||
welcome = "Find your voice", welcomeBody = "Join the live conversation in Los Santos. Your Feather profile stays linked to your Sky Cloud account.",
|
||
createProfile = "Create Feather profile", profileDetailsHint = "Choose how people will recognize you.", displayName = "Display name", displayNamePlaceholder = "Your name", handle = "Username", handlePlaceholder = "your_username", handleHint = "3-30 letters, numbers or underscores",
|
||
bio = "Bio", bioPlaceholder = "What should people know about you?", start = "Join Feather", chooseAvatar = "Choose profile photo", changeAvatar = "Change photo",
|
||
newPost = "New feather", reply = "Reply", replyingTo = "Replying to @{handle}", quote = "Quote", post = "Post", posting = "Posting...",
|
||
composerPlaceholder = "What's happening?", replyPlaceholder = "Post your reply", addPhotos = "Add photos", removePhoto = "Remove photo {number}", charactersLeft = "{count} left", composerAudience = "Everyone can join the conversation", mediaTitle = "Add to your feather", mediaBody = "Share up to four photos from your phone or take a new one.", chooseGallery = "Photos", chooseGalleryBody = "Choose one or more saved photos", takePhoto = "Camera", takePhotoBody = "Take a new photo now", selectedPhotos = "Selected photos", photoLimit = "You can add up to four photos.",
|
||
emptyFeed = "Your timeline is quiet", emptyFeedBody = "Follow people or post the first feather.", emptyExplore = "No results found", emptyExploreBody = "Try another search or explore a topic.", noTrendingHashtags = "No hashtags yet", noTrendingHashtagsBody = "Hashtags from published posts will appear here.",
|
||
happeningNow = "What's happening", trends = "Trends for you", trendingIn = "Trending in Los Santos", openTopic = "View conversation", postsCount = "{count} posts",
|
||
exploreTabs = { explore = "Explore", trending = "Trends", news = "News" },
|
||
trendKinds = { explore = "Trending in Los Santos", trending = "Popular right now", news = "News · Trending", sports = "Sports · Trending", entertainment = "Entertainment · Trending" },
|
||
people = "Who to follow", posts = "Posts", followers = "Followers", followingCount = "Following", removeConnection = "Remove", followerRemoved = "Follower removed.", followingRemoved = "Account unfollowed.", noConnections = "Nobody here yet", noConnectionsBody = "Profiles will appear here as connections are made.", follow = "Follow", unfollow = "Following",
|
||
editProfile = "Edit profile", saveProfile = "Save", joined = "Joined Feather", joinedDate = "Joined August 2026", shareProfile = "Share profile", profileCopied = "Profile handle copied.", postCopied = "Post copied.", verified = "Verified profile", noBio = "No bio yet.", showMore = "Show more", moreActions = "More actions",
|
||
now = "now", minutesShort = "{count}m", hoursShort = "{count}h", daysShort = "{count}d", comments = "Comments", noComments = "No comments yet", addComment = "Add a comment...", postComment = "Post comment", likeComment = "Like comment by {name}", likesCount = "{count} likes",
|
||
replies = "Replies", noReplies = "No replies yet. Start the conversation.", likes = "Likes", bookmarks = "Bookmarks", noBookmarks = "No saved posts yet", noBookmarksBody = "Posts you bookmark will appear here.", imagePreview = "Image preview", openImage = "Open image {number}", postImage = "Post image {number}", previousImage = "Previous image", nextImage = "Next image", delete = "Delete", report = "Report", block = "Block @{handle}",
|
||
reportTitle = "Report feather", reportBody = "Tell us why this feather should be reviewed.", reportSubmit = "Submit report", reported = "Report submitted.", blocked = "Profile blocked.", deleted = "Feather deleted.",
|
||
reasons = { spam = "Spam", harassment = "Harassment", dangerous = "Dangerous content", illegal = "Illegal content", other = "Other" },
|
||
noActivity = "No activity yet", activityBody = "Likes, replies and new followers will appear here.",
|
||
activityKinds = { like = "liked your feather", reply = "replied to your feather", follow = "followed you", quote = "quoted your feather" },
|
||
errors = { accountRequired = "Sign in to Sky Cloud in Settings first.", invalidHandle = "Use 3–30 letters, numbers or underscores.", handleTaken = "That handle is already taken.", invalidPost = "Write something or attach a photo.", generic = "Something went wrong. Please try again." },
|
||
notifications = { default = "You have new activity.", like = "{actor} liked your feather.", reply = "{actor} replied to your feather.", follow = "{actor} followed you.", quote = "{actor} quoted your feather." },
|
||
},
|
||
fliptok = {
|
||
name = "FlipTok", loading = "Loading FlipTok", following = "Following", forYou = "For You", verified = "Verified account",
|
||
originalSound = "original sound", save = "Save", home = "Home", discover = "Discover", create = "Create", activity = "Activity", profile = "Profile", navigation = "FlipTok navigation",
|
||
emptyFeed = "No videos yet", emptyFeedBody = "Follow creators or post the first FlipTok.", searchPlaceholder = "Search creators and videos", clearSearch = "Clear search",
|
||
trendLosSantos = "# Los Santos", trendRoleplay = "# Roleplay", trendTrending = "# Trending",
|
||
noActivity = "No activity yet", followers = "Followers", videos = "Videos", emptyBio = "No bio yet.", editProfile = "Edit profile", more = "More",
|
||
newVideo = "New FlipTok", createTitle = "Create your next FlipTok", createBody = "Record a clip or turn photos into a swipeable FlipTok.", chooseMedia = "Choose media", chooseMediaHint = "Record a video, choose a clip, or select up to 10 photos.", recordVideo = "Record video", camera = "Camera", chooseVideo = "Choose video", photoSlideshow = "Photos as FlipTok", changeMedia = "Change", previousPhoto = "Previous photo", nextPhoto = "Next photo",
|
||
caption = "Caption", captionPlaceholder = "Write a caption...", location = "Add location", whoCanWatch = "Who can watch", public = "Everyone",
|
||
followersOnly = "Followers", private = "Only me", allowComments = "Allow comments", saveDraft = "Drafts", publishing = "Posting...", post = "Post",
|
||
draftSaved = "Draft saved.", published = "Your FlipTok is live.", videoDeleted = "Video removed.", deleteVideoTitle = "Remove this video?", deleteVideoBody = "The video disappears from FlipTok and cannot be restored.", deletingVideo = "Removing...", linkCopied = "Video link copied.", reported = "Report submitted.", blocked = "Creator blocked.",
|
||
comments = "Comments", noComments = "No comments yet", addComment = "Add comment...", reply = "Reply", showReplies = "Show {count} replies", hideReplies = "Hide {count} replies", replyPlaceholder = "Write a reply...", replyingTo = "Replying to {handle}", cancelReply = "Cancel reply", report = "Report video", reportReason = "Reason",
|
||
reportDetails = "Additional details (optional)", submitReport = "Submit report", reportDiscordNote = "This report is sent directly to the moderation team through Discord.",
|
||
reportReasons = { spam = "Spam or misleading", harassment = "Harassment or bullying", dangerous = "Dangerous activity", illegal = "Illegal content", other = "Something else" },
|
||
block = "Block creator", follow = "Follow", unfollow = "Following", backToProfile = "Back", cancel = "Cancel",
|
||
sounds = "Sound", chooseSound = "Choose music", originalOnly = "Original sound only", noMusic = "No music tracks are configured.",
|
||
customSound = "Custom sound", customSoundLink = "YouTube or audio link", customSoundHint = "Paste a YouTube link or a direct HTTPS audio-file link.", customSoundPlaceholder = "https://youtu.be/... or https://example.com/song.mp3",
|
||
customSoundFormats = "YouTube, YouTube Music, Shorts, MP3, M4A, AAC, OGG, OPUS, WAV, or WEBM", useCustomSound = "Use sound", loadingSound = "Loading sound", invalidCustomSoundLink = "Use a YouTube link or a direct public HTTPS audio-file link.", customSoundLoadFailed = "This sound could not be loaded.",
|
||
trimAndCover = "Trim & cover", trimStart = "Start", trimEnd = "End", coverFrame = "Cover", originalVolume = "Original sound", musicVolume = "Music",
|
||
moderation = "Moderation", reports = "Open reports", noReports = "No open reports", removeVideo = "Remove video", dismissReport = "Dismiss",
|
||
done = "Done", savingProfile = "Saving...", displayName = "Name", username = "Username", bio = "Bio", accountType = "Account type", profilePhoto = "Profile photo", changePhoto = "Change photo", chooseFromGallery = "Photos", takePhoto = "Camera", removePhoto = "Remove photo", noConnections = "No profiles to show",
|
||
authTitle = "Your FlipTok account", login = "Sign In", register = "Register", createAccount = "Create Account", logout = "Sign Out",
|
||
loginBody = "Sign in to continue with your videos, follows, and saved posts.", registerBody = "Create a private FlipTok login for this profile.",
|
||
password = "Password", confirmPassword = "Confirm password", passwordsMismatch = "The passwords do not match.",
|
||
displayNamePlaceholder = "Your name", usernamePlaceholder = "username", passwordPlaceholder = "At least 8 characters", confirmPasswordPlaceholder = "Enter password again",
|
||
registrationHint = "A Sky Cloud account is required once to create and own a FlipTok profile.",
|
||
accountDetails = "Account details", profileDetails = "Profile details", account = "Account",
|
||
signOutTitle = "Sign out of FlipTok?", signOutBody = "Your profile and videos stay online. This phone will return to the FlipTok sign-in screen.", signingOut = "Signing Out...",
|
||
accountTypes = { person = "Person", business = "Business", organization = "Organization", media = "Media", event = "Event" },
|
||
activityKinds = { like = "liked your video", comment = "commented on your video", follow = "started following you", verified = "verification changed" },
|
||
notifications = { like = "{actor} liked your video.", comment = "{actor} commented on your video.", follow = "{actor} started following you.", verified = "Your FlipTok account is now verified.", default = "You have new FlipTok activity." },
|
||
errors = { invalid_video = "Check the FlipTok details.", invalid_music_url = "Use a valid YouTube or direct HTTPS audio-file link.", invalid_media = "Choose valid media from this phone.", invalid_comment = "Enter a valid comment.", comments_disabled = "Comments are disabled.", invalid_profile = "Check your profile details.", invalid_profile_image = "Choose a valid photo from this phone.", invalid_handle = "Use 3–24 letters, numbers, dots, or underscores.", invalid_display_name = "Enter a display name.", invalid_password = "Password must be 8–72 characters.", invalid_credentials = "Username or password is incorrect.", already_registered = "This Sky Cloud account already owns a registered FlipTok profile.", handle_taken = "This username is already taken.", video_not_found = "This video is unavailable.", profile_not_found = "This profile is unavailable.", blocked = "This account is blocked.", not_authorized = "You do not have moderation access.", report_not_found = "This report is no longer open.", report_unavailable = "Discord reporting is not configured yet.", request_failed = "Your FlipTok request could not be completed. Try again.", rate_limited = "Too many actions. Try again shortly.", not_authenticated = "Sign in to Sky Cloud first.", default = "FlipTok could not complete the request." },
|
||
},
|
||
darkchat = {
|
||
name = "DarkChat", newMessage = "New DarkChat message from {sender}", privateNotification = "New DarkChat message",
|
||
signInBody = "DarkChat identities are linked to your private Sky Cloud account.", signInHint = "Sign in through Settings to continue.",
|
||
createIdentity = "Create Dark Identity", createIdentityBody = "Create a private identity before starting a DarkChat conversation.",
|
||
security = "Security", privateNetwork = "Private invitation-only network", noResults = "No Results", noResultsBody = "Try another alias or Dark-ID.",
|
||
noChats = "No Private Chats", noChatsBody = "Connect with a Dark-ID or invitation code. There is no public search.", newChat = "New Chat", to = "To:",
|
||
connectPrivately = "Connect privately", newChatBody = "Enter an exact Dark-ID or invitation code. Unknown identities require confirmation.", darkIdOrInvite = "Dark-ID or invitation code", continue = "Continue", contacts = "DarkChat Contacts", contactsHint = "Saved private identities appear only on your DarkChat account.", noContacts = "No saved DarkChat contacts", private = "Private", shareIdentity = "Tap to share your private identity",
|
||
message = "Dark message", activeNow = "Activity shared", encryptedSession = "Private session", serverPrivate = "Private server-stored conversation",
|
||
emoji = "Emoji", gif = "GIF", gifs = "GIFs", photo = "Photo", video = "Video", attachPhoto = "Attach Photo", takePhoto = "Take Photo", attachGif = "Attach GIF", attachVideo = "Attach Video", searchGifs = "Search GIFs", loadMore = "Load More",
|
||
voiceMessage = "Voice message", sending = "Sending", failed = "Not delivered", delivered = "Delivered", read = "Read", replying = "Replying to",
|
||
messageDeleted = "Message deleted", securityUpdate = "Security settings updated", timerChanged = "Disappearing messages: {timer}",
|
||
timerOff = "Off", timerAfterRead = "After reading", timerMinute = "1 minute", timerFiveMinutes = "5 minutes", timerHour = "1 hour", timerDay = "24 hours", timerWeek = "7 days",
|
||
copied = "Copied", reply = "Reply", copy = "Copy", deleteForMe = "Delete for me", deleteForBoth = "Delete for both", report = "Report", returnToCall = "Return to Call",
|
||
contactSecurity = "Contact & Security", chatSince = "Private chat since {date}", notifications = "Notifications", readReceipts = "Read receipts", disappearing = "Disappearing messages", contactAlias = "Contact alias", saveContact = "Save Contact", addContact = "Add Contact", contactSaved = "Contact saved", removeContact = "Remove Contact", block = "Block User", unblock = "Unblock User", clearChat = "Clear Chat", chatCleared = "Chat cleared",
|
||
myIdentity = "My Dark Identity", alias = "Alias", notificationPrivacy = "Notification privacy", notificationFull = "Full · alias and message", notificationPrivate = "Private · generic message", notificationHidden = "Invisible · badge only", shareActivity = "Share activity status", inviteCode = "Private invitation code", copyInvite = "Copy Invite", shareInvite = "Share Invite", privacyDisclaimer = "DarkChat stores messages on the server and does not claim end-to-end encryption.",
|
||
messageActions = "Message actions", chatSettings = "Chat Settings", contactActions = "Contact Actions", privacySettings = "Privacy Settings",
|
||
profileActions = "Account Actions", signOut = "Sign Out", signOutTitle = "Sign out of Sky Cloud?", signOutBody = "This signs the whole phone out of Sky Cloud. Your DarkChat profile and messages remain stored.", signingOut = "Signing Out...", signOutHint = "Signing out affects every app that uses Sky Cloud on this phone.", deleteProfile = "Delete DarkChat Profile", deleteProfileTitle = "Delete DarkChat profile?", deleteProfileBody = "Your identity, contacts and DarkChat conversations will be permanently deleted.", deletingProfile = "Deleting...",
|
||
unknownIdentity = "Unknown Identity", unknownIdentityBody = "Only continue if you expected this identity. The account is not discoverable through public search.", openSecureChat = "Open Private Chat",
|
||
reportUser = "Report User", reportSpam = "Spam", reportHarassment = "Harassment", reportThreats = "Threats", reportIllegal = "Illegal content", reportOther = "Other", reportDetails = "Optional details", submitReport = "Submit Report", reported = "Report submitted",
|
||
microphoneUnavailable = "The microphone is unavailable.", recordingTooLarge = "The voice message is too large.",
|
||
errors = {
|
||
sign_out_failed = "Sky Cloud could not sign out.",
|
||
not_authenticated = "Sign in to your Sky Cloud account first.", invalid_dark_id = "Enter a valid Dark-ID or invitation code.", profile_not_found = "This private identity was not found.", self_chat = "You cannot message your own identity.", conversation_not_found = "This conversation is unavailable.", blocked = "Messages are blocked in this conversation.", invalid_message = "Enter a valid message.", invalid_gif = "This GIF is invalid.", invalid_voice = "This voice message is invalid.", invalid_attachment = "This photo or video is unavailable.", invalid_profile = "Check your alias and privacy settings.", rate_limited = "Too many requests. Try again shortly.", gif_provider_unconfigured = "GIF search is not configured.", gif_provider_unauthorized = "The GIF provider key is invalid.", gif_provider_rate_limited = "GIF search is busy. Try again shortly.", gif_provider_failed = "GIFs are temporarily unavailable.", default = "DarkChat could not complete the request.",
|
||
},
|
||
},
|
||
messages = {
|
||
name = "Messages", newMessage = "New message from {sender}", compose = "New Message",
|
||
search = "Search", to = "To:", message = "Message", send = "Send", details = "Details",
|
||
officialContact = "Official company contact", messagingUnavailable = "This company contact does not accept messages.",
|
||
filterUnread = "Show Unread Messages", filterLabel = "Conversation Filter", allMessages = "All", unreadMessages = "Unread", smsLabel = "Text Message · SMS",
|
||
photo = "Photo", gif = "GIF", video = "Video", contact = "Contact", attachPhoto = "Attach Photo", takePhoto = "Take Photo",
|
||
attachGif = "Attach GIF", attachVideo = "Attach Video", photos = "Photos", gifs = "GIFs", videos = "Videos",
|
||
contacts = "Contacts", shareContact = "Share Contact", noContactsToShare = "Save a contact first to share it here.", contactSaved = "Contact Saved",
|
||
noPhotos = "Take a photo first to attach it here.", noVideos = "Record a video in Camera first.", searchGifs = "Search GIPHY", loadMore = "Load More", retryGifs = "Try Again",
|
||
moreActions = "More Actions", inboxActions = "Conversation Actions", sortLabel = "Conversation Sort", sortNewest = "Newest First", sortOldest = "Oldest First", unreadConversation = "{name}, {count} unread messages",
|
||
attachmentPreview = "Selected attachments", attachmentLimit = "You can attach up to {count} photos or videos.", removeAttachment = "Remove attachment {number}",
|
||
contactDetails = "Contact Details", contactName = "Name", phoneNumber = "Phone Number", company = "Company", contactActions = "Contact Actions",
|
||
call = "Call", messageAction = "Message", addContact = "Add Contact", showInContacts = "Show in Contacts", blockContact = "Block Contact",
|
||
blockContactTitle = "Block this contact?", blockContactBody = "{name} will no longer be able to call or message this SIM.", blockContactFailed = "The contact could not be blocked.", contactBlocked = "Contact blocked.", deleteContact = "Delete Contact",
|
||
selectedCount = "{count} Selected", deleteSelected = "Delete",
|
||
contactSaveFailed = "The contact could not be saved.", contactDeleteFailed = "The contact could not be deleted.",
|
||
callFailed = "The call could not be started.",
|
||
emoji = "Emoji", emojiPicker = "Emoji picker", emojiCategories = "Emoji categories", skinTone = "Skin tone {number}",
|
||
gifLabels = { celebrate = "Celebrate!", hearts = "Love it", party = "Party time", thumbsUp = "Perfect", wow = "WOW" },
|
||
voiceMessage = "Audio Message", recordVoice = "Record Audio",
|
||
playAudio = "Play Audio", pauseAudio = "Pause Audio", seekAudio = "Seek Audio",
|
||
recording = "Recording", stopAndSend = "Stop and Send", cancelRecording = "Cancel Recording",
|
||
sending = "Sending...", delivered = "Delivered", notDelivered = "Not Delivered",
|
||
microphoneUnavailable = "The microphone is unavailable.", recordingTooLarge = "The recording is too large.",
|
||
noSim = "No SIM", noSimBody = "Insert a SIM card in Settings to send and receive messages.",
|
||
noMessages = "No Messages", noMessagesBody = "Start a conversation with a phone number.",
|
||
noResults = "No Results", today = "Today", yesterday = "Yesterday",
|
||
errors = {
|
||
invalid_number = "Enter a valid phone number.", invalid_message = "Enter a message.", invalid_voice = "The audio message is invalid.",
|
||
invalid_attachment = "The attachment is invalid.", invalid_contact = "The contact is invalid.",
|
||
contact_not_found = "This contact is no longer available.",
|
||
media_provider_unconfigured = "Photo uploads are not configured.",
|
||
capture_provider_unavailable = "The screenshot resource is unavailable.", capture_failed = "The photo could not be captured.",
|
||
video_provider_unavailable = "Video capture requires the screencapture resource.", video_capture_failed = "The video could not be recorded.",
|
||
recording_in_progress = "A video is already being recorded.", recording_not_found = "No active video recording was found.",
|
||
gif_provider_unconfigured = "GIF search is not configured.", gif_provider_unauthorized = "The configured GIPHY API key is invalid.",
|
||
gif_provider_rate_limited = "GIPHY is busy. Try again in a moment.", gif_provider_failed = "GIF search is temporarily unavailable.",
|
||
self_message = "You cannot message your own number.", recipient_not_found = "That number is unavailable.", blocked = "This contact has blocked calls and messages from your SIM.",
|
||
messaging_unavailable = "This company contact does not accept messages.",
|
||
no_sim = "This phone has no SIM card.", rate_limited = "Too many messages. Try again in a minute.",
|
||
request_failed = "Messages are temporarily unavailable.", default = "The message could not be sent.",
|
||
},
|
||
},
|
||
companies = {
|
||
name = "Companies",
|
||
navigation = "Companies navigation",
|
||
actions = "Request actions",
|
||
request = "Service Request",
|
||
verified = "Verified company",
|
||
back = "Back",
|
||
close = "Close",
|
||
tryAgain = "Try Again",
|
||
loadMore = "Load More",
|
||
routeSet = "GPS route set.",
|
||
tabs = {
|
||
directory = "Discover",
|
||
requests = "Requests",
|
||
work = "Work",
|
||
},
|
||
availability = {
|
||
available = "Available",
|
||
busy = "Busy",
|
||
closed = "Closed",
|
||
},
|
||
requestStatuses = {
|
||
new = "New",
|
||
assigned = "Assigned",
|
||
in_progress = "In Progress",
|
||
waiting_customer = "Waiting",
|
||
completed = "Completed",
|
||
cancelled = "Cancelled",
|
||
},
|
||
roles = {
|
||
employee = "Employee",
|
||
manager = "Manager",
|
||
},
|
||
categories = {
|
||
gastronomy = "Food & Drink",
|
||
vehicles = "Vehicles",
|
||
transport = "Transport",
|
||
crafts = "Trades",
|
||
retail = "Retail",
|
||
real_estate = "Real Estate",
|
||
media = "Media",
|
||
nightlife = "Nightlife",
|
||
public_services = "Public Services",
|
||
emergency = "Emergency Services",
|
||
medical = "Medical",
|
||
mechanics = "Mechanics",
|
||
government = "Government",
|
||
},
|
||
days = {
|
||
monday = "Monday",
|
||
tuesday = "Tuesday",
|
||
wednesday = "Wednesday",
|
||
thursday = "Thursday",
|
||
friday = "Friday",
|
||
saturday = "Saturday",
|
||
sunday = "Sunday",
|
||
},
|
||
directory = {
|
||
searchPlaceholder = "Search companies or services",
|
||
categories = "Company categories",
|
||
allCategories = "All",
|
||
allCompanies = "All Companies",
|
||
availableNow = "Available now",
|
||
availableNowHint = "Only show companies taking calls right now.",
|
||
availableSection = "Available Now",
|
||
moreFilters = "More filters",
|
||
hasLocation = "Location",
|
||
acceptsRequests = "Requests",
|
||
resetFilters = "Reset Filters",
|
||
},
|
||
loading = {
|
||
directory = "Loading companies...",
|
||
profile = "Loading company profile...",
|
||
request = "Loading request...",
|
||
requests = "Loading your requests...",
|
||
work = "Loading workspace...",
|
||
},
|
||
states = {
|
||
directoryError = "Companies are unavailable",
|
||
requestsError = "Requests are unavailable",
|
||
workError = "Workspace unavailable",
|
||
profileError = "Company unavailable",
|
||
requestError = "Request unavailable",
|
||
noCompanies = "No companies listed",
|
||
noCompaniesBody = "Public companies will appear here when configured.",
|
||
noResults = "No matching companies",
|
||
noResultsBody = "Try another search or reset your filters.",
|
||
noOpenRequests = "No open requests",
|
||
noClosedRequests = "No completed requests",
|
||
noRequestsBody = "Requests you create with a company will appear here.",
|
||
},
|
||
actionUnavailable = {
|
||
call = "This company cannot be called right now.",
|
||
message = "This service line does not accept text messages.",
|
||
route = "This company has no public location.",
|
||
request = "This company is not accepting service requests.",
|
||
},
|
||
profile = {
|
||
updated = "Status updated {time}",
|
||
announcement = "Latest Update",
|
||
location = "Location",
|
||
noLocation = "No public location",
|
||
hours = "Opening Hours",
|
||
closed = "Closed",
|
||
byAvailability = "Open by availability",
|
||
services = "Services",
|
||
noServices = "No public services listed",
|
||
call = "Call",
|
||
message = "Message",
|
||
route = "Route",
|
||
request = "Request",
|
||
},
|
||
composer = {
|
||
title = "New Service Request",
|
||
chooseService = "Choose a Service",
|
||
subject = "Subject",
|
||
subjectPlaceholder = "What do you need?",
|
||
description = "Details",
|
||
descriptionPlaceholder = "Describe what happened and how the company can help.",
|
||
contact = "Contact number",
|
||
registeredSim = "Replies go to your registered SIM {number}.",
|
||
registeredSimRequired = "A registered SIM is required to send a request.",
|
||
addPhotos = "Add Photos ({count}/3)",
|
||
selectedPhoto = "Selected request photo",
|
||
removePhoto = "Remove photo",
|
||
review = "Review Request",
|
||
confirmTitle = "Send this request?",
|
||
confirmBody = "Send your {service} request to {company}.",
|
||
edit = "Keep Editing",
|
||
send = "Send Request",
|
||
},
|
||
requests = {
|
||
open = "Open",
|
||
closed = "Completed",
|
||
findCompany = "Find a Company",
|
||
generalService = "General service",
|
||
attachments = "Request photos",
|
||
attachedPhoto = "Attached request photo",
|
||
timeline = "Timeline",
|
||
conversation = "Conversation",
|
||
noMessages = "No replies yet",
|
||
replyPlaceholder = "Write a reply",
|
||
sendReply = "Send reply",
|
||
call = "Call Company",
|
||
cancel = "Cancel Request",
|
||
cancelTitle = "Cancel this request?",
|
||
cancelBody = "The company will be notified and can no longer complete it.",
|
||
keep = "Keep Request",
|
||
cancelConfirm = "Cancel Request",
|
||
},
|
||
timeline = {
|
||
created = "Request created",
|
||
assigned = "Request assigned",
|
||
cancelled = "Request cancelled",
|
||
completed = "Request completed",
|
||
statusChanged = "Status changed to {status}",
|
||
},
|
||
time = {
|
||
justNow = "just now",
|
||
minutesAgo = "{count} min ago",
|
||
hoursAgo = "{count} hr ago",
|
||
daysAgo = "{count} days ago",
|
||
},
|
||
work = {
|
||
notAuthorized = "No company workspace",
|
||
notAuthorizedBody = "Your current job is not connected to a configured company.",
|
||
workspace = "Company Workspace",
|
||
publicAvailability = "Public Availability",
|
||
takeCalls = "Take company calls",
|
||
takeCallsBody = "Route new service-line calls to this active SIM.",
|
||
dialServiceLine = "Call from service line",
|
||
dialServiceLineBody = "Make an outgoing call that displays {number}.",
|
||
dialServiceLineHint = "The recipient will see {number} as the incoming caller.",
|
||
targetNumber = "Phone number",
|
||
targetNumberHint = "Enter a phone number",
|
||
callNow = "Call Now",
|
||
overview = "Today at a Glance",
|
||
metrics = {
|
||
new = "New",
|
||
assigned = "Mine",
|
||
waiting = "Waiting",
|
||
completedToday = "Done Today",
|
||
},
|
||
queue = "Request Queue",
|
||
filters = {
|
||
new = "New",
|
||
assigned = "Mine",
|
||
in_progress = "In Progress",
|
||
waiting_customer = "Waiting",
|
||
completed = "Done",
|
||
},
|
||
unassigned = "Unassigned",
|
||
emptyQueue = "Queue is clear",
|
||
emptyQueueBody = "No requests match this filter.",
|
||
},
|
||
workActions = {
|
||
claim = "Claim Request",
|
||
assign = "Assign Employee",
|
||
callCustomer = "Call Customer",
|
||
setStatus = "Set status: {status}",
|
||
},
|
||
assignment = {
|
||
title = "Assign Employee",
|
||
online = "Online",
|
||
offline = "Offline",
|
||
unknownMember = "Unknown employee",
|
||
confirm = "Assign Request",
|
||
},
|
||
assignmentLabels = {
|
||
you = "Assigned to you",
|
||
assigned = "Assigned to a colleague",
|
||
},
|
||
messageAuthors = {
|
||
you = "You",
|
||
customer = "Customer",
|
||
company = "Company",
|
||
},
|
||
manager = {
|
||
title = "Company Profile",
|
||
subtitle = "Manage public information, services, and announcements.",
|
||
revision = "Server revision {revision}",
|
||
availability = "Availability",
|
||
profile = "Public Profile",
|
||
description = "Description",
|
||
descriptionPlaceholder = "Describe the company and what it offers.",
|
||
phoneNumber = "Service number",
|
||
phoneNumberManaged = "Configured by the server and cannot be edited here.",
|
||
noPhoneNumber = "No service number configured",
|
||
chooseCover = "Choose cover photo",
|
||
chooseLogo = "Choose logo",
|
||
coverPhoto = "Company cover photo",
|
||
logoPhoto = "Company logo",
|
||
locationLabel = "Location name",
|
||
locationReady = "A map position is attached to this profile.",
|
||
useCurrentLocation = "Use Current Location",
|
||
address = "Address",
|
||
district = "District",
|
||
acceptRequests = "Accept service requests",
|
||
acceptRequestsBody = "Allow registered SIMs to open structured requests.",
|
||
saveProfile = "Save Profile",
|
||
hours = "Opening Hours",
|
||
dayOpen = "Company is open on this day",
|
||
opensAt = "Opens",
|
||
closesAt = "Closes",
|
||
saveHours = "Save Hours",
|
||
services = "Services",
|
||
serviceTitle = "Service name",
|
||
serviceDescription = "Description",
|
||
priceText = "Price text",
|
||
serviceActive = "Publicly visible",
|
||
serviceRequests = "Accept requests for this service",
|
||
removeService = "Remove Service",
|
||
addService = "Add Service",
|
||
saveServices = "Save Services",
|
||
announcement = "Current Announcement",
|
||
announcementText = "Announcement",
|
||
announcementPlaceholder = "Share a short, timely update.",
|
||
expiresAt = "Expires at",
|
||
publish = "Publish Announcement",
|
||
},
|
||
feedback = {
|
||
requestCreated = "Request sent.",
|
||
requestCancelled = "Request cancelled.",
|
||
requestClaimed = "Request claimed.",
|
||
requestAssigned = "Request assigned.",
|
||
statusUpdated = "Request status updated.",
|
||
availabilityUpdated = "Public availability updated.",
|
||
locationUpdated = "Current location selected.",
|
||
callsEnabled = "Company calls enabled.",
|
||
callsDisabled = "Company calls disabled.",
|
||
profileSaved = "Company profile saved.",
|
||
hoursSaved = "Opening hours saved.",
|
||
servicesSaved = "Services saved.",
|
||
announcementPublished = "Announcement published.",
|
||
},
|
||
conflict = {
|
||
title = "Newer changes are available",
|
||
body = "Another manager updated this information. Reload before saving again.",
|
||
reload = "Reload",
|
||
},
|
||
notifications = {
|
||
newRequest = "New company request",
|
||
requestUpdated = "A company request was updated.",
|
||
newMessage = "New reply to your company request.",
|
||
assigned = "A company request was assigned to you.",
|
||
},
|
||
errors = {
|
||
anonymous_sim = "A registered SIM is required for service requests.",
|
||
call_unavailable = "This service line is currently unavailable.",
|
||
company_not_found = "This company is no longer available.",
|
||
invalid_profile = "Check the company profile fields.",
|
||
invalid_request = "Check the subject and request details.",
|
||
invalid_media = "One or more attached photos are unavailable.",
|
||
invalid_expiration = "Choose a valid announcement expiration.",
|
||
invalid_service = "This service is no longer available.",
|
||
invalid_status = "That status change is not allowed.",
|
||
messaging_unavailable = "This company does not accept text messages.",
|
||
no_sim = "Insert a SIM card to continue.",
|
||
not_authorized = "You are not authorized for this company action.",
|
||
rate_limited = "Please wait before trying again.",
|
||
request_not_found = "This request is no longer available.",
|
||
revision_conflict = "The data changed on another device. Reload and try again.",
|
||
service_unavailable = "The Companies service is temporarily unavailable.",
|
||
too_many_open_requests = "You already have too many open requests.",
|
||
request_failed = "Companies could not complete the request.",
|
||
},
|
||
},
|
||
phone = {
|
||
name = "Phone", recents = "Recents", contacts = "Contacts", keypad = "Keypad",
|
||
noSim = "No SIM", noSimBody = "Insert a SIM card in Settings to make calls.",
|
||
noRecents = "No Recent Calls", allCalls = "All", missedCalls = "Missed", searchRecents = "Search Calls",
|
||
contactDetails = "Contact Details", unknownCaller = "Unknown Caller", callHistory = "Call History",
|
||
noCallHistory = "No calls with this number yet.", noContacts = "No Contacts", searchContacts = "Search Contacts", favorites = "Favorites",
|
||
myCard = "My Card", myNumber = "My Number", device = "Device", contactIndex = "Contact Index",
|
||
addContact = "New Contact", newContact = "New", editContact = "Edit Contact", contactName = "Name", firstName = "First Name", lastName = "Last Name", companyOrGroup = "Company or Group", phoneNumber = "Phone Number",
|
||
officialContact = "Official company contact",
|
||
choosePhoto = "Choose Contact Photo", chooseGallery = "Photos", takePhoto = "Camera", removePhoto = "Remove Photo",
|
||
message = "Message", video = "Video", mail = "Mail", defaultLabel = "Default", privateLabel = "Private",
|
||
contactCard = "Contact Card", removeContact = "Remove Contact", returnToCall = "Return to Call", mobile = "Mobile", messagesProfile = "Messages", notes = "Notes",
|
||
sendMessage = "Send Message", shareContact = "Share Contact", addFavorite = "Add to Favorites", removeFavorite = "Remove from Favorites",
|
||
addEmergency = "Add to Emergency Contacts", blockContact = "Block Contact",
|
||
block = "Block", blockCaller = "Block Caller", blockCallerTitle = "Block this caller?",
|
||
blockCallerBody = "{number} will no longer be able to call this SIM.",
|
||
faceTime = "FaceTime", hideKeypad = "Hide Keypad", more = "More", mute = "Mute", speaker = "Speaker", viewContact = "View Contact",
|
||
call = "Call", callFailed = "The call could not be started.", calling = "calling...", incoming = "Incoming Call", incomingDirection = "Incoming", outgoingDirection = "Outgoing", connected = "Connected",
|
||
missed = "Missed", declined = "Declined", busy = "Busy", unavailable = "Unavailable",
|
||
noAnswer = "No Answer", cancelled = "Cancelled", disconnected = "Disconnected", sim_removed = "SIM Removed", completed = "Call Ended",
|
||
answer = "Answer", decline = "Decline", hangup = "End", addToContacts = "Add to Contacts",
|
||
deleteContact = "Delete Contact", replaceTitle = "Replace SIM?",
|
||
replaceBody = "The current SIM will be returned to your inventory.", choosePhone = "Choose a Phone",
|
||
choosePhoneBody = "Select the phone that should receive {number}.", emptyPhone = "No SIM inserted",
|
||
errors = {
|
||
invalid_contact = "Enter a name and valid phone number.", invalid_number = "Enter a valid phone number.",
|
||
invalid_sim = "The active SIM card is unavailable.",
|
||
no_sim = "This phone has no SIM card.", airplane_mode = "Turn off Airplane Mode to make calls.",
|
||
self_call = "You cannot call your own number.", busy = "The line is busy.",
|
||
company_unavailable = "This company service line is unavailable.",
|
||
readonly_contact = "Official company contacts cannot be changed.",
|
||
message_unavailable = "The conversation could not be opened.", contact_remove_failed = "The contact could not be removed.", contact_favorite_failed = "The favorite could not be updated.",
|
||
blocked = "This number is blocked.", recipient_not_found = "This number is not known.",
|
||
rate_limited = "Too many calls. Try again in a minute.", voice_unavailable = "The configured phone voice service is unavailable.",
|
||
call_not_connected = "Connect the call before enabling speaker mode.", speaker_unavailable = "Speaker mode is not available for the configured phone voice service.",
|
||
speaker_unsupported = "The configured phone voice service does not support speaker mode.",
|
||
inventory_full = "There is no room for the ejected SIM card.", request_failed = "The phone request failed.",
|
||
operation_in_progress = "Another phone operation is already in progress.", sim_request_expired = "The SIM selection expired. Use the SIM card again.",
|
||
sim_not_owned = "That SIM card is no longer in your inventory.", phone_not_owned = "That phone is no longer in your inventory.",
|
||
metadata_unsupported = "The configured inventory cannot store unique SIM metadata.",
|
||
default = "The phone request failed.",
|
||
},
|
||
},
|
||
radio = {
|
||
name = "Radio", disconnected = "Not connected", connectedTo = "Connected - {frequency} MHz",
|
||
noProvider = "Voice service unavailable", channel = "Channel", primaryFrequency = "Primary frequency",
|
||
secondaryFrequency = "Secondary frequency", frequencyPlaceholder = "e.g. 120.5", optional = "Optional",
|
||
mhz = "MHz", volume = "Volume", connect = "Connect", disconnect = "Disconnect",
|
||
speaker = "Speaker", speakerDescription = "Play radio traffic through speaker mode",
|
||
providerFeatureUnavailable = "Not supported by this voice service", notSupported = "Not supported",
|
||
members = "Currently connected ({count})", noMembers = "No participants", history = "Recently connected",
|
||
noHistory = "No history", badge = "Service number", badgePlaceholder = "e.g. 231",
|
||
profileSaved = "Radio profile saved", otherSettings = "Other", autoRejoin = "Automatic rejoin",
|
||
displayName = "Radio display name", displayNamePlaceholder = "Character name",
|
||
displayNameDescription = "Leave empty to use your character name. This name is shown to other participants and in the built-in radio overlay.",
|
||
displayNameNotAllowed = "Your current job or grade is not allowed to change the radio display name.",
|
||
autoRejoinDescription = "Reconnect after spawning or restarting the phone resource",
|
||
radioNotifications = "Radio notifications", notificationsDescription = "Show joins and leaves on your current channel",
|
||
memberJoined = "{name} joined the radio", memberLeft = "{name} left the radio", unknownMember = "Unknown",
|
||
tabs = { radio = "Radio", settings = "Settings" },
|
||
errors = {
|
||
invalid_frequency = "Enter a valid frequency.", invalid_volume = "Enter a valid volume.",
|
||
channel_locked = "You do not have access to this channel.", secondary_locked = "You do not have access to the secondary channel.",
|
||
voice_unavailable = "The configured radio voice service is unavailable.", player_unavailable = "Your player data is not available.",
|
||
rate_limited = "Please wait before changing channel again.", invalid_setting = "This setting is invalid.",
|
||
radio_not_connected = "Connect to a radio channel before enabling speaker mode.",
|
||
speaker_unavailable = "Speaker mode is not available for the configured radio voice service.",
|
||
speaker_unsupported = "The configured radio voice service does not support speaker mode.",
|
||
badge_disabled = "Service numbers are disabled.", badge_forbidden = "This service number is not allowed.",
|
||
display_name_disabled = "Radio display names are disabled.",
|
||
display_name_forbidden = "Your job or grade cannot change the radio display name.",
|
||
invalid_display_name = "Enter a valid radio display name.",
|
||
request_failed = "The radio request failed.", default = "The radio request failed.",
|
||
},
|
||
},
|
||
banking = {
|
||
name = "Banking", welcome = "Welcome back", totalBalance = "Total Balance", recentPeriod = "in recent activity",
|
||
actions = "Banking actions", send = "Send",
|
||
accounts = "Accounts", bankAccount = "Bank account", cash = "Cash",
|
||
latestTransactions = "Latest Transactions", allTransactions = "All Transactions", viewAll = "View all",
|
||
noTransactions = "Your banking activity will appear here.", home = "Home", activity = "Activity",
|
||
chartDaySummary = "{day}: {incoming} incoming, {outgoing} outgoing",
|
||
navigation = "Banking navigation", incoming = "Incoming", outgoing = "Outgoing",
|
||
refresh = "Refresh banking data", unavailable = "Banking unavailable", tryAgain = "Try Again",
|
||
recipientPhone = "Phone number", recipientPhonePlaceholder = "Enter the recipient's number",
|
||
chooseContact = "Choose from contacts", noContacts = "No contacts saved yet.",
|
||
amount = "Amount", amountPlaceholder = "Enter an amount",
|
||
transactionDetails = "Transaction details", transactionDate = "Date",
|
||
transactionDirection = "Direction", transactionReference = "Reference",
|
||
notifications = {
|
||
receivedTitle = "Money received",
|
||
received = "You received {amount} from {sender}.",
|
||
},
|
||
transactions = {
|
||
deposit = "Cash deposit", withdrawal = "Cash withdrawal",
|
||
transfer_in = "Incoming transfer", transfer_out = "Outgoing transfer",
|
||
},
|
||
forms = {
|
||
transfer = { title = "Send money", body = "Transfer money from your bank account to an online player.", submit = "Send transfer" },
|
||
},
|
||
errors = {
|
||
invalid_request = "Enter a valid phone number and whole amount.", insufficient_funds = "There is not enough money in this account.",
|
||
target_not_found = "The recipient is not online.", self_transfer = "You cannot send money to yourself.",
|
||
rate_limited = "Please wait before making another transaction.", reload_cooldown = "Too many refreshes. Please wait a moment before trying again.", transfer_failed = "The transfer could not be completed.",
|
||
banking_unavailable = "Banking is currently unavailable.", request_failed = "The banking request failed.",
|
||
default = "The banking request failed.",
|
||
},
|
||
},
|
||
billing = {
|
||
name = "Billing", back = "Back", navigation = "Billing navigation",
|
||
search = "Search invoices", loadMore = "Load more", tryAgain = "Try again",
|
||
tabs = { overview = "Overview", inbox = "Inbox", history = "History" },
|
||
direction = { inbox = "Received", sent = "Sent" },
|
||
summary = { open = "Open invoices", due = "Amount due", overdue = "Overdue" },
|
||
overview = { eyebrow = "Payment center", urgent = "Needs attention", viewAll = "View all invoices" },
|
||
filters = { scope = "Invoice source", status = "Status", all = "All", open = "Open", overdue = "Overdue", paid = "Paid" },
|
||
status = { open = "Open", overdue = "Overdue", processing = "Processing", paid = "Paid", disputed = "Disputed", cancelled = "Cancelled", refunded = "Refunded" },
|
||
detail = {
|
||
title = "Invoice details", noDueDate = "No due date", total = "Total", reason = "Reason",
|
||
issued = "Issued", due = "Due", paidAt = "Paid", paidOn = "Payment on {date}",
|
||
issuer = "Issuer", invoiceNumber = "Invoice number",
|
||
invoiceInformation = "Invoice information", paymentInformation = "Payment information",
|
||
note = "Invoice note",
|
||
paymentReference = "Payment reference", dispute = "Dispute invoice",
|
||
disputedSuccess = "The invoice was disputed.",
|
||
},
|
||
payment = {
|
||
payNow = "Pay this invoice", title = "Confirm payment",
|
||
body = "Pay this invoice from {issuer} with your bank account.",
|
||
confirm = "Pay invoice", cancel = "Cancel", success = "Invoice paid successfully.",
|
||
},
|
||
empty = {
|
||
openTitle = "You're all caught up", openBody = "Invoices requiring your attention will appear here.",
|
||
inboxTitle = "No invoices found", inboxBody = "Received invoices matching your filters will appear here.",
|
||
historyTitle = "No payment history", historyBody = "Completed and closed invoices will appear here.",
|
||
},
|
||
notifications = { newInvoice = "New invoice from {issuer}: {amount}" },
|
||
errors = {
|
||
billing_unavailable = "Billing is currently unavailable.", invoice_not_found = "This invoice could not be found.",
|
||
invoice_not_payable = "This invoice can no longer be paid.", invoice_already_paid = "This invoice has already been paid.",
|
||
insufficient_funds = "There is not enough money in your bank account.", payment_in_progress = "This invoice is already being processed.",
|
||
payment_failed = "The payment could not be completed.", dispute_unavailable = "This invoice cannot be disputed.",
|
||
rate_limited = "Please wait before trying again.", request_failed = "The billing request failed.",
|
||
default = "The billing request failed.",
|
||
},
|
||
},
|
||
garage = {
|
||
name = "Garage", subtitle = "Your vehicle collection", myVehicles = "My Vehicles",
|
||
searchPlaceholder = "Search name, plate or garage",
|
||
tryAgain = "Try Again", unavailable = "Garage unavailable",
|
||
noVehicles = "No Vehicles", noVehiclesBody = "Vehicles owned by this character will appear here.",
|
||
noResults = "No Results", noResultsBody = "Try another vehicle, plate or location.",
|
||
unknownVehicle = "Unknown Vehicle", unknownLocation = "Location unavailable",
|
||
location = "Current location", fuel = "Fuel", engine = "Engine", body = "Body",
|
||
vin = "Vehicle Identification Number", notAvailable = "—",
|
||
filtersLabel = "Filter vehicles",
|
||
valetDelivered = "Your vehicle has arrived.",
|
||
valet = {
|
||
title = "Sky Valet", eyebrow = "Premium delivery",
|
||
body = "A professional driver brings this vehicle directly to your current location.",
|
||
deliver = "Deliver Vehicle", liveEyebrow = "Live delivery", tracked = "Live tracked",
|
||
onDemand = "On demand", cancel = "Cancel", confirmTitle = "Request Valet?",
|
||
confirmBody = "{vehicle} will be delivered to you for {price}.", confirm = "Request Valet",
|
||
ordering = "Requesting…", account = "The fee is charged to your {account} account.",
|
||
connecting = "Locating driver", arriving = "Arriving now", eta = "About {seconds}s away",
|
||
distance = "{distance} m away", unavailableStatus = "Only parked vehicles can be delivered.",
|
||
unsupported = "Valet delivery is disabled for this vehicle type.",
|
||
activeOrder = "A valet driver is already delivering another vehicle.",
|
||
status = { ordering = "Confirming order", preparing = "Preparing vehicle", en_route = "Driver en route",
|
||
arriving = "Arriving now", delivered = "Vehicle delivered", cancelled = "Delivery cancelled", failed = "Delivery failed" },
|
||
},
|
||
filters = { all = "All", garaged = "Parked", out = "Outside", impounded = "Impound" },
|
||
status = { garaged = "Parked", out = "Outside", impounded = "Impounded" },
|
||
kinds = { car = "Vehicle", bike = "Motorcycle", boat = "Boat", plane = "Aircraft", helicopter = "Helicopter" },
|
||
errors = {
|
||
garage_unavailable = "Vehicle data is unavailable for this character.",
|
||
valet_disabled = "Valet service is currently unavailable.",
|
||
valet_active = "A valet delivery is already active.",
|
||
valet_cooldown = "Please wait before requesting another vehicle.",
|
||
invalid_vehicle = "Select a valid vehicle.", vehicle_not_owned = "This vehicle does not belong to this character.",
|
||
vehicle_not_garaged = "This vehicle is not parked in a garage.",
|
||
valet_vehicle_type = "Valet supports cars and motorcycles only.",
|
||
insufficient_funds = "You do not have enough money for this delivery.",
|
||
valet_status_unsupported = "This garage system cannot release the vehicle.",
|
||
valet_not_found = "The valet order is no longer active.",
|
||
valet_not_cancellable = "The delivery can no longer be cancelled.",
|
||
invalid_vehicle_model = "The vehicle model could not be loaded.",
|
||
vehicle_already_out = "This vehicle is already nearby.",
|
||
valet_spawn_failed = "The driver could not prepare your vehicle.",
|
||
valet_no_road = "No suitable road was found near you.",
|
||
valet_interrupted = "The valet delivery was interrupted.",
|
||
valet_timeout = "The driver could not reach you in time. Your fee was refunded.",
|
||
valet_completion_failed = "The handover could not be confirmed.",
|
||
valet_vehicle_unverified = "The delivered vehicle could not be verified.",
|
||
rate_limited = "Please wait before refreshing again.",
|
||
device_not_open = "Open the phone again to view your vehicles.",
|
||
request_failed = "The garage request failed.", default = "The garage request failed.",
|
||
},
|
||
},
|
||
skyride = {
|
||
name = "SkyRide", loading = "Loading SkyRide", unavailable = "SkyRide unavailable", tryAgain = "Try Again",
|
||
mode = { rider = "Ride", driver = "Drive" },
|
||
riderEyebrow = "Ride anywhere", whereTo = "Where to?", pickup = "Pickup", destination = "Destination",
|
||
currentLocation = "Current location", notSelected = "Not selected", location = "Choose a location",
|
||
chooseLocation = { pickup = "Set pickup", destination = "Choose destination" },
|
||
chooseOnMap = "Choose on map", chooseOnMapBody = "Tap a precise point on the Los Santos map.",
|
||
pickOnMap = { pickup = "Tap your pickup point", destination = "Tap your destination" },
|
||
tapMapHint = "Drag and zoom the map, then tap to place the pin.", mapPoint = "Map pin", map = "Map", useGps = "Use your live position",
|
||
zoomIn = "Zoom in", zoomOut = "Zoom out", resetMap = "Reset map view",
|
||
savedPlaces = "Saved places", savedPlace = "Saved place", quickDestinations = "Quick destinations",
|
||
quickLocations = { ["legion-square"] = "Legion Square", ["diamond-casino"] = "Diamond Casino", airport = "Los Santos Airport", vinewood = "Vinewood" },
|
||
viewRides = "View Ride Options", change = "Change", requestRide = "Request SkyRide",
|
||
serviceMeta = "{eta} min away · {seats} seats", distanceMeters = "{distance} m",
|
||
distanceKilometers = "{distance} km", distanceMiles = "{distance} mi", durationMinutes = "{minutes} min",
|
||
fare = "Trip fare", calculatedFare = "Calculated", customFare = "Own price",
|
||
calculatedFareBody = "Distance, time, and selected service included.",
|
||
customFareRange = "Allowed range: {minimum} to {maximum}", applyCustomFare = "Apply Own Price",
|
||
perKilometer = "{price} / km", perMile = "{price} / mi", rideStatus = "Ride status",
|
||
services = {
|
||
taxi = { name = "Taxi" }, comfort = { name = "Comfort" }, xl = { name = "XL" }, premium = { name = "Premium" },
|
||
},
|
||
ride = "SkyRide",
|
||
driver = {
|
||
online = "You are online", offline = "You are offline",
|
||
onlineBody = "New ride requests can reach you now.", offlineBody = "Go online when you are ready to drive.",
|
||
toggleStatus = "Toggle driver status", today = "Today", requests = "Nearby requests", accept = "Accept Ride",
|
||
noRequests = "No nearby requests", noRequestsBody = "New requests will appear here automatically.",
|
||
goOnline = "Go online to receive rides", goOnlineBody = "Switch your driver status on to see nearby requests.",
|
||
statusBody = {
|
||
searching = "A passenger is waiting for a driver.", accepted = "Navigate to the passenger pickup.",
|
||
driver_arriving = "You are heading to the passenger.", arrived = "Confirm when the passenger is in the vehicle.",
|
||
in_progress = "Follow the route to the destination.", completed = "The ride has been completed.",
|
||
cancelled = "This ride was cancelled.",
|
||
},
|
||
actions = { arrive = "I Have Arrived", start = "Start Ride", complete = "Complete Ride" },
|
||
},
|
||
passenger = "Passenger", vehicle = "Vehicle", navigate = "Navigate", call = "Call", message = "Message",
|
||
cancelRide = "Cancel Ride", cancelTitle = "Cancel this ride?",
|
||
cancelBody = "Your driver or passenger will be notified. A cancellation fee may apply.",
|
||
safetyNote = "Trip details are shared only while this ride is active.", waypointSet = "Route added to your GPS.",
|
||
status = {
|
||
searching = "Finding a driver", accepted = "Driver found", driver_arriving = "Driver en route",
|
||
arrived = "Driver arrived", in_progress = "On the way", completed = "Completed", cancelled = "Cancelled",
|
||
},
|
||
statusBody = {
|
||
searching = "We are matching you with a nearby driver.", accepted = "Your driver is preparing to pick you up.",
|
||
driver_arriving = "Your driver is on the way to your pickup.", arrived = "Your driver is waiting at the pickup point.",
|
||
in_progress = "You are on the way to your destination.", completed = "You have arrived at your destination.",
|
||
cancelled = "This ride is no longer active.",
|
||
},
|
||
navigation = "SkyRide navigation",
|
||
tabs = { home = "Home", rides = "Rides", activity = "Activity", messages = "Chat", profile = "Profile" },
|
||
rides = "Your Rides", ridesBody = "Review completed and cancelled rides.", noRides = "No rides yet",
|
||
noRidesBody = "Completed and cancelled rides will appear here.", activity = "Activity",
|
||
activityBody = "Recent trip updates and milestones.", noActivity = "No recent activity",
|
||
noActivityBody = "Ride updates will appear here.", messages = "Messages",
|
||
messagesBody = "Contact your active driver or passenger.", noMessages = "No active contact",
|
||
noMessagesBody = "Book or accept a ride to contact the other person.", openMessages = "Open Messages",
|
||
account = "Account", paymentMethod = "Payment Method", paymentMethods = { bank = "Bank", cash = "Cash", default = "Payment method" }, safety = "Safety Center",
|
||
safetyBody = "Help, trip sharing, and emergency information", driverMode = "Driver Mode",
|
||
driverModeBody = "Accept ride requests and track your earnings", completedRides = "Completed",
|
||
cancelledRides = "Cancelled", acceptance = "Acceptance", rating = "Rating", notAvailable = "N/A",
|
||
profile = "Your profile", editProfile = "Edit Profile", editProfileBody = "Change your public name and profile photo",
|
||
profilePhoto = "Profile photo", gallery = "Photos", camera = "Camera", profileDetails = "Profile details",
|
||
profileName = "Name", profileNamePlaceholder = "Your SkyRide name", removeProfilePhoto = "Remove profile photo",
|
||
saveProfile = "Save Profile", profileSaved = "Your SkyRide profile was updated.",
|
||
memberSince = "SkyRide member since {date}", rideComplete = "Ride Complete", rateRide = "Rate your ride",
|
||
rateRideBody = "How was your trip? Your feedback helps every rider.", ratingValue = "{rating} stars",
|
||
tip = "Add a tip", noTip = "No tip", comment = "Comment", commentPlaceholder = "Share an optional note...",
|
||
submitRating = "Submit Rating", notNow = "Not Now", ratingSaved = "Thanks for your feedback.",
|
||
errors = {
|
||
skyride_unavailable = "SkyRide is currently unavailable.",
|
||
invalid_location = "Choose a valid pickup and destination.", quote_not_found = "These ride options are no longer available.",
|
||
pickup_too_far = "Move closer to the selected pickup point.", invalid_route = "No suitable route was found for this ride.",
|
||
invalid_custom_fare = "Choose an own price inside the allowed range.",
|
||
quote_expired = "These ride options expired. Request a new quote.", active_ride_exists = "Finish or cancel your active ride first.",
|
||
invalid_driver_status = "That driver status is not available.", driver_not_eligible = "This account is not eligible for Driver Mode.",
|
||
driver_offline = "Go online before accepting a ride.", driver_unavailable = "That driver is no longer available.",
|
||
driver_vehicle_required = "Sit in the driver's seat of a vehicle before accepting a ride.",
|
||
ride_not_found = "This ride is no longer available.", not_ride_participant = "You are not part of this ride.",
|
||
invalid_ride_status = "This action is not available for the ride.", invalid_rating = "Choose a rating from one to five stars.",
|
||
driver_too_far = "Move closer to the required ride location.", passenger_too_far = "The passenger is not close enough to start.",
|
||
destination_too_far = "Move closer to the destination to complete the ride.", payout_failed = "The driver payout could not be completed.",
|
||
refund_failed = "The ride refund could not be completed.", invalid_cancel_reason = "Choose a valid cancellation reason.",
|
||
invalid_tip = "Choose a valid tip amount.", invalid_comment = "The rating comment is not valid.",
|
||
invalid_profile = "Choose a valid profile name and photo.", invalid_profile_name = "Your profile name must contain 2 to 50 characters.",
|
||
invalid_profile_image = "Choose a profile photo from your own gallery.",
|
||
tip_failed = "The tip could not be processed.", insufficient_funds = "Your selected payment method has insufficient funds.",
|
||
rate_limited = "Please wait a moment before trying again.", request_failed = "SkyRide could not complete the request.",
|
||
device_not_open = "Open the phone again to use SkyRide.", device_not_owned = "This phone does not belong to this character.",
|
||
device_locked = "Unlock this phone to use SkyRide.",
|
||
default = "SkyRide could not complete the request.",
|
||
},
|
||
},
|
||
house = {
|
||
name = "House", subtitle = "Manage homes and access", myHomes = "Your Homes",
|
||
properties = "Properties", owned = "Owned", shared = "Shared with you",
|
||
locked = "Locked", unlocked = "Unlocked", lockDoor = "Lock Door", unlockDoor = "Unlock Door", owner = "Owner", keyholder = "Key holder",
|
||
openDetails = "Open property details", tryAgain = "Try Again", refresh = "Refresh",
|
||
offline = "House is offline", offlineBody = "Start a supported housing resource or review Config.Housing.",
|
||
unavailable = "Homes unavailable", empty = "No homes yet", emptyBody = "Homes you own or can access will appear here automatically.",
|
||
provider = "Housing data · {system}", access = "Access", status = "Status",
|
||
actions = "Quick Actions", setWaypoint = "Get Directions", viewCamera = "View Camera",
|
||
garage = "Garage", garageEnabled = "Enabled", garageDisabled = "Unavailable",
|
||
storedVehicles = "{count} stored", camera = "Camera", cameraAvailable = "Ready", cameraUnavailable = "Unavailable",
|
||
keys = "Keys", manageKeys = "Manage Keys", addKey = "Add Key", revokeKey = "Revoke",
|
||
noKeys = "No shared keys", noKeysBody = "Only you currently have access to this home.",
|
||
chooseResident = "Give a Key", chooseResidentBody = "Choose a person currently inside this property.",
|
||
noCandidates = "Nobody is waiting inside", noCandidatesBody = "A person must be inside the property before you can give them a key.",
|
||
revokeTitle = "Revoke Key?", revokeBody = "{name} will lose access to this property.",
|
||
offlineKey = "Offline", onlineKey = "Online", cancel = "Cancel", confirm = "Confirm",
|
||
lockSuccess = "Door status updated.", waypointSuccess = "Route set on your map.",
|
||
keyGranted = "Key granted.", keyRevoked = "Key revoked.", cameraStarting = "Opening camera…",
|
||
errors = {
|
||
provider_unavailable = "The housing provider is unavailable.", provider_error = "The housing provider could not be reached.",
|
||
housing_unavailable = "Housing data is unavailable for this character.", property_not_found = "This property no longer exists.",
|
||
property_access_denied = "You no longer have access to this property.", owner_required = "Only the property owner can do that.",
|
||
invalid_property = "Select a valid property.", invalid_action = "This housing action is unavailable.", capability_unavailable = "This property provider does not support that control.",
|
||
invalid_target = "Select a valid resident.", target_not_in_property = "That person is no longer inside the property.",
|
||
key_not_found = "That key no longer exists.", key_already_exists = "That person already has access to this property.", keyholder_offline = "Offline keys must be revoked through the property menu.",
|
||
cctv_unavailable = "The camera is unavailable for this property.", provider_rejected = "The housing provider rejected the request.",
|
||
action_failed = "The property change could not be saved.", rate_limited = "Please wait before using another housing control.", reload_cooldown = "Too many refreshes. Please wait a moment before trying again.", device_not_open = "Open the phone again to manage your homes.",
|
||
device_locked = "Unlock the phone to manage your homes.", request_failed = "The housing request failed.", default = "The housing request failed.",
|
||
},
|
||
},
|
||
calculator = {
|
||
name = "Calculator", history = "Calculation history", changeMode = "Change calculator mode",
|
||
scientificFunctions = "Scientific functions", edit = "Edit", done = "Done", closeHistory = "Close history",
|
||
today = "Today", yesterday = "Yesterday", earlier = "Earlier", noHistory = "No calculations yet", clearHistory = "Clear History",
|
||
},
|
||
snake = {
|
||
name = "Snake", backToMenu = "Back to game menu", board = "Snake game board",
|
||
controls = "Direction controls",
|
||
directions = { down = "Move down", left = "Move left", right = "Move right", up = "Move up" },
|
||
gameOver = "Game Over", highScore = "High Score", menu = "Main Menu", pause = "Pause game", paused = "Paused",
|
||
readyBody = "Collect fruit, grow longer, and stay clear of every wall.", readyTitle = "Ready to play?",
|
||
restart = "Play Again", resume = "Resume game", score = "Score", speed = "Speed",
|
||
speeds = { fast = "Fast", normal = "Normal", relaxed = "Relaxed" }, start = "Start Game",
|
||
swipeHint = "Use the arrow keys to steer",
|
||
},
|
||
memory = {
|
||
name = "Memory", backToMenu = "Back to board selection", board = "Memory card board",
|
||
chooseBody = "Find every matching pair with as few moves as possible.",
|
||
chooseTitle = "Choose a board", completeEyebrow = "Board cleared", completeTitle = "Great memory!",
|
||
difficulties = { large = "Expert", medium = "Classic", small = "Quick" }, eyebrow = "Matching game",
|
||
hiddenCard = "Hidden card", menu = "Board Selection", moves = "Moves", mute = "Mute game sounds",
|
||
noBest = "No best score yet", playAgain = "Play Again", restart = "Restart",
|
||
revealedCard = "Revealed card", time = "Time", unmute = "Turn on game sounds",
|
||
},
|
||
numberMerge = {
|
||
name = "2048", backToMenu = "Back to game menu", best = "Best", board = "2048 game board",
|
||
cancel = "Keep Current Game", confirmBody = "Your current board will be replaced. This cannot be undone.",
|
||
confirmNew = "Start New Game", confirmTitle = "Replace current game?", continueGame = "Continue Game",
|
||
controls = "Move controls", directions = {
|
||
down = "Move tiles down", left = "Move tiles left", right = "Move tiles right", up = "Move tiles up",
|
||
},
|
||
eyebrow = "Number puzzle", gameOverBody = "No empty spaces or matching neighbours remain.",
|
||
gameOverTitle = "No more moves", highest = "Highest Tile",
|
||
howToBody = "Swipe to combine matching tiles. Each pair becomes one larger tile.",
|
||
howToExample = "2 + 2 = 4 · 4 + 4 = 8 · … · 1024 + 1024 = 2048",
|
||
howToGoal = "Goal: create the 2048 tile before the board has no moves left.", howToTitle = "How to play",
|
||
keepPlaying = "Keep Playing", mainMenu = "Main Menu",
|
||
menuBody = "Slide matching numbers together and work your way up to 2048.", menuTitle = "Build the 2048 tile",
|
||
mute = "Mute game sounds", newGame = "New Game", score = "Score",
|
||
swipeHint = "Swipe the board or use arrow keys / WASD",
|
||
unmute = "Turn on game sounds",
|
||
wonBody = "You reached the legendary tile. Continue climbing or begin again.", wonTitle = "You made 2048!",
|
||
},
|
||
minesweeper = {
|
||
name = "Minesweeper", backToMenu = "Back to game menu", board = "Minesweeper board",
|
||
chooseBody = "Reveal every safe field. Numbers show how many mines touch that field.",
|
||
chooseTitle = "Choose a minefield", difficulties = { classic = "Classic", expert = "Expert", quick = "Quick" },
|
||
emptyCell = "Revealed empty field", eyebrow = "Mine puzzle", flaggedCell = "Flagged field",
|
||
gameHint = "Tap to reveal · Hold or right-click to flag", hiddenCell = "Hidden field",
|
||
longPressHint = "Tap to reveal · Hold to place a flag",
|
||
lostBody = "A mine was hidden there. Mark suspicious fields and try again.", lostTitle = "Mine triggered",
|
||
mainMenu = "Main Menu", mineCell = "Revealed mine", mines = "Mines", mute = "Mute game sounds",
|
||
noBest = "No best time yet", numberCell = "Revealed field with {count} adjacent mines",
|
||
playAgain = "Play Again", restart = "Restart", resume = "Continue Game", time = "Time",
|
||
unmute = "Turn on game sounds", wonBody = "Minefield cleared in {time}.", wonTitle = "Field cleared!",
|
||
},
|
||
towerStack = {
|
||
name = "Tower Stack", backToMenu = "Back to game menu", bestHeight = "Best Height",
|
||
bestScore = "Best Score", blocks = "Blocks", eyebrow = "Timing challenge", finalScore = "Final Score",
|
||
gameHint = "Tap the playfield to place the moving block", gameOver = "Tower collapsed",
|
||
height = "Height", mainMenu = "Main Menu",
|
||
menuBody = "Stop each moving block above the tower. Only the overlapping part remains.",
|
||
menuTitle = "How high can you build?", mute = "Mute game sounds", newGame = "Start New Game",
|
||
pause = "Pause or resume game", paused = "Paused", perfect = "PERFECT!",
|
||
placeBlock = "Place moving block", playAgain = "Play Again", ready = "Ready to stack?",
|
||
resume = "Continue Game", score = "Score", start = "Start Game",
|
||
tapHint = "Every tap places one block · perfect hits earn bonus points",
|
||
unmute = "Turn on game sounds",
|
||
},
|
||
skyFlappy = {
|
||
name = "Sky Flappy", backToMenu = "Back to game menu", best = "Best", design = "Sky design",
|
||
designs = { dawn = "Dawn", neon = "Neon", storm = "Storm" }, eyebrow = "Sky challenge",
|
||
firstTap = "Tap to launch", flap = "Fly upward", gameHint = "Tap anywhere in the sky to fly upward",
|
||
gameOver = "Flight ended", highScore = "High Score", mainMenu = "Main Menu",
|
||
menuBody = "Guide the sky bird through every tower opening without touching the edges.",
|
||
menuTitle = "Fly between the towers", mute = "Mute game sounds", pause = "Pause or resume game",
|
||
paused = "Paused", playAgain = "Fly Again", points = "Points", ready = "Ready for takeoff?",
|
||
resume = "Continue Flight", score = "Score", start = "Start Flight",
|
||
tapHint = "Tap to flap · gravity pulls the bird down", unmute = "Turn on game sounds",
|
||
},
|
||
neonDrop = {
|
||
name = "Neon Drop", backToMenu = "Back to game menu", bestLines = "Best Lines",
|
||
bestScore = "Best Score", board = "Neon Drop reactor board", controls = "Block controls",
|
||
eyebrow = "Energy block puzzle", gameHint = "Swipe the reactor or use the five controls",
|
||
gameOver = "Reactor overloaded", hardDrop = "Drop block immediately",
|
||
howToBody = "Fill complete horizontal rows to dissolve them and keep the reactor clear.",
|
||
howToTitle = "Charge the reactor", left = "Move block left", level = "Level", lines = "Lines",
|
||
mainMenu = "Main Menu", menuBody = "Rotate and place falling energy shapes. Every cleared row increases your charge.",
|
||
menuTitle = "Build complete energy lines", mute = "Mute game sounds", newGame = "Start New Game",
|
||
next = "Next", pause = "Pause or resume game", paused = "Paused", playAgain = "Play Again",
|
||
points = "Points", ready = "Reactor ready", resume = "Continue Game", right = "Move block right",
|
||
rotate = "Rotate block", score = "Score", softDrop = "Move block down", start = "Start Reactor",
|
||
unmute = "Turn on game sounds",
|
||
},
|
||
camera = {
|
||
name = "Camera", flash = "Flash", flip = "Flip camera", landscape = "Switch to landscape",
|
||
portrait = "Switch to portrait", photo = "Photo", video = "Video", microphoneOn = "Microphone on", microphoneOff = "Microphone muted",
|
||
focusHelp = "Hold Space to look around", returnHelp = "Release Space for controls", lockCamera = "Lock camera movement",
|
||
unlockCamera = "Unlock camera movement", spaceKey = "Space", uploading = "{count} uploading",
|
||
saving = "Saving video...", openGallery = "Open Photos", takePhoto = "Take photo",
|
||
startRecording = "Start recording", stopRecording = "Stop recording", saved = "Saved to Photos.",
|
||
zoom = "Set camera zoom to {zoom}",
|
||
errors = {
|
||
cancelled = "Capture cancelled.", capture_failed = "Unable to capture the game view.",
|
||
invalid_media_type = "The uploaded media type is invalid.", invalid_upload = "The upload could not be verified.",
|
||
invalid_upload_token = "The upload session is no longer valid.", missing_config = "Camera uploads are not configured.",
|
||
microphone_unavailable = "Allow microphone access or mute the microphone before recording.",
|
||
not_found = "The media item no longer exists.", owner_changed = "The active phone account changed during upload.",
|
||
operation_in_progress = "Another media operation is already in progress.",
|
||
rate_limited = "Too many media actions. Try again shortly.", request_failed = "The camera request failed.",
|
||
request_timeout = "The media service timed out.", unsupported = "Video recording is not supported.",
|
||
upload_failed = "The media upload failed.", upload_timeout = "The media upload timed out.",
|
||
},
|
||
},
|
||
calendar = {
|
||
name = "Calendar", today = "Today", calendars = "Calendars", calendar = "Calendar", calendarName = "Sky Cloud",
|
||
searchPlaceholder = "Search events", previousMonth = "Previous month", nextMonth = "Next month",
|
||
eyebrow = "Your time. Clearly planned.", schedule = "Schedule", event = "Event", appointment = "Appointment",
|
||
newEvent = "New event", editEvent = "Edit event", deleteEvent = "Delete event", details = "Event details",
|
||
title = "Title", titlePlaceholder = "What is planned?", date = "Date", allDay = "All-day", starts = "Starts", ends = "Ends",
|
||
reminder = "Reminder", reminderNotification = "Upcoming: {title}", note = "Note",
|
||
notePlaceholder = "Add details, an address or anything to remember...", noEvents = "Nothing planned",
|
||
noEventsBody = "This day is still free. Add an event whenever you are ready.",
|
||
signInTitle = "Your Sky Cloud calendar",
|
||
signInBody = "Sign in to Sky Cloud in Settings to sync appointments and receive reminders.",
|
||
views = { compact = "Compact", stacked = "Stacked", details = "Details", list = "List" },
|
||
reminders = {
|
||
none = "No reminder", atStart = "At start time", tenMinutes = "10 minutes before",
|
||
thirtyMinutes = "30 minutes before", oneHour = "1 hour before", oneDay = "1 day before",
|
||
},
|
||
errors = {
|
||
invalid_event = "Enter a title and make sure the end is after the start.",
|
||
invalid_range = "This calendar period is invalid.",
|
||
conflict = "This event changed on another phone. Open it again.",
|
||
rate_limited = "Too many changes. Try again shortly.",
|
||
not_authenticated = "Sign in to your Sky Cloud account first.",
|
||
request_failed = "Calendar is temporarily unavailable.", default = "The calendar request failed.",
|
||
},
|
||
},
|
||
clock = {
|
||
name = "Clock", lap = "Lap", minutes = "Minutes", add = "Add alarm", location = "Los Santos",
|
||
tabs = { world = "Clock", alarm = "Alarm", stopwatch = "Stopwatch", timer = "Timer" },
|
||
alarm = {
|
||
add = "Add Alarm", edit = "Edit Alarm", ringing = "Alarm", time = "Time", hours = "Hours", ["repeat"] = "Repeat", note = "Note",
|
||
notePlaceholder = "Alarm", sound = "Sound", delete = "Delete Alarm", never = "Never",
|
||
everyDay = "Every Day", weekdays = "Weekdays", weekends = "Weekends",
|
||
days = { sunday = "Sunday", monday = "Monday", tuesday = "Tuesday", wednesday = "Wednesday", thursday = "Thursday", friday = "Friday", saturday = "Saturday" },
|
||
daysShort = { sunday = "Sun", monday = "Mon", tuesday = "Tue", wednesday = "Wed", thursday = "Thu", friday = "Fri", saturday = "Sat" },
|
||
sounds = {
|
||
radar = "Radar", beacon = "Beacon", chimes = "Chimes", apex = "Apex", aurora = "Aurora",
|
||
circuit = "Circuit", constellation = "Constellation", daybreak = "Daybreak", uplift = "Uplift",
|
||
},
|
||
},
|
||
timer = {
|
||
time = "Timer duration", hours = "Hours", hoursShort = "hr", minutes = "Minutes", minutesShort = "min",
|
||
seconds = "Seconds", secondsShort = "sec",
|
||
description = "Description", note = "Note", notePlaceholder = "Timer", sound = "Sound", ringing = "Timer",
|
||
},
|
||
},
|
||
mail = {
|
||
name = "Mail", login = "Sign In", register = "Create Account", registerLink = "Register", loginTitle = "iFruit Mail",
|
||
loginBody = "Sign in to use your shared iFruit mailbox.", registerBody = "Choose your new @ifruit.com address.",
|
||
localPart = "Email address", email = "Email", password = "Password", confirmPassword = "Confirm password",
|
||
accountEyebrow = "Your Sky Cloud account", emailPlaceholder = "name@ifruit.com", passwordPlaceholder = "Enter password",
|
||
passwordWarning = "Use an in-character password. Do not reuse a real-world password.",
|
||
mailboxes = "Mailboxes", editMailboxes = "Edit", newMailbox = "New Mailbox",
|
||
mailboxName = "Name", mailboxNamePlaceholder = "Mailbox name", mailboxLocation = "Mailbox Location",
|
||
deleteMailbox = "Delete {mailbox}", deleteMailboxTitle = "Delete Mailbox?",
|
||
deleteMailboxBody = "Messages in {mailbox} will return to their original mailbox.",
|
||
moveToMailbox = "Move to Mailbox", movedToMailbox = "Moved to {mailbox}.",
|
||
inbox = "Inbox", sent = "Sent", drafts = "Drafts", trash = "Trash",
|
||
compose = "New Message", recipients = "To", recipientHint = "Separate up to 10 addresses with commas.",
|
||
recipientPlaceholder = "name@ifruit.com", subject = "Subject", subjectPlaceholder = "What's this about?",
|
||
body = "Message", messagePlaceholder = "Write a message...", search = "Search mail", messages = "messages",
|
||
toolbar = "Mail tools", filterTitle = "Filter", filteredBy = "Filtered by",
|
||
filterActiveLabel = "Filtered by {filter}",
|
||
filterStatus = "Status", filterAddressed = "Addressed", filterDirection = "Direction", filterOther = "Other",
|
||
filterUnreadLabel = "Unread", filterReadLabel = "Read", filterReceived = "Received",
|
||
filterSent = "Sent", filterToMe = "To Me", filterFromMe = "From Me",
|
||
filterToday = "Today", filterMultiple = "{count} Filters",
|
||
select = "Select", selectedCount = "{count} Selected", deleteSelected = "Delete Selected",
|
||
selectionLimit = "You can select up to {count} messages at once.",
|
||
noMessageContent = "No message content", noMail = "No Mail",
|
||
noMailBody = "Messages in this mailbox will appear here.", noResults = "No Results",
|
||
noResultsBody = "Try a different search.", untitled = "(no subject)", loadMore = "Load More",
|
||
logout = "Sign Out", from = "From", to = "To", reply = "Reply", replyAll = "Reply All", forward = "Forward",
|
||
formatBold = "Bold", formatItalic = "Italic", formatBulletList = "Bullet list",
|
||
formatNumberedList = "Numbered list", formatQuote = "Quote", undo = "Undo", redo = "Redo",
|
||
markRead = "Read", markUnread = "Mark as Unread", delete = "Delete", moveToTrash = "Move to Trash", restore = "Restore",
|
||
deleteForever = "Delete Forever", emptyTrash = "Empty Trash", emptyTrashTitle = "Empty Trash?",
|
||
emptyTrashBody = "Every message in Trash will be permanently deleted.", deleteDraft = "Delete Draft",
|
||
sentSuccess = "Message sent.", newMessage = "New mail from {sender}", passwordsMismatch = "Passwords do not match.",
|
||
errors = {
|
||
invalid_email = "Choose a valid 3–32 character iFruit address.",
|
||
invalid_password = "Password must be 6–64 characters.",
|
||
invalid_credentials = "Email or password is incorrect.", email_taken = "That iFruit address is already registered.",
|
||
rate_limited = "Too many attempts. Try again in a minute.",
|
||
invalid_message = "Add a valid recipient and a subject or message.",
|
||
recipient_not_found = "One or more recipients do not exist.", invalid_draft = "This draft contains invalid content.",
|
||
not_authenticated = "Your mail session has ended. Sign in again.",
|
||
request_failed = "Mail is temporarily unavailable.", invalid_request = "The mail request was invalid.",
|
||
invalid_mailbox = "Enter a mailbox name with up to 50 characters.",
|
||
mailbox_exists = "A mailbox with that name already exists.",
|
||
mailbox_limit = "You have reached the mailbox limit.",
|
||
mailbox_not_found = "That mailbox is no longer available.",
|
||
message_not_found = "That message is no longer available.",
|
||
invalid_filter = "That mail filter is not available.",
|
||
default = "The mail request failed.",
|
||
},
|
||
},
|
||
citymarkt = {
|
||
name = "CityMarkt", eyebrow = "Los Santos marketplace",
|
||
tabs = { discover = "Discover", search = "Search", sell = "Sell", inbox = "Inbox", profile = "Me" },
|
||
categories = {
|
||
vehicles = "Vehicles", property = "Property", electronics = "Electronics", clothing = "Clothing",
|
||
tools = "Tools", leisure = "Leisure", services = "Services", jobs = "Jobs", wanted = "Wanted", other = "Other",
|
||
},
|
||
conditions = { new = "New", very_good = "Very good", used = "Used", defective = "Defective" },
|
||
priceTypes = { fixed = "Fixed price", negotiable = "Negotiable", free = "Free" },
|
||
offerStatus = { pending = "Open", accepted = "Accepted", declined = "Declined", countered = "Negotiated" },
|
||
districts = {
|
||
los_santos = "Los Santos", vinewood = "Vinewood", vespucci = "Vespucci",
|
||
south_los_santos = "South Los Santos", sandy_shores = "Sandy Shores",
|
||
paleto_bay = "Paleto Bay", blaine_county = "Blaine County",
|
||
},
|
||
status = { active = "Active", reserved = "Reserved", sold = "Sold", expired = "Expired", removed = "Removed" },
|
||
reportReasons = { prohibited = "Prohibited item", fraud = "Suspected fraud", spam = "Spam", offensive = "Offensive content", other = "Other" },
|
||
searchPlaceholder = "What are you looking for?", allCategories = "All categories", allDistricts = "All districts",
|
||
sortNewest = "Newest first", sortPriceAsc = "Lowest price", sortPriceDesc = "Highest price",
|
||
freshOffers = "Fresh offers", offers = "offers", compactView = "Compact view", largeView = "Large view", noListings = "No offers found",
|
||
noListingsBody = "Try another search or category.", noDistrict = "No district",
|
||
free = "Free", negotiablePrice = "${price} negotiable", money = "${price}",
|
||
hoursAgo = "{count}h ago", daysAgo = "{count}d ago", photos = "photos", activeListings = "active listings",
|
||
signInTitle = "Sign in to Sky Cloud", signInBody = "Log in to your CityMarkt profile to sell, save or message.",
|
||
authEyebrow = "CityMarkt account", authTitle = "Welcome to CityMarkt",
|
||
authBody = "Your iFruit email is linked automatically. Use your CityMarkt username to continue.",
|
||
login = "Login", register = "Register", authUsername = "Username",
|
||
authErrors = {
|
||
no_ifruit_account = "Connect a Sky Cloud account in Settings first.",
|
||
invalid_username = "Enter the username of your CityMarkt profile.",
|
||
profile_not_found = "No CityMarkt profile exists for this iFruit email.",
|
||
profile_exists = "A CityMarkt profile already exists. Use Login instead.",
|
||
},
|
||
noMessages = "No conversations", noMessagesBody = "Messages about offers will appear here.",
|
||
myListings = "My listings", favorites = "Favorites", addFavorite = "Add to favorites", removeFavorite = "Remove from favorites", noProfileListings = "Nothing here yet",
|
||
createProfile = "Create your CityMarkt profile", editProfile = "Edit profile",
|
||
profileIntro = "Your iFruit email stays linked to this profile.", profileEmail = "iFruit email",
|
||
displayName = "Display name", profileBio = "About you", saveProfile = "Save profile",
|
||
cancel = "Cancel", profileSaved = "Your profile was saved.", chooseGallery = "Photos",
|
||
takePhoto = "Camera", removeProfilePhoto = "Remove photo",
|
||
phone = "Phone", contactSeller = "Contact seller", messagePlaceholder = "Hi, is this still available?",
|
||
signInToMessage = "Sign in to your Sky Cloud account to send a message.",
|
||
edit = "Edit", makeActive = "Make active", markSold = "Mark sold", remove = "Remove",
|
||
createListing = "Create listing", editListing = "Edit listing", save = "Save", step = "Step {current} of {total}", next = "Next", previous = "Back", publish = "Publish",
|
||
addPhotos = "Add photos", addPhotosBody = "Choose up to six photos from Photos or take new ones. Photos are optional and the first becomes the cover.",
|
||
chooseGalleryBody = "Use photos saved on this phone.", takePhotos = "Take photos", takePhotosBody = "Take several new photos for this listing.",
|
||
selectedPhotos = "Selected photos", gallery = "Photos", camera = "Camera", cameraHint = "Take as many photos as you need. Each shot is added to the listing automatically.",
|
||
noPhoto = "No photo available", noPhotoBody = "The seller did not add a photo to this listing.", noPhotoOptional = "You can publish without a photo or add one from the gallery or camera.",
|
||
previousPhoto = "Previous photo", nextPhoto = "Next photo", photo = "Photo", removePhoto = "Remove photo {number}", photoLimit = "You can add up to six photos.",
|
||
describeOffer = "Describe your offer", title = "Title", description = "Description", category = "Category", condition = "Condition",
|
||
characterCount = "{current} / {maximum} characters", minimumCharacters = "min. {minimum}",
|
||
priceAndPlace = "Price and location", priceType = "Price type", price = "Price", district = "District",
|
||
showPhone = "Show my current phone number", preview = "Preview", published = "Your listing is live.",
|
||
writeMessage = "Write a message", reserveForBuyer = "Reserve for this buyer", statusChanged = "Listing updated.",
|
||
offer = "Offer", counterOffer = "Counteroffer", makeOffer = "Make an offer",
|
||
offeredByYou = "You sent this offer.", offeredToYou = "You received this offer.",
|
||
acceptOffer = "Accept", declineOffer = "Decline", negotiateOffer = "Counter",
|
||
offerFor = "Your offer for", offerAmount = "Offer amount", sendOffer = "Send offer",
|
||
offerSent = "Your offer was sent.", offerAccepted = "Offer accepted.", offerDeclined = "Offer declined.",
|
||
reportListing = "Report listing", reportWhy = "Why are you reporting this?", reportDetails = "Add details (optional)",
|
||
sendReport = "Send report", blockSeller = "Block seller", reported = "Report sent.", blocked = "Seller blocked.",
|
||
newMessage = "New CityMarkt message from {sender}",
|
||
newOffer = "{sender} offered ${price}.",
|
||
offerAcceptedNotification = "{sender} accepted your ${price} offer.",
|
||
offerRejectedNotification = "{sender} declined your ${price} offer.",
|
||
errors = {
|
||
invalid_listing = "Check the listing details.", invalid_price = "Enter a valid price.",
|
||
invalid_images = "Choose valid photos from this phone.", phone_unavailable = "Insert a SIM or hide your number.",
|
||
listing_limit = "You have reached the active listing limit.", listing_not_found = "This listing is no longer available.",
|
||
invalid_message = "Enter a valid message.", inquiry_not_found = "This conversation is no longer available.",
|
||
invalid_offer = "Enter a valid whole-number offer.", invalid_offer_response = "This offer action is invalid.",
|
||
offer_listing_unavailable = "This listing is no longer available for offers.",
|
||
offer_closed = "This negotiation is already complete.", offer_waiting = "Wait for the other person to respond.",
|
||
offer_not_allowed = "You cannot make an offer right now.", offer_not_actionable = "This offer can no longer be changed.",
|
||
offer_conflict = "The offer changed. Please try again.",
|
||
blocked = "Messages are blocked between these accounts.", already_reported = "You already reported this listing.",
|
||
rate_limited = "Too many requests. Try again shortly.", not_authenticated = "Sign in to your Sky Cloud account first.",
|
||
invalid_profile = "Enter a display name between 2 and 40 characters.",
|
||
invalid_profile_image = "Choose a valid photo from this phone.",
|
||
profile_required = "Create your CityMarkt profile first.",
|
||
conflict = "The listing changed. Open it again.", request_failed = "CityMarkt is temporarily unavailable.",
|
||
default = "The CityMarkt request failed.",
|
||
},
|
||
},
|
||
localPages = {
|
||
name = "Local Pages", eyebrow = "Your city. Your stories.", cityPulse = "Live from Los Santos",
|
||
heroTitle = "What is happening nearby?", heroBody = "Discover places, people and local tips.",
|
||
searchPlaceholder = "Search posts and places", search = "Search", allCategories = "All categories",
|
||
allLosSantos = "Los Santos", hoursAgo = "{count}h ago", daysAgo = "{count}d ago",
|
||
categories = { recommendation = "Recommended", wanted = "Wanted", service = "Service", event = "Event", place = "Place", community = "Community", citymarkt = "CityMarkt" },
|
||
discover = "Discover", create = "Post", profile = "Profile", post = "Post", posts = "posts",
|
||
noPosts = "Nothing here yet", noPostsBody = "Be the first to share something with the city.", noPhoto = "No photo attached",
|
||
signInTitle = "Your Local Pages profile", signInBody = "Sign in to Sky Cloud in Settings to publish and save posts.",
|
||
authEyebrow = "Local Pages account", authWelcome = "Welcome to Local Pages",
|
||
authBody = "Your iFruit email is linked automatically. Use your Local Pages username to continue.", login = "Sign in", register = "Register",
|
||
loginTitle = "Continue with Sky Cloud", loginBody = "Your posts, saved items and profile stay linked to your account.",
|
||
registerTitle = "Create your Local Pages profile", registerBody = "Choose a username and optional profile photo. Your iFruit email stays linked.",
|
||
authEmail = "iFruit address", authEmailPlaceholder = "your.name", authPassword = "Password",
|
||
authPasswordPlaceholder = "At least 6 characters", authConfirmPassword = "Confirm password",
|
||
authConfirmPlaceholder = "Enter the password again", showPassword = "Show password", hidePassword = "Hide password",
|
||
localCreator = "Local creator", myPosts = "My posts", saved = "Saved", save = "Save", likes = "likes",
|
||
createProfile = "Create your profile", editProfile = "Edit profile", profileSetupBody = "Your iFruit email is linked automatically.",
|
||
profileEmail = "iFruit email", profileHandle = "Username", profileHandlePlaceholder = "your.name",
|
||
profileHandleHint = "Use 3-24 lowercase letters, numbers, dots or underscores.", profileBio = "Bio",
|
||
profileBioPlaceholder = "Tell the city a little about yourself...", profilePhoto = "Profile photo", profilePhotoHint = "Choose a photo from Photos or take a new one.", removeProfilePhoto = "Remove photo", profileSave = "Save profile", profileCancel = "Cancel", profileSaved = "Your profile was saved.",
|
||
location = "Location", sharedFrom = "Shared from CityMarkt", openCityMarkt = "Open CityMarkt listing",
|
||
newPost = "New local post", shareWithCity = "Share with the city", publish = "Publish", published = "Your post is live.", deleted = "Post deleted.",
|
||
title = "Title", body = "Your story", category = "Category", titlePlaceholder = "What should people know?", bodyPlaceholder = "Add details, a recommendation or directions...",
|
||
photos = "Photos", optional = "optional", camera = "Camera", gallery = "Photos", photoLimit = "You can add up to six photos.",
|
||
cityMarktShare = "Share to Local Pages", cityMarktShared = "Shared to Local Pages.", cityMarktShareHint = "One CityMarkt share per day",
|
||
cityMarktAlreadyShared = "Already published", cityMarktOpenSharedHint = "Open the Local Pages post",
|
||
cityMarktAppMissing = "Local Pages is not installed", cityMarktInstallHint = "Install Local Pages to share this listing",
|
||
cityMarktAccountMissing = "Local Pages profile required", cityMarktAccountHint = "Create a Local Pages profile before sharing",
|
||
cityMarktComposeTitle = "Share CityMarkt listing", cityMarktComposeNavTitle = "Share listing", cityMarktComposeHint = "Review the listing and publish it when you are ready.", cityMarktPhotosHint = "The CityMarkt listing photos will be included.",
|
||
authErrors = {
|
||
no_ifruit_account = "Sign in to your Sky Cloud account in Settings first.", invalid_username = "Use 3-24 lowercase letters, numbers, dots or underscores.",
|
||
profile_not_found = "No Local Pages profile exists for this iFruit email.", profile_exists = "This iFruit email already has a Local Pages profile.",
|
||
invalid_profile = "Check your Local Pages username.", invalid_profile_image = "Choose a valid photo from this phone.",
|
||
profile_handle_taken = "This Local Pages username is already taken.", rate_limited = "Too many attempts. Try again shortly.",
|
||
default = "Local Pages could not complete the request.",
|
||
},
|
||
errors = { profile_required = "Create your Local Pages profile first.", invalid_profile = "Check your username and bio.", invalid_profile_image = "Choose a valid photo from this phone.", profile_handle_taken = "This username is already taken.", invalid_post = "Add a title and a little more detail.", invalid_images = "Choose valid photos from this phone.", invalid_request = "This action is not valid.", post_not_found = "This post is no longer available.", citymarkt_not_found = "This CityMarkt listing is unavailable.", citymarkt_daily_limit = "You already shared a CityMarkt listing today.", citymarkt_already_shared = "This listing was already shared.", not_authenticated = "Sign in to Sky Cloud first.", rate_limited = "Too many requests. Try again shortly.", request_failed = "The post could not be saved.", default = "Local Pages is temporarily unavailable." },
|
||
},
|
||
map = {
|
||
name = "Map", controls = "Map controls", currentLocation = "Current Location",
|
||
locationUnavailable = "Your current location is unavailable.",
|
||
imageError = "The map image could not be loaded.", switchStyle = "Switch Map Type",
|
||
addMarker = "Add Marker", placeMarker = "Place Marker", placeMarkerHint = "Move the map until the crosshair is over the destination.",
|
||
addHere = "Add Here", newMarker = "New Marker", newMarkerDescription = "Give this saved place a name and color.",
|
||
markerName = "Name", markerNamePlaceholder = "e.g. Meeting point", markerColor = "Marker Color",
|
||
saveMarker = "Save Marker", deleteMarker = "Delete Marker", setWaypoint = "Set Waypoint", markerSaved = "Marker saved.", markerDeleted = "Marker deleted.", waypointSet = "Waypoint set.",
|
||
colors = { blue = "Blue", green = "Green", orange = "Orange", purple = "Purple", red = "Red" },
|
||
errors = {
|
||
invalid_marker = "Enter a valid marker name and position.", marker_limit = "This phone has reached its marker limit.",
|
||
marker_not_found = "This marker no longer exists.", rate_limited = "Too many changes. Try again shortly.",
|
||
request_failed = "The marker could not be saved.",
|
||
},
|
||
styles = { default = "Default Map", satellite = "Satellite Map", atlas = "Atlas Map", roads = "Road Map" },
|
||
},
|
||
weather = {
|
||
name = "Weather", now = "Now", today = "Today", refresh = "Refresh weather", details = "Weather details",
|
||
feelsLike = "Feels Like", wind = "Wind", humidity = "Humidity", rain = "Precipitation",
|
||
hourly = "Next Hours", unavailable = "Weather is unavailable",
|
||
stale = "Showing the last available weather update.", tryAgain = "Try Again",
|
||
errors = { reload_cooldown = "Too many refreshes. Please wait a moment before trying again." },
|
||
regions = { los_santos = "Los Santos", blaine_county = "Blaine County", cayo_perico = "Cayo Perico" },
|
||
conditions = {
|
||
sunny = "Sunny", clear = "Clear", partly_cloudy = "Partly Cloudy", cloudy = "Cloudy",
|
||
rain = "Rain", thunder = "Thunderstorms", fog = "Foggy", snow = "Snow",
|
||
},
|
||
summaries = {
|
||
sunny = "Bright skies throughout the current period.", clear = "Calm and clear conditions across the region.",
|
||
partly_cloudy = "Sunshine mixed with passing clouds.", cloudy = "Cloud cover will remain over the region.",
|
||
rain = "Wet conditions are moving through the area.", thunder = "Stormy conditions with heavy bursts of rain.",
|
||
fog = "Reduced visibility in low-lying areas.", snow = "Cold conditions with snow across the region.",
|
||
},
|
||
},
|
||
music = {
|
||
name = "Music", loading = "Loading Music...", navigation = "Music navigation",
|
||
tabs = { library = "Library", playlists = "Playlists", search = "Search" },
|
||
librarySubtitle = "Your music, all in one place.", playlistsSubtitle = "Mix server tracks and your YouTube favorites.",
|
||
featured = "Made for the city", recentlyAdded = "Recently Added", songs = "Songs", play = "Play",
|
||
previous = "Previous track", next = "Next track", nowPlaying = "Now Playing", progress = "Playback position", volume = "Music volume",
|
||
addMusic = "Add music", addYouTube = "Add from YouTube", youtubeBody = "Paste a public YouTube link. Leave the optional fields empty to use the video title and channel automatically.",
|
||
youtubeUrl = "YouTube URL", youtubePlaceholder = "https://youtube.com/watch?v=...", youtubeTitle = "Song title (optional)",
|
||
youtubeTitlePlaceholder = "Use the YouTube video title", youtubeArtist = "Artist (optional)",
|
||
youtubeArtistPlaceholder = "Use the YouTube channel", addToLibrary = "Add to Library",
|
||
songAdded = "Song added to your library.", songRemoved = "Song removed from your library.",
|
||
newPlaylist = "New Playlist", renamePlaylist = "Rename Playlist", addSongs = "Add Songs",
|
||
addSongsBody = "Choose songs from your library for this playlist.", allSongsAdded = "All Songs Added",
|
||
allSongsAddedBody = "Every song in your library is already in this playlist.", playlistBody = "Give this playlist a name you will recognize.",
|
||
playlistName = "Playlist Name", playlistPlaceholder = "My Playlist", playlistCreated = "Playlist created.",
|
||
playlistCreatedWithSong = "Playlist created and song added.",
|
||
playlistRenamed = "Playlist renamed.", playlistDeleted = "Playlist deleted.", playlistActions = "Playlist actions",
|
||
deletePlaylist = "Delete Playlist", deletePlaylistTitle = "Delete Playlist?", deletePlaylistBody = "The playlist will be deleted. Songs stay in your library.",
|
||
choosePlaylist = "Choose a Playlist", addToPlaylist = "Add to Playlist", addedToPlaylist = "Added to playlist.", alreadyAdded = "Added",
|
||
removeFromPlaylist = "Remove from Playlist", removedFromPlaylist = "Removed from playlist.", createPlaylistFirst = "Create a playlist before adding this song.",
|
||
songActions = "Song actions", removeFromLibrary = "Remove from Library", removeSongTitle = "Remove Song?",
|
||
removeSongBody = "This YouTube song will also be removed from your playlists.", songCount = "{count} songs",
|
||
emptyLibrary = "Your Library is Empty", emptyLibraryBody = "Add a YouTube song or ask the server owner to publish MP3 and OGG tracks.",
|
||
emptyPlaylist = "No Songs Yet", emptyPlaylistBody = "Add songs from your library to this playlist.",
|
||
noPlaylists = "No Playlists", noPlaylistsBody = "Create a playlist for your favorite songs.",
|
||
searchPlaceholder = "Artists, Songs and Playlists", noResults = "No Results", noResultsBody = "Try another song title or artist.",
|
||
errors = {
|
||
invalid_youtube_url = "Paste a valid public YouTube video link.", invalid_song_metadata = "Use a shorter song title or artist name.",
|
||
song_exists = "That YouTube song is already in your library.",
|
||
song_limit = "Your personal song limit has been reached.", song_not_found = "That song is no longer in your library.",
|
||
invalid_playlist = "Choose a valid playlist name.", playlist_limit = "Your playlist limit has been reached.",
|
||
playlist_not_found = "That playlist no longer exists.", playlist_song_limit = "That playlist has reached its song limit.",
|
||
invalid_song = "That song cannot be added to this playlist.", song_already_in_playlist = "That song is already in this playlist.", rate_limited = "Too many music changes. Try again shortly.",
|
||
playback_failed = "This song could not be played.", request_failed = "Music is temporarily unavailable.", default = "The Music request failed.",
|
||
},
|
||
},
|
||
notes = {
|
||
name = "Notes", note = "Note", back = "Back", actions = "Note actions",
|
||
newNote = "New Note", searchPlaceholder = "Search Notes",
|
||
title = "Title", titlePlaceholder = "Note title", body = "Note", bodyPlaceholder = "Start writing...",
|
||
untitled = "Untitled", noText = "No additional text", emptyBadge = "ON DEVICE", emptyTitle = "No Notes",
|
||
emptyBody = "Create a note to keep important details close at hand.", noResults = "No Results",
|
||
noResultsBody = "Try searching for a different word or phrase.", pin = "Pin note", unpin = "Unpin note",
|
||
deleteNote = "Delete note",
|
||
tools = {
|
||
bold = "Bold", bulletList = "Bullet list", decreaseText = "Smaller text", increaseText = "Larger text",
|
||
italic = "Italic", numberedList = "Numbered list", quote = "Quote", redo = "Redo",
|
||
strike = "Strikethrough", toolbar = "Formatting tools", underline = "Underline", undo = "Undo",
|
||
},
|
||
},
|
||
memos = {
|
||
name = "Memos", memo = "Voice Memo", back = "Back", actions = "Memo actions",
|
||
newMemo = "New Recording", newMemoWithDate = "New Recording · {date}",
|
||
searchPlaceholder = "Search Recordings", emptyTitle = "No Recordings",
|
||
emptyBody = "Tap the record button to capture your first voice memo.", noResults = "No Results",
|
||
noResultsBody = "Try searching for a different title or note.", recording = "Recording", paused = "Paused",
|
||
preparing = "Preparing microphone…", saving = "Saving Recording…", stop = "Stop", pause = "Pause",
|
||
resume = "Resume", cancel = "Cancel", done = "Done", play = "Play recording",
|
||
pausePlayback = "Pause recording", skipBack = "Back 15 seconds", skipForward = "Forward 15 seconds",
|
||
playbackSpeed = "Playback Speed", title = "Title", titlePlaceholder = "Recording title",
|
||
note = "Note", notePlaceholder = "Add details…", delete = "Delete memo", deleteTitle = "Delete Voice Memo?",
|
||
deleteBody = "This recording will be permanently deleted.", discardTitle = "Discard Recording?",
|
||
discardBody = "The current recording will not be saved.", discard = "Discard",
|
||
keepRecording = "Keep Recording", deleted = "Memo deleted.",
|
||
microphoneUnavailable = "The microphone is unavailable.",
|
||
recordingTooLarge = "The recording is too large to save.",
|
||
maximumDuration = "The maximum recording duration was reached.",
|
||
errors = {
|
||
conflict = "This memo changed on another device. It has been reloaded.",
|
||
invalid_memo = "The voice memo contains invalid data.", invalid_request = "The memo request is invalid.",
|
||
invalid_upload = "The uploaded recording could not be verified.",
|
||
invalid_upload_token = "The recording upload could not be verified.",
|
||
memo_limit = "The limit of 100 voice memos has been reached.",
|
||
memo_not_found = "This voice memo no longer exists.",
|
||
media_provider_failed = "The voice memo upload service is unavailable.",
|
||
media_provider_rate_limited = "The voice memo upload service is busy. Try again shortly.",
|
||
media_provider_unauthorized = "The configured FiveManage API key was rejected.",
|
||
missing_config = "Voice memo uploads are not configured.",
|
||
operation_in_progress = "Finish the current recording first.",
|
||
owner_changed = "The active phone changed while saving the memo.",
|
||
rate_limited = "Too many memo changes. Try again shortly.",
|
||
recording_failed = "The recording could not be captured.",
|
||
request_timeout = "The memo request timed out.", upload_failed = "The recording could not be uploaded.",
|
||
upload_timeout = "The recording upload timed out.", request_failed = "Memos are temporarily unavailable.",
|
||
},
|
||
},
|
||
easyShare = {
|
||
name = "EasyShare", incoming = "Incoming Share", recentChats = "Contacts and Chats",
|
||
destinations = "Share destinations", newMessage = "New Message", sentToChat = "Sent to chat.",
|
||
shareProfile = "Share Profile", share = "Share", chooseConversation = "Choose a conversation",
|
||
kinds = {
|
||
contact = "Contact", document = "Document", link = "Link", location = "Location", media = "Media",
|
||
note = "Note", photo = "Photo", playlist = "Playlist", post = "Post",
|
||
profile = "Profile", text = "Message", track = "Track", video = "Video",
|
||
},
|
||
savedToNotes = "Saved to Notes.", copied = "Copied.", copy = "Copy", copyLink = "Copy Link",
|
||
nearby = "People Nearby", history = "Transfer History", noHistory = "No transfers yet.",
|
||
noNearby = "No visible players are nearby.", visibility = "Visibility", requestSent = "Waiting for acceptance...",
|
||
incomingFrom = "{name} wants to share", distance = "{distance} m away", cancel = "Cancel",
|
||
visibilityOptions = { everyone = "Everyone", contacts = "Contacts Only", hidden = "Receiving Off" },
|
||
status = {
|
||
pending = "Waiting for acceptance", transferring = "Transferring", completed = "Completed",
|
||
declined = "Declined", cancelled = "Cancelled", expired = "Expired", failed = "Failed",
|
||
accepted = "Accepted",
|
||
},
|
||
errors = {
|
||
disabled = "EasyShare is disabled.", invalid_payload = "This item cannot be shared.",
|
||
invalid_target = "Choose a valid recipient.", target_unavailable = "That player is no longer available.",
|
||
transfer_not_found = "That transfer is no longer available.", too_far = "The recipient is too far away.",
|
||
not_owned = "This item no longer belongs to this phone.", unsupported_payload = "This item is not available for EasyShare.", payload_too_large = "This item is too large to share.",
|
||
location_unavailable = "Your location is unavailable.", rate_limited = "Too many share requests. Try again shortly.",
|
||
copy_failed = "Could not copy this item.", request_failed = "EasyShare is temporarily unavailable.",
|
||
},
|
||
},
|
||
photos = {
|
||
name = "Photos", library = "Library",
|
||
counts = {
|
||
all = "{count} Objects", allOne = "{count} Object",
|
||
favorite = "{count} Favorite", favorites = "{count} Favorites",
|
||
photo = "{count} Photo", photos = "{count} Photos",
|
||
video = "{count} Video", videos = "{count} Videos",
|
||
},
|
||
sorting = {
|
||
action = "Sort Photos", title = "Sort Order",
|
||
show = "Show", allItems = "All Items", favorites = "Favorites",
|
||
newestFirst = "Newest First", oldestFirst = "Oldest First",
|
||
},
|
||
selection = {
|
||
action = "Select", selected = "{count} Selected",
|
||
share = "Share Selected", shareTitle = "{count} Media Items",
|
||
shareCopy = "{count} photos and videos shared from Photos.",
|
||
delete = "Delete Selected", deleteTitle = "Delete Selected Media?",
|
||
deleteBody = "The selected photos and videos will be permanently deleted.",
|
||
deleted = "{count} media items deleted.", limit = "You can select up to 50 media items.",
|
||
},
|
||
loading = "Loading Photos...",
|
||
emptyTitle = "No Photos or Videos", emptyBody = "Captures from Camera will appear here.",
|
||
photo = "Photo", video = "Video", photoAlt = "Photo library image", videoAlt = "Photo library video",
|
||
today = "Today", yesterday = "Yesterday",
|
||
addFavorite = "Add to Favorites", removeFavorite = "Remove from Favorites",
|
||
delete = "Delete media", deleteTitle = "Delete Media?",
|
||
deleteBody = "This photo or video will be permanently deleted.", deleted = "Media deleted.",
|
||
zoomIn = "Zoom in", zoomOut = "Zoom out", resetZoom = "Reset zoom",
|
||
filters = { all = "All", photos = "Photos", videos = "Videos" },
|
||
import = {
|
||
action = "Import", title = "Import", chooseSource = "Choose a website",
|
||
linkTitle = "Import from Link", linkBody = "Paste a direct link to an image or video from this website.",
|
||
linkLabel = "Image or video link", linkPlaceholder = "https://...", linkCompleted = "Media imported.",
|
||
loading = "Loading media...", emptyTitle = "No Media",
|
||
emptyBody = "This website has no media of this type.", loadMore = "Load More",
|
||
alreadyImported = "Imported", failed = "Failed", completed = "Imported {imported} media.",
|
||
partial = "Imported {imported} of {total} media.",
|
||
},
|
||
errors = {
|
||
cancelled = "The media action was cancelled.", capture_failed = "Unable to capture the game view.",
|
||
invalid_import_request = "The import request is invalid.", invalid_import_media = "This media item cannot be imported.",
|
||
invalid_media_type = "The media type is invalid.", invalid_upload = "The upload could not be verified.",
|
||
invalid_upload_token = "The upload session is no longer valid.", missing_config = "Photos uploads are not configured.",
|
||
import_media_not_allowed = "This media item is not allowed.", import_media_too_large = "This media item is too large.",
|
||
import_media_unavailable = "This media item is no longer available.", import_provider_failed = "The website could not load its media.",
|
||
import_provider_unauthorized = "The website credentials are invalid.", import_source_not_found = "This website is not registered.",
|
||
import_source_unavailable = "This website is temporarily unavailable.",
|
||
invalid_import_url = "Enter a valid HTTPS media link.", import_url_not_allowed = "This link is not from the selected website.",
|
||
import_url_unavailable = "The linked media could not be reached.", import_size_unavailable = "The website did not provide the media size.",
|
||
not_found = "The media item no longer exists.", profile_photo_required = "This is the last photo on your Flare profile. Add another profile photo before deleting it.", owner_changed = "The active phone account changed.",
|
||
operation_in_progress = "Another media operation is already in progress.",
|
||
rate_limited = "Too many media actions. Try again shortly.", request_failed = "The Photos request failed.",
|
||
request_timeout = "The media service timed out.", unsupported = "This media format is not supported.",
|
||
upload_failed = "The media upload failed.", upload_timeout = "The media upload timed out.",
|
||
},
|
||
},
|
||
appStore = {
|
||
name = "App Store", get = "GET", open = "OPEN", installing = "Installing",
|
||
player = "Player", profileLabel = "{name} profile",
|
||
searchPlaceholder = "Games, apps, stories and more", appsTitle = "Built-in Apps", gamesTitle = "Games",
|
||
selected = "Apps available for your Sky Phone",
|
||
tabs = { today = "Today", apps = "Apps", games = "Games", search = "Search" },
|
||
today = {
|
||
featured = "Featured today",
|
||
gameHighlight = "Game highlight", appHighlight = "App highlight",
|
||
curatedForYou = "Curated for you", editorsChoice = "Editor's Choice",
|
||
discoverTitle = "Discover {app}", playTitle = "Play something new with {app}",
|
||
description = "{app} is in the spotlight today on Sky Phone.",
|
||
categoryDescription = "{category} · Made for Sky Phone",
|
||
moreHighlights = "Today's Highlights", topToday = "Top Today",
|
||
topTodayDescription = "Popular picks from today’s edition",
|
||
oneMoreThing = "One more thing",
|
||
},
|
||
filters = {
|
||
all = "All", social = "Social", utilities = "Utilities", shopping = "Shopping",
|
||
productivity = "Productivity", arcade = "Arcade", puzzle = "Puzzle", classic = "Classics",
|
||
},
|
||
browse = {
|
||
categories = "Store categories", availableNow = "Available now",
|
||
featureTitle = "Discover {app}", featuredPages = "Featured apps",
|
||
handPicked = "Hand-picked for you", essentialApps = "Essential Apps",
|
||
essentialGames = "Essential Games",
|
||
},
|
||
taglines = {
|
||
health = "Health, activity and medical information",
|
||
["weazel-news"] = "Local news and city stories",
|
||
companies = "Businesses, jobs and services", music = "Songs, playlists and audio",
|
||
picstagram = "Photo sharing and social feed", feather = "Short posts and city conversations",
|
||
fliptok = "Short videos and trends", flare = "Social posts and live moments",
|
||
calendar = "Events, schedules and reminders", radio = "Live radio and team communication",
|
||
["local-pages"] = "Local businesses and community pages", crewlink = "Crews, members and coordination",
|
||
phone = "Calls, contacts and voicemail", messages = "Private texts and media",
|
||
darkchat = "Private messaging and secure groups", garage = "Vehicles, parking and valet",
|
||
house = "Homes, access and management", map = "Navigation and nearby places",
|
||
skyride = "City rides and driver booking", banking = "Accounts, transfers and payments",
|
||
billing = "Invoices and payment requests", mail = "Email and attachments",
|
||
notes = "Notes, lists and ideas", memos = "Voice recordings and memos",
|
||
calculator = "Everyday and scientific calculations", camera = "Photos and video capture",
|
||
clock = "Time, alarms and timers", weather = "Forecasts and current conditions",
|
||
photos = "Photo and video library", settings = "Phone preferences and security",
|
||
snake = "Classic arcade snake", memory = "Card matching challenge",
|
||
["number-merge"] = "Number puzzle and strategy", minesweeper = "Classic logic puzzle",
|
||
["tower-stack"] = "Precision tower-building game", ["sky-flappy"] = "Fast arcade flying challenge",
|
||
citymarkt = "Local marketplace and listings", ["neon-drop"] = "Neon block-dropping puzzle",
|
||
},
|
||
search = {
|
||
recommended = "Recommended", discover = "Discover", results = "Search Results",
|
||
noResults = "No Results", noResultsBody = "Try searching for a different app or game.", ad = "Ad",
|
||
topApps = "Top Apps", topGames = "Top Games", bestApps = "Bestselling Apps",
|
||
bestGames = "Bestselling Games", productivity = "Productivity", photoVideo = "Photo & Video",
|
||
},
|
||
account = {
|
||
account = "Account", title = "App Management", skyAccount = "Sky Phone Account",
|
||
apps = "Installed Apps", games = "Games", library = "Your Library", myApps = "My Apps",
|
||
downloadedOn = "Downloaded {date}", uninstall = "Uninstall", uninstallApp = "Uninstall {app}",
|
||
uninstallTitle = "Uninstall this app?",
|
||
uninstallBody = "{app} will be removed from this phone. You can download it again from the App Store.",
|
||
},
|
||
details = {
|
||
skyStudios = "Sky Studios", share = "Share app", openDetails = "View {app}",
|
||
shareReady = "App information is ready to share.", ratings = "{count} ratings",
|
||
shareCopy = "Take a look at {app} in the App Store.",
|
||
age = "Age Rating", years = "Years", chart = "Chart", whatsNew = "What's New",
|
||
version = "Version {version}", updatedToday = "Today",
|
||
releaseNotes = "{app} now includes fresh content, faster loading and several interface improvements.",
|
||
preview = "Preview", testData = "Preview data", previewLive = "Live Preview",
|
||
previousPreview = "Previous preview", nextPreview = "Next preview",
|
||
previewOverview = "Everything important at a glance", previewCommunity = "Community",
|
||
previewInsights = "Insights", today = "Today", progress = "Progress",
|
||
communityTitle = "Together in {app}",
|
||
communityBody = "Discover activity from players around Los Santos.",
|
||
featuredMoment = "Featured moment from today", weeklyActivity = "Weekly Activity",
|
||
fromLastWeek = "from last week", about = "About this App",
|
||
description = "{app} is a detailed {category} experience made for Sky Phone. Explore its features, connect with the city and keep everything close at hand.",
|
||
},
|
||
},
|
||
settings = {
|
||
name = "Settings", searchPlaceholder = "Search", airplaneMode = "Airplane Mode", streamerMode = "Streamer Mode",
|
||
wallpaper = "Wallpaper", on = "On", off = "Off", accountName = "Sky Cloud",
|
||
accountDetail = "Important Data & Cloud", accountLocalDetail = "Not signed in",
|
||
accountCloudDetail = "Important data syncs through Sky Cloud", accountLoginBody = "Sign in to keep your important data safe. Without a Sky Cloud account, it will be lost with the phone.",
|
||
accountInformation = "Account Information", accountStatus = "Account Status", accountStatusValue = "Active",
|
||
accountStorage = "Cloud Storage", accountStorageValue = "On Device", accountPurchases = "Media & Purchases",
|
||
accountPurchasesValue = "Available", notifications = "Notifications", sounds = "Sounds & Haptics",
|
||
general = "General Settings", security = "Passcode & Security", appearance = "Appearance", allowNotifications = "Allow Notifications",
|
||
connectivity = "Connectivity", connections = "Connections", wifi = "Wi-Fi", bluetooth = "Bluetooth", cellular = "Cellular",
|
||
connectivityDescription = "Wi-Fi, Bluetooth, and cellular settings are saved on this phone.",
|
||
focus = "Focus", focusMode = "Focus", focusDescription = "Focus silences non-critical notifications while keeping alarms and important alerts available.",
|
||
notificationSounds = "Sounds", notificationDuration = "Notification Duration", seconds = "{seconds} seconds",
|
||
ringtoneVolume = "Ringtone Volume", notificationVolume = "Notification Volume",
|
||
ringtone = "Ringtone", notificationSound = "Notification Sound", graphicsMode = "Graphics Mode",
|
||
performanceMode = "Performance Mode", performanceModeDescription = "Blur-free glass simulation for better CEF performance",
|
||
ultimateMode = "Ultimate Mode", ultimateModeDescription = "Full blur and glass effects for compatible FiveM clients",
|
||
appearanceMode = "Appearance Mode",
|
||
automatic = "Automatic", light = "Light", dark = "Dark", phoneScale = "Phone Scale", phoneFrame = "Phone Frame",
|
||
screenBrightness = "Screen Brightness",
|
||
development = "Development", skyUiKitchenSink = "Sky UI Kitchen Sink",
|
||
skyUiKitchenSinkDescription = "Interactive catalog of first-party Sky UI components",
|
||
about = "About", deviceName = "Device Name", deviceNameValue = "Sky Phone", softwareVersion = "Software Version",
|
||
language = "Language", languageValue = "English", localStorage = "Local Storage", localStorageValue = "On Device",
|
||
back = "Settings", wallpaperPicker = "Sky Wallpapers", deviceInformation = "Device Information",
|
||
wallpaperFromPhotos = "Choose from Photos", wallpaperFromPhotosDescription = "Use one of your photos",
|
||
wallpaperFromCamera = "Take Photo", wallpaperFromCameraDescription = "Create a new wallpaper",
|
||
wallpaperCustomUpload = "Upload Custom Image", wallpaperCustomUploadDescription = "Use a verified HTTPS image link",
|
||
wallpaperHistory = "Recent", wallpaperCustom = "Photo wallpaper",
|
||
wallpaperTarget = "Wallpaper destination", wallpaperHomeScreen = "Home Screen", wallpaperLockScreen = "Lock Screen",
|
||
imei = "IMEI", linkedDevices = "Linked Devices", thisDevice = "This Phone", removeDevice = "Remove Device",
|
||
simCard = "SIM Card", simNumber = "Phone Number", simType = "SIM Type", registeredSim = "Registered",
|
||
anonymousSim = "Anonymous", noSim = "No SIM", ejectSim = "Eject SIM", ejectSimBody = "Return this SIM card to your inventory?",
|
||
removeDeviceBody = "Enter your Sky Cloud password to remove this device from the account.", signOut = "Sign Out",
|
||
reset = "Transfer or Reset Phone", transferOrReset = "Transfer or Reset Phone", transferOrResetDescription = "Prepare this phone for a fresh setup",
|
||
resetHeroTitle = "A clean start, without losing what follows you",
|
||
resetHeroBody = "Erase local content and settings from this phone. Information attached to your SIM or stored in supported accounts remains available.",
|
||
erasedFromPhone = "Erased From This Phone", eraseDeviceSettings = "Passcode, preferences and Home Screen layout",
|
||
eraseLocalContent = "Photos, notes and content stored only locally", eraseLocalApps = "Downloaded apps and local app sessions",
|
||
keptSafe = "Kept Safe", keepSimData = "SIM Card & Phone Number", keepSimDataBody = "Your number and SIM-backed communication remain on the SIM.",
|
||
keepCloudData = "Account & Cloud Data", keepCloudDataBody = "Supported information remains in its app or Sky Cloud account.",
|
||
resetSetupAssistant = "When erasing is complete, Setup Assistant starts automatically.",
|
||
factoryReset = "Erase All Content and Settings", factoryResetBody = "This cannot be undone. Local settings, apps and unsynced content are erased. Your SIM number and account-backed data remain available.",
|
||
factoryResetProgress = "Erasing Sky Phone", factoryResetWarning = "Keep this phone open. Your SIM and cloud data are safe.",
|
||
factoryResetSystemProcess = "Secure system process", factoryResetPreparing = "Preparing secure reset", factoryResetPreparingDetail = "Checking device data",
|
||
factoryResetRemoving = "Removing personal data", factoryResetRemovingDetail = "Clearing apps and local content",
|
||
factoryResetSecuring = "Protecting linked services", factoryResetSecuringDetail = "Preserving SIM and cloud data",
|
||
factoryResetFinishing = "Finishing setup", factoryResetFinishingDetail = "Preparing the welcome screen",
|
||
factoryResetSimSafe = "SIM protected", factoryResetCloudSafe = "Cloud protected",
|
||
passcode = {
|
||
description = "A passcode protects the contents of this phone. It stays with the device when the SIM or Sky Cloud account changes.",
|
||
status = "Passcode", codeLength = "Code Length", sixDigit = "6-Digit Code", fourDigit = "4-Digit Code",
|
||
turnOn = "Turn Passcode On", turnOff = "Turn Passcode Off", change = "Change Passcode",
|
||
enterNew = "Enter New Passcode", confirmNew = "Verify New Passcode", enterCurrent = "Enter Current Passcode",
|
||
screenSubtitle = "Use 4 or 6 numbers.", incorrect = "Incorrect passcode.", mismatch = "The passcodes did not match.",
|
||
locked = "Too many incorrect attempts. Try again later.", rateLimited = "Too many attempts. Please wait.",
|
||
failed = "The passcode could not be updated.", saved = "Passcode saved.", disabled = "Passcode turned off.",
|
||
},
|
||
accountErrors = {
|
||
invalid_email = "Choose a valid 3–32 character iFruit address.", invalid_password = "Password must be 6–64 characters.",
|
||
invalid_credentials = "Email or password is incorrect.", email_taken = "That iFruit address is already registered.",
|
||
rate_limited = "Too many attempts. Try again in a minute.", current_device = "Sign out instead of removing the current phone.",
|
||
device_not_found = "That device is no longer linked.", default = "The account request failed.",
|
||
},
|
||
toggle = {
|
||
airplaneMode = "Toggle Airplane Mode", streamerMode = "Toggle Streamer Mode", focusMode = "Toggle Focus",
|
||
wifiEnabled = "Toggle Wi-Fi", bluetoothEnabled = "Toggle Bluetooth", cellularEnabled = "Toggle Cellular Data",
|
||
notifications = "Toggle notifications for {app}", notificationSounds = "Toggle notification sounds for {app}",
|
||
},
|
||
frames = {
|
||
black = "Black", blue = "Blue", green = "Green", lavender = "Lavender", red = "Red", white = "White",
|
||
orange = "Orange", yellow = "Yellow", lime = "Lime", teal = "Teal", cyan = "Cyan", purple = "Purple",
|
||
pink = "Pink", gold = "Gold", rgb = "RGB",
|
||
},
|
||
ringtones = { skyline = "Skyline", horizon = "Horizon", pulse = "Pulse" },
|
||
notificationSoundsList = { chime = "Chime", signal = "Signal", soft = "Soft" },
|
||
wallpapers = {
|
||
midnight = "Midnight", aurora = "Aurora", ember = "Ember", ocean = "Ocean", sunrise = "Sunrise",
|
||
violet = "Violet", forest = "Forest", cobalt = "Cobalt", rose = "Rose", sand = "Sand",
|
||
graphite = "Graphite", prism = "Prism",
|
||
},
|
||
},
|
||
},
|
||
},
|
||
}
|