433 lines
27 KiB
TypeScript
433 lines
27 KiB
TypeScript
/*tslint:disable:max-line-length object-literal-sort-keys object-literal-key-quotes*/
|
|
const strings: {[key: string]: string | undefined} = {
|
|
'action.edit': 'Edit',
|
|
'action.view': 'View',
|
|
'action.cut': 'Cut',
|
|
'action.copy': 'Copy',
|
|
'action.copyWithoutBBCode': 'Copy without BBCode',
|
|
'action.paste': 'Paste',
|
|
'action.copyLink': 'Copy Link',
|
|
'action.incognito': 'Open in Incognito mode',
|
|
'action.suggestions': 'Suggestions',
|
|
'action.open': 'Show',
|
|
'action.close': 'Close',
|
|
'action.quit': 'Quit',
|
|
'action.newWindow': 'Open new window',
|
|
'action.newTab': 'Open new tab',
|
|
'action.updateAvailable': 'UPDATE AVAILABLE',
|
|
'action.update': 'Restart now!',
|
|
'action.cancel': 'Cancel',
|
|
'consoleWarning.head': 'THIS IS THE DANGER ZONE.',
|
|
'consoleWarning.body': `ANYTHING YOU WRITE OR PASTE IN HERE COULD BE USED TO STEAL YOUR PASSWORDS OR TAKE OVER YOUR ENTIRE COMPUTER. This is where happiness goes to die. If you aren't a developer or a special kind of daredevil, please get out of here!`,
|
|
'help': 'Help',
|
|
'help.fchat': 'FChat 3.0 Help and Changelog',
|
|
'help.feedback': 'Report a Bug / Suggest Something',
|
|
'help.rules': 'F-List Rules',
|
|
'help.faq': 'F-List FAQ',
|
|
'help.report': 'How to report a user',
|
|
'help.changelog': 'Changelog',
|
|
'fs.error': 'Error writing to disk',
|
|
'spellchecker.add': 'Add to Dictionary',
|
|
'spellchecker.remove': 'Remove from Dictionary',
|
|
'spellchecker.noCorrections': 'No corrections available',
|
|
'window.newTab': 'New tab',
|
|
'title': 'F-Chat',
|
|
'title.connected': 'F-Chat ({0})',
|
|
'version': 'Version {0}',
|
|
'filter': 'Type to filter...',
|
|
'confirmYes': 'Yes',
|
|
'confirmNo': 'No',
|
|
'login.account': 'Username',
|
|
'login.password': 'Password',
|
|
'login.host': 'Host',
|
|
'login.advanced': 'Show advanced settings',
|
|
'login.save': 'Save login',
|
|
'login.error': 'Error logging you in: Could not connect to server',
|
|
'login.submit': 'Log in',
|
|
'login.working': 'Logging in...',
|
|
'login.selectCharacter': 'Select a character',
|
|
'login.connect': 'Connect',
|
|
'login.connecting': 'Connecting...',
|
|
'login.connectError': 'Connection error: {0}',
|
|
'login.alreadyLoggedIn': 'You are already logged in on this character in another tab or window.',
|
|
'channelList.public': 'Official channels',
|
|
'channelList.private': 'Open rooms',
|
|
'channelList.create': 'Create room',
|
|
'channelList.createName': 'Room name',
|
|
'chat.logout': 'Log out',
|
|
'chat.status': 'Status:',
|
|
'chat.setStatus': 'Set status',
|
|
'chat.setStatus.status': 'Status',
|
|
'chat.setStatus.message': 'Status message (optional)',
|
|
'chat.menu': 'Menu',
|
|
'chat.channels': 'Channels',
|
|
'chat.pms': 'PMs',
|
|
'chat.consoleTab': 'Console',
|
|
'chat.pinTab': 'Pin this tab',
|
|
'chat.closeTab': 'Close this tab',
|
|
'chat.confirmLeave': 'You are still connected to chat. Would you like to disconnect?',
|
|
'chat.highlight': 'mentioned {0} in {1}:\n{2}',
|
|
'chat.roll': 'rolls {0}: {1}',
|
|
'chat.bottle': 'spins the bottle: {0}',
|
|
'chat.consoleChat': 'You cannot chat here.',
|
|
'chat.typing.typing': '{0} is typing...',
|
|
'chat.typing.paused': '{0} has entered text.',
|
|
'chat.errorOffline': '{0} is offline, you cannot send them a message right now.',
|
|
'chat.errorIgnored': 'You are ignoring {0}. If you would like to send them a message, please unignore them first.',
|
|
'chat.disconnected': 'You were disconnected from chat.\nAttempting to reconnect.',
|
|
'chat.disconnected.title': 'Disconnected',
|
|
'chat.ignoreList': 'You are currently ignoring: {0}',
|
|
'chat.search': 'Search in messages...',
|
|
'chat.send': 'Send',
|
|
'logs.title': 'Logs',
|
|
'logs.character': 'Character',
|
|
'logs.conversation': 'Conversation',
|
|
'logs.confirmExport': 'Are you sure you would like to export all logs for {0}? If you have a lot of logs, this might take a while.',
|
|
'logs.date': 'Date',
|
|
'logs.selectCharacter': 'Select a character...',
|
|
'logs.selectConversation': 'Select a conversation...',
|
|
'logs.allDates': 'Show all',
|
|
'logs.corruption.desktop': 'Log corruption has been detected. This is usually caused by a crash/force close or power loss mid-write. Please use the "Fix corrupted logs" option for this character to restore proper functionality.',
|
|
'logs.corruption.mobile': 'Log corruption has been detected. This is usually caused by a crash/force close or power loss mid-write. Will now attempt to fix corrupted logs.',
|
|
'logs.corruption.mobile.success': 'Your logs have been fixed.',
|
|
'logs.corruption.mobile.error': 'Unable to fix corrupted logs. Please clear the application data or reinstall the app.',
|
|
'logs.corruption.web': 'Error reading logs from browser storage. If this issue persists, please clear your stored browser data for F-Chat.',
|
|
'user.profile': 'Profile',
|
|
'user.message': 'Open conversation',
|
|
'user.messageJump': 'View conversation',
|
|
'user.bookmark': 'Bookmark',
|
|
'user.unbookmark': 'Unbookmark',
|
|
'user.ignore': 'Ignore',
|
|
'user.unignore': 'Unignore',
|
|
'user.hide': 'Hide ads',
|
|
'user.unhide': 'Unhide ads',
|
|
'user.memo': 'View memo',
|
|
'user.memo.action': 'Update memo',
|
|
'user.report': 'Report user',
|
|
'user.channelKick': 'Kick from channel',
|
|
'user.chatKick': 'Chat kick',
|
|
'users.title': 'People',
|
|
'users.friends': 'Friends',
|
|
'users.bookmarks': 'Bookmarks',
|
|
'users.members': 'Members',
|
|
'users.memberCount': '{0} Members',
|
|
'chat.report': 'Alert Staff',
|
|
'chat.report.description': `[color=red]Before you alert the moderators, PLEASE READ:[/color]
|
|
If you're just having personal trouble with someone, right-click their name and ignore them.
|
|
Please make sure what you're reporting is a violation of the site's [url=https://wiki.f-list.net/Code_of_Conduct]Code of Conduct[/url], otherwise nothing will be done.
|
|
|
|
This tool is intended for chat moderation. If you have a question, please visit our [url=https://wiki.f-list.net/Frequently_Asked_Questions]FAQ[/url] first, and if that doesn't help, join [session=Helpdesk]Helpdesk[/session] and ask your question there.
|
|
|
|
If your problem lies anywhere outside of the chat, please send in a Ticket instead.
|
|
|
|
For a more comprehensive guide as how and when to report another user, please [url=https://wiki.f-list.net/How_to_Report_a_User]consult this page.[/url]
|
|
|
|
Please provide a brief summary of your problem and the rules that have been violated.
|
|
[color=red]DO NOT PASTE LOGS INTO THE "REPORT TEXT" FIELD.
|
|
SELECT THE TAB YOU WISH TO REPORT, LOGS ARE AUTOMATICALLY ATTACHED[/color]`,
|
|
'chat.report.conversation': 'Reporting tab',
|
|
'chat.report.reporting': 'Reporting user',
|
|
'chat.report.general': 'No one in particular. If you wish to report a specific user, please right-click them and select "Report".',
|
|
'chat.report.text': 'Report text',
|
|
'chat.recentConversations': 'Recent conversations',
|
|
'settings.tabs.general': 'General',
|
|
'settings.tabs.notifications': 'Notifications',
|
|
'settings.tabs.hideAds': 'Hidden users',
|
|
'settings.tabs.import': 'Import',
|
|
'settings.open': 'Settings',
|
|
'settings.action': 'Change settings',
|
|
'settings.hideAds.empty': `You aren't currently hiding the ads of any users.`,
|
|
'settings.import': 'Import settings',
|
|
'settings.import.selectCharacter': 'Select a character',
|
|
'settings.import.confirm': `You are importing settings from your character {0}.
|
|
This will overwrite any and all settings, pinned conversations and conversation settings of character {1}.
|
|
Logs and recent conversations will not be touched.
|
|
You will be logged out. Once you log back in, the settings will have been imported.
|
|
Are you sure?`,
|
|
'settings.playSound': 'Play notification sounds',
|
|
'settings.notifications': 'Show desktop/push notifications',
|
|
'settings.clickOpensMessage': 'Clicking users opens messages (instead of their profile)',
|
|
'settings.enterSend': 'Enter sends messages (shows send button if disabled)',
|
|
'settings.disallowedTags': 'Disallowed BBCode tags (comma-separated)',
|
|
'settings.highlight': 'Notify for messages containing your name',
|
|
'settings.highlightWords': 'Custom highlight notify words (comma-separated)',
|
|
'settings.showAvatars': 'Show character avatars',
|
|
'settings.animatedEicons': 'Animate [eicon]s',
|
|
'settings.idleTimer': 'Idle timer (minutes, clear to disable)',
|
|
'settings.messageSeparators': 'Display separators between messages',
|
|
'settings.eventMessages': 'Also display console messages (like login/logout, status changes) in current tab',
|
|
'settings.joinMessages': 'Display join/leave messages in channels',
|
|
'settings.alwaysNotify': 'Play sounds even when looking at the tab',
|
|
'settings.closeToTray': 'Close to tray',
|
|
'settings.spellcheck': 'Spellcheck',
|
|
'settings.spellcheck.disabled': 'Disabled',
|
|
'settings.theme': 'Theme',
|
|
'settings.profileViewer': 'Use profile viewer',
|
|
'settings.logDir': 'Change log location',
|
|
'settings.logDir.confirm': `Do you want to set your log location to {0}?
|
|
|
|
No files will be moved. If you click Yes here, F-Chat will shut down. If you would like to keep your log files, please move them manually before restarting F-Chat.
|
|
|
|
Current log location: {1}`,
|
|
'settings.logDir.inAppDir': 'Please set your log directory to a location outside of the F-Chat installation directory, as it would otherwise be overwritten during an update.',
|
|
'settings.logMessages': 'Log messages',
|
|
'settings.logAds': 'Log ads',
|
|
'settings.fontSize': 'Font size (experimental)',
|
|
'settings.showNeedsReply': 'Show indicator on PM tabs with unanswered messages',
|
|
'settings.defaultHighlights': 'Use global highlight words',
|
|
'settings.colorBookmarks': 'Show friends/bookmarks in a different colour',
|
|
'settings.beta': 'Opt-in to test unstable prerelease updates',
|
|
'settings.hwAcceleration': 'Enable hardware acceleration (requires restart)',
|
|
'settings.bbCodeBar': 'Show BBCode formatting bar',
|
|
'fixLogs.action': 'Fix corrupted logs',
|
|
'fixLogs.text': `There are a few reason log files can become corrupted - log files from old versions with bugs that have since been fixed or incomplete file operations caused by computer crashes are the most common.
|
|
If one of your log files is corrupted, you may get an "Unknown Type" error when you log in or when you open a specific tab. You may also experience other issues.
|
|
This is not a tool you should use if you're not sure it's absolutely necessary. It will go through and rewrite all of your log files.
|
|
Once this process has started, do not interrupt it or your logs will get corrupted even worse.`,
|
|
'fixLogs.character': 'Character',
|
|
'fixLogs.error': 'An error has occurred while attempting to fix your logs. Please ask in for further assistance in the Helpdesk channel.',
|
|
'fixLogs.success': 'Your logs have been fixed. If you experience any more issues, please ask in for further assistance in the Helpdesk channel.',
|
|
'conversationSettings.title': 'Tab Settings',
|
|
'conversationSettings.action': 'Edit settings for {0}',
|
|
'conversationSettings.save': 'Save settings',
|
|
'conversationSettings.default': 'Default',
|
|
'conversationSettings.true': 'Yes',
|
|
'conversationSettings.false': 'No',
|
|
'conversationSettings.notify': 'Notify for messages',
|
|
'channel.mode.ads': 'Ads',
|
|
'channel.mode.chat': 'Chat',
|
|
'channel.mode.both': 'Both',
|
|
'channel.mode.ads.countdown': 'Ads ({0}m{1}s)',
|
|
'channel.official': 'Official channel',
|
|
'channel.description': 'Description',
|
|
'manageChannel.open': 'Manage',
|
|
'manageChannel.action': 'Manage {0}',
|
|
'manageChannel.submit': 'Save settings',
|
|
'manageChannel.mods': 'Channel moderators',
|
|
'manageChannel.modAdd': 'Add moderator',
|
|
'manageChannel.modAddName': 'New moderator name',
|
|
'manageChannel.isPublic': 'Is public (i.e. in the channel list; anyone can join without an invite)',
|
|
'manageChannel.mode': 'Allowed messages',
|
|
'manageChannel.description': 'Description',
|
|
'characterSearch.open': 'Character Search',
|
|
'characterSearch.action': 'Search characters',
|
|
'characterSearch.again': 'Start another search',
|
|
'characterSearch.results': 'Results',
|
|
'characterSearch.kinks': 'Kinks',
|
|
'characterSearch.genders': 'Genders',
|
|
'characterSearch.orientations': 'Orientations',
|
|
'characterSearch.languages': 'Languages',
|
|
'characterSearch.furryprefs': 'Furry preferences',
|
|
'characterSearch.roles': 'Dom/sub roles',
|
|
'characterSearch.positions': 'Positions',
|
|
'characterSearch.error.noResults': 'There were no search results.',
|
|
'characterSearch.error.throttle': 'You must wait five seconds between searches.',
|
|
'characterSearch.error.tooManyResults': 'There are too many search results, please narrow your search.',
|
|
'events.broadcast': '{0} has broadcast: {1}',
|
|
'events.broadcast.notification': 'Broadcast from {0}',
|
|
'events.invite': '{0} has invited you to join {1}',
|
|
'events.error': 'Error: {0}',
|
|
'events.rtbCommentReply': '{0} replied to your comment on the {1}: {2}',
|
|
'events.rtbComment': '{0} commented on your {1}: {2}',
|
|
'events.rtbComment_bugreport': 'bug report',
|
|
'events.rtbComment_changelog': 'changelog post',
|
|
'events.rtbComment_feature': 'feature request',
|
|
'events.rtbComment_newspost': 'news post',
|
|
'events.rtb_note': '{0} has sent you a note: {1}',
|
|
'events.rtb_bugreport': '{0} submitted a bug report: {1}',
|
|
'events.rtb_featurerequest': '{0} submitted a feature request: {1}',
|
|
'events.rtb_grouprequest': '{0} requested a group named: {1}',
|
|
'events.rtb_helpdeskreply': '{0} replied to [url={1}]a help desk ticket you are involved in[/url].',
|
|
'events.rtb_helpdeskticket': '{0} submitted a help desk ticket: {1}',
|
|
'events.rtb_friendrequest': '{0} has sent you a friend request.',
|
|
'events.report': '[b][color=red]MODERATOR ALERT[/color][/b] - Report by {0}:\nCurrent tab: {1}\nReport: {2}',
|
|
'events.report.confirmed': '{0} is handling {1}\'s report.',
|
|
'events.report.confirm': 'Confirm report',
|
|
'events.report.viewLog': 'View log',
|
|
'events.report.noLog': 'No log available',
|
|
'events.status': '{0} is now {1}.',
|
|
'events.status.message': '{0} is now {1}: {2}',
|
|
'events.status.own': 'You are now {0}.',
|
|
'events.status.ownMessage': 'You are now {0}: {1}',
|
|
'events.ban': '{2} has banned {1} from {0}.',
|
|
'events.timeout': '{2} has timed out {1} from {0} for {3} minutes.',
|
|
'events.kick': '{2} has kicked {1} from {0}.',
|
|
'events.login': '{0} has logged in.',
|
|
'events.logout': '{0} has logged out.',
|
|
'events.channelJoin': '{0} has joined the channel.',
|
|
'events.channelLeave': '{0} has left the channel.',
|
|
'events.ignore_add': 'You are now ignoring {0}\'s messages. Should they go around this by any means, please report it using the Alert Staff button.',
|
|
'events.ignore_delete': '{0} is now allowed to send you messages again.',
|
|
'events.uptime': 'Server has been running since {0}, with currently {1} channels and {2} users, a total of {3} accepted connections, and {4} maximum users.',
|
|
'events.highlight': '{0} said "{1}" in {2}',
|
|
'commands.unknown': 'Unknown command. For a list of valid commands, please click the ? button.',
|
|
'commands.badContext': 'This command cannot be used here. Please use the Help (click the ? button) if you need further information.',
|
|
'commands.tooFewParams': 'This command requires more parameters. Please use the Help (click the ? button) if you need further information.',
|
|
'commands.invalidParam': 'The value for the parameter {0} is invalid. Please use the Help (click the ? button) if you need further information.',
|
|
'commands.invalidCharacter': 'The character you entered is not online. Put the name in double quotes if you want to override. Please use the Help (click the ? button) if you need further information.',
|
|
'commands.help': 'Command Help',
|
|
'commands.help.syntax': 'Syntax: {0}',
|
|
'commands.help.contextChannel': 'This command can be executed in a channel tab.',
|
|
'commands.help.contextPrivate': 'This command can be executed in a private conversation tab.',
|
|
'commands.help.contextConsole': 'This command can be executed in the console tab.',
|
|
'commands.help.permissionRoomOp': 'This command requires you to be an operator in the selected channel.',
|
|
'commands.help.permissionRoomOwner': 'This command requires you to be the owner of the selected channel.',
|
|
'commands.help.permissionChannelMod': 'This command requires you to be an official channel moderator.',
|
|
'commands.help.permissionChatOp': 'This command requires you to be a global chat operator.',
|
|
'commands.help.permissionAdmin': 'This command requires you to be an admin.',
|
|
'commands.help.parameters': 'Parameters:',
|
|
'commands.help.paramOptional': '{0} (optional):',
|
|
'commands.param_character': 'Character',
|
|
'commands.param_character.help': 'The name of a character. Must be valid and logged in - override by putting in double quotes.',
|
|
'commands.reward': 'Reward',
|
|
'commands.reward.help': 'Reward a user, giving them a special status until they change it or log out.',
|
|
'commands.greports': 'Pending reports',
|
|
'commands.greports.help': 'Requests a list of pending chat reports from the server.',
|
|
'commands.join': 'Join channel',
|
|
'commands.join.help': 'Joins the channel with the given name/ID.',
|
|
'commands.join.param0': 'Channel ID',
|
|
'commands.join.param0.help': 'The name/ID of the channel to join. For official channels, this is the name, for private rooms this is the ID.',
|
|
'commands.close': 'Close tab',
|
|
'commands.close.help': 'Closes the currently viewed PM or channel tab.',
|
|
'commands.clear': 'Clear tab',
|
|
'commands.clear.help': 'Clears the currently viewed tab, emptying its message list. No logs will be deleted.',
|
|
'commands.uptime': 'Uptime',
|
|
'commands.uptime.help': 'Requests statistics about server uptime.',
|
|
'commands.status': 'Set status',
|
|
'commands.status.help': 'Sets your status along with an optional message.',
|
|
'commands.status.param0': 'Status',
|
|
'commands.status.param0.help': 'A valid status, namely "online", "busy", "looking", "away" or "dnd".',
|
|
'commands.status.param1': 'Message',
|
|
'commands.status.param1.help': 'An optional status message of up to 255 bytes.',
|
|
'commands.priv': 'Open conversation',
|
|
'commands.priv.help': 'Opens a conversation with the given character.',
|
|
'commands.broadcast': 'Chat broadcast',
|
|
'commands.broadcast.help': 'Broadcast a message, alerting all currently connected characters.',
|
|
'commands.broadcast.param0': 'Message',
|
|
'commands.broadcast.param0.help': 'Broadcast message. May contain valid chat BBCode.',
|
|
'commands.makeroom': 'Create private room',
|
|
'commands.makeroom.help': 'Creates a private room. Only people you /invite will be able to join it, and it will not be listed, until you open it with /openroom.',
|
|
'commands.makeroom.param0': 'Room name',
|
|
'commands.makeroom.param0.help': 'A name for your new private room. Must be 1-64 in length.',
|
|
'commands.ignore': 'Ignore a character',
|
|
'commands.ignore.help': 'Ignores the given character, and discards all of their messages, except in channels where you are a moderator.',
|
|
'commands.unignore': 'Unignore a character',
|
|
'commands.unignore.help': 'Removes the given character from your ignore list, and allows them to send you messages again.',
|
|
'commands.ignorelist': 'Ignore list',
|
|
'commands.ignorelist.help': 'Lists all of the characters currently on your ignore list.',
|
|
'commands.roll': 'Dice roll',
|
|
'commands.roll.help': 'Rolls dice (RNG), displaying the result to all members of the current tab.',
|
|
'commands.roll.param0': 'Dice',
|
|
'commands.roll.param0.help': 'Syntax: [1-9]d[1-100]. Addition and subtraction of rolls and fixed numbers is also possible. Example: /roll 1d6+1d20-5',
|
|
'commands.bottle': 'Spin the bottle',
|
|
'commands.bottle.help': 'Spins a bottle, randomly selecting a member of the current tab and displaying it to all.',
|
|
'commands.me': 'Post as action',
|
|
'commands.me.help': 'This will cause your message to be formatted differently, as an action your character is performing.',
|
|
'commands.me.param0': 'Message',
|
|
'commands.me.param0.help': 'The message to post as an action - the action you would like your character to perform.',
|
|
'commands.warn': 'Warn channel',
|
|
'commands.warn.help': 'Provides a way for channel moderators to warn/alert members. This message will be formatted differently, and is often used as a warning before moderator action.',
|
|
'commands.warn.param0': 'Message',
|
|
'commands.warn.param0.help': 'The message to post as a warning.',
|
|
'commands.kick': 'Channel kick',
|
|
'commands.kick.help': 'Removes a character from the current channel. They are free to rejoin - use /ban or /timeout if you want to get rid of them for a longer period of time.',
|
|
'commands.ban': 'Channel ban',
|
|
'commands.ban.help': 'Bans a character from the current channel. They will not be able to rejoin unless and until you undo this with /unban.',
|
|
'commands.unban': 'Channel unban',
|
|
'commands.unban.help': 'Unbans a character from the current channel, allowing them to rejoin.',
|
|
'commands.banlist': 'Channel ban list',
|
|
'commands.banlist.help': 'Requests the ban list for the current channel. The server will reply with a system response, which you will be able to view in the Console tab.',
|
|
'commands.timeout': 'Channel timeout',
|
|
'commands.timeout.help': 'Temporarily bans the given character from the current channel. Mind the comma in the syntax!',
|
|
'commands.timeout.param1': 'Duration',
|
|
'commands.timeout.param1.help': 'The number of minutes to ban the character for.',
|
|
'commands.op': 'Promote to Channel OP',
|
|
'commands.op.help': 'Promotes a character to channel OP in the current channel.',
|
|
'commands.deop': 'Demote from Channel OP',
|
|
'commands.deop.help': 'Demotes a character from channel OP in the current channel.',
|
|
'commands.oplist': 'List Channel OPs',
|
|
'commands.oplist.help': 'Lists all the OPs of the current channel.',
|
|
'commands.setowner': 'Set channel owner',
|
|
'commands.setowner.help': 'Set the owner of a channel to another character. The previous owner will be demoted to a member.',
|
|
'commands.invite': 'Invite to room',
|
|
'commands.invite.help': 'Invites a character to the current channel. This will allow them to join it even if it is a closed room. You can revoke this with /kick, /ban or /timeout.',
|
|
'commands.closeroom': 'Close room',
|
|
'commands.closeroom.help': 'Closes the current channel. This will only allow people you /invite to join it, and remove it from the rooms list.',
|
|
'commands.openroom': 'Open room',
|
|
'commands.openroom.help': 'Opens the current channel. This will allow anyone to join it, and let it be listed in the rooms list.',
|
|
'commands.killchannel': 'Destroy room',
|
|
'commands.killchannel.help': 'PERMANENTLY kills/destroys/removes the current room. All associated settings and prestige will be lost. Make sure this is what you want to do, you cannot undo it.',
|
|
'commands.createchannel': 'Create official channel',
|
|
'commands.createchannel.help': 'Creates an official, staff-moderated room.',
|
|
'commands.createchannel.param0': 'Channel name',
|
|
'commands.createchannel.param0.help': 'A name for the new official channel.',
|
|
'commands.setmode': 'Set room mode',
|
|
'commands.setmode.help': 'Set whether ads and/or chat are allowed in the current channel.',
|
|
'commands.setmode.param0': 'Mode',
|
|
'commands.setmode.param0.help': 'A valid room mode, namely "ads", "chat" or "both".',
|
|
'commands.setdescription': 'Set room description',
|
|
'commands.setdescription.help': 'Set the description for the current room.',
|
|
'commands.setdescription.param0': 'Description',
|
|
'commands.setdescription.param0.help': 'New description for the room. May contain up to 50,000 characters, and valid chat BBCode.',
|
|
'commands.code': 'Copy channel code',
|
|
'commands.code.help': 'Copies a BBCode link to the current channel into your clipboard. This can be pasted anywhere else on chat to render a link to this channel.',
|
|
'commands.code.success': 'Channel code copied to your clipboard.',
|
|
'commands.gkick': 'Chat kick',
|
|
'commands.gkick.help': 'Removes a character from the chat. They are free to rejoin - use /gban or /gtimeout if you want to get rid of them for a longer period of time.',
|
|
'commands.gban': 'Chat ban',
|
|
'commands.gban.help': 'Bans a character from the chat. They will not be able to reconnect unless and until you undo this with /unban.',
|
|
'commands.gunban': 'Chat unban',
|
|
'commands.gunban.help': 'Unbans a character from the chat, allowing them to reconnect.',
|
|
'commands.gtimeout': 'Chat timeout',
|
|
'commands.gtimeout.help': 'Temporarily bans the given character from F-Chat. Mind the comma in the syntax!',
|
|
'commands.gtimeout.param1': 'Duration',
|
|
'commands.gtimeout.param1.help': 'The number of minutes to ban the character for.',
|
|
'commands.gtimeout.param2': 'Reason',
|
|
'commands.gtimeout.param2.help': 'The reason for the chat timeout.',
|
|
'commands.gop': 'Promote to Chat OP',
|
|
'commands.gop.help': 'Promotes a character to global chat OP.',
|
|
'commands.gdeop': 'Demote from Chat OP',
|
|
'commands.gdeop.help': 'Demotes a character from global chat OP.',
|
|
'commands.scop': 'Promote to Super COP',
|
|
'commands.scop.help': 'Promotes a character to super channel operator, making them an operator in all public channels.',
|
|
'commands.scdeop': 'Demote from Super COP',
|
|
'commands.scdeop.help': 'Demotes a character from super channel operator.',
|
|
'commands.reloadconfig': 'Reload config',
|
|
'commands.reloadconfig.help': 'Reload server-side config from disk.',
|
|
'commands.reloadconfig.param0': 'Save?',
|
|
'commands.reloadconfig.param0.help': 'Save ops, bans and channels to disk first.',
|
|
'commands.xyzzy': 'Debug',
|
|
'commands.xyzzy.help': 'Execute debug command on the server.',
|
|
'commands.xyzzy.param0': 'Command',
|
|
'commands.xyzzy.param0.help': 'The command to execute.',
|
|
'commands.xyzzy.param1': 'Arguments',
|
|
'commands.xyzzy.param1.help': 'The arguments to the command.',
|
|
'status.online': 'Online',
|
|
'status.away': 'Away',
|
|
'status.busy': 'Busy',
|
|
'status.looking': 'Looking',
|
|
'status.dnd': 'Do Not Disturb',
|
|
'status.idle': 'Idle',
|
|
'status.offline': 'Offline',
|
|
'status.crown': 'Rewarded',
|
|
'importer.importGeneral': 'slimCat data has been detected on your computer.\nWould you like to import general settings?',
|
|
'importer.importCharacter': `slimCat data for this character has been detected on your computer.
|
|
Would you like to import settings and logs?
|
|
This may take a while.
|
|
Any existing FChat 3.0 data for this character will be overwritten.`,
|
|
'importer.importing': 'Importing data',
|
|
'importer.importingNote': 'Importing logs. This may take a couple of minutes. Please do not close the application, even if it appears to hang for a while, as you may end up with incomplete logs.',
|
|
'importer.error': 'There was an error importing your settings. The defaults will be used.'
|
|
};
|
|
|
|
export default function l(key: string, ...args: (string | number)[]): string {
|
|
let i = args.length;
|
|
let str = strings[key];
|
|
if(str === undefined) {
|
|
if(process.env.NODE_ENV !== 'production') throw new Error(`String ${key} does not exist.`);
|
|
return '';
|
|
}
|
|
while(i-- > 0)
|
|
str = str.replace(new RegExp(`\\{${i}\\}`, 'igm'), args[i].toString());
|
|
return str;
|
|
} |