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> ", 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", }, }, }, }, }