X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fi18n%2Fen.js;h=c5efdf45b5ba552712291a5a8eecf4decc465cc7;hb=04af60ad0cd937639cf5e1a0a8d023d9c1eea152;hp=4f0bcc6697730fa398a2da7fae6361d2bbcb7cf4;hpb=ca90048a9fb2d8c3c65d81096ecd36bbf7c51ff5;p=alttp.git diff --git a/resources/js/i18n/en.js b/resources/js/i18n/en.js index 4f0bcc6..c5efdf4 100644 --- a/resources/js/i18n/en.js +++ b/resources/js/i18n/en.js @@ -1,48 +1,42 @@ /* eslint-disable max-len */ export default { translation: { - aos: { - baseRomInvalid: 'CRC32 mismatch (need 35:53:61:83). Wrong ROM file?', + alttp: { + baseRomInvalid: 'CRC32 mismatch (need 33:22:EF:FC). Wrong ROM file?', baseRomRemoved: 'Base ROM removed.', baseRomSet: 'Base ROM set.', setBaseRom: 'Set base ROM', }, - aosSeeds: { + alttpSeeds: { date: '{{ date, L LT }}', fetchingPatch: 'Fetching patch', - filename: 'aosr - {{preset}} - {{hash}}', - heading: 'Aria of Sorrow Randomizer Seed', + filename: 'alttpr - {{preset}} - {{hash}}', + heading: 'A Link to the Past Randomizer Seed', generated: 'Generated', generator: 'Generator', generators: { - surge: 'This seed has been generated with fusecv\'s randomizer on aosrando.surge.sh.', + doors: 'This seed has been generated with Aerinon\'s door randomizer.', }, - mystery: 'Mystery', + mystery: 'Mystery ROM, settings hidden', noMystery: 'No mystery', noRace: 'No race', patch: 'Patch ROM', patchError: 'Error applying patch: {{msg}}', preset: 'Preset', presets: { - Area: 'Area', - AreaAllBosses: 'Area all bosses', - AreaBeginner: 'Area beginner', - AreaExpert: 'Area expert', - AreaExtraFast: 'Area extra fast', - AreaSpicy: 'Area spicy', - Beginner: 'Beginner', - DoorAllBosses: 'Door all bosses', - DoorAllBossesEasy: 'Door all bosses easy', - ExtraFastNormal: 'Extra fast normal', - Normal: 'Normal', - SGLive2020: 'SGLive 2020', - SGLive2021: 'SGLive 2021', - SpicyNormal: 'Spicy normal', - Tournament2021: 'Tournament 2021', - Tournament2022: 'Tournament 2022', + custom: 'Custom', }, - race: 'Race', + race: 'Race ROM, seed hidden', seed: 'Seed', + settingName: { + shuffleenemies: 'Enemy shuffle', + }, + settings: 'Settings', + settingValue: { + shuffleenemies: { + shuffled: 'Shuffled', + }, + }, status: 'Status', statuses: { error: 'error', @@ -58,21 +52,105 @@ export default { rejectSuccess: 'Rejected', rejectError: 'Error rejecting', }, + autoTracking: { + heading: 'Auto tracking', + statusMsg: { + disabled: 'Disabled', + disconnected: 'Disconnected', + error: 'Connection error', + 'no-device': 'No device', + 'not-applicable': 'Connected to {{ device }}, mode not applicable', + 'not-in-game': 'Connected to {{ device }}, not in game', + tracking: 'Connected to {{ device }}', + }, + }, button: { add: 'Add', back: 'Back', + browserSource: 'Browser source', cancel: 'Cancel', chart: 'Chart', close: 'Close', + confirm: 'Confirm', edit: 'Edit', + filter: 'Filter', + generate: 'Generate', help: 'Help', + invert: 'Invert', login: 'Login', logout: 'Logout', new: 'New', + nextFrame: 'Next frame', + pause: 'Pause', + play: 'Play', + playPause: 'Play/Pause', protocol: 'Protocol', + remove: 'Remove', + retry: 'Retry', save: 'Save', search: 'Search', + send: 'Send', settings: 'Settings', + signUp: 'Sign up', + start: 'Start', + stop: 'Stop', + unconfirm: 'Retract', + unset: 'Unset', + }, + content: { + attribution: 'Attribution', + description: 'Description', + edit: 'Edit content', + saveError: 'Error saving', + saveSuccess: 'Saved', + short: 'Short description', + title: 'Title', + }, + crew: { + roles: { + commentary: 'Commentary', + setup: 'Setup', + tracking: 'Tracking', + }, + }, + discordBot: { + channel: 'Channel', + controls: 'Controls', + guild: 'Server', + heading: 'Discord Bot', + invite: 'Invite bot', + selectGuild: 'Please select server', + }, + episodes: { + addRestream: 'Add Restream', + applyDialog: { + applyError: 'Error signing up', + applySuccess: 'Application received', + signUpAs: 'Sign up as', + title: 'Application', + }, + channel: 'Channel', + commentary: 'Commentary', + empty: 'No dates coming up.', + raceroom: 'Race room', + restreamDialog: { + acceptComms: 'Open commentary application', + acceptTracker: 'Open tracker application', + addError: 'Error adding restream', + addSuccess: 'Added', + addUser: 'Add user', + crewError: 'Error updating', + crewSuccess: 'Updated', + editError: 'Error saving', + editSuccess: 'Saved', + removeError: 'Error removing restream', + removeSuccess: 'Removed', + title: 'Restream', + }, + setup: 'Setup', + sgSignUp: 'SG Signup', + startTime: '{{ date, LL LT }}', + tracking: 'Tracking', }, error: { 403: { @@ -88,12 +166,45 @@ export default { heading: 'Server error', }, }, + events: { + concluded: 'This event has concluded.', + end: 'End', + evergreen: 'Evergreen events', + heading: 'Events', + ongoing: 'Ongoing events', + past: 'Past events', + pastEpisodes: 'Past races', + start: 'Start', + upcomingEpisodes: 'Upcoming races', + }, + footer: { + alttpde: 'German ALttP Discord', + alttpwiki: 'ALttP Speedrunning Wiki', + competitions: 'Competitions', + connect: 'Connect Spedruns Discord', + contact: 'If you would like to organize a Tournament on this site, please contact holysmoke86 on Discord.', + events: 'Events', + info: 'Infos', + map: 'ALttP Map', + muffins: 'Muffins\' Glitch Map', + privacy: 'Privacy', + resources: 'Resources', + restreamCentral: 'Restream Central Discord', + schedule: 'Schedule', + smd: 'German Super Metroid Discord', + smwiki: 'Super Metroid Speedrunning Wiki', + tech: 'ALttP Tech', + }, general: { + actions: 'Actions', anonymous: 'Anonym', + appDescription: 'Tournaments and tutorials for The Legend of Zelda: A Link to the Past Randomizer', appName: 'ALttP', + pleaseSelect: 'Please select', }, icon: { AddIcon: 'Add', + AllowedIcon: 'Allowed', ApplicationsIcon: 'Applications', ApplyIcon: 'Apply', ChartIcon: 'Chart', @@ -101,6 +212,7 @@ export default { EditIcon: 'Edit', FinishedIcon: 'Finished', FirstPlaceIcon: 'First Place', + ForbiddenIcon: 'Forbidden', ForfeitIcon: 'Forfeit', LanguageIcon: 'Language', LockedIcon: 'Locked', @@ -112,7 +224,11 @@ export default { SettingsIcon: 'Settings', StreamIcon: 'Stream', ThirdPlaceIcon: 'Third Place', + TwitchIcon: 'Twitch', + UnknownIcon: 'Unknown', UnlockedIcon: 'Unlocked', + YoutubeIcon: 'YouTube', + VideoIcon: 'Video', zelda: { 'big-key': 'Big Key', 'blue-boomerang': 'Boomerang', @@ -132,9 +248,23 @@ export default { compass: 'Compass', crystal: 'Crystal', duck: 'Duck', + 'dungeon-ct': 'Castle Tower', + 'dungeon-dp': 'Desert Palace', + 'dungeon-ep': 'Eastern Palace', + 'dungeon-gt': 'Ganon\'s Tower', + 'dungeon-hc': 'Hyrule Castle', + 'dungeon-ip': 'Ice Palace', + 'dungeon-mm': 'Misery Mire', + 'dungeon-pd': 'Palace of Darkness', + 'dungeon-sp': 'Swamp Palace', + 'dungeon-sw': 'Skull Woods', + 'dungeon-th': 'Tower of Hera', + 'dungeon-tr': 'Turtle Rock', + 'dungeon-tt': 'Thieves\' Town', ether: 'Ether', fairy: 'Fairy in a Bottle', 'fighter-shield': 'Fighter Shield', + 'fighter-sword': 'Fighter Sword', 'fire-rod': 'Fire Rod', 'fire-shield': 'Fire Shield', flippers: 'Flippers', @@ -155,6 +285,9 @@ export default { mitts: 'Titan \'s Mitts', moonpearl: 'Moonpearl', mushroom: 'Mushroom', + 'not-flippers': 'No Flippers', + 'not-mirror': 'No Mirror', + 'not-moonpearl': 'No Moonpearl', powder: 'Powder', quake: 'Quake', 'red-bomb': 'Red Bomb', @@ -168,6 +301,31 @@ export default { somaria: 'Cane of Somaria', }, }, + map: { + description: 'Maps of The Legend of Zelda: A Link to the Past', + dwLong: 'Dark World', + dwShort: 'DW', + goToLocation: 'Go to location', + heading: 'Map', + lwLong: 'Light World', + lwShort: 'LW', + onThisMap: 'On this map', + spLong: 'Special Areas', + spShort: 'SP', + uw2Long: 'Underworld 2', + uw2Short: 'UW2', + uwLong: 'Underworld', + uwOverlay: 'Show grid', + uwShort: 'UW', + }, + menu: { + map: 'Map', + schedule: 'Schedule', + tech: 'Tech', + }, + modes: { + heading: 'Modes', + }, participants: { empty: 'No participants on record', heading: 'Participants', @@ -185,6 +343,12 @@ export default { score: 'Score', scoreShort: 'Score', }, + privacy: { + heading: 'Privacy', + p1: 'We\'re utilizing cokes and your browser\'s storage to remember your login and preferred language as well as protect against XSRF.', + p2: 'If you click on Login, you wil be redirected to a discord portal. Once signed in, Discord will provide us with your username, discriminator and ID.', + p3: 'Any results you submit will be published on this site and may be shared with the Discord server of the respective community.', + }, protocol: { description: { application: { @@ -197,7 +361,8 @@ export default { report: 'Result of <1>{{time}} reported for round {{number}}', }, round: { - create: 'Round #{{number}} added', + create: 'Added round #{{number}}', + edit: 'Edited round #{{number}}', lock: 'Round #{{number}} locked', seed: 'Set seed for round #{{number}}', unlock: 'Round #{{number}} unlocked', @@ -207,6 +372,7 @@ export default { discord: 'Discord server connected', lock: 'Tournament locked', open: 'Registration opened', + settings: 'Modified settings', unlock: 'Tournament unlocked', }, unknown: 'Unknown protocol entry of type {{type}}.', @@ -234,30 +400,80 @@ export default { round: 'Round', runner: 'Runner', time: 'Time: {{ time }}', + vod: 'VoD', + vodNote: 'If you want to share your VoD, go ahead.', }, rounds: { + code: 'Code', date: '{{ date, L }}', + edit: 'Edit round', + editError: 'Error saving round', + editSuccess: 'Saved successfully', empty: 'No rounds yet', heading: 'Rounds', new: 'New round', noSeed: 'No seed set', + numberOfResults_one: '{{ count }} submission', + numberOfResults_other: '{{ count }} submissions', + loadMore: 'load more rounds', lock: 'Lock round', lockDescription: 'When a round is locked, runners cannot submit or change results.', locked: 'Results for this round have been locked.', lockError: 'Error locking round', lockIncompleteWarning: 'Warning: Not all runners have submitted their results for this round yet!', lockSuccess: 'Round locked', + rolled_by: 'Rolled by', rolledBy: 'Rolled by {{name}}', seed: 'Seed', setSeed: 'Set seed', setSeedError: 'Seed could not be set', setSeedSuccess: 'Seed set', + spoiler: 'Spoiler', + title: 'Title', unlock: 'Unock round', unlockDescription: 'The round is unlocked and runers are free to submit or change their results again.', unlocked: 'Results for this round are subject to change.', unlockError: 'Error unlocking round', unlockSuccess: 'Round unlocked', }, + rulesets: { + heading: 'Rulesets', + }, + schedule: { + description: 'Upcoming matches and other events.', + heading: 'Schedule', + startTime: '{{ date, LT }}', + }, + search: { + noResults: 'No results', + }, + snes: { + device: 'Preferred device', + host: 'Host', + port: 'Port', + proto: 'Protocol', + settings: 'SNES Settings', + }, + techniques: { + description: 'Tutorials for The Legend of Zelda: A Link to the Past Randomizer', + heading: 'Techniques', + lastModified: 'Last modified: {{ date, L }}', + requirements: 'Requires: ', + rulesetCodes: { + competitive: 'COM', + mg: 'MG', + nl: 'NL', + owg: 'OWG', + }, + rulesetDescriptions: { + competitive: 'Competitive', + mg: 'Major Glitches', + nl: 'No Logic', + owg: 'Overworld Glitches', + }, + rulesetFilterHeading: 'Only show techniques allowed in the following rulesets:', + seeAlso: 'See also', + }, tournaments: { admins: 'Admins', applicationDenied: 'Application denied', @@ -290,9 +506,106 @@ export default { scoreboard: 'Scoreboard', scoreChart: 'Score chart', settings: 'Settings', + settingsError: 'Error saving settings', + settingsSuccess: 'Settings saved successfully', + showNumbers: 'Show numbers', unlockError: 'Error unlocking tournaments', unlockSuccess: 'Tournament unlocked', }, + twitchBot: { + addCommand: 'Add command', + channel: 'Channel', + chat: 'Chat', + chatError: 'Error sending message', + chatSettings: 'Chat Bot Settings', + chatSuccess: 'Message queued', + chatWaitMsgsMin: 'Min. messages', + chatWaitMsgsMax: 'Max. messages', + chatWaitTimeMin: 'Min. time', + chatWaitTimeMax: 'Max. time', + commandDialog: 'Edit command', + commandName: 'Name', + commandParameters: 'Parameters', + commandRestriction: 'Restriction', + commandRestrictions: { + mod: 'Mods', + none: 'none', + owner: 'Owner', + }, + commands: 'Commands', + commandType: 'Type', + commandTypes: { + crew: 'Crew list', + 'guessing-cancel': 'Cancel guessing game', + 'guessing-leaderboard': 'Guessing game leaderboard', + 'guessing-solve': 'Solve guessing game', + 'guessing-start': 'Start guessing game', + 'guessing-stop': 'Stop guessing game', + none: 'keiner', + runner: 'Runner list', + }, + controls: 'Controls', + guessingGame: { + activeMessage: 'Message when a game is already running', + cancelMessage: 'Game cancellation announcement', + closeWinnersMessage: 'Message for inexact winners', + closeWinnersMessageHint: '{names} will be replaced with a list of winners\' names and {distance} with the distance', + defaultActiveMessage: 'Channel already has an active guessing game', + defaultCancelMessage: 'Guessing game cancelled', + defaultCloseWinnersMessage: 'Congrats {names} on guessing within {distance}!', + defaultInvalidSolutionMessage: 'Please provide a valid solution to the guessing game', + defaultNoWinnersMessage: 'nobody wins :(', + defaultNotActiveMessage: 'Channel has no active guessing game', + defaultStartMessage: 'Get your guesses in', + defaultStopMessage: 'Guessing closed', + defaultWinnersMessage: 'Congrats {names}!', + guesses: 'Guesses', + guessTimestamp: '{{ timestamp, LT }}', + invalidSolutionMessage: 'Message for invalid (or missing) solution', + leaderboardType: 'Leaderboard type', + leaderboardTypes: { + 30: 'Running month', + 365: 'Running year', + all: 'All time', + month: 'Current month', + year: 'Current year', + }, + noWinnersMessage: 'Announcement for no winners', + notActiveMessage: 'Message when no game is currently active', + pointsCloseFirst: 'Points for first close match', + pointsCloseMax: 'Maximum distance to count as close match', + pointsCloseOther: 'Points for further close matches', + pointsExactFirst: 'Points for first exact match', + pointsExactOther: 'Points for further exact matches', + popoutControls: 'Popout controls', + settings: 'Guessing game settings', + startMessage: 'Starting announcement', + stopMessage: 'Closing announcement', + winners: 'Winners', + winnerScore: '{{ score }} points', + winnerScore_one: '{{ score }} point', + winnersMessage: 'Winners announcement', + winnersMessageHint: '{names} will be replaced with a list of winners\' names', + }, + heading: 'Twitch Bot', + joinApp: 'Join as App Bot', + joinChat: 'Join as Chat Bot', + joinError: 'Error joining channel', + joinSuccess: 'Joined', + noManagePermission: 'You lack the required privileges to manage the twitch bot.', + partError: 'Error parting channel', + partSuccess: 'Parted', + saveError: 'Error saving', + saveSuccess: 'Saved', + selectChannel: 'Please select a channel to manage.', + sendApp: 'Send as App Bot', + sendChat: 'Send as Chat Bot', + }, + twitchLegal: { + heading: 'Twitch extension terms and policies', + p1: 'Participation in the guessing game solely takes place via Twitch chat. Your nickname might show up in chat, on stream and in the leaderboard panel, should you choose to participate.', + p2: 'To display the leaderboard, a request is made to alttp.localhorst.tv. This request is logged anonymously and not further processed.', + }, users: { discordTag: 'Discord tag', editNickname: 'Edit name',