{ "app": { "name": "glchat", "tagline": "Self-hosted communication: text, voice, video", "skipToContent": "Skip to content" }, "status": { "title": "Foundation deployed", "description": "The server responds, the database runs in WAL mode, migrations are applied. Chat features arrive in the next phases.", "connecting": "Checking server status…", "instance": "Instance", "version": "Version", "apiVersion": "API version", "schemaReady": "Database", "schemaOk": "ready", "maxUpload": "Maximum upload size", "checks": "Checks", "retry": "Retry", "back": "Back", "users": "Users", "guilds": "Servers", "registration": "Registration" }, "health": { "online": "Server is reachable", "offline": "Server is unreachable" }, "errors": { "network.unreachable": "The server is not responding. Check your connection and try again.", "network.aborted": "The request was aborted.", "instance.not_ready": "The instance is still starting. Try again in a few seconds.", "internal.error": "Internal server error.", "not_found": "The requested resource was not found.", "unknown": "Unknown error ({{code}}).", "auth.2fa_required": "Enter the two-factor code from your authenticator app.", "auth.totp_invalid": "The two-factor code is incorrect.", "auth.invalid_credentials": "Wrong email or password.", "auth.step_up_required": "Confirm your identity: enter your password again.", "auth.guild_limit_reached": "You have reached the server limit on this instance.", "auth.session_invalid": "Your session has expired. Sign in again.", "auth.unauthorized": "Sign-in is required.", "auth.registration_disabled": "Registration is disabled on this instance.", "auth.username_taken": "This username is already taken.", "auth.email_taken": "This email is already registered.", "auth.weak_password": "The password is too weak. Use at least 8 characters.", "auth.too_many_attempts": "Too many attempts. Try again later.", "permissions.denied": "You do not have permission for this action.", "instance.admin_required": "This action is available to the instance admin only.", "guild.not_found": "Server not found.", "guild.member_limit_reached": "This server has reached its member limit.", "channel.not_found": "Channel not found.", "validation.failed": "Check the fields you filled in.", "rate.limited": "Too many requests. Please wait a moment.", "perm.denied": "You do not have permission to do that.", "rate_limited": "Too many requests. Please wait a moment.", "message.edit_window_expired": "This message can no longer be edited: more than 24 hours passed.", "file.too_large": "The file exceeds the allowed size.", "request.bad": "Malformed request.", "file.not_found": "File not found.", "invite.expired": "This invite has expired.", "invite.exhausted": "This invite has no uses left.", "user.not_found": "No user with that username was found.", "emoji": { "name_taken": "An emoji with that name already exists.", "invalid_type": "PNG, JPEG, WebP and GIF are supported.", "invalid_name": "Emoji name: 2–32 characters — latin letters, digits and “_”." }, "emojis": { "limit_reached": "The server has reached its emoji limit." }, "voice.disabled": "Voice is not configured on this instance.", "voice.channel_full": "No free slots in this room.", "voice.token_refresh_failed": "Could not renew the voice session. Please join again.", "sound": { "invalid_type": "MP3, OGG, WAV, WebM and M4A are supported.", "invalid_name": "Sound name: 2–32 characters, latin letters, digits and «_».", "name_taken": "A sound with this name already exists." }, "sounds": { "limit_reached": "The limit of sounds of this kind is reached.", "event_required": "Choose an event for a palette sound." }, "voice.not_connected": "Join a voice channel first." }, "theme": { "switchToLight": "Light theme", "switchToDark": "Dark theme", "label": "Theme", "dark": "Dark", "light": "Light" }, "language": { "label": "Language", "ru": "Русский", "en": "English" }, "common": { "loading": "Loading…", "retry": "Retry", "cancel": "Cancel", "close": "Close", "save": "Save", "saving": "Saving…", "create": "Create", "creating": "Creating…", "join": "Join", "leave": "Leave", "back": "Back", "copy": "Copy", "copied": "Copied", "delete": "Delete", "yes": "Yes", "no": "No", "optional": "optional", "dismiss": "Dismiss" }, "footer": { "source": "Source code", "license": "AGPL-3.0" }, "auth": { "login": { "title": "Sign in", "subtitle": "Sign in to keep talking", "email": "Email", "emailPlaceholder": "you@example.com", "password": "Password", "totp": "2FA or recovery code", "totpHint": "If 2FA is enabled; a recovery code like xxxx-xxxx-xxxx also works.", "submit": "Sign in", "submitting": "Signing in…", "noAccount": "No account yet?", "registerLink": "Create one", "forgot": "Forgot your password? Ask the instance admin.", "instanceStatus": "Instance status", "registrationDisabled": "Registration on this instance is disabled by the admin.", "totpRequired": "Enter the 2FA or recovery code — sign-in needs it." }, "register": { "title": "Create account", "subtitle": "Create an account on {{instance}}", "username": "Username", "usernameHint": "3–32 characters: latin letters, digits, “_” and “-”.", "displayName": "Display name", "email": "Email", "password": "Password", "passwordHint": "At least 8 characters.", "requirements": "Password requirements: {{list}}", "requirementLength": "at least 8 characters", "requirementLetter": "at least one letter", "requirementDigit": "at least one digit", "submit": "Create account", "submitting": "Creating account…", "haveAccount": "Already have an account?", "loginLink": "Sign in", "disabledTitle": "Registration is closed", "disabledBody": "The instance admin disabled self-service registration. Ask for an invite or contact the admin." }, "validation": { "usernameFormat": "Username: 3–32 characters, latin letters, digits, “_” or “-”.", "usernameRequired": "Enter a username.", "displayNameRequired": "Enter a display name.", "emailInvalid": "Enter a valid email address.", "passwordShort": "The password must be at least 8 characters long.", "passwordLetter": "Add at least one letter to the password.", "passwordDigit": "Add at least one digit to the password.", "passwordMismatch": "The passwords do not match." } }, "onboarding": { "title": "Welcome to glchat", "greeting": "Hi, {{name}}!", "subtitle": "A couple of steps and you are ready.", "displayName": "How should we show you?", "displayNameHint": "Other members see this name.", "bio": "Tell us about yourself", "bioPlaceholder": "What you do, what you like…", "language": "Interface language", "theme": "Theme", "start": "Get started", "starting": "Preparing your workspace…", "skip": "Skip and start", "note": "You can change all of this later in settings." }, "guilds": { "railLabel": "Servers", "listLabel": "Server list", "add": "Create a server", "addShort": "Create a server", "create": { "title": "Create a server", "name": "Server name", "namePlaceholder": "For example, “Friends”", "hint": "You can rename it later in the server settings.", "submit": "Create", "limit": "You can create at most {{count}} servers on this instance.", "limitReached": "You have reached the server limit — remove one of your servers first.", "template": "Server template", "templateCounts": "{{text}} text · {{voice}} voice · {{roles}} roles" }, "empty": { "title": "You have no servers yet", "body": "Create your own server or join one with an invite.", "create": "Create your own server" }, "leave": "Leave server", "leaveConfirm": "Leave the server “{{name}}”?", "switchTo": "Open server {{name}}" }, "channels": { "title": "Channels", "text": "Text channels", "voice": "Voice channels", "category": "Category", "empty": "This server has no visible channels yet.", "select": "Open channel {{name}}", "add": "Create a channel", "settings": "Server settings", "create": { "title": "New channel", "name": "Channel name", "namePlaceholder": "for example, general", "type": "Channel type", "typeText": "Text", "typeVoice": "Voice", "parent": "Category", "noParent": "No category", "submit": "Create" }, "chatPlaceholder": { "title": "Chat arrives in Phase 2", "body": "The channel “{{name}}” is ready. Messages and voice arrive in the next phase." }, "noSelection": { "title": "Pick a channel", "body": "The server and channel lists are on the left. Pick a channel to open it." }, "notInGuild": { "title": "Server unavailable", "body": "Looks like you are not a member of this server." }, "selectUnread": "Open channel {{name}}, {{count}} unread", "selectMentions": "Open channel {{name}}, {{count}} mentions", "slowmode": "slowmode {{seconds}}s", "leaveHint": "You can leave the server in server settings → “Danger zone”.", "invite": "Invite to server", "inviteTitle": "Server invite", "inviteHint": "The link expires after a while. Send it to whoever you want to invite.", "inviteCreating": "Creating a link…", "inviteLink": "Invite link", "inviteCopy": "Copy", "inviteCopied": "Copied", "inviteNew": "New link", "settingsChannel": "Channel settings" }, "voice": { "title": "Voice room", "join": "Join", "joining": "Connecting…", "connected": "Connected", "reconnecting": "Reconnecting…", "refreshing": "Renewing session…", "disconnect": "Disconnect", "disabled": "Voice is not configured on this instance", "empty": "Nobody is in the room yet", "you": "You", "speaking": "Speaking", "muted": "Microphone is off", "soundOn": "Sound is on", "deafened": "Sound is off", "cameraOn": "Camera is on", "screenOn": "Screen sharing", "serverMuted": "Microphone was muted by a moderator", "serverDeafened": "Sound was muted by a moderator", "speakingWhileMuted": "You are speaking while muted", "volume": "Participant volume", "controls": "Voice controls", "channelParticipants": "Participants of “{{name}}”", "mic": { "on": "Unmute microphone", "off": "Mute microphone" }, "sound": { "on": "Unmute sound", "off": "Mute sound" }, "camera": { "on": "Turn camera on", "off": "Turn camera off" }, "screen": { "on": "Start screen sharing", "off": "Stop screen sharing", "quality": "Screen share quality", "presets": { "1080p60": "1080p · 60 fps", "1080p30": "1080p · 30 fps", "720p30": "720p · 30 fps", "480p30": "480p · 30 fps" } }, "quality": { "excellent": "Excellent connection", "good": "Good connection", "poor": "Poor connection", "lost": "Connection lost", "unknown": "Connecting" }, "menu": { "label": "Participant {{name}}", "moderation": "Moderation", "mute": "Server mute", "unmute": "Remove server mute", "deafen": "Server deafen", "undeafen": "Remove server deafen", "move": "Move", "moveTo": "Move to “{{name}}”" }, "channelMenu": { "label": "Voice room {{name}}" }, "soundboard": { "title": "Soundboard", "open": "Open the soundboard", "searchLabel": "Search sounds", "searchPlaceholder": "Sound name", "empty": "This server has no soundboard sounds yet.", "noResults": "Nothing found.", "playLabel": "Play the sound {{name}}", "rateLimited": "Too fast: try again in {{seconds}} s.", "notConnected": "Join a voice channel first.", "playedBy": "{{name}} played «{{sound}}»" }, "stats": { "title": "Statistics", "open": "Open connection statistics", "resolution": "Resolution", "frameRate": "Frame rate", "codec": "Codec", "bitrate": "Bitrate", "kbps": "kbps", "ms": "ms", "rtt": "Round-trip time", "packetLoss": "Packet loss", "jitter": "Jitter" }, "publishQuality": { "label": "Video quality", "short": { "low": "Low", "medium": "Medium", "high": "High" }, "level": { "low": "Low quality", "medium": "Medium quality", "high": "High quality" } }, "latency": "{{ms}} ms", "latencyHint": "latency to the voice server", "latencyUnknown": "ping unknown" }, "friends": { "rail": "Friends", "title": "Friends", "sidebarLabel": "Friends and direct messages", "sidebarHint": "Direct messages live here — they are not in the server rail.", "dmSection": "Direct messages", "dmEmpty": "No direct messages yet.", "friendsSection": "Friends", "friendsEmpty": "Your friend list is empty.", "open": "Open a conversation with {{name}}", "empty": { "title": "Add friends to start talking", "body": "Find someone by username and send a friend request — a direct conversation appears once it is accepted.", "search": "Find friends" }, "search": { "title": "Friend search", "close": "Close search", "label": "Search by username", "placeholder": "Enter a username", "hint": "Type at least 2 characters.", "empty": "Nobody found.", "add": "Add friend", "adding": "Sending…", "requested": "Request sent", "friend": "Already friends", "message": "Message", "open": "Search friends" }, "requests": { "incoming": "Incoming requests", "outgoing": "Outgoing requests", "accept": "Accept", "decline": "Decline", "cancel": "Cancel" }, "list": { "label": "Friend list", "message": "Message", "more": "Actions: {{name}}", "menu": "Actions for {{name}}", "remove": "Remove friend", "block": "Block", "toggle": "Friends ({{count}})" }, "lastSeen": { "label": "Last seen", "online": "Online now", "unknown": "Offline for a while", "at": "Last seen: {{time}}" }, "dm": { "unknown": "Recipient", "notFound": { "title": "Conversation unavailable", "body": "This direct conversation was not found: it may be deleted or closed to you." } }, "blocked": { "section": "Blocked ({{count}})", "unblock": "Unblock", "alreadyBlocked": "Blocked" } }, "invites": { "title": "Join with an invite", "hint": "Paste a code or a link like https:///invite/.", "label": "Invite code or link", "placeholder": "e.g. ab12cd or https://example.com/invite/ab12cd", "invalid": "Could not recognise the invite code.", "join": "Join", "joining": "Joining…", "members": "Members: {{count}}", "alreadyMember": "You are already on this server" }, "chat": { "log": "Message log of {{name}}", "loadMore": "Load more", "loadingMore": "Loading…", "today": "Today", "yesterday": "Yesterday", "edited": "(edited)", "pending": "sending…", "newMessages": "New messages", "adminBadge": "admin", "types": { "whisper": "whisper", "scream": "loud", "private": "private", "system": "System message" }, "unknownAuthor": "unknown", "start": { "title": "This is the start of #{{name}}", "body": "There are no messages here yet. Say something — everyone in the channel will see it.", "directTitle": "This is the beginning of your conversation with {{name}}", "directBody": "No messages here yet. Say hello first." }, "message": { "by": "Message from {{name}} in {{channel}}", "sentAt": "Sent {{time}}" }, "reply": { "to": "reply to {{name}}", "missing": "deleted message", "composer": "Replying to {{name}}", "cancel": "Cancel reply" }, "actions": { "menu": "Message actions", "reply": "Reply", "react": "Add reaction", "pin": "Pin", "unpin": "Unpin", "edit": "Edit", "delete": "Delete", "deleteConfirm": "Delete this message?", "copy": "Copy text" }, "reactions": { "title": "Reactions", "add": "React with {{emoji}}", "toggle": "Reaction {{emoji}}: {{count}}" }, "emoji": { "title": "Emoji picker", "quick": "Quick reactions", "popular": "Popular emoji", "pick": "React with {{emoji}}", "server": "Server emojis", "search": "Search server emojis", "searchPlaceholder": "Emoji name", "notFound": "Nothing found.", "pickServer": "Pick emoji {{name}}", "animated": "animated" }, "edit": { "label": "Edit message", "hint": "Enter to save, Escape to cancel", "save": "Save", "cancel": "Cancel" }, "composer": { "label": "Message to {{name}}", "placeholder": "Message #{{name}}", "send": "Send", "hint": "Enter to send, Shift+Enter for a new line", "attach": "Attach a file", "fileInput": "Choose files", "uploading": "Uploading attachments…", "attachments": "Message attachments", "removeAttachment": "Remove attachment {{name}}", "counter": "{{count}}/{{max}}", "tooLarge": "File “{{name}}” exceeds the {{limit}} limit", "rateLimited": "Too many messages. You can send again in {{seconds}} s.", "denied": "You are not allowed to send messages in this channel.", "readOnly": "This channel is read-only for you.", "directLabel": "Message to {{name}}", "directPlaceholder": "Message {{name}}", "autocomplete": { "hint": "↑/↓ — select, Enter — insert, Escape — close", "mentions": "Server members", "channels": "Server channels", "emoji": "Emoji", "commands": "Commands" }, "commands": { "me": "action: name and italic text", "whisper": "whisper: muted message", "scream": "loud: large accented text", "ls": "direct message: /ls username text" }, "emoji": "Emoji" }, "typing_one": "{{names}} is typing…", "typing_few": "{{names}} are typing…", "typing_many": "{{names}} are typing…", "typing_other": "{{names}} are typing…", "pins": { "open": "Pinned messages", "title": "Pinned in #{{name}}", "empty": "No pinned messages in this channel yet.", "jump": "Jump" }, "search": { "open": "Search this channel", "title": "Message search", "label": "Search field", "placeholder": "Search messages", "hint": "Type at least two characters.", "empty": "Nothing found." }, "unread": "Unread messages: {{count}}", "mentions": "Mentions: {{count}}", "spoiler": { "show": "Reveal spoiler", "hide": "Hide spoiler" }, "logDirect": "Direct conversation with {{name}}", "system": { "member": "a member", "memberJoin": "{{name}} joined the server", "memberKick": "{{name}} left the server (kicked)", "channelCreated": "Room #{{name}} created", "voiceChannelCreated": "Voice room {{name}} created", "memberLeave": "{{name}} left the server" }, "webhookBadge": "webhook", "webhookAuthor": "webhook" }, "user": { "panelLabel": "User panel", "settings": "User settings", "menu": { "label": "User menu", "open": "Open the user menu", "account": "Account settings", "guilds": "Server settings", "status": "Status", "noBio": "No bio yet." }, "logout": "Sign out", "loggingOut": "Signing out…", "statusLabel": "Status: {{status}}", "status": { "online": "Online", "idle": "Idle", "dnd": "Do not disturb", "invisible": "Invisible", "offline": "Offline" }, "voice": { "input": "Input device", "output": "Output device", "camera": "Camera", "micVolume": "Microphone volume", "outputVolume": "Sound volume", "micOn": "Unmute microphone", "micOff": "Mute microphone", "cameraOn": "Turn camera on", "cameraOff": "Turn camera off", "soundOn": "Undeafen", "soundOff": "Deafen", "micSettings": "Microphone settings", "cameraSettings": "Camera settings", "soundSettings": "Sound settings", "audioSettings": "Audio & video settings" }, "devices": { "default": "Default device", "unavailable": "Devices are unavailable", "empty": "No devices found", "unnamed": "Device {{index}}" } }, "gateway": { "label": "Connection", "status": { "idle": "Not connected", "connecting": "Connecting…", "connected": "Connected", "reconnecting": "Reconnecting…", "disconnected": "Connection lost" }, "invalidated": "The server closed the session. Sign in again." }, "settings": { "title": "Settings", "back": "Back to app", "switcher": { "label": "Settings sections", "account": "Server settings", "servers": "My servers" }, "tabs": { "label": "Settings sections", "profile": "Profile", "security": "Security", "appearance": "Appearance", "notifications": "Notifications", "server": "Server", "voice": "Audio & video", "language": "Language & region", "instance": "Instance", "channel": "Channel" }, "profile": { "avatar.change": "Change avatar", "avatar.uploading": "Uploading…", "title": "Profile", "description": "How other members see you.", "displayName": "Display name", "bio": "About me", "bioPlaceholder": "A few words about you", "customStatus": "Custom status", "customStatusPlaceholder": "For example, “Writing code”", "customStatusEmoji": "Status emoji", "customStatusEmojiPlaceholder": "🚀", "saved": "Profile saved.", "username": "Username", "badges": "Badges", "noBadges": "none", "tabsLabel": "Profile tabs", "tabs": { "main": "General", "server": "Server" }, "timezoneDefault": "default (MSK)", "avatar": { "change": "Change avatar", "choose": "Choose avatar file", "remove": "Remove avatar", "formats": "JPEG, PNG, WebP, GIF", "limit": "{{formats}} up to {{limit}}", "tooLarge": "The file is larger than {{limit}} — pick a smaller image.", "uploading": "Uploading…" }, "decorations": { "title": "Decorations", "hint": "Profile badges and frames.", "empty": "No decorations yet.", "stub": "Badges, frames and profile effects are coming later." }, "style": { "title": "Profile decoration", "description": "Frame, icon, nick colour and effect. You can only pick what your roles grant: on a server the role wins, then the per-server style, then the friends style.", "scope": "Where to apply", "scopeGlobal": "For friends (DMs and global places)", "preview": "preview", "frame": "Avatar frame", "badge": "Icon next to the nick", "color": "Nick colour", "colorDefault": "Same as role", "effect": "Nick effect", "none": "No element", "noFrames": "No frames granted by roles yet — a server admin grants them.", "noBadges": "No icons granted by roles yet.", "reset": "Reset style", "priorityHint": "Changes apply immediately.", "effects": { "none": "No effect", "gradient": "Gradient", "glow": "Glow", "fire": "Fire", "shimmer": "Shimmer", "glitch": "Glitch" } } }, "security": { "title": "Security", "description": "Password, active sessions and two-factor authentication.", "passwordTitle": "Change password", "currentPassword": "Current password", "newPassword": "New password", "confirmPassword": "Repeat the new password", "submitPassword": "Change password", "passwordChanged": "Password changed.", "stepUpTitle": "Confirm your identity", "stepUpBody": "The server requires your password again for this action{{totp}}.", "stepUpTotp": " and a 2FA code", "stepUpSubmit": "Confirm", "stepUpSuccess": "Identity confirmed.", "stepUpExpired": "The confirmation expired, enter your password again.", "stepUpPassword": "Your password", "sessionsTitle": "Active sessions", "sessionsEmpty": "No active sessions.", "sessionCurrent": "current", "sessionCreated": "Created", "sessionSeen": "Last seen", "sessionIp": "IP", "sessionAgent": "Device", "unknownAgent": "Unknown device", "logoutAll": "Sign out everywhere", "logoutAllConfirm": "End all sessions, including this one?", "logoutAllDone": "All sessions have been ended.", "twoFactorTitle": "Two-factor authentication", "twoFactorEnabled": "2FA is on", "twoFactorDisabled": "2FA is off", "twoFactorEnable": "Enable 2FA", "twoFactorSetupHint": "Add the secret to your authenticator app, then enter the six-digit code.", "twoFactorSecret": "Secret", "twoFactorUri": "otpauth link", "twoFactorQrAlt": "QR code for 2FA setup", "twoFactorQrUnavailable": "The QR code is unavailable — add the secret manually.", "twoFactorCode": "Code from the app", "twoFactorConfirm": "Enable", "twoFactorEnabledDone": "2FA is enabled. Save your recovery codes.", "recoveryTitle": "Recovery codes", "recoveryHint": "Every code works once. They are shown only once.", "recoveryCopyAll": "Copy all codes" }, "appearance": { "title": "Appearance", "description": "Interface theme and language. Stored locally in your browser.", "theme": "Theme", "themeHint": "The dark theme is on by default.", "language": "Language", "languageHint": "Russian is the primary interface language." }, "instance": { "title": "Instance", "description": "Instance admin only. Read-only data.", "notAdmin": "This section is available to the instance admin only.", "settings": "Instance settings", "settingsEmpty": "No settings configured.", "guilds": "Servers ({{count}})", "guildsEmpty": "No servers.", "userId": "User ID", "users": "Users ({{count}})", "usersEmpty": "No users.", "audit": "Audit log (last {{count}})", "auditEmpty": "No entries.", "memberCount": "{{count}} members", "adminBadge": "admin", "mainBadge": "main", "usersIdHint": "User IDs are visible to the instance administrator only.", "dashboard": { "title": "Server dashboard", "refreshHint": "updates every second", "cpu": "CPU", "cpuCaption_one": "{{count}} core", "cpuCaption_few": "{{count}} cores", "cpuCaption_many": "{{count}} cores", "cpuCaption_other": "{{count}} cores", "memory": "Memory", "diskHint": "Disk: used / total. {{free}} free", "databaseHint": "Database: main file and WAL ({{wal}})", "containerRow": "Instance container", "containerHint": "Profile limits", "hostRow": "Whole server", "hostHint": "Entire machine" }, "health": { "title": "Instance healthcheck", "collecting": "Collecting data…", "unavailable": "The instance does not answer dashboard requests.", "ping": "Ping", "pingValue": "{{ms}} ms", "pingUnavailable": "—", "pingHint": "Instance response time for a dashboard request (HTTP)", "summary": { "ok": "All good", "warn": "Warnings", "failed": "Errors" }, "status": { "ok": "running", "warn": "warning", "failed": "failed", "off": "disabled" }, "checks": { "app": "Application", "database": "Database", "disk": "Disk", "storage": "Data writes", "voice": "Voice (SFU)", "gateway": "Gateway", "metrics": "Metrics" } } }, "servers": { "pickerLabel": "My servers", "empty": "You have no servers yet.", "emptyTitle": "No servers yet", "emptyHint": "Join the instance main server or create your own — its settings will show up here.", "select": "Open settings of the server {{name}}", "notFound": "The server was not found among the ones you can access.", "readOnlyHint": "Only the owner and members with ADMINISTRATOR or MANAGE_GUILD can edit this.", "general": { "title": "General", "description": "Every member sees the server name and description.", "name": "Server name", "guildDescription": "Description", "descriptionPlaceholder": "What this server is about", "saved": "Server settings saved." }, "nickname": { "title": "My profile on this server", "description": "The nickname is visible on this server only.", "label": "Nickname", "placeholder": "Leave empty to reset the nickname", "current": "Current nickname:", "none": "not set", "saved": "Nickname saved.", "applyAll": "Apply to all servers", "applyAllHint": "One nickname for every server you are in.", "applyAllPending": "Applying…", "applyAllProgress": "Servers updated: {{done}} of {{total}}", "applyAllDone": "Nickname applied on all servers ({{total}}).", "applyAllFailed": "Failed to update servers: {{failed}}." }, "members": { "title": "Members", "description": "The first {{limit}} members of the server.", "empty": "No members found.", "roles": "Roles: {{roles}}", "more": "The full member list with roles arrives in the next phases.", "moderate": "Moderate {{name}}", "timeout": "Timeout", "timeoutClear": "Clear timeout", "banReason": "Ban reason", "banReasonPlaceholder": "optional", "ban": "Ban", "kick": "Kick" }, "roles": { "title": "Roles", "description": "Role colour and position. Role management arrives in the next phases.", "empty": "This server has no roles yet.", "position": "Position {{position}}", "default": "default", "frame": "Frame", "badge": "Icon", "nickColor": "Nick colour", "nickEffect": "Nick effect", "decorationSaved": "Role decoration saved." }, "danger": { "title": "Danger zone", "description": "These actions cannot be undone.", "leaveOwnerHint": "The owner cannot leave their own server: transfer ownership or delete the server first.", "leaveHint": "Leave the server and lose access to its channels.", "leave": "Leave server", "leaveConfirmTitle": "Leave the server?", "leaveConfirmBody": "You will leave “{{name}}”. You can come back with an invite.", "leaveConfirm": "Leave", "deleteHint": "Delete the server together with its channels, roles and members.", "delete": "Delete server", "deleteConfirmTitle": "Delete the server?", "deleteConfirmBody": "“{{name}}” will be deleted permanently.", "deleteConfirm": "Delete" }, "selectLabel": "Choose a server", "emojis": { "title": "Emojis", "description": "Custom server emojis: up to {{limit}}, 512 KB each.", "counter": "{{count}} of {{limit}}", "empty": "The server has no emojis yet.", "animated": "animated", "rename": "Rename", "renameLabel": "Rename emoji {{name}}", "renameTitle": "Rename emoji", "delete": "Delete", "deleteLabel": "Delete emoji {{name}}", "deleteConfirmTitle": "Delete emoji?", "deleteConfirmBody": "Emoji {{name}} will be deleted permanently.", "deleteConfirm": "Delete", "uploadTitle": "Upload an emoji", "uploadHint": "Drop a file below or pick one: PNG, JPEG, WebP or GIF up to {{limit}}.", "name": "Emoji name", "namePlaceholder": "for example, pepe_happy", "nameHint": "2–32 characters: latin letters, digits and “_”.", "dropHint": "Drop a file here", "chooseFile": "Choose file", "file": "Emoji file", "fileSelected": "{{name}} · {{size}}", "upload": "Upload", "uploading": "Uploading…" }, "sounds": { "title": "Sounds", "description": "Server soundboard and sound palette: up to {{limit}} sounds of each kind, 512 KB each.", "counter": "{{count}} of {{limit}}", "empty": "No sounds of this kind yet.", "uploadTitle": "Upload a sound", "uploadHint": "Drop a file below or choose it: MP3, OGG, WAV, WebM or M4A up to {{limit}}.", "name": "Sound name", "namePlaceholder": "for example, airhorn", "nameHint": "2–32 characters: latin letters, digits and «_».", "emoji": "Emoji", "emojiPlaceholder": "for example, 📣", "emojiHint": "Optional icon for the soundboard grid.", "event": "Event", "dropHint": "Drop the file here", "file": "Sound file", "chooseFile": "Choose a file", "fileSelected": "{{name}} · {{size}}", "upload": "Upload", "uploading": "Uploading…", "rename": "Rename", "renameLabel": "Rename the sound {{name}}", "renameTitle": "Rename the sound", "delete": "Delete", "deleteLabel": "Delete the sound {{name}}", "deleteConfirmTitle": "Delete the sound?", "deleteConfirmBody": "The sound {{name}} will be deleted permanently.", "deleteConfirm": "Delete", "kinds": { "soundboard": "Soundboard", "ui": "Sound palette" }, "events": { "member_join": "Member joined", "member_leave": "Member left", "mention": "Mention", "message": "New message", "message_send": "Message sent", "voice_join": "Joined a voice channel", "voice_leave": "Left a voice channel", "mic_on": "Microphone on", "mic_off": "Microphone off", "camera_on": "Camera on", "camera_off": "Camera off", "screen_on": "Screen share started", "screen_off": "Screen share stopped", "kick": "Member kicked", "ban": "Member banned", "mute": "Member muted", "role_grant": "Role granted", "role_revoke": "Role revoked" } }, "bans": { "title": "Bans", "description": "Banned users cannot return by invite until the ban is lifted.", "empty": "No bans.", "remove": "Unban", "noReason": "no reason", "bannedBy": "banned by {{name}}, {{date}}", "unknownActor": "unknown", "timeoutLabel": "Timeout:", "timeoutMinutes_one": "{{count}} minute", "timeoutMinutes_few": "{{count}} minutes", "timeoutMinutes_many": "{{count}} minutes", "timeoutMinutes_other": "{{count}} minutes", "timeoutAction": "Timeout {{minutes}} min" }, "audit": { "title": "Audit log", "description": "Guild moderator actions. Filters are applied server-side.", "filterAction": "Action", "filterActor": "Actor ID", "filterTarget": "Target ID", "apply": "Apply", "reset": "Reset", "empty": "No entries." }, "appearance": { "title": "Appearance", "description": "Server icon, banner, invite splash and accent color.", "icon": "Server icon", "iconHint": "Square image shown in the server list.", "banner": "Banner", "bannerHint": "Wide image for the server header.", "splash": "Invite splash", "splashHint": "Background of the invite page.", "accent": "Accent color", "accentHint": "Color of buttons and highlights inside the server.", "accentDefault": "Theme color", "accentBlurple": "Blue", "accentGreen": "Green", "accentOrange": "Orange", "accentRed": "Red", "accentPurple": "Purple", "upload": "Upload", "remove": "Remove", "empty": "none", "notImage": "An image file is required (PNG, JPEG, GIF, WebP).", "tooLarge": "The file is larger than 8 MB." }, "cosmetics": { "title": "Decoration gallery", "description": "Avatar frames and icons next to the nick. Uploaded items are granted to roles in the Roles section; animated GIF and WebP keep their animation.", "upload": "Upload", "empty": "Nothing uploaded yet.", "limit": "{{used}} of {{total}} used", "name": "Item name", "notImage": "An image file is required", "tooLarge": "File is larger than 5 MB", "deleteConfirm": "Delete the item? It disappears from all roles and personal styles.", "kind": { "frame": "Frames", "badge": "Icons" } } }, "navLabel": "Settings sections", "notifications": { "title": "Notifications", "description": "Sounds, mentions and web push.", "stub": "Notification settings are coming later." }, "voice": { "title": "Audio & video", "description": "Input and output devices and volume. Changes apply to the current voice room immediately.", "input": "Microphone", "camera": "Camera", "output": "Sound", "micVolume": "Microphone volume", "outputVolume": "Sound volume", "stub": "Changes apply immediately and are stored on this device.", "micMode": "Microphone activation", "micModes": { "voice": "Voice activity", "push_to_talk": "Push-to-talk" }, "pttKey": "Key", "pttHint": "Hold the key to talk. Works while the window is focused and the cursor is not in a text field.", "pttKeys": { "space": "Space", "v": "V", "b": "B", "n": "N", "alt": "Alt", "ctrl": "Ctrl" }, "sounds": "Sounds", "eventSounds": "Server event sounds", "eventSoundsHint": "Play the server palette sounds: member joins, mentions and other events.", "soundboard": "Soundboard", "soundboardHint": "Play soundboard sounds in a voice channel.", "latency": "Participant ping", "latencySharing": "Show ping in the voice room", "latencySharingHint": "Participant latency to the instance updates every second; your own ping is shared with the room.", "interfaceSounds": "Built-in interface sounds", "interfaceSoundsHint": "Short signals for messages, mentions and voice joins when the server has no custom sound." }, "language": { "title": "Language & region", "description": "Time zone and interface language.", "timezone": "Time zone", "timezoneHint": "Used for message times.", "locale": "Interface language", "localeHint": "Applies immediately.", "saved": "Region settings saved." }, "channel": { "noGuild": "Pick a server to configure its channel.", "noChannels": "This server has no text channels.", "pick": "Channel", "noPermission": "Only the server owner and members with MANAGE_WEBHOOKS can manage the channel.", "webhooks": { "title": "Webhooks", "description": "A webhook posts messages to the channel without a user session: requests go to the tokenised URL.", "empty": "No webhooks yet.", "create": "Create webhook", "name": "Webhook name", "avatar": "Avatar", "avatarHint": "PNG, JPEG, WebP or GIF up to 2 MB.", "submit": "Create", "rename": "Rename", "rotate": "New link", "url": "Webhook URL", "createdAt": "created {{date}}", "limit": "{{count}} used", "deleteConfirm": "Delete the webhook? The link stops working, messages already sent stay.", "stepUpBody": "Creating a webhook requires confirming your identity: enter your password{{totp}}." }, "title": "Channel background", "description": "An image behind the message feed. Animated GIF and WebP keep their animation; with the system reduce-motion setting the first frame is shown.", "empty": "No background set.", "upload": "Upload background", "remove": "Remove background", "notImage": "An image file is required", "tooLarge": "File is larger than 5 MB" } }, "badges": { "instanceAdmin": "Instance administrator", "guildOwner": "Server owner", "earlySupporter": "Early supporter", "verified": "Verified" } }