Files
sky_phone-sky-systems/sky_phone/config/locales/en.lua
T
2026-08-09 19:10:36 +02:00

880 lines
88 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Locales["en"] = {
CommandDescription = "Open your phone.",
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.",
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.",
},
Nui = {
Common = {
add = "Add", back = "Back", cancel = "Cancel", clear = "Clear", close = "Close", 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",
},
ControlCenter = {
airplaneMode = "Airplane Mode", bluetooth = "Bluetooth", brightness = "Brightness", calculator = "Calculator",
camera = "Camera", cellular = "Cellular Data", close = "Close Control Center", 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 = { now = "now" },
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.",
},
},
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",
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." },
music = { name = "Now Playing", description = "Music controls and the current track." },
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 = {
flare = {
name = "Flare", signInTitle = "Sign in to Flare", signInBody = "Flare profiles and matches are linked to your private iFruit 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 = "Choose up to six photos from Gallery. Your first photo is shown first.", addPhotos = "Add photos", choosePhotos = "Choose from Gallery", primaryPhoto = "Main", removePhoto = "Remove photo {number}",
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", profileGoalBody = "Shown on your discovery card.", like = "Like", pass = "Pass",
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.", invalid_profile_photos = "Choose up to six photos from your own Gallery.", 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", 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 = "An iFruit 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",
choosePhotosHint = "Select up to five photos from Gallery", chooseStoryHint = "Select one photo from Gallery",
selectedPhotos = "{count} selected", changePhotos = "Change selection", 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", removeComment = "Remove comment", likes = "{count} likes",
viewComments = "View all {count} comments", 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",
followRequests = "Follow requests", noActivity = "No activity yet", markRead = "Mark as read",
publicProfile = "Public profile", privateProfileSetting = "Private profile",
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", 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.", 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 324 letters, numbers, dots, or underscores.",
invalid_display_name = "Enter a display name.", invalid_password = "Password must be 872 characters.",
invalid_credentials = "Username or password is incorrect.",
already_registered = "This iFruit 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 iFruit first.",
picstagram_not_authenticated = "Sign in to Picstagram first.", request_failed = "The request failed.",
default = "Picstagram could not complete the request."
},
},
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",
emptyFeed = "No videos yet", emptyFeedBody = "Follow creators or post the first FlipTok.", searchPlaceholder = "Search creators and videos",
noActivity = "No activity yet", followers = "Followers", videos = "Videos", emptyBio = "No bio yet.", editProfile = "Edit profile",
newVideo = "New FlipTok", chooseVideo = "Choose a video", chooseVideoHint = "Select one from Gallery", changeVideo = "Change",
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.", linkCopied = "Video link copied.", reported = "Report submitted.", blocked = "Creator blocked.",
comments = "Comments", noComments = "No comments yet", addComment = "Add comment...", report = "Report video", reportReason = "Reason",
reportDetails = "Additional details (optional)", submitReport = "Submit report",
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.",
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", displayName = "Name", username = "Username", bio = "Bio", accountType = "Account type",
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 = "An iFruit 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 video details.", invalid_media = "Choose a video from this phone.", invalid_comment = "Enter a valid comment.", comments_disabled = "Comments are disabled.", invalid_profile = "Check your profile details.", invalid_handle = "Use 324 letters, numbers, dots, or underscores.", invalid_display_name = "Enter a display name.", invalid_password = "Password must be 872 characters.", invalid_credentials = "Username or password is incorrect.", already_registered = "This iFruit account already owns a registered FlipTok profile.", handle_taken = "This username is already taken.", video_not_found = "This video is unavailable.", blocked = "This account is blocked.", not_authorized = "You do not have moderation access.", report_not_found = "This report is no longer open.", rate_limited = "Too many actions. Try again shortly.", not_authenticated = "Sign in to iFruit 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 iFruit account.", signInHint = "Sign in through Settings to continue.",
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",
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", 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",
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", privacyDisclaimer = "DarkChat stores messages on the server and does not claim end-to-end encryption.",
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 = {
not_authenticated = "Sign in to your iFruit 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",
filterUnread = "Show Unread Messages", smsLabel = "Text Message · SMS",
photo = "Photo", gif = "GIF", video = "Video", attachPhoto = "Attach Photo", takePhoto = "Take Photo",
attachGif = "Attach GIF", attachVideo = "Attach Video", photos = "Photos", gifs = "GIFs", videos = "Videos",
noPhotos = "Take a photo first to attach it here.", noVideos = "Record a video in Camera first.", searchGifs = "Search GIPHY", loadMore = "Load More",
moreActions = "More Actions", contactDetails = "Contact Details", contactName = "Name", phoneNumber = "Phone Number",
call = "Call", messageAction = "Message", addContact = "Add Contact", 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", voiceMessage = "Audio Message", recordVoice = "Record Audio",
playAudio = "Play Audio", pauseAudio = "Pause 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.",
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_failed = "GIF search is temporarily unavailable.",
self_message = "You cannot message your own number.", recipient_not_found = "That number is unavailable.",
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.",
},
},
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", noContacts = "No Contacts", searchContacts = "Search Contacts",
addContact = "New Contact", editContact = "Edit Contact", contactName = "Name", phoneNumber = "Phone Number",
call = "Call", 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.",
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.",
rate_limited = "Too many calls. Try again in a minute.", voice_unavailable = "The configured phone voice service is unavailable.",
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",
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 = "Leave empty to use your character name",
displayNameDescription = "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.",
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",
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.", 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.",
},
},
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 = "—",
provider = "Vehicle data · {system}",
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 = "Messages", 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",
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.",
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.",
},
},
calculator = { name = "Calculator" },
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 = "Space for movement", returnHelp = "Space to return", uploading = "{count} uploading",
saving = "Saving video...", openGallery = "Open Gallery", takePhoto = "Take photo",
startRecording = "Start recording", stopRecording = "Stop recording", saved = "Saved to Gallery.",
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 = "iFruit",
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", 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 iFruit calendar",
signInBody = "Sign in to iFruit 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 iFruit 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",
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 iFruit account", emailPlaceholder = "name@ifruit.com", passwordPlaceholder = "Enter password",
passwordWarning = "Use an in-character password. Do not reuse a real-world password.",
mailboxes = "Mailboxes", 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",
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 332 character iFruit address.",
invalid_password = "Password must be 664 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.",
default = "The mail request failed.",
},
},
citymarkt = {
name = "CityMarkt",
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 iFruit", signInBody = "Use Settings to sign in before selling, saving or messaging.",
noMessages = "No conversations", noMessagesBody = "Messages about offers will appear here.",
myListings = "My listings", favorites = "Favorites", noProfileListings = "Nothing here yet",
phone = "Phone", contactSeller = "Contact seller", messagePlaceholder = "Hi, is this still available?",
signInToMessage = "Sign in to your iFruit 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. The first becomes the cover.",
describeOffer = "Describe your offer", title = "Title", description = "Description", category = "Category", condition = "Condition",
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 iFruit account 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 iFruit in Settings to publish and save posts.",
localCreator = "Local creator", myPosts = "My posts", saved = "Saved", save = "Save", likes = "likes",
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 = "Gallery", photoLimit = "You can add up to six photos.",
cityMarktShare = "Share to Local Pages", cityMarktShared = "Shared to Local Pages.", cityMarktShareHint = "One CityMarkt share per day",
errors = { 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 iFruit 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",
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",
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.",
},
},
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",
},
photos = {
name = "Gallery", count = "{count} items", loading = "Loading Gallery...",
emptyTitle = "No Photos or Videos", emptyBody = "Captures from Camera will appear here.",
photo = "Photo", video = "Video", photoAlt = "Gallery photo", videoAlt = "Gallery video",
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" },
errors = {
cancelled = "The media action was cancelled.", capture_failed = "Unable to capture the game view.",
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 = "Gallery uploads are not configured.",
not_found = "The media item no longer exists.", 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 Gallery 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",
searchPlaceholder = "Search apps and games", appsTitle = "Built-in Apps", gamesTitle = "Games",
selected = "Apps available for your Sky Phone",
tabs = { apps = "Apps", games = "Games", search = "Search" },
},
settings = {
name = "Settings", searchPlaceholder = "Search", airplaneMode = "Airplane Mode", streamerMode = "Streamer Mode",
wallpaper = "Wallpaper", on = "On", off = "Off", accountName = "iFruit Account",
accountDetail = "Important Data & Cloud", accountLocalDetail = "Not signed in",
accountCloudDetail = "Important data syncs through iFruit Cloud", accountLoginBody = "Sign in to keep your important data safe. Without an iFruit 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",
about = "About", deviceName = "Device Name", deviceNameValue = "Sky Phone", softwareVersion = "Software Version",
language = "Language", languageValue = "English", localStorage = "Local Storage", localStorageValue = "On Device",
back = "Settings", wallpaperPicker = "Built-in Wallpapers", deviceInformation = "Device Information",
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 iFruit password to remove this device from the account.", signOut = "Sign Out",
factoryReset = "Erase All Content and Settings", factoryResetBody = "This removes the account and all local data from this phone. Cloud data and the IMEI remain.",
factoryResetProgress = "Erasing iFruit Phone", factoryResetWarning = "Do not turn off this phone. This takes 60 seconds.",
passcode = {
description = "A passcode protects the contents of this phone. It stays with the device when the SIM or iFruit 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 332 character iFruit address.", invalid_password = "Password must be 664 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 wallpaper", aurora = "Aurora wallpaper", ember = "Ember wallpaper" },
},
},
},
}