diff --git a/locales/ko/LC_MESSAGES/Pomodoro.po b/locales/ko/LC_MESSAGES/Pomodoro.po new file mode 100644 index 000000000000..5692c15eb51c --- /dev/null +++ b/locales/ko/LC_MESSAGES/Pomodoro.po @@ -0,0 +1,884 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Hong Shik Kim, 2023\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/pomodoro/timer.py:52 +msgctxt "timer|stage:break|name" +msgid "BREAK" +msgstr "휴식" + +#: src/modules/pomodoro/timer.py:53 +msgctxt "timer|stage:focus|name" +msgid "FOCUS" +msgstr "집중" + +#: src/modules/pomodoro/timer.py:164 +#, possible-python-brace-format +msgctxt "timer|webhook|name" +msgid "{bot_name} Pomodoro" +msgstr "{bot_name} 포모도로" + +#: src/modules/pomodoro/timer.py:168 +msgctxt "timer|webhook|audit_reason" +msgid "Pomodoro Notifications" +msgstr "포모도로 알림" + +#: src/modules/pomodoro/timer.py:179 +msgctxt "timer|webhook|error:insufficient_permissions" +msgid "" +"I require the `MANAGE_WEBHOOKS` permission to send pomodoro notifications " +"here!" +msgstr "여기에 포모도로 알림 전송을 위해 `MANAGE_WEBHOOKS` 권한이 필요해요." + +#: src/modules/pomodoro/timer.py:238 +#, possible-python-brace-format +msgctxt "timer|default_base_name" +msgid "Timer {pattern}" +msgstr "" + +#: src/modules/pomodoro/timer.py:413 +msgctxt "timer|disconnect|audit_reason" +msgid "Disconnecting inactive member from timer." +msgstr "타이머로부터 비활성 맴버 연결 해제" + +#: src/modules/pomodoro/timer.py:425 +#, possible-python-brace-format +msgctxt "timer|kicked_message" +msgid "" +"{mentions} was removed from {channel} because they were inactive! Remember " +"to press {tick} to register your presence every stage." +msgid_plural "" +"{mentions} were removed from {channel} because they were inactive! Remember " +"to press {tick} to register your presence every stage." +msgstr[0] "" +"비활성 유저 {mentions}를 {channel} 에서 제외했어요. 활성 상태 등록을 위해 매 단계마다 {tick}을 눌러주세요." + +#: src/modules/pomodoro/timer.py:438 +#, possible-python-brace-format +msgctxt "timer|kick_failed" +msgid "" +"**Warning!** Timer {channel} is configured to disconnect on inactivity, but " +"I lack the 'Move Members' permission to do this!" +msgstr "" +"**경고!** 타이머 채널 {channel}은 비활성 시 연결이 해제되도록 설정되어 있으나, 저는 'Move Members' 권한이 " +"부족해요!" + +#: src/modules/pomodoro/timer.py:537 +#, possible-python-brace-format +msgctxt "timer|status|stage:focus|statusline" +msgid "{channel} is now in **FOCUS**! Good luck, **BREAK** starts {timestamp}" +msgstr "{channel}은 이제 **집중**상태에요! 파이팅! **휴식**은 {timestamp}에 시작해요." + +#: src/modules/pomodoro/timer.py:542 +#, possible-python-brace-format +msgctxt "timer|status|stage:break|statusline" +msgid "" +"{channel} is now on **BREAK**! Take a rest, **FOCUS** starts {timestamp}" +msgstr "{channel}은 이제 **휴식**상태에요! 파이팅! **집중**은 {timestamp}에 시작해요." + +#: src/modules/pomodoro/timer.py:574 +#, possible-python-brace-format +msgctxt "timer|status|warningline" +msgid "" +"**Warning:** {mentions}, please press {tick} to avoid being removed on the " +"next stage." +msgstr "**경고:** {mentions}, 다음 단계에서 제외되지 않으려면 {tick}을 눌러주세요." + +#: src/modules/pomodoro/timer.py:593 +#, possible-python-brace-format +msgctxt "timer|status|stopped:auto" +msgid "Timer stopped! Join {channel} to start the timer." +msgstr "타이머가 멈췄어요! {channel}에 입장해서 타이머를 시작하세요." + +#: src/modules/pomodoro/timer.py:598 +msgctxt "timer|status|stopped:manual" +msgid "Timer stopped! Press `Start` to restart the timer." +msgstr "타이머가 멈췄어요! 'Start'를 눌러 타이머를 재시작하세요." + +#: src/modules/pomodoro/settingui.py:40 +msgctxt "ui:timer_config|menu:channels|placeholder" +msgid "Select Pomodoro Notification Channel" +msgstr "포모도로 알림 채널 선택" + +#: src/modules/pomodoro/settingui.py:48 +msgctxt "ui:timer_config|embed|title" +msgid "Timer Configuration Panel" +msgstr "타이머 설정 패널" + +#: src/modules/pomodoro/settingui.py:82 +msgctxt "dash:pomodoro|title" +msgid "Pomodoro Configuration ({commands[config pomodoro]})" +msgstr "" + +#: src/modules/pomodoro/settingui.py:86 +msgctxt "dash:stats|dropdown|placeholder" +msgid "Pomodoro Timer Panel" +msgstr "포모도로 타이머 패널" + +#: src/modules/pomodoro/cog.py:116 +msgctxt "cmd_check:ready|failed" +msgid "" +"I am currently restarting! The Pomodoro timers will be unavailable until I " +"have restarted. Thank you for your patience!" +msgstr "저는 현재 재시작하고 있어요! 포모도로 타이머는 제가 재시작하기 전까지 사용할 수 없어요. 조금만 기다려 주세요!" + +#: src/modules/pomodoro/cog.py:401 +msgctxt "cmd:timer" +msgid "timer" +msgstr "타이머" + +#: src/modules/pomodoro/cog.py:402 +msgctxt "cmd:timer|desc" +msgid "Show your current (or selected) pomodoro timer." +msgstr "현재 (선택한) 포모도로 타이머를 보여준다." + +#: src/modules/pomodoro/cog.py:405 +msgctxt "cmd:timer|param:channel" +msgid "timer_channel" +msgstr "" + +#: src/modules/pomodoro/cog.py:410 +msgctxt "cmd:timer|param:channel|desc" +msgid "Select a timer to display (by selecting the timer voice channel)" +msgstr "(타이머 음성 채널을 선택하여) 보여줄 타이머를 선택하세요." + +#: src/modules/pomodoro/cog.py:432 src/modules/pomodoro/cog.py:503 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_timers|desc" +msgid "" +"**This server has no timers set up!**\n" +"Ask an admin to set up and configure a timer with {create_cmd} first, or rent a private room with {room_cmd} and create one yourself!" +msgstr "" +"**이 서버는 타이머 설정이 되어있지 않아요!**\n" +"먼저 서버 관리자에게 {create_cmd} 명령어로 타이머 설정을 요청하거나, {room_cmd} 명령어로 프라이빗 룸을 대여하거나 직접 만들어 보세요!" + +#: src/modules/pomodoro/cog.py:446 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_channel|desc" +msgid "" +"**I don't know what timer to show you.**\n" +"No channel selected and you are not in a voice channel! Use {timers_cmd} to list the available timers in this server." +msgstr "" +"**제가 어떤 타이머를 보여줘야 할 지 모르겠어요.**\n" +"채널 선택이 되지 않았고, 당신은 현재 음성 채널에 없어요. {timers_cmd} 명령어로 서버 내의 사용 가능한 타이머를 확인하세요." + +#: src/modules/pomodoro/cog.py:459 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_timer_in_channel" +msgid "" +"The channel {channel} is not a pomodoro timer room!\n" +"Use {timers_cmd} to list the available timers in this server." +msgstr "" +"채널 {channel}는 포모도로 타이머 룸이 아니에요. {timers_cmd} 명령어로 서버 내의 사용 가능한 타이머를 확인하세요." + +#: src/modules/pomodoro/cog.py:476 +msgctxt "cmd:timers" +msgid "timers" +msgstr "" + +#: src/modules/pomodoro/cog.py:477 +msgctxt "cmd:timers|desc" +msgid "List the available pomodoro timer rooms." +msgstr "사용 가능한 포모도로 타이머 룸 목록을 보여줍니다." + +#: src/modules/pomodoro/cog.py:516 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_visible_timers|desc" +msgid "" +"**There are no available pomodoro timers!**\n" +"Ask an admin to set up a new timer with {create_cmd}, or rent a private room with {room_cmd} and create one yourself!" +msgstr "" +"**이 서버는 타이머 설정이 되어있지 않아요!**\n" +"먼저 서버 관리자에게 {create_cmd} 명령어로 타이머 설정을 요청하거나, {room_cmd} 명령어로 프라이빗 룸을 대여하거나 직접 만들어 보세요!" + +#: src/modules/pomodoro/cog.py:529 +#, possible-python-brace-format +msgctxt "cmd:timers|embed:timer_list|title" +msgid "Pomodoro Timer Rooms in **{guild}**" +msgstr "**{guild}** 포모도로 타이머 룸" + +#: src/modules/pomodoro/cog.py:538 +#, possible-python-brace-format +msgctxt "cmd:timers|status:stopped_auto" +msgid "" +"`{pattern}` timer is stopped with no members!\n" +"Join {channel} to restart it." +msgstr "" +"맴버가 없어서 `{pattern}` 타이머가 멈췄어요.\n" +"{channel}에 입장하여 다시 시작하세요." + +#: src/modules/pomodoro/cog.py:544 +#, possible-python-brace-format +msgctxt "cmd:timers|status:stopped_manual" +msgid "" +"`{pattern}` timer is stopped with `{members}` members!\n" +"Join {channel} and press `Start` to start it!" +msgstr "" + +#: src/modules/pomodoro/cog.py:551 +#, possible-python-brace-format +msgctxt "cmd:timers|status:running_focus" +msgid "" +"`{pattern}` timer is running with `{members}` members!\n" +"Currently **focusing**, with break starting {timestamp}" +msgstr "" + +#: src/modules/pomodoro/cog.py:557 +#, possible-python-brace-format +msgctxt "cmd:timers|status:running_break" +msgid "" +"`{pattern}` timer is running with `{members}` members!\n" +"Currently **resting**, with focus starting {timestamp}" +msgstr "" + +#: src/modules/pomodoro/cog.py:571 +msgctxt "cmd:pomodoro" +msgid "pomodoro" +msgstr "" + +#: src/modules/pomodoro/cog.py:572 +msgctxt "cmd:pomodoro|desc" +msgid "Create and configure pomodoro timer rooms." +msgstr "" + +#: src/modules/pomodoro/cog.py:579 +msgctxt "cmd:pomodoro_create" +msgid "create" +msgstr "" + +#: src/modules/pomodoro/cog.py:582 +msgctxt "cmd:pomodoro_create|desc" +msgid "Create a new Pomodoro timer. Requires manage channel permissions." +msgstr "" + +#: src/modules/pomodoro/cog.py:586 +msgctxt "cmd:pomodoro_create|param:channel" +msgid "timer_channel" +msgstr "" + +#: src/modules/pomodoro/cog.py:592 +msgctxt "cmd:pomodoro_create|param:channel|desc" +msgid "" +"Voice channel to create the timer in. (Defaults to your current channel, or " +"makes a new one.)" +msgstr "" + +#: src/modules/pomodoro/cog.py:637 +msgctxt "cmd:pomodoro_create|new_channel|error:your_insufficient_perms|title" +msgid "Could not create pomodoro voice channel!" +msgstr "" + +#: src/modules/pomodoro/cog.py:641 +msgctxt "cmd:pomodoro_create|new_channel|error:your_insufficient_perms" +msgid "" +"No `timer_channel` was provided, and you lack the 'Manage Channels` " +"permission required to create a new timer room!" +msgstr "" + +#: src/modules/pomodoro/cog.py:652 +msgctxt "cmd:pomodoro_create|new_channel|error:my_insufficient_perms|title" +msgid "Could not create pomodoro voice channel!" +msgstr "" + +#: src/modules/pomodoro/cog.py:656 +msgctxt "cmd:pomodoro_create|new_channel|error:my_insufficient_perms|desc" +msgid "" +"No `timer_channel` was provided, and I lack the 'Manage Channels' permission" +" required to create a new voice channel." +msgstr "" + +#: src/modules/pomodoro/cog.py:667 +msgctxt "cmd:pomodoro_create|new_channel|default_name" +msgid "Timer" +msgstr "" + +#: src/modules/pomodoro/cog.py:671 +msgctxt "cmd:pomodoro_create|new_channel|audit_reason" +msgid "Creating Pomodoro Voice Channel" +msgstr "" + +#: src/modules/pomodoro/cog.py:680 +msgctxt "cmd:pomodoro_create|new_channel|error:channel_create_failed|title" +msgid "Could not create pomodoro voice channel!" +msgstr "" + +#: src/modules/pomodoro/cog.py:684 +msgctxt "cmd:pomodoro_create|new_channel|error:channel_create_failed|desc" +msgid "" +"Failed to create a new pomodoro voice channel due to an unknown Discord " +"communication error. Please try creating the channel manually and pass it to" +" the `timer_channel` argument of this command." +msgstr "" + +#: src/modules/pomodoro/cog.py:701 +#, possible-python-brace-format +msgctxt "cmd:pomodoro_create|add_timer|error:timer_exists" +msgid "A timer already exists in {channel}! Reconfigure it with {edit_cmd}." +msgstr "" + +#: src/modules/pomodoro/cog.py:715 +#, possible-python-brace-format +msgctxt "cmd:pomodoro_create|add_timer|error:your_insufficient_perms" +msgid "" +"You must have the 'Manage Channel' permission in {channel} in order to add a" +" timer there!" +msgstr "" + +#: src/modules/pomodoro/cog.py:764 +msgctxt "cmd:pomodoro_create|response:success|content" +msgid "Timer created successfully! Use the panel below to reconfigure." +msgstr "" + +#: src/modules/pomodoro/cog.py:770 +msgctxt "cmd:pomodoro_destroy" +msgid "destroy" +msgstr "" + +#: src/modules/pomodoro/cog.py:773 +msgctxt "cmd:pomodoro_destroy|desc" +msgid "Remove a pomodoro timer from a voice channel." +msgstr "" + +#: src/modules/pomodoro/cog.py:777 +msgctxt "cmd:pomodoro_destroy|param:channel" +msgid "timer_channel" +msgstr "" + +#: src/modules/pomodoro/cog.py:780 +msgctxt "cmd:pomodoro_destroy|param:channel" +msgid "Select a timer voice channel to remove the timer from." +msgstr "" + +#: src/modules/pomodoro/cog.py:798 +msgctxt "cmd:pomodoro_destroy|error:no_timer" +msgid "This channel doesn't have an attached pomodoro timer!" +msgstr "" + +#: src/modules/pomodoro/cog.py:811 +msgctxt "cmd:pomodoro_destroy|error:insufficient_perms|owned" +msgid "" +"You need to be an administrator or own this channel to remove this timer!" +msgstr "" + +#: src/modules/pomodoro/cog.py:820 +#, possible-python-brace-format +msgctxt "cmd:pomodoro_destroy|error:insufficient_perms|notowned" +msgid "" +"You need to have the `Manage Channels` permission in {channel} to remove " +"this timer!" +msgstr "" + +#: src/modules/pomodoro/cog.py:831 +#, possible-python-brace-format +msgctxt "cmd:pomdoro_destroy|response:success|description" +msgid "Timer successfully removed from {channel}." +msgstr "" + +#: src/modules/pomodoro/cog.py:837 +msgctxt "cmd:pomodoro_edit" +msgid "edit" +msgstr "" + +#: src/modules/pomodoro/cog.py:840 +msgctxt "cmd:pomodoro_edit|desc" +msgid "Reconfigure a pomodoro timer." +msgstr "" + +#: src/modules/pomodoro/cog.py:844 +msgctxt "cmd:pomodoro_edit|param:channel" +msgid "timer_channel" +msgstr "" + +#: src/modules/pomodoro/cog.py:850 +msgctxt "cmd:pomodoro_edit|param:channel|desc" +msgid "Select a timer voice channel to reconfigure." +msgstr "" + +#: src/modules/pomodoro/cog.py:891 +msgctxt "cmd:pomodoro_edit|error:no_timer" +msgid "This channel doesn't have an attached pomodoro timer to edit!" +msgstr "" + +#: src/modules/pomodoro/cog.py:904 +msgctxt "cmd:pomodoro_edit|error:insufficient_perms|role:other" +msgid "" +"Insufficient permissions to modifiy this timer!\n" +"You need to be a server administrator, own this channel, or have the timer manager role." +msgstr "" + +#: src/modules/pomodoro/cog.py:925 +msgctxt "cmd:pomodoro_edit|error:insufficient_permissions|role_needed:admin" +msgid "You need to be a guild admin to modify this option!" +msgstr "" + +#: src/modules/pomodoro/cog.py:930 +msgctxt "cmd:pomodoro_edit|error:insufficient_permissions|role_needed:owner" +msgid "You need to be a channel owner or guild admin to modify this option!" +msgstr "" + +#: src/modules/pomodoro/cog.py:935 +msgctxt "cmd:pomodoro_edit|error:insufficient_permissions|role_needed:manager" +msgid "" +"You need to be a guild admin or have the manager role to modify this option!" +msgstr "" + +#: src/modules/pomodoro/cog.py:971 +msgctxt "cmd:configure_pomodoro" +msgid "pomodoro" +msgstr "" + +#: src/modules/pomodoro/cog.py:972 +msgctxt "cmd:configure_pomodoro|desc" +msgid "Configure Pomodoro Timer System" +msgstr "" + +#: src/modules/pomodoro/lib.py:19 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:remaining" +msgid "{remaining}" +msgstr "" + +#: src/modules/pomodoro/lib.py:20 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:stage" +msgid "{stage}" +msgstr "" + +#: src/modules/pomodoro/lib.py:21 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:members" +msgid "{members}" +msgstr "" + +#: src/modules/pomodoro/lib.py:22 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:name" +msgid "{name}" +msgstr "" + +#: src/modules/pomodoro/lib.py:23 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:pattern" +msgid "{pattern}" +msgstr "" + +#: src/modules/pomodoro/options.py:33 +msgctxt "timerset:voice_channel" +msgid "channel" +msgstr "" + +#: src/modules/pomodoro/options.py:36 +msgctxt "timerset:voice_channel|desc" +msgid "Channel in which to track timer members and send alerts." +msgstr "" + +#: src/modules/pomodoro/options.py:48 +msgctxt "timerset:notification_channel" +msgid "notification_channel" +msgstr "" + +#: src/modules/pomodoro/options.py:51 +msgctxt "timerset:notification_channel|desc" +msgid "Channel to which to send timer status cards and notifications." +msgstr "" + +#: src/modules/pomodoro/options.py:73 +#, possible-python-brace-format +msgctxt "timerset:notification_channel|format:notset" +msgid "Not Set (Using {channel})" +msgstr "" + +#: src/modules/pomodoro/options.py:83 +msgctxt "timerset:inactivity_threshold|inactivity_threshold" +msgid "inactivity_threshold" +msgstr "" + +#: src/modules/pomodoro/options.py:86 +msgctxt "timerset:inactivity_threshold|desc" +msgid "" +"Number of inactive focus+break stages before a member is removed from the " +"timer." +msgstr "" + +#: src/modules/pomodoro/options.py:90 +msgctxt "timerset:inactivity_threshold|desc" +msgid "How many timer cycles before kicking inactive members." +msgstr "" + +#: src/modules/pomodoro/options.py:112 +msgctxt "timerset:inactivity_length|desc" +msgid "The inactivity threshold must be a positive whole number!" +msgstr "" + +#: src/modules/pomodoro/options.py:120 +msgctxt "timerset:manager_role" +msgid "manager_role" +msgstr "" + +#: src/modules/pomodoro/options.py:123 +msgctxt "timerset:manager_role|desc" +msgid "Role allowed to start, stop, and edit the focus/break lengths." +msgstr "" + +#: src/modules/pomodoro/options.py:137 +msgctxt "timerset:manager_role|format:notset" +msgid "Not Set (Only Admins may start/stop or edit pattern)" +msgstr "" + +#: src/modules/pomodoro/options.py:147 +msgctxt "timerset:voice_alerts" +msgid "voice_alerts" +msgstr "" + +#: src/modules/pomodoro/options.py:150 +msgctxt "timerset:voice_alerts|desc" +msgid "Whether to join the voice channel and announce focus and break stages." +msgstr "" + +#: src/modules/pomodoro/options.py:162 +msgctxt "timerset:base_name" +msgid "name" +msgstr "" + +#: src/modules/pomodoro/options.py:165 +msgctxt "timerset:base_name|desc" +msgid "Timer name, as shown on the timer card." +msgstr "" + +#: src/modules/pomodoro/options.py:169 +msgctxt "timerset:base_name|accepts" +msgid "Any short name, shown on the timer card." +msgstr "" + +#: src/modules/pomodoro/options.py:184 +msgctxt "timerset:channel_name_format" +msgid "channel_name" +msgstr "" + +#: src/modules/pomodoro/options.py:187 +#, possible-python-brace-format +msgctxt "timerset:channel_name_format|desc" +msgid "" +"Auto-updating voice channel name, accepting {remaining}, {name}, {pattern}, " +"and {stage} keys." +msgstr "" + +#: src/modules/pomodoro/options.py:191 +#, possible-python-brace-format +msgctxt "timerset:channel_name|accepts" +msgid "" +"Timer channel name, with keys {remaining}, {name}, {pattern}, and {stage}." +msgstr "" + +#: src/modules/pomodoro/options.py:221 +msgctxt "timerset:channel_name_format|error:too_long" +msgid "" +"The provided name is too long! Channel names can be at most `100` " +"characters." +msgstr "" + +#: src/modules/pomodoro/options.py:240 +msgctxt "timerset:focus_length" +msgid "focus_length" +msgstr "" + +#: src/modules/pomodoro/options.py:243 +msgctxt "timerset:focus_length|desc" +msgid "Length of the focus stage of the timer in minutes." +msgstr "" + +#: src/modules/pomodoro/options.py:248 +msgctxt "timerset:focus_length|accepts" +msgid "A positive integer number of minutes." +msgstr "" + +#: src/modules/pomodoro/options.py:273 +msgctxt "timerset:focus_length|desc" +msgid "Please enter a positive number of minutes." +msgstr "" + +#: src/modules/pomodoro/options.py:281 +msgctxt "timerset:break_length" +msgid "break_length" +msgstr "" + +#: src/modules/pomodoro/options.py:284 +msgctxt "timerset:break_length|desc" +msgid "Length of the break stage of the timer in minutes." +msgstr "" + +#: src/modules/pomodoro/options.py:289 +msgctxt "timerset:break_length|accepts" +msgid "A positive integer number of minutes." +msgstr "" + +#: src/modules/pomodoro/options.py:314 +msgctxt "timerset:break_length|desc" +msgid "Please enter a positive number of minutes." +msgstr "" + +#: src/modules/pomodoro/settings.py:21 +msgctxt "guildset:pomodoro_channel" +msgid "pomodoro_channel" +msgstr "" + +#: src/modules/pomodoro/settings.py:24 +msgctxt "guildset:pomodoro_channel|desc" +msgid "Default central notification channel for pomodoro timers." +msgstr "" + +#: src/modules/pomodoro/settings.py:28 +msgctxt "guildset:pomodoro_channel|long_desc" +msgid "" +"Pomodoro timers which do not have a custom notification channel set will " +"send timer notifications in this channel. If this setting is not set, " +"pomodoro notifications will default to the timer voice channel itself." +msgstr "" + +#: src/modules/pomodoro/settings.py:35 +msgctxt "guildset:pomodoro_channel|formatted|notset" +msgid "Not Set (Will use timer voice channel.)" +msgstr "" + +#: src/modules/pomodoro/settings.py:39 +msgctxt "guildset:pomodoro_channel|accepts" +msgid "Timer notification channel name or id." +msgstr "" + +#: src/modules/pomodoro/settings.py:53 +#, possible-python-brace-format +msgctxt "guildset:pomodoro_channel|set_response|set" +msgid "Pomodoro timer notifications will now default to {channel}" +msgstr "" + +#: src/modules/pomodoro/settings.py:58 +msgctxt "guildset:pomodoro_channel|set_response|unset" +msgid "Pomodoro timer notifications will now default to their voice channel." +msgstr "" + +#: src/modules/pomodoro/settings.py:68 +#, possible-python-brace-format +msgctxt "guildset:pomdoro_channel|set_using" +msgid "{cmd} or channel selector below." +msgstr "" + +#: src/modules/pomodoro/ui/edit.py:63 +msgctxt "modal:timer_editor|title" +msgid "Timer Option Editor" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:61 +msgctxt "ui:timer_status|button:present|ack" +msgid "" +"Thank you for marking your presence.\n" +"Good luck and stay productive!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:72 +#, possible-python-brace-format +msgctxt "ui:timer_status|button:present|error:not_in_timer" +msgid "" +"You are not in this timer! Join the timer channel by pressing {channel}." +msgstr "" + +#: src/modules/pomodoro/ui/status.py:82 +msgctxt "ui:timer_status|button:present|label" +msgid "Present" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:106 +msgctxt "ui:timer_status|button:edit|error:no_permissions" +msgid "" +"Configuring this timer requires `MANAGE_CHANNEL` permissions on the timer " +"channel, or the configured manager role!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:119 +msgctxt "ui:timer_status|button:edit|label" +msgid "Options" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:138 +msgctxt "ui:timer_status|button:start|error:already_running" +msgid "Cannot start a timer that is already running!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:154 +msgctxt "ui:timer_status|button:start|error:not_manager|title" +msgid "Insufficient permissions!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:158 +msgctxt "ui:timer_status|button:start|error:not_manager|desc" +msgid "" +"Starting this timer requires `MANAGE_CHANNEL` permissions on the timer " +"channel, or the configured `manager_role`!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:168 +msgctxt "ui:timer_status|button:start|label" +msgid "Start" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:190 +msgctxt "ui:timer_status|button:stop|error:not_manager|title" +msgid "Insufficient permissions!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:194 +msgctxt "ui:timer_status|button:stop|error:not_manager|desc" +msgid "" +"Stopping this timer requires `MANAGE_CHANNEL` permissions on the timer " +"channel, or the configured `manager_role`!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:204 +msgctxt "ui:timer_status|button:stop|label" +msgid "Stop" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:45 +msgctxt "ui:timer_options|error:timer_destroyed" +msgid "This timer no longer exists! Closing option menu." +msgstr "" + +#: src/modules/pomodoro/ui/config.py:68 +msgctxt "ui:timer_options|button:edit|label" +msgid "Edit" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:84 +msgctxt "ui:timer_options|button:voice_alerts|label" +msgid "Voice Alerts" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:105 +msgctxt "ui:timer_options|button:delete|success|title" +msgid "Timer Deleted" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:109 +#, possible-python-brace-format +msgctxt "ui:timer_options|button:delete|success|description" +msgid "The timer in {channel} has been removed." +msgstr "" + +#: src/modules/pomodoro/ui/config.py:117 +msgctxt "ui:timer_options|button:delete|label" +msgid "Delete" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:136 +msgctxt "ui:timer_options|menu:voice_channel|placeholder" +msgid "Set Voice Channel" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:157 +msgctxt "ui:timer_options|menu:notification_channel|placeholder" +msgid "Set Notification Channel" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:172 +msgctxt "ui:timer_options|menu:manager_role|placeholder" +msgid "Set Manager Role" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:181 +#, possible-python-brace-format +msgctxt "ui:timer_options|embed|title" +msgid "Timer Control Panel for {channel}" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:188 +msgctxt "ui:timer_options|embed|footer" +msgid "Hover over the option names to view descriptions." +msgstr "" + +#: src/modules/pomodoro/ui/config.py:200 +msgctxt "ui:timer_options|embed|field:pattern|name" +msgid "Pattern" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:203 +#, possible-python-brace-format +msgctxt "ui:timer_options|embed|field:pattern|value" +msgid "" +"**`{focus_len} minutes`** focus\n" +"**`{break_len} minutes`** break" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:214 +msgctxt "ui:timer_options|embed|field:channel_name|name" +msgid "Channel Name Preview" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:218 +#, possible-python-brace-format +msgctxt "ui:timer_options|embed|field:channel_name|value" +msgid "" +"**`{name}`**\n" +"(The actual channel name may not match due to ratelimits.)" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:228 +msgctxt "ui:timer_options|embed|field:issues|name" +msgid "Issues" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:246 +msgctxt "ui:timer_options|issue:no_voice_channel" +msgid "The configured voice channel does not exist! Please update it below." +msgstr "" + +#: src/modules/pomodoro/ui/config.py:257 +#, possible-python-brace-format +msgctxt "ui:timer_options|issue:cannot_speak" +msgid "" +"Voice alerts are on, but I don't have speaking permissions in {channel}" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:264 +#, possible-python-brace-format +msgctxt "ui:timer_options|issue:cannot_change_name" +msgid "" +"I cannot update the name of {channel}! (Needs `MANAGE_CHANNELS` permission)" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:275 +msgctxt "ui:timer_options|issue:notif_channel_dne" +msgid "Configured notification channel does not exist!" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:284 +#, possible-python-brace-format +msgctxt "ui:timer_options|issue:notif_channel_write" +msgid "" +"I cannot attach files (`ATTACH_FILES`) or send embeds (`EMBED_LINKS`) in " +"{channel}" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:292 +#, possible-python-brace-format +msgctxt "ui:timer_options|issues:cannot_make_webhooks" +msgid "" +"I cannot create the notification webhook (`MANAGE_WEBHOOKS`) in {channel}" +msgstr "" diff --git a/locales/ko/LC_MESSAGES/babel.po b/locales/ko/LC_MESSAGES/babel.po new file mode 100644 index 000000000000..b278064fc76c --- /dev/null +++ b/locales/ko/LC_MESSAGES/babel.po @@ -0,0 +1,395 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Hong Shik Kim, 2023\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/babel/settingui.py:41 +msgctxt "ui:locale_config|button:force|label" +msgid "Toggle Force" +msgstr "언어 강제 ON/OFF" + +#: src/babel/settingui.py:50 +msgctxt "ui:locale_config|embed|title" +msgid "Language Configuration Panel" +msgstr "언어 설정 패널" + +#: src/babel/settingui.py:84 +msgctxt "dash:locale|title" +msgid "Server Language Configuration ({commands[config language]})" +msgstr "" + +#: src/babel/settingui.py:88 +msgctxt "dash:locale|dropdown|placeholder" +msgid "Server Language Panel" +msgstr "서버 언어 패널" + +#: src/babel/cog.py:99 +msgctxt "cmd:configure_language" +msgid "language" +msgstr "언어" + +#: src/babel/cog.py:101 +msgctxt "cmd:configure_language|desc" +msgid "Configure the default language I will use in this server." +msgstr "제가 서버에서 사용할 기본 언어를 설정해 주세요." + +#: src/babel/cog.py:145 +#, possible-python-brace-format +msgctxt "cmd:configure_language|error" +msgid "" +"You cannot enable `{force_setting}` without having a configured language!" +msgstr "언어 설정을 하지 않으면 `{force_setting}`을 활성화할 수 없어요!" + +#: src/babel/cog.py:165 +msgctxt "cmd:configure_language|success" +msgid "Language settings updated!" +msgstr "언어 설정 완료!" + +#: src/babel/cog.py:181 +msgctxt "cmd:userconfig_language" +msgid "language" +msgstr "언어" + +#: src/babel/cog.py:184 +msgctxt "cmd:userconfig_language|desc" +msgid "Set your preferred interaction language." +msgstr "본인이 선호하는 소통 언어를 설정하세요." + +#: src/babel/cog.py:188 +msgctxt "cmd:userconfig_language|param:language" +msgid "language" +msgstr "언어" + +#: src/babel/cog.py:193 +msgctxt "cmd:userconfig_language|param:language|desc" +msgid "Which language do you want me to respond in?" +msgstr "어떤 언어로 대답할까요?" + +#: src/babel/cog.py:209 +msgctxt "cmd:userconfig_language|button:reset|label" +msgid "Reset" +msgstr "초기화" + +#: src/babel/cog.py:250 +#, possible-python-brace-format +msgctxt "acmpl:language|no_match" +msgid "No supported languages matching {partial}" +msgstr "지원하지 않는 언어 매칭 {partial}" + +#: src/babel/utils.py:9 +msgctxt "utils|months" +msgid "" +"January,February,March,April,May,June,July,August,September,October,November,December" +msgstr "1월,2월,3월,4월,5월,6월,7월,8월,9월,10월,11월,12월" + +#: src/babel/utils.py:14 +msgctxt "utils|short_months" +msgid "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec" +msgstr "1월,2월,3월,4월,5월,6월,7월,8월,9월,10월,11월,12월" + +#: src/babel/settings.py:25 +msgctxt "settype:locale|accepts" +msgid "Enter a supported language (e.g. 'en-GB')." +msgstr "지원하는 언어를 입력하세요. (예시: 'ko-KR')." + +#: src/babel/settings.py:36 +msgctxt "settype:locale|summary_table|field:supported|key" +msgid "Supported" +msgstr "지원" + +#: src/babel/settings.py:46 +msgctxt "settype:locale|formatted:unset" +msgid "Unset" +msgstr "설정 해제" + +#: src/babel/settings.py:62 +#, possible-python-brace-format +msgctxt "settype:locale|error" +msgid "Sorry, we do not support the language `{lang}` at this time!" +msgstr "현재 해당 언어`{lang}`는 지원하지 않아요!" + +#: src/babel/settings.py:77 +msgctxt "userset:locale" +msgid "language" +msgstr "언어" + +#: src/babel/settings.py:78 +msgctxt "userset:locale|desc" +msgid "Your preferred language for interacting with me." +msgstr "사용자가 선호하는 소통 언어" + +#: src/babel/settings.py:81 +msgctxt "userset:locale|long_desc" +msgid "" +"The language you would prefer me to respond to commands and interactions in." +" Servers may be configured to override this with their own language." +msgstr "봇 응답과 상호작용에 사용하는 서버 기본 언어. 서버 언어 설정이 개인 언어 설정을 덮어쓸 수 있어요." + +#: src/babel/settings.py:92 +msgctxt "userset:locale|response" +msgid "You have unset your language." +msgstr "언어 설정을 해제했어요." + +#: src/babel/settings.py:94 +#, possible-python-brace-format +msgctxt "userset:locale|response" +msgid "You have set your language to {lang}." +msgstr "언어를 {lang}로 선택했어요." + +#: src/babel/settings.py:113 +msgctxt "guildset:force_locale" +msgid "force_language" +msgstr "force_language" + +#: src/babel/settings.py:115 +msgctxt "guildset:force_locale|desc" +msgid "" +"Whether to force all members to use the configured guild language when " +"interacting with me." +msgstr "라이언봇의 길드 지정 언어를 모든 맴버에게 강제할지 여부" + +#: src/babel/settings.py:118 +msgctxt "guildset:force_locale|long_desc" +msgid "" +"When enabled, commands in this guild will always use the configured guild " +"language, regardless of the member's personally configured language." +msgstr "활성화 시, 맴버 개인이 설정한 언어와 관계없이 이 길드의 커멘드는 설정한 언어로만 사용해야 해요." + +#: src/babel/settings.py:122 +msgctxt "guildset:force_locale|output" +msgid "Enabled (members will be forced to use the server language)" +msgstr "활성화 (모든 맴버는 서버에서 설정한 언어만 사용합니다.)" + +#: src/babel/settings.py:123 +msgctxt "guildset:force_locale|output" +msgid "Disabled (members may set their own language)" +msgstr "비활성화 (각 맴버가 원하는 언어를 설정할 수 있습니다.)" + +#: src/babel/settings.py:137 +msgctxt "guildset:force_locale|response" +msgid "I will always use the set language in this server." +msgstr "저는 서버 설정 언어만 사용할 거예요." + +#: src/babel/settings.py:142 +msgctxt "guildset:force_locale|response" +msgid "I will now allow the members to set their own language here." +msgstr "여기서는 개인 언어 설정을 허용하지 않아요." + +#: src/babel/settings.py:160 +msgctxt "guildset:locale" +msgid "language" +msgstr "언어" + +#: src/babel/settings.py:161 +msgctxt "guildset:locale|desc" +msgid "Your preferred language for interacting with me." +msgstr "사용자가 선호하는 소통 언어" + +#: src/babel/settings.py:164 +msgctxt "guildset:locale|long_desc" +msgid "" +"The default language to use for responses and interactions in this server. " +"Member's own configured language will override this for their commands " +"unless `force_language` is enabled." +msgstr "" +"봇 응답과 상호작용에 사용하는 서버 기본 언어. `force_language` 설정을 활성화하지 않는 한 개인 언어 설정이 따로 " +"되어있으면 해당 설정을 따릅니다." + +#: src/babel/settings.py:176 +msgctxt "guildset:locale|response" +msgid "You have unset the guild language." +msgstr "길드 언어를 설정하지 않았어요." + +#: src/babel/settings.py:178 +#, possible-python-brace-format +msgctxt "guildset:locale|response" +msgid "You have set the guild language to {lang}." +msgstr "길드 언어를 선택했어요. {lang}" + +#: src/babel/enums.py:43 +msgctxt "localenames|locale:id" +msgid "Indonesian" +msgstr "인도네시아어" + +#: src/babel/enums.py:44 +msgctxt "localenames|locale:da" +msgid "Danish" +msgstr "덴마크어" + +#: src/babel/enums.py:45 +msgctxt "localenames|locale:de" +msgid "German" +msgstr "독일어" + +#: src/babel/enums.py:46 +msgctxt "localenames|locale:en-GB" +msgid "English, UK" +msgstr "영국 영어" + +#: src/babel/enums.py:47 +msgctxt "localenames|locale:en-US" +msgid "English, US" +msgstr "미국 영어" + +#: src/babel/enums.py:48 +msgctxt "localenames|locale:es-ES" +msgid "Spanish" +msgstr "스페인어" + +#: src/babel/enums.py:49 +msgctxt "localenames|locale:fr" +msgid "French" +msgstr "프랑스어" + +#: src/babel/enums.py:50 +msgctxt "localenames|locale:hr" +msgid "Croatian" +msgstr "크로아티아어" + +#: src/babel/enums.py:51 +msgctxt "localenames|locale:it" +msgid "Italian" +msgstr "이탈리아어" + +#: src/babel/enums.py:52 +msgctxt "localenames|locale:lt" +msgid "Lithuanian" +msgstr "리투아니아어" + +#: src/babel/enums.py:53 +msgctxt "localenames|locale:hu" +msgid "Hungarian" +msgstr "헝가리어" + +#: src/babel/enums.py:54 +msgctxt "localenames|locale:nl" +msgid "Dutch" +msgstr "네덜란드어" + +#: src/babel/enums.py:55 +msgctxt "localenames|locale:no" +msgid "Norwegian" +msgstr "노르웨이어" + +#: src/babel/enums.py:56 +msgctxt "localenames|locale:pl" +msgid "Polish" +msgstr "폴란드어" + +#: src/babel/enums.py:57 +msgctxt "localenames|locale:pt-BR" +msgid "Portuguese, Brazilian" +msgstr "브라질 포르투갈어" + +#: src/babel/enums.py:58 +msgctxt "localenames|locale:ro" +msgid "Romanian, Romania" +msgstr "루마니아어" + +#: src/babel/enums.py:59 +msgctxt "localenames|locale:fi" +msgid "Finnish" +msgstr "핀란드어" + +#: src/babel/enums.py:60 +msgctxt "localenames|locale:sv-SE" +msgid "Swedish" +msgstr "스웨덴어" + +#: src/babel/enums.py:61 +msgctxt "localenames|locale:vi" +msgid "Vietnamese" +msgstr "베트남어" + +#: src/babel/enums.py:62 +msgctxt "localenames|locale:tr" +msgid "Turkish" +msgstr "터키어" + +#: src/babel/enums.py:63 +msgctxt "localenames|locale:cs" +msgid "Czech" +msgstr "체코어" + +#: src/babel/enums.py:64 +msgctxt "localenames|locale:el" +msgid "Greek" +msgstr "그리스어" + +#: src/babel/enums.py:65 +msgctxt "localenames|locale:bg" +msgid "Bulgarian" +msgstr "불가리아어" + +#: src/babel/enums.py:66 +msgctxt "localenames|locale:ru" +msgid "Russian" +msgstr "러시아어" + +#: src/babel/enums.py:67 +msgctxt "localenames|locale:uk" +msgid "Ukrainian" +msgstr "우크라이나어" + +#: src/babel/enums.py:68 +msgctxt "localenames|locale:hi" +msgid "Hindi" +msgstr "힌디어" + +#: src/babel/enums.py:69 +msgctxt "localenames|locale:th" +msgid "Thai" +msgstr "태국어" + +#: src/babel/enums.py:70 +msgctxt "localenames|locale:zh-CN" +msgid "Chinese, China" +msgstr "중국어 간체자" + +#: src/babel/enums.py:71 +msgctxt "localenames|locale:ja" +msgid "Japanese" +msgstr "일본어" + +#: src/babel/enums.py:72 +msgctxt "localenames|locale:zh-TW" +msgid "Chinese, Taiwan" +msgstr "중국어 정체자" + +#: src/babel/enums.py:73 +msgctxt "localenames|locale:ko" +msgid "Korean" +msgstr "한국어" + +#: src/babel/enums.py:78 +msgctxt "localenames|locale:he" +msgid "Hebrew" +msgstr "히브리어" + +#: src/babel/enums.py:79 +msgctxt "localenames|locale:he-IL" +msgid "Hebrew" +msgstr "히브리어" + +#: src/babel/enums.py:80 +msgctxt "localenames|locale:test" +msgid "Test Language" +msgstr "테스트 언어" diff --git a/locales/ko/LC_MESSAGES/base.po b/locales/ko/LC_MESSAGES/base.po new file mode 100644 index 000000000000..534ced2cc4b0 --- /dev/null +++ b/locales/ko/LC_MESSAGES/base.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-22 13:17+0200\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Hong Shik Kim, 2023\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: bot/modules/sysadmin/exec_cog.py:70 +msgid "You cannot use this interface!" +msgstr "인터페이스를 사용할 수 없어요!" + +#: bot/modules/sysadmin/exec_cog.py:252 bot/modules/sysadmin/exec_cog.py:254 +msgid "async" +msgstr "비동기" + +#: bot/modules/sysadmin/exec_cog.py:253 bot/modules/sysadmin/exec_cog.py:255 +msgid "Execute arbitrary code with Exec" +msgstr "exec로 임의 코드 실행" + +#: bot/modules/sysadmin/exec_cog.py:265 +msgid "eval" +msgstr "eval" diff --git a/locales/ko/LC_MESSAGES/config.po b/locales/ko/LC_MESSAGES/config.po new file mode 100644 index 000000000000..50aa8d726bc9 --- /dev/null +++ b/locales/ko/LC_MESSAGES/config.po @@ -0,0 +1,150 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# GAHYEON SEO, 2024 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: GAHYEON SEO, 2024\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/config/settingui.py:56 +msgctxt "ui:general_config|menu:event_log|placeholder" +msgid "Select Event Log" +msgstr "이벤트 로그 선택" + +#: src/modules/config/settingui.py:64 +msgctxt "ui:general_config|embed:title" +msgid "General Configuration" +msgstr "" + +#: src/modules/config/settingui.py:99 +msgctxt "dash:general|title" +msgid "General Configuration ({commands[config general]})" +msgstr "" + +#: src/modules/config/settingui.py:103 +msgctxt "dash:general|option|name" +msgid "General Configuration Panel" +msgstr "일반 설정 패널" + +#: src/modules/config/cog.py:56 src/modules/config/general.py:52 +msgctxt "cmd:configure_general" +msgid "general" +msgstr "일반" + +#: src/modules/config/cog.py:57 src/modules/config/general.py:53 +msgctxt "cmd:configure_general|desc" +msgid "General configuration panel" +msgstr "일반 설정 패널" + +#: src/modules/config/general.py:91 +msgctxt "cmd:configure_general|parse_failure:timezone" +msgid "Could not set the timezone!" +msgstr "타임존을 설정할 수 없어요!" + +#: src/modules/config/general.py:112 +msgctxt "cmd:configure_general|success" +msgid "Settings Updated!" +msgstr "설정을 적용했어요!" + +#: src/modules/config/general.py:127 +msgctxt "cmd:configure_general|panel|title" +msgid "General Configuration Panel" +msgstr "일반 설정 패널" + +#: src/modules/config/dashboard.py:99 +#, possible-python-brace-format +msgctxt "ui:dashboard|title" +msgid "Guild Dashboard (Page {page}/{total})" +msgstr "길드 대시보드 (Page {page}/{total})" + +#: src/modules/config/dashboard.py:110 +msgctxt "ui:dashboard|footer" +msgid "Hover over setting names for a brief description" +msgstr "설정 이름에 마우스를 올려놓으면 간단한 설명을 확인할 수 있어요." + +#: src/modules/config/dashboard.py:173 +msgctxt "ui:dashboard|menu:config|placeholder" +msgid "Open Configuration Panel" +msgstr "설정 패널 열기" + +#: src/modules/config/settings.py:33 +msgctxt "guildset:timezone" +msgid "timezone" +msgstr "" + +#: src/modules/config/settings.py:36 +msgctxt "guildset:timezone|desc" +msgid "Guild timezone for statistics display." +msgstr "" + +#: src/modules/config/settings.py:40 +msgctxt "guildset:timezone|long_desc" +msgid "" +"Guild-wide timezone. Used to determine start of the day for the " +"leaderboards, and as the default statistics timezone for members who have " +"not set one." +msgstr "" + +#: src/modules/config/settings.py:54 +#, possible-python-brace-format +msgctxt "guildset:timezone|response" +msgid "The guild timezone has been set to `{timezone}`." +msgstr "" + +#: src/modules/config/settings.py:66 +msgctxt "guildset:eventlog" +msgid "event_log" +msgstr "" + +#: src/modules/config/settings.py:69 +msgctxt "guildset:eventlog|desc" +msgid "" +"My audit log channel where I send server actions and events (e.g. rankgs and" +" expiring roles)." +msgstr "" + +#: src/modules/config/settings.py:73 +msgctxt "guildset:eventlog|long_desc" +msgid "" +"If configured, I will log most significant actions taken or events which occur through my interface, into this channel. Logged events include, for example:\n" +"- Member voice activity\n" +"- Roles equipped and expiring from rolemenus\n" +"- Privated rooms rented and expiring\n" +"- Activity ranks earned\n" +"I must have the 'Manage Webhooks' permission in this channel." +msgstr "" + +#: src/modules/config/settings.py:95 +#, possible-python-brace-format +msgctxt "guildset:eventlog|check_value|error:perms|perm:manage_webhooks" +msgid "" +"Cannot set {channel} as an event log! I lack the 'Manage Webhooks' " +"permission there." +msgstr "{channel} 은 이벤트 로그 채널로 설정할 수 없습니다. 저는 해당 채널에 대한 '웹훅 관리' 권한이 없습니다." + +#: src/modules/config/settings.py:106 +#, possible-python-brace-format +msgctxt "guildset:eventlog|response|set" +msgid "Events will now be logged to {channel}" +msgstr "이제부터 {channel}에 이벤트가 기록됩니다." + +#: src/modules/config/settings.py:111 +msgctxt "guildset:eventlog|response|unset" +msgid "Guild events will no longer be logged." +msgstr "길드 이벤트가 더 이상 기록되지 않습니다." diff --git a/locales/ko/LC_MESSAGES/economy.po b/locales/ko/LC_MESSAGES/economy.po new file mode 100644 index 000000000000..8086542ab33c --- /dev/null +++ b/locales/ko/LC_MESSAGES/economy.po @@ -0,0 +1,591 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# GAHYEON SEO, 2024 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: GAHYEON SEO, 2024\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/economy/settingui.py:34 +msgctxt "ui:economy_config|embed|title" +msgid "Economy Configuration Panel" +msgstr "경제 설정 패널" + +#: src/modules/economy/settingui.py:67 +msgctxt "dash:economy|title" +msgid "Economy Configuration ({commands[config economy]})" +msgstr "" + +#: src/modules/economy/settingui.py:71 +msgctxt "dash:economy|dropdown|placeholder" +msgid "Economy Panel" +msgstr "경제 패널" + +#. ----- Economy group commands ----- +#: src/modules/economy/cog.py:87 +msgctxt "cmd:economy" +msgid "economy" +msgstr "경제" + +#: src/modules/economy/cog.py:93 +msgctxt "cmd:economy_balance" +msgid "balance" +msgstr "" + +#: src/modules/economy/cog.py:96 +msgctxt "cmd:economy_balance|desc" +msgid "Display or modify LionCoin balance for members and roles." +msgstr "" + +#: src/modules/economy/cog.py:100 +msgctxt "cmd:economy_balance|param:target" +msgid "target" +msgstr "타깃" + +#: src/modules/economy/cog.py:101 +msgctxt "cmd:economy_balance|param:add" +msgid "add" +msgstr "추가" + +#: src/modules/economy/cog.py:102 +msgctxt "cmd:economy_balance|param:set" +msgid "set" +msgstr "설정" + +#: src/modules/economy/cog.py:107 +msgctxt "cmd:economy_balance|param:target|desc" +msgid "" +"Target user or role to view or update. Use @everyone to update the entire " +"guild." +msgstr "" + +#: src/modules/economy/cog.py:111 +msgctxt "cmd:economy_balance|param:add|desc" +msgid "" +"Number of LionCoins to add to the target member's balance. May be negative " +"to remove." +msgstr "" + +#: src/modules/economy/cog.py:115 +msgctxt "cmd:economy_balance|param:set|set" +msgid "New balance to set the target's balance to." +msgstr "" + +#: src/modules/economy/cog.py:153 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|error:no_target" +msgid "" +"There are no valid members in {role.mention}! It has a total of `0` LC." +msgstr "" + +#: src/modules/economy/cog.py:164 +msgctxt "cmd:economy_balance|error:target_is_bot" +msgid "Bots cannot have coin balances!" +msgstr "" + +#: src/modules/economy/cog.py:175 +msgctxt "cmd:economy_balance|error:args" +msgid "You cannot simultaneously `set` and `add` member balances!" +msgstr "" + +#: src/modules/economy/cog.py:224 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success|affected" +msgid "One user was affected." +msgid_plural "**{count}** users were affected." +msgstr[0] "" + +#: src/modules/economy/cog.py:230 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm|affected" +msgid "One user will be affected." +msgid_plural "**{count}** users will be affected." +msgstr[0] "" + +#: src/modules/economy/cog.py:237 +msgctxt "cmd:economy_balance|confirm|button:confirm" +msgid "Yes, adjust balances" +msgstr "" + +#: src/modules/economy/cog.py:241 +msgctxt "cmd:economy_balance|confirm|button:cancel" +msgid "No, cancel" +msgstr "" + +#: src/modules/economy/cog.py:248 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_set|desc" +msgid "" +"All members of **{guild_name}** have had their balance set to " +"{coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:257 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm_set|desc" +msgid "" +"Are you sure you want to set everyone's balance to {coin_emoji}**{amount}**?" +msgstr "" + +#: src/modules/economy/cog.py:265 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_set|desc" +msgid "" +"All members of {role_mention} have had their balance set to " +"{coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:274 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm_set|desc" +msgid "" +"Are you sure you want to set the balance of everyone with {role_mention} to " +"{coin_emoji}**{amount}**?" +msgstr "" + +#: src/modules/economy/cog.py:291 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_set|desc" +msgid "{user_mention} now has a balance of {coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:305 +msgctxt "eventlog|event:economy_set|title" +msgid "Moderator Set Economy Balance" +msgstr "" + +#: src/modules/economy/cog.py:309 +#, possible-python-brace-format +msgctxt "eventlog|event:economy_set|desc" +msgid "{moderator} set {target}'s balance to {amount}." +msgstr "" + +#: src/modules/economy/cog.py:321 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_add|desc" +msgid "" +"All members of **{guild_name}** have been given {coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:330 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm_add|desc" +msgid "Are you sure you want to add **{amount}** to everyone's balance?" +msgstr "" + +#: src/modules/economy/cog.py:338 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_add|desc" +msgid "" +"All members of {role_mention} have been given {coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:347 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm_add|desc" +msgid "" +"Are you sure you want to add {coin_emoji}**{amount}** to everyone in " +"{role_mention}?" +msgstr "" + +#: src/modules/economy/cog.py:369 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_add|desc" +msgid "" +"{user_mention} was given {coin_emoji}**{amount}**, and now has a balance of " +"{coin_emoji}**{new_amount}**." +msgstr "" + +#: src/modules/economy/cog.py:380 +msgctxt "eventlog|event:economy_add|title" +msgid "Moderator Modified Economy Balance" +msgstr "" + +#: src/modules/economy/cog.py:384 +#, possible-python-brace-format +msgctxt "eventlog|event:economy_set|desc" +msgid "{moderator} added {amount} to {target}'s balance." +msgstr "" + +#: src/modules/economy/cog.py:394 +msgctxt "cmd:economy_balance|embed:success|title" +msgid "Account successfully updated." +msgid_plural "Accounts successfully updated." +msgstr[0] "" + +#: src/modules/economy/cog.py:438 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|author" +msgid "Balance sheet for {name}" +msgstr "" + +#: src/modules/economy/cog.py:444 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|header" +msgid "This server has a total balance of {coin_emoji}**{total}**." +msgstr "" + +#: src/modules/economy/cog.py:452 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|header" +msgid "" +"{role_mention} has `{count}` members with non-zero balance, with a total " +"balance of {coin_emoji}**{total}**." +msgstr "" + +#: src/modules/economy/cog.py:464 +msgctxt "cmd:economy_balance|embed:role_lb|row_format" +msgid "`[{pos:>{numwidth}}]` | `{coins:>{coinwidth}} LC` | {mention}" +msgstr "" + +#: src/modules/economy/cog.py:492 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|footer" +msgid "Page {page}/{total}" +msgstr "" + +#: src/modules/economy/cog.py:502 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|header" +msgid "This server has a total balance of {coin_emoji}**0**." +msgstr "" + +#: src/modules/economy/cog.py:509 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|header" +msgid "The role {role_mention} has a total balance of {coin_emoji}**0**." +msgstr "" + +#: src/modules/economy/cog.py:529 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:single|desc" +msgid "{mention} currently owns {coin_emoji} {coins}." +msgstr "" + +#: src/modules/economy/cog.py:539 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:single|author" +msgid "Balance statement for {user}" +msgstr "" + +#: src/modules/economy/cog.py:548 +msgctxt "cmd:economy_reset" +msgid "reset" +msgstr "" + +#: src/modules/economy/cog.py:551 +msgctxt "cmd:economy_reset|desc" +msgid "" +"Reset the coin balance for a target user or role. (See also \"economy " +"balance\".)" +msgstr "" + +#: src/modules/economy/cog.py:555 +msgctxt "cmd:economy_reset|param:target" +msgid "target" +msgstr "" + +#: src/modules/economy/cog.py:560 +msgctxt "cmd:economy_reset|param:target|desc" +msgid "" +"Target user or role to view or update. Use @everyone to reset the entire " +"guild." +msgstr "" + +#: src/modules/economy/cog.py:587 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|confirm:reset_guild|desc" +msgid "" +"Are you sure you want to reset the coin balance for everyone in **{guild_name}**?\n" +"*This is not reversible!*" +msgstr "" + +#: src/modules/economy/cog.py:595 +msgctxt "cmd:economy_reset|confirm:reset_guild|button:confirm" +msgid "Yes, reset the economy" +msgstr "" + +#: src/modules/economy/cog.py:599 +msgctxt "cmd:economy_reset|confirm:reset_guild|button:cancel" +msgid "Cancel reset" +msgstr "" + +#: src/modules/economy/cog.py:615 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|embed:success_guild|desc" +msgid "" +"Everyone in **{guild_name}** has had their balance reset to " +"{coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:632 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|error:no_target|desc" +msgid "The role {mention} has no members to reset!" +msgstr "" + +#: src/modules/economy/cog.py:642 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|confirm:reset_role|desc" +msgid "" +"Are you sure you want to reset the balance for everyone in {mention}?\n" +"**{count}** members will be affected." +msgstr "" + +#: src/modules/economy/cog.py:651 +msgctxt "cmd:economy_reset|confirm:reset_role|button:confirm" +msgid "Yes, complete economy reset" +msgstr "" + +#: src/modules/economy/cog.py:655 +msgctxt "cmd:economy_reset|confirm:reset_role|button:cancel" +msgid "Cancel" +msgstr "취소" + +#: src/modules/economy/cog.py:672 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|embed:success_role|desc" +msgid "" +"Everyone in {role_mention} has had their coin balance reset to " +"{coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:694 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|embed:success_user|desc" +msgid "{mention}'s balance has been reset to {coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:704 +msgctxt "cmd:send" +msgid "send" +msgstr "보내기" + +#: src/modules/economy/cog.py:707 +msgctxt "cmd:send|desc" +msgid "Gift the target user a certain number of LionCoins." +msgstr "" + +#: src/modules/economy/cog.py:711 +msgctxt "cmd:send|param:target" +msgid "target" +msgstr "타깃" + +#: src/modules/economy/cog.py:712 +msgctxt "cmd:send|param:amount" +msgid "amount" +msgstr "" + +#: src/modules/economy/cog.py:713 +msgctxt "cmd:send|param:note" +msgid "note" +msgstr "노트" + +#: src/modules/economy/cog.py:716 +msgctxt "cmd:send|param:target|desc" +msgid "User to send the gift to" +msgstr "" + +#: src/modules/economy/cog.py:717 +msgctxt "cmd:send|param:amount|desc" +msgid "Number of coins to send" +msgstr "" + +#: src/modules/economy/cog.py:718 +msgctxt "cmd:send|param:note|desc" +msgid "Optional note to add to the gift." +msgstr "" + +#: src/modules/economy/cog.py:742 +msgctxt "cmd:send|error:not_allowed" +msgid "Sorry, this server has disabled LionCoin transfers!" +msgstr "" + +#: src/modules/economy/cog.py:751 +msgctxt "cmd:send|error:sending-to-self" +msgid "" +"What is this, tax evasion?\n" +"(You can not send coins to yourself.)" +msgstr "" + +#: src/modules/economy/cog.py:761 +msgctxt "cmd:send|error:sending-to-leo" +msgid "" +"I appreciate it, but you need it more than I do!\n" +"(You cannot send coins to bots.)" +msgstr "" + +#: src/modules/economy/cog.py:771 +#, possible-python-brace-format +msgctxt "cmd:send|error:sending-to-bot" +msgid "" +"{target} appreciates the gesture, but said they don't have any use for {coin}.\n" +"(You cannot send coins to bots.)" +msgstr "" + +#: src/modules/economy/cog.py:799 +#, possible-python-brace-format +msgctxt "cmd:send|error:insufficient" +msgid "" +"You do not have enough lioncoins to do this!\n" +"`Current Balance:` {coin_emoji}{balance}" +msgstr "" + +#: src/modules/economy/cog.py:816 +msgctxt "eventlog|event:send|title" +msgid "Coins Transferred" +msgstr "" + +#: src/modules/economy/cog.py:820 +#, possible-python-brace-format +msgctxt "eventlog|event:send|desc" +msgid "{source} gifted {amount} to {target}" +msgstr "" + +#: src/modules/economy/cog.py:833 +#, possible-python-brace-format +msgctxt "cmd:send|embed:gift|title" +msgid "{user} sent you a gift!" +msgstr "" + +#: src/modules/economy/cog.py:837 +#, possible-python-brace-format +msgctxt "cmd:send|embed:gift|desc" +msgid "{mention} sent you {coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:862 +#, possible-python-brace-format +msgctxt "cmd:send|embed:ack|desc" +msgid "" +"**{coin_emoji}{amount}** has been deducted from your balance and sent to " +"{mention}!" +msgstr "" + +#: src/modules/economy/cog.py:872 +msgctxt "cmd:send|embed:ack|desc|error:unreachable" +msgid "" +"Unfortunately, I was not able to message the recipient. Perhaps they have me" +" blocked?" +msgstr "" + +#: src/modules/economy/cog.py:884 +msgctxt "cmd:configure_economy" +msgid "economy" +msgstr "" + +#: src/modules/economy/cog.py:887 +msgctxt "cmd:configure_economy|desc" +msgid "Configure LionCoin Economy" +msgstr "" + +#: src/modules/economy/settings.py:38 +msgctxt "guildset:coins_per_xp" +msgid "coins_per_100xp" +msgstr "" + +#: src/modules/economy/settings.py:41 +msgctxt "guildset:coins_per_xp|desc" +msgid "How many LionCoins to reward members per 100 XP they earn." +msgstr "" + +#: src/modules/economy/settings.py:45 +msgctxt "guildset:coins_per_xp|long_desc" +msgid "" +"Members will be rewarded with this many LionCoins for every 100 XP they " +"earn." +msgstr "" + +#: src/modules/economy/settings.py:49 +msgctxt "guildset:coins_per_xp|long_desc" +msgid "The number of coins to reward per 100 XP." +msgstr "" + +#: src/modules/economy/settings.py:62 +#, possible-python-brace-format +msgctxt "guildset:coins_per_xp|set_response" +msgid "" +"For every **100** XP they earn, members will now be given " +"{coin}**{amount}**." +msgstr "" + +#: src/modules/economy/settings.py:74 +msgctxt "guildset:allow_transfers" +msgid "allow_transfers" +msgstr "" + +#: src/modules/economy/settings.py:77 +msgctxt "guildset:allow_transfers|desc" +msgid "Whether to allow members to transfer LionCoins to each other." +msgstr "" + +#: src/modules/economy/settings.py:81 +msgctxt "guildset:allow_transfers|long_desc" +msgid "" +"If disabled, members will not be able to transfer LionCoins to each other." +msgstr "" + +#: src/modules/economy/settings.py:89 +msgctxt "guildset:allow_transfers|outputs:true" +msgid "Enabled (Coin transfers allowed.)" +msgstr "" + +#: src/modules/economy/settings.py:90 +msgctxt "guildset:allow_transfers|outputs:false" +msgid "Disabled (Coin transfers not allowed.)" +msgstr "" + +#: src/modules/economy/settings.py:106 +#, possible-python-brace-format +msgctxt "guildset:allow_transfers|set_response|set:true" +msgid "Members will now be able to use {send_cmd} to transfer {coin}" +msgstr "" + +#: src/modules/economy/settings.py:111 +#, possible-python-brace-format +msgctxt "guildset:allow_transfers|set_response|set:false" +msgid "Members will not be able to use {send_cmd} to transfer {coin}" +msgstr "" + +#: src/modules/economy/settings.py:123 +msgctxt "guildset:starting_funds" +msgid "starting_funds" +msgstr "" + +#: src/modules/economy/settings.py:126 +msgctxt "guildset:starting_funds|desc" +msgid "How many LionCoins should a member start with." +msgstr "" + +#: src/modules/economy/settings.py:130 +msgctxt "guildset:starting_funds|long_desc" +msgid "" +"Members will be given this number of coins when they first interact with me," +" or first join the server." +msgstr "" + +#: src/modules/economy/settings.py:134 +msgctxt "guildset:starting_funds|accepts" +msgid "Number of coins to give to new members." +msgstr "" + +#: src/modules/economy/settings.py:146 +#, possible-python-brace-format +msgctxt "guildset:starting_funds|set_response" +msgid "New members will now start with {amount}" +msgstr "" diff --git a/locales/ko/LC_MESSAGES/exec.po b/locales/ko/LC_MESSAGES/exec.po new file mode 100644 index 000000000000..5cd6a7b0feb8 --- /dev/null +++ b/locales/ko/LC_MESSAGES/exec.po @@ -0,0 +1,94 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-01 16:01+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Hong Shik Kim, 2023\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/sysadmin/exec_cog.py:269 +msgctxt "ward:sys_admin|failed" +msgid "You must be a bot owner to do this!" +msgstr "봇 소유자만 할 수 있어요!" + +#: src/modules/sysadmin/exec_cog.py:274 +msgid "async" +msgstr "비동기" + +#: src/modules/sysadmin/exec_cog.py:275 +msgid "Execute arbitrary code with Exec" +msgstr "임의 코드 실행 `exec`" + +#: src/modules/sysadmin/exec_cog.py:337 +msgctxt "command" +msgid "eval" +msgstr "eval" + +#: src/modules/sysadmin/exec_cog.py:338 +msgctxt "command:eval" +msgid "Execute arbitrary code with Eval" +msgstr "임의 코드 실행 `eval`" + +#: src/modules/sysadmin/exec_cog.py:341 +msgctxt "command:eval|param:string" +msgid "Code to evaluate." +msgstr "실행할 코드" + +#: src/modules/sysadmin/exec_cog.py:348 +msgctxt "command" +msgid "asyncall" +msgstr "비동기 콜" + +#: src/modules/sysadmin/exec_cog.py:349 +msgctxt "command:asyncall|desc" +msgid "Execute arbitrary code on all shards." +msgstr "모든 샤드의 임의 코드 실행" + +#: src/modules/sysadmin/exec_cog.py:352 +msgctxt "command:asyncall|param:string" +msgid "Cross-shard code to execute. Cannot reference ctx!" +msgstr "샤드 간 교차로 코드 실행. ctx를 참고할 수는 없어요!" + +#: src/modules/sysadmin/exec_cog.py:353 +msgctxt "command:asyncall|param:target" +msgid "Target shard app name, see autocomplete for options." +msgstr "타겟 샤드 앱 이름. 자동완성 옵션을 참고하세요." + +#: src/modules/sysadmin/exec_cog.py:396 +msgid "reload" +msgstr "다시 불러오기" + +#: src/modules/sysadmin/exec_cog.py:397 +msgid "Reload a given LionBot extension. Launches an ExecUI." +msgstr "라이언봇 익스텐션을 다시 불러옵니다. ExecUI를 시작합니다." + +#: src/modules/sysadmin/exec_cog.py:400 +msgid "Name of the extension to reload. See autocomplete for options." +msgstr "다시 불러올 익스텐션의 이름. 자동완성 옵션을 참고하세요." + +#: src/modules/sysadmin/exec_cog.py:401 +msgid "Whether to force an extension reload even if it doesn't exist." +msgstr "익스텍션 다시 불러오기가 없어도 강제 다시 불러오기 여부" + +#: src/modules/sysadmin/exec_cog.py:437 +msgid "shutdown" +msgstr "종료" + +#: src/modules/sysadmin/exec_cog.py:438 +msgid "Shutdown (or restart) the client." +msgstr "클라이언트 종료 (혹은 재시작)" diff --git a/locales/ko/LC_MESSAGES/goals-gui.po b/locales/ko/LC_MESSAGES/goals-gui.po new file mode 100644 index 000000000000..bc60d142f25a --- /dev/null +++ b/locales/ko/LC_MESSAGES/goals-gui.po @@ -0,0 +1,105 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Hong Shik Kim, 2023\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/gui/cards/goals.py:97 +msgctxt "skin:goals|goal:tasks|name" +msgid "TASKS DONE" +msgstr "완료한 할일" + +#: src/gui/cards/goals.py:101 +msgctxt "skin:goals|goal:tasks|goal" +msgid "GOAL: " +msgstr "목표:" + +#: src/gui/cards/goals.py:127 +msgctxt "skin:goals|goal:attendance|name" +msgid "" +"ATTENDANCE\n" +"RATE" +msgstr "출석률" + +#: src/gui/cards/goals.py:141 +msgctxt "skin:goals|mode:study|goal:middle|above" +msgid "STUDIED" +msgstr "학습" + +#: src/gui/cards/goals.py:145 +msgctxt "skin:goals|mode:study|goal:middle|below" +msgid "HOURS" +msgstr "시간" + +#: src/gui/cards/goals.py:149 +msgctxt "skin:goals|mode:voice|goal:middle|above" +msgid "CHATTED" +msgstr "채팅" + +#: src/gui/cards/goals.py:153 +msgctxt "skin:goals|mode:voice|goal:middle|below" +msgid "HOURS" +msgstr "시간" + +#: src/gui/cards/goals.py:157 +msgctxt "skin:goals|mode:text|goal:middle|above" +msgid "SENT" +msgstr "전송" + +#: src/gui/cards/goals.py:161 +msgctxt "skin:goals|mode:text|goal:middle|below" +msgid "MESSAGES" +msgstr "메시지" + +#: src/gui/cards/goals.py:165 +msgctxt "skin:goals|mode:anki|goal:middle|above" +msgid "REVIEWED" +msgstr "복습한" + +#: src/gui/cards/goals.py:169 +msgctxt "skin:goals|mode:anki|goal:middle|below" +msgid "CARDS" +msgstr "카드" + +#: src/gui/cards/goals.py:230 +#, possible-python-brace-format +msgctxt "skin:goals|footer" +msgid "As of {day} {month} • {name}" +msgstr "" + +#: src/gui/cards/goals.py:242 +msgctxt "ui:goals|weekly|title" +msgid "WEEKLY STATISTICS" +msgstr "주간 통계" + +#: src/gui/cards/goals.py:246 +msgctxt "ui:goals|weekly|task_header" +msgid "GOALS OF THE WEEK" +msgstr "이번주 목표" + +#: src/gui/cards/goals.py:256 +msgctxt "ui:goals|monthly|title" +msgid "MONTHLY STATISTICS" +msgstr "월간 통계" + +#: src/gui/cards/goals.py:260 +msgctxt "ui:goals|monthly|task_header" +msgid "GOALS OF THE MONTH" +msgstr "이번달 목표" diff --git a/locales/ko/LC_MESSAGES/leaderboard-gui.po b/locales/ko/LC_MESSAGES/leaderboard-gui.po new file mode 100644 index 000000000000..9a152ac47329 --- /dev/null +++ b/locales/ko/LC_MESSAGES/leaderboard-gui.po @@ -0,0 +1,95 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Hong Shik Kim, 2023\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/gui/cards/leaderboard.py:68 +msgctxt "skin:leaderboard|mode:study|header_text" +msgid "STUDY TIME LEADERBOARD" +msgstr "학습 시간 순위표" + +#: src/gui/cards/leaderboard.py:72 +msgctxt "skin:leaderboard|mode:text|header_text" +msgid "MESSAGE LEADERBOARD" +msgstr "메시지 순위표" + +#: src/gui/cards/leaderboard.py:76 +msgctxt "skin:leaderboard|mode:voice|header_text" +msgid "VOICE LEADERBOARD" +msgstr "음성 순위표" + +#: src/gui/cards/leaderboard.py:80 +msgctxt "skin:leaderboard|mode:anki|header_text" +msgid "ANKI REVIEW LEADERBOARD" +msgstr "ANKI 리뷰 순위표" + +#: src/gui/cards/leaderboard.py:98 +msgctxt "skin:leaderboard|field:subheader_text" +msgid "SERVER: " +msgstr "서버:" + +#: src/gui/cards/leaderboard.py:128 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:study|top_hours_text" +msgid "{amount} hours" +msgstr "{amount} 시간" + +#: src/gui/cards/leaderboard.py:132 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:text|top_hours_text" +msgid "{amount} XP" +msgstr "{amount} XP" + +#: src/gui/cards/leaderboard.py:136 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:voice|top_hours_text" +msgid "{amount} hours" +msgstr "{amount} 시간" + +#: src/gui/cards/leaderboard.py:140 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:anki|top_hours_text" +msgid "{amount} cards" +msgstr "{amount} 카드" + +#: src/gui/cards/leaderboard.py:167 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:study|entry_hours_text" +msgid "{HH:02d}:{MM:02d}" +msgstr "{HH:02d}:{MM:02d}" + +#: src/gui/cards/leaderboard.py:171 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:text|entry_hours_text" +msgid "{amount} XP" +msgstr "{amount} XP" + +#: src/gui/cards/leaderboard.py:175 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:voice|entry_hours_text" +msgid "{HH:02d}:{MM:02d}" +msgstr "{HH:02d}:{MM:02d}" + +#: src/gui/cards/leaderboard.py:179 +#, possible-python-brace-format +msgctxt "skin:leaderboard|mode:anki|entry_hours_text" +msgid "{amount} cards" +msgstr "{amount} 카드" diff --git a/locales/ko/LC_MESSAGES/lion-core.po b/locales/ko/LC_MESSAGES/lion-core.po new file mode 100644 index 000000000000..5ba7d068e115 --- /dev/null +++ b/locales/ko/LC_MESSAGES/lion-core.po @@ -0,0 +1,206 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-15 15:58+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Hong Shik Kim, 2023\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/core/lion_guild.py:31 +msgctxt "eventlog|field:start|name" +msgid "Start" +msgstr "" + +#: src/core/lion_guild.py:36 +msgctxt "eventlog|field:expiry|name" +msgid "Expires" +msgstr "" + +#: src/core/lion_guild.py:41 +msgctxt "eventlog|field:roles_given|name" +msgid "Roles Given" +msgstr "" + +#: src/core/lion_guild.py:46 +msgctxt "eventlog|field:roles_given|name" +msgid "Roles Taken" +msgstr "" + +#: src/core/lion_guild.py:51 +msgctxt "eventlog|field:coins_earned|name" +msgid "Coins Earned" +msgstr "" + +#: src/core/lion_guild.py:56 +msgctxt "eventlog|field:price|name" +msgid "Price" +msgstr "" + +#: src/core/lion_guild.py:61 +msgctxt "eventlog|field:balance|name" +msgid "Balance" +msgstr "" + +#: src/core/lion_guild.py:66 +msgctxt "eventlog|field:refund|name" +msgid "Coins Refunded" +msgstr "" + +#: src/core/lion_guild.py:71 +msgctxt "eventlog|field:memberid|name" +msgid "Member" +msgstr "" + +#: src/core/lion_guild.py:76 +msgctxt "eventlog|field:channelid|name" +msgid "Channel" +msgstr "" + +#: src/core/lion_guild.py:208 +msgctxt "eventlog|error:manage_webhooks" +msgid "" +"This channel is configured as an event log, but I am missing the 'Manage " +"Webhooks' permission here." +msgstr "" + +#: src/core/lion_guild.py:220 +#, possible-python-brace-format +msgctxt "eventlog|create|name" +msgid "{bot_name} Event Log" +msgstr "" + +#: src/core/lion_guild.py:224 +msgctxt "eventlog|create|audit_reason" +msgid "Creating event log webhook" +msgstr "" + +#: src/core/lion_guild.py:342 +msgctxt "eventlog|field:errors|name" +msgid "Errors" +msgstr "" + +#: src/core/setting_types.py:31 +msgctxt "settype:coin|accepts" +msgid "A positive integral number of coins." +msgstr "양의 정수 개수의 동전." + +#: src/core/setting_types.py:47 +msgctxt "settype:coin|parse|error:notinteger" +msgid "The coin quantity must be a positive integer!" +msgstr "코인 개수는 양수여야 해요!" + +#: src/core/setting_types.py:55 +#, possible-python-brace-format +msgctxt "settype:coin|parse|error:too_large" +msgid "You cannot set this to more than {coin}**{max}**!" +msgstr "{coin}**{max}** 보다 많이 설정할 수 없어요!" + +#: src/core/setting_types.py:63 +#, possible-python-brace-format +msgctxt "settype:coin|parse|error:too_small" +msgid "You cannot set this to less than {coin}**{min}**!" +msgstr "{coin}**{min}** 보다 적게 설정할 수 없어요!" + +#: src/core/setting_types.py:75 +#, possible-python-brace-format +msgctxt "settype:coin|formatted" +msgid "{coin}**{amount}**" +msgstr "{coin}**{amount}**" + +#: src/core/setting_types.py:91 +msgctxt "settype:message|accepts" +msgid "JSON formatted raw message data" +msgstr "JSON 형식의 메시지 데이터" + +#: src/core/setting_types.py:106 +msgctxt "settype:message|download|error:not_json" +msgid "The attached message data is not a JSON file!" +msgstr "첨부한 메시지 데이터는 JSON파일이 아니에요!" + +#: src/core/setting_types.py:111 +msgctxt "settype:message|download|error:size" +msgid "The attached message data is too large!" +msgstr "첨부한 메시지 데이터의 용량이 너무 커요!" + +#: src/core/setting_types.py:120 +msgctxt "settype:message|download|error:decoding" +msgid "" +"Could not decode the message data. Please ensure it is saved with the " +"`UTF-8` encoding." +msgstr "메시지 데이터를 복호화할 수 없어요. UTF-8 인코딩으로 저장했는지 확인해 주세요." + +#: src/core/setting_types.py:177 +#, possible-python-brace-format +msgctxt "settype:message|error_suffix" +msgid "" +"You can view, test, and fix your embed using the online [embed " +"builder]({link})." +msgstr "임베드한 내용을 아래 온라인 링크에서 확인, 테스트, 수정할 수 있어요. [embed builder]({link})." + +#: src/core/setting_types.py:189 +#, possible-python-brace-format +msgctxt "settype:message|error:invalid_json" +msgid "" +"The provided message data was not a valid JSON document!\n" +"`{error}`" +msgstr "" +"제공된 메시지 데이터는 유효한 JSON 문서가 아니에요!\n" +"`{error}`" + +#: src/core/setting_types.py:197 +msgctxt "settype:message|error:json_missing_keys" +msgid "" +"Message data must be a JSON object with at least one of the following " +"fields: `content`, `embed`, `embeds`" +msgstr "" +"메시지 데이터는 다음 필드를 적어도 하나는 포함한 JSON 객체여야 해요. `content`, `embed`, `embeds`" + +#: src/core/setting_types.py:206 +msgctxt "settype:message|error:json_embed_type" +msgid "`embed` field must be a valid JSON object." +msgstr "`embed` field는 유효한 JSON 객체여야 해요." + +#: src/core/setting_types.py:214 +msgctxt "settype:message|error:json_embeds_type" +msgid "`embeds` field must be a list." +msgstr "`embeds` 필드값은 list어야 해요." + +#: src/core/setting_types.py:221 +msgctxt "settype:message|error:json_embed_embeds" +msgid "Message data cannot include both `embed` and `embeds`." +msgstr "메시지 데이터는 `embed`와 `embeds`를 둘 다 포함할 수 없어요." + +#: src/core/setting_types.py:229 +msgctxt "settype:message|error:json_content_type" +msgid "`content` field must be a string." +msgstr "`content` 필드값은 string이어야 해요." + +#: src/core/setting_types.py:245 +#, possible-python-brace-format +msgctxt "ui:settype:message|error:embed_conversion" +msgid "" +"Could not parse the message embed data.\n" +"**Error:** `{exception}`" +msgstr "" +"메시지 임베드 데이터를 변환할 수 없어요.\n" +"**Error:** `{exception}`" + +#: src/core/setting_types.py:273 +msgctxt "settype:message|format:too_long" +msgid "Too long to display! See Preview." +msgstr "내용이 너무 길어요. Preview를 확인해 주세요." diff --git a/locales/ko/LC_MESSAGES/member_admin.po b/locales/ko/LC_MESSAGES/member_admin.po new file mode 100644 index 000000000000..21e6a67db609 --- /dev/null +++ b/locales/ko/LC_MESSAGES/member_admin.po @@ -0,0 +1,565 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Hong Shik Kim, 2023\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/member_admin/settingui.py:58 +msgctxt "ui:memberadmin|menu:greetch|placeholder" +msgid "Select Greeting Channel" +msgstr "환영인사 채널 선택" + +#: src/modules/member_admin/settingui.py:88 +msgctxt "ui:memberadmin|menu:autoroles|placeholder" +msgid "Select Autoroles" +msgstr "자동 역할 선택" + +#: src/modules/member_admin/settingui.py:118 +msgctxt "ui:memberadmin|menu:bot_autoroles|placeholder" +msgid "Select Bot Autoroles" +msgstr "봇 자동 역할 선택" + +#: src/modules/member_admin/settingui.py:160 +msgctxt "ui:member_admin|button:greet_msg|label" +msgid "Greeting Msg" +msgstr "환영인사 메시지" + +#: src/modules/member_admin/settingui.py:210 +msgctxt "ui:memberadmin|button:return_msg|label" +msgid "Returning Msg" +msgstr "리턴 메시지" + +#: src/modules/member_admin/settingui.py:218 +msgctxt "ui:memberadmin|embed|title" +msgid "Greetings and Initial Roles Panel" +msgstr "환영인사 및 초기 역할 패널" + +#: src/modules/member_admin/settingui.py:262 +msgctxt "dash:member_admin|title" +msgid "Greetings and Initial Roles ({commands[config welcome]})" +msgstr "환영인사 및 초기 역할 ({commands[config welcome]})" + +#: src/modules/member_admin/settingui.py:266 +msgctxt "dash:member_admin|dropdown|placeholder" +msgid "Greetings and Initial Roles Panel" +msgstr "환영인사 및 초기 역할 패널" + +#: src/modules/member_admin/settingui.py:286 +msgctxt "dash:member_admin|section:greeting_messages|name" +msgid "Greeting Messages ({commands[admin config welcome]})" +msgstr "환영 메시지 ({commands[admin config welcome]}) " + +#: src/modules/member_admin/settingui.py:297 +msgctxt "dash:member_admin|section:initial_roles|name" +msgid "Initial Roles ({commands[admin config welcome]})" +msgstr "초기 역할 ({commands[admin config welcome]})" + +#: src/modules/member_admin/cog.py:33 +msgctxt "cmd:admin_data|param:data_type|choice:voice_leaderboard" +msgid "Voice Leaderboard" +msgstr "음성 채널 순위표" + +#: src/modules/member_admin/cog.py:34 +msgctxt "cmd:admin_data|param:data_type|choice:msg_leaderboard" +msgid "Message Leaderboard" +msgstr "메시지 채널 순위표" + +#: src/modules/member_admin/cog.py:35 +msgctxt "cmd:admin_data|param:data_type|choice:xp_leaderboard" +msgid "XP Leaderboard" +msgstr "XP 순위표" + +#: src/modules/member_admin/cog.py:36 +msgctxt "cmd:admin_data|param:data_type|choice:rolemenu_equip" +msgid "Rolemenu Roles Equipped" +msgstr "" + +#: src/modules/member_admin/cog.py:37 +msgctxt "cmd:admin_data|param:data_type|choice:transactions" +msgid "Economy Transactions (Incomplete)" +msgstr "" + +#: src/modules/member_admin/cog.py:38 +msgctxt "cmd:admin_data|param:data_type|choice:balances" +msgid "Economy Balances" +msgstr "" + +#: src/modules/member_admin/cog.py:39 +msgctxt "cmd:admin_data|param:data_type|choice:voice_sessions" +msgid "Voice Sessions" +msgstr "" + +#: src/modules/member_admin/cog.py:155 +msgctxt "eventlog|event:welcome|title" +msgid "New Member Joined" +msgstr "신규 맴버 접속" + +#: src/modules/member_admin/cog.py:159 +#, possible-python-brace-format +msgctxt "eventlog|event:welcome|desc" +msgid "{member} joined the server for the first time." +msgstr "{member}가 서버에 처음 접속했어요." + +#: src/modules/member_admin/cog.py:243 +msgctxt "eventlog|event:returning|title" +msgid "Member Rejoined" +msgstr "맴버 재접속" + +#: src/modules/member_admin/cog.py:247 +#, possible-python-brace-format +msgctxt "eventlog|event:returning|desc" +msgid "{member} rejoined the server." +msgstr "{member}가 서버에 다시 접속했어요." + +#: src/modules/member_admin/cog.py:256 +msgctxt "eventlog|event:returning|field:first_joined" +msgid "First Joined" +msgstr "첫 접속" + +#: src/modules/member_admin/cog.py:263 +msgctxt "eventlog|event:returning|field:last_seen" +msgid "Last Seen" +msgstr "최근 접속 " + +#: src/modules/member_admin/cog.py:311 +msgctxt "eventlog|event:left|title" +msgid "Member Left" +msgstr "남은 맴버" + +#: src/modules/member_admin/cog.py:315 +#, possible-python-brace-format +msgctxt "eventlog|event:left|desc" +msgid "{member} left the server." +msgstr "{member}가 서버를 떠났어요." + +#: src/modules/member_admin/cog.py:323 +msgctxt "eventlog|event:left|field:stored_roles" +msgid "Stored Roles" +msgstr "" + +#: src/modules/member_admin/cog.py:330 +msgctxt "eventlog|event:left|field:first_joined" +msgid "First Joined" +msgstr "" + +#: src/modules/member_admin/cog.py:368 +msgctxt "cmd:resetmember" +msgid "resetmember" +msgstr "" + +#: src/modules/member_admin/cog.py:371 +msgctxt "cmd:resetmember|desc" +msgid "Reset (server-associated) member data for the target member or user." +msgstr "선택한 맴버나 유저의 맴버 데이터를 리셋합니다. (server-associated)" + +#: src/modules/member_admin/cog.py:375 +msgctxt "cmd:resetmember|param:target" +msgid "member_to_reset" +msgstr "" + +#: src/modules/member_admin/cog.py:376 +msgctxt "cmd:resetmember|param:saved_roles" +msgid "saved_roles" +msgstr "" + +#: src/modules/member_admin/cog.py:381 +msgctxt "cmd:resetmember|param:target|desc" +msgid "Choose the member (current or past) you want to reset." +msgstr "리셋을 원하는 (현재 혹은 과거의) 맴버를 선택하세요." + +#: src/modules/member_admin/cog.py:385 +msgctxt "cmd:resetmember|param:saved_roles|desc" +msgid "" +"Clear the saved roles for this member, so their past roles are not restored " +"on rejoin." +msgstr "" + +#: src/modules/member_admin/cog.py:411 +#, possible-python-brace-format +msgctxt "cmd:resetmember|reset:saved_roles|success" +msgid "" +"The saved roles for {target} have been reset. They will not regain their " +"roles if they rejoin." +msgstr "" + +#: src/modules/member_admin/cog.py:419 +msgctxt "cmd:resetmember|error:nothing_to_do" +msgid "No reset operation selected, nothing to do." +msgstr "" + +#: src/modules/member_admin/cog.py:425 +msgctxt "cmd:admin_data" +msgid "data" +msgstr "" + +#: src/modules/member_admin/cog.py:428 +msgctxt "cmd:admin_data|desc" +msgid "Download various raw data for external analysis and backup." +msgstr "데이터 분석 혹은 백업을 위해 다양한 원본 데이터를 다운로드합니다." + +#: src/modules/member_admin/cog.py:432 +msgctxt "cmd:admin_data|param:data_type" +msgid "type" +msgstr "" + +#: src/modules/member_admin/cog.py:433 +msgctxt "cmd:admin_data|param:target" +msgid "target" +msgstr "" + +#: src/modules/member_admin/cog.py:434 +msgctxt "cmd:admin_data|param:start" +msgid "after" +msgstr "" + +#: src/modules/member_admin/cog.py:435 +msgctxt "cmd:admin_data|param:end" +msgid "before" +msgstr "" + +#: src/modules/member_admin/cog.py:436 +msgctxt "cmd:admin_data|param:limit" +msgid "limit" +msgstr "" + +#: src/modules/member_admin/cog.py:441 +msgctxt "cmd:admin_data|param:data_type|desc" +msgid "Select the type of data you want to download" +msgstr "다운로드를 원하는 데이터 타입을 선택하세요." + +#: src/modules/member_admin/cog.py:445 +msgctxt "cmd:admin_data|param:target|desc" +msgid "Filter the data by selecting a user or role" +msgstr "유저 혹은 역할을 선택하여 데이터를 필터하세요." + +#: src/modules/member_admin/cog.py:449 +msgctxt "cmd:admin_data|param:start|desc" +msgid "" +"Retrieve records created after this date and time in server timezone (YYYY-" +"MM-DD HH:MM)" +msgstr "" + +#: src/modules/member_admin/cog.py:453 +msgctxt "cmd:admin_data|param:end|desc" +msgid "" +"Retrieve records created before this date and time in server timezone (YYYY-" +"MM-DD HH:MM)" +msgstr "" + +#: src/modules/member_admin/cog.py:457 +msgctxt "cmd:admin_data|param:limit|desc" +msgid "Maximum number of records to retrieve." +msgstr "" + +#: src/modules/member_admin/cog.py:586 +msgctxt "cmd:admin_data|error:ratelimited" +msgid "" +"Too many requests! Please wait a few minutes before using this command " +"again." +msgstr "요청이 너무 많아요! 잠시 몇 분 기다렸다가 다시 명령을 시도하세요." + +#: src/modules/member_admin/cog.py:603 +msgctxt "cmd:admin_data|error:no_results" +msgid "Your query had no results! Try relaxing your filters." +msgstr "쿼리 결과가 없어요! 필터를 다시 잘 설정해 보세요." + +#: src/modules/member_admin/cog.py:627 +#, possible-python-brace-format +msgctxt "cmd:admin_data|acmpl:time|error:parse" +msgid "Cannot parse \"{partial}\" as a time. Try the format YYYY-MM-DD HH:MM" +msgstr "" + +#: src/modules/member_admin/cog.py:643 +msgctxt "cmd:configure_welcome" +msgid "welcome" +msgstr "welcome" + +#: src/modules/member_admin/cog.py:646 +msgctxt "cmd:configure_welcome|desc" +msgid "Configure new member greetings and roles." +msgstr "신규 맴버 환영인사와 역할 설정" + +#: src/modules/member_admin/settings.py:21 +msgctxt "guildset:greeting_message|formatkey:mention" +msgid "Mention the new member." +msgstr "신규 맴버 멘션" + +#: src/modules/member_admin/settings.py:23 +msgctxt "guildset:greeting_message|formatkey:user_name" +msgid "Display name of the new member." +msgstr "신규 맴버 이름 확인" + +#: src/modules/member_admin/settings.py:25 +msgctxt "guildset:greeting_message|formatkey:user_avatar" +msgid "Avatar url of the new member." +msgstr "신규 맴버 아바타 URL" + +#: src/modules/member_admin/settings.py:27 +msgctxt "guildset:greeting_message|formatkey:guild_name" +msgid "Name of this server." +msgstr "서버 이름 " + +#: src/modules/member_admin/settings.py:29 +msgctxt "guildset:greeting_message|formatkey:guild_icon" +msgid "Server icon url." +msgstr "서버 아이콘 URL" + +#: src/modules/member_admin/settings.py:31 +msgctxt "guildset:greeting_message|formatkey:studying_count" +msgid "Number of current voice channel members." +msgstr "현재 음성 채널 맴버수" + +#: src/modules/member_admin/settings.py:33 +msgctxt "guildset:greeting_message|formatkey:member_count" +msgid "Number of members in the server." +msgstr "현재 서버 전체 맴버수" + +#: src/modules/member_admin/settings.py:42 +msgctxt "guildset:greeting_channel" +msgid "welcome_channel" +msgstr "" + +#: src/modules/member_admin/settings.py:45 +msgctxt "guildset:greeting_channel|desc" +msgid "Channel in which to welcome new members to the server." +msgstr "신규 맴버 환영을 위한 채널" + +#: src/modules/member_admin/settings.py:49 +msgctxt "guildset:greeting_channel|long_desc" +msgid "" +"New members will be sent the configured `welcome_message` in this channel, " +"and returning members will be sent the configured `returning_message`. Unset" +" to send these message via direct message." +msgstr "" + +#: src/modules/member_admin/settings.py:55 +msgctxt "guildset:greeting_channel|accepts" +msgid "Name or id of the greeting channel, or 0 for DM." +msgstr "" + +#: src/modules/member_admin/settings.py:70 +msgctxt "guildset:greeting_channel|set_response:unset" +msgid "Welcome messages will now be sent via direct message." +msgstr "이제 환영인사가 DM으로 전송됩니다." + +#: src/modules/member_admin/settings.py:75 +#, possible-python-brace-format +msgctxt "guildset:greeting_channel|set_response:set" +msgid "Welcome messages will now be sent to {channel}" +msgstr "이제 환영인사가 {channel}채널로 전송됩니다." + +#: src/modules/member_admin/settings.py:87 +msgctxt "guildset:greeting_channel|formmatted:unset" +msgid "Direct Message" +msgstr "DM" + +#: src/modules/member_admin/settings.py:95 +msgctxt "guildset:greeting_message" +msgid "welcome_message" +msgstr "" + +#: src/modules/member_admin/settings.py:99 +msgctxt "guildset:greeting_message|desc" +msgid "Custom message used to greet new members when they join the server." +msgstr "신규 맴버가 서버에 가입할 때 사용하는 커스텀 메시지" + +#: src/modules/member_admin/settings.py:103 +msgctxt "guildset:greeting_message|long_desc" +msgid "" +"When set, this message will be sent to the `welcome_channel` when a *new* " +"member joins the server. If not set, no message will be sent." +msgstr "" + +#: src/modules/member_admin/settings.py:108 +msgctxt "guildset:greeting_message|accepts" +msgid "JSON formatted greeting message data" +msgstr "" + +#: src/modules/member_admin/settings.py:112 +msgctxt "guildset:greeting_message|default" +msgid "" +"\n" +" {\n" +" \"embed\": {\n" +" \"title\": \"Welcome {user_name}!\",\n" +" \"thumbnail\": {\"url\": \"{user_avatar}\"},\n" +" \"description\": \"Welcome to **{guild_name}**!\",\n" +" \"footer\": {\n" +" \"text\": \"You are the {member_count}th member!\"\n" +" },\n" +" \"color\": 15695665\n" +" }\n" +" }\n" +" " +msgstr "" + +#: src/modules/member_admin/settings.py:140 +msgctxt "guildset:greeting_message|set_response:unset" +msgid "Welcome message unset! New members will not be greeted." +msgstr "" + +#: src/modules/member_admin/settings.py:145 +msgctxt "guildset:greeting_message|set_response:set" +msgid "The welcome message has been updated." +msgstr "" + +#: src/modules/member_admin/settings.py:157 +msgctxt "guildset:greeting_message|formmatted:unset" +msgid "Not set, members will not be welcomed." +msgstr "" + +#: src/modules/member_admin/settings.py:204 +msgctxt "guildset:greeting_message|embed_field|formatkeys|explanation" +msgid "The following placeholders will be substituted with their values." +msgstr "" + +#: src/modules/member_admin/settings.py:207 +msgctxt "guildset:greeting_message|embed_field|formatkeys|name" +msgid "Placeholders" +msgstr "" + +#: src/modules/member_admin/settings.py:218 +msgctxt "guildset:returning_message" +msgid "returning_message" +msgstr "" + +#: src/modules/member_admin/settings.py:222 +msgctxt "guildset:returning_message|desc" +msgid "" +"Custom message used to greet returning members when they rejoin the server." +msgstr "" + +#: src/modules/member_admin/settings.py:226 +msgctxt "guildset:returning_message|long_desc" +msgid "" +"When set, this message will be sent to the `welcome_channel` when a member " +"*returns* to the server. If not set, no message will be sent." +msgstr "" + +#: src/modules/member_admin/settings.py:231 +msgctxt "guildset:returning_message|accepts" +msgid "JSON formatted returning message data" +msgstr "" + +#: src/modules/member_admin/settings.py:235 +msgctxt "guildset:returning_message|default" +msgid "" +"\n" +" {\n" +" \"embed\": {\n" +" \"title\": \"Welcome Back {user_name}!\",\n" +" \"thumbnail\": {\"url\": \"{User_avatar}\"},\n" +" \"description\": \"Welcome back to **{guild_name}**!\\nYou were last seen .\",\n" +" \"color\": 15695665\n" +" }\n" +" }\n" +" " +msgstr "" + +#: src/modules/member_admin/settings.py:252 +msgctxt "guildset:returning_message|formatkey:last_time" +msgid "Unix timestamp of the last time the member was seen in the server." +msgstr "" + +#: src/modules/member_admin/settings.py:263 +msgctxt "guildset:returning_message|set_response:unset" +msgid "Returning member greeting unset! Will use `welcome_message` if set." +msgstr "" + +#: src/modules/member_admin/settings.py:268 +msgctxt "guildset:greeting_message|set_response:set" +msgid "The returning member greeting has been updated." +msgstr "" + +#: src/modules/member_admin/settings.py:280 +msgctxt "guildset:greeting_message|formmatted:unset" +msgid "Not set, will use the `welcome_message` if set." +msgstr "" + +#: src/modules/member_admin/settings.py:330 +msgctxt "guildset:returning_message|embed_field|formatkeys|explanation" +msgid "In *addition* to the placeholders supported by `welcome_message`" +msgstr "" + +#: src/modules/member_admin/settings.py:333 +msgctxt "guildset:returning_message|embed_field|formatkeys|" +msgid "Placeholders" +msgstr "" + +#: src/modules/member_admin/settings.py:345 +msgctxt "guildset:autoroles" +msgid "autoroles" +msgstr "" + +#: src/modules/member_admin/settings.py:349 +msgctxt "guildset:autoroles|desc" +msgid "Roles given to new members when they join the server." +msgstr "" + +#: src/modules/member_admin/settings.py:353 +msgctxt "guildset:autoroles|long_desc" +msgid "" +"These roles will be given when a member joins the server. If " +"`role_persistence` is enabled, these roles will *not* be given to a " +"returning member." +msgstr "" + +#: src/modules/member_admin/settings.py:368 +msgctxt "guildset:bot_autoroles" +msgid "bot_autoroles" +msgstr "" + +#: src/modules/member_admin/settings.py:372 +msgctxt "guildset:bot_autoroles|desc" +msgid "Roles given to new bots when they join the server." +msgstr "" + +#: src/modules/member_admin/settings.py:376 +msgctxt "guildset:bot_autoroles|long_desc" +msgid "These roles will be given when a bot joins the server." +msgstr "" + +#: src/modules/member_admin/settings.py:390 +msgctxt "guildset:role_persistence" +msgid "role_persistence" +msgstr "" + +#: src/modules/member_admin/settings.py:393 +msgctxt "guildset:role_persistence|desc" +msgid "Whether member roles should be restored on rejoin." +msgstr "" + +#: src/modules/member_admin/settings.py:397 +msgctxt "guildset:role_persistence|long_desc" +msgid "" +"If enabled, member roles will be stored when they leave the server, and then" +" restored when they rejoin (instead of giving `autoroles`). Note that this " +"may conflict with other bots who manage join roles." +msgstr "" + +#: src/modules/member_admin/settings.py:413 +msgctxt "guildset:role_persistence|set_response:off" +msgid "Roles will not be restored when members rejoin." +msgstr "" + +#: src/modules/member_admin/settings.py:418 +msgctxt "guildset:greeting_message|set_response:on" +msgid "Roles will now be restored when members rejoin." +msgstr "" diff --git a/locales/ko/LC_MESSAGES/meta.po b/locales/ko/LC_MESSAGES/meta.po new file mode 100644 index 000000000000..56c89ab0b2e9 --- /dev/null +++ b/locales/ko/LC_MESSAGES/meta.po @@ -0,0 +1,339 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# GAHYEON SEO, 2024 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: GAHYEON SEO, 2024\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/meta/cog.py:40 +msgctxt "cmd:help" +msgid "help" +msgstr "도움" + +#: src/modules/meta/cog.py:43 +msgctxt "cmd:help|desc" +msgid "See a brief summary of my commands and features." +msgstr "" + +#: src/modules/meta/cog.py:65 +#, possible-python-brace-format +msgctxt "new_guild_join_message|desc" +msgid "" +"Thank you for inviting me to your community!\n" +"Get started by typing {help_cmd} to see my commands, and {dash_cmd} to view and set up my configuration options!\n" +"\n" +"If you need any help configuring me, or would like to suggest a feature, report a bug, and stay updated, make sure to join our main support server by [clicking here]({support})." +msgstr "" +"여러분의 커뮤니티에 초대해 줘서 고마워요!\n" +"{help_cmd}를 사용하여 명령어를 보거나, {dash_cmd}로 설정 옵션들을 확인하거나 세팅하세요!\n" +"\n" +"세팅에 도움이 필요하거나 기능 제안, 버그 리포트, 최신 소식을 받고 싶다면 저희의 메인 서포트 서버에 가입하세요! [clicking here]({support})" + +#: src/modules/meta/cog.py:89 +msgctxt "new_guild_join_message|name" +msgid "Hello everyone! My name is Leo, the LionBot!" +msgstr "안녕 여러분! 저는 LionBot, Leo에요!" + +#: src/modules/meta/cog.py:104 +msgctxt "cmd:invite" +msgid "invite" +msgstr "초대하기" + +#: src/modules/meta/cog.py:107 +msgctxt "cmd:invite|desc" +msgid "Invite LionBot to your own server." +msgstr "자신의 서버에 LionBot 초대하기." + +#: src/modules/meta/cog.py:117 +#, possible-python-brace-format +msgctxt "cmd:invite|embed|desc" +msgid "[Click here]({invite_link}) to add me to your server." +msgstr "당신의 서버에 저를 추가하려면 여기를 누르세요. [Click here]({invite_link})" + +#: src/modules/meta/cog.py:125 +msgctxt "cmd:invite|embed|field:tips|name" +msgid "Setup Tips" +msgstr "설정 팁" + +#: src/modules/meta/cog.py:129 +#, possible-python-brace-format +msgctxt "cmd:invite|embed|field:tips|value" +msgid "" +"Remember to check out {help_cmd} for the important command list, including the admin page which displays the hidden admin-level configuration commands like {dashboard}!\n" +"Also, if you have any issues or questions, you can join our [support server]({support_link}) to talk to our friendly support team!" +msgstr "" + +#: src/modules/meta/cog.py:144 +msgctxt "cmd:support" +msgid "support" +msgstr "서포트" + +#: src/modules/meta/cog.py:147 +msgctxt "cmd:support|desc" +msgid "Have an issue or a question? Speak to my friendly support team here." +msgstr "" + +#: src/modules/meta/cog.py:155 +#, possible-python-brace-format +msgctxt "cmd:support|response" +msgid "" +"Speak to my friendly support team by joining this server and making a ticket in the support channel!\n" +"{support_link}" +msgstr "" + +#: src/modules/meta/cog.py:163 +msgctxt "cmd:nerd" +msgid "nerd" +msgstr "" + +#: src/modules/meta/cog.py:166 +msgctxt "cmd:nerd|desc" +msgid "View hidden details and statistics about me ('nerd statistics')" +msgstr "" + +#: src/modules/meta/cog.py:179 +msgctxt "cmd:nerd|title" +msgid "Nerd Statistics" +msgstr "" + +#: src/modules/meta/cog.py:202 +msgctxt "cmd:nerd|field:currently|name" +msgid "Currently" +msgstr "" + +#: src/modules/meta/cog.py:205 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:currently|value" +msgid "`{people}` people active in `{rooms}` rooms of `{guilds}` guilds." +msgstr "" + +#: src/modules/meta/cog.py:221 +msgctxt "cmd:nerd|field:recorded|name" +msgid "Recorded" +msgstr "" + +#: src/modules/meta/cog.py:224 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:recorded|value" +msgid "" +"`{hours}` voice hours from `{users}` people across `{sessions}` sessions." +msgstr "" + +#: src/modules/meta/cog.py:238 +msgctxt "cmd:nerd|field:registered|name" +msgid "Registered" +msgstr "" + +#: src/modules/meta/cog.py:241 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:registered|value" +msgid "`{users}` users and `{guilds}` guilds." +msgstr "" + +#: src/modules/meta/cog.py:255 +msgctxt "cmd:nerd|field:tasks|name" +msgid "Tasks" +msgstr "" + +#: src/modules/meta/cog.py:258 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:tasks|value" +msgid "`{tasks}` tasks completed out of `{total}`." +msgstr "" + +#: src/modules/meta/cog.py:271 +msgctxt "cmd:nerd|field:timers|name" +msgid "Timers" +msgstr "" + +#: src/modules/meta/cog.py:274 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:timers|value" +msgid "`{timers}` timers running across `{guilds}` guilds." +msgstr "" + +#: src/modules/meta/cog.py:283 +msgctxt "cmd:nerd|section:bot_stats|name" +msgid "Bot Stats" +msgstr "" + +#: src/modules/meta/cog.py:293 +msgctxt "cmd:nerd|field:shard|name" +msgid "Shard" +msgstr "" + +#: src/modules/meta/cog.py:296 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:shard|value" +msgid "`{shard_number}` of `{shard_count}`" +msgstr "" + +#: src/modules/meta/cog.py:302 +msgctxt "cmd:nerd|field:guilds|name" +msgid "Guilds" +msgstr "" + +#: src/modules/meta/cog.py:305 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:guilds|value" +msgid "`{guilds}` guilds with `{count}` total members." +msgstr "" + +#: src/modules/meta/cog.py:315 +msgctxt "cmd:nerd|field:version|name" +msgid "Leo Version" +msgstr "" + +#: src/modules/meta/cog.py:318 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:version|value" +msgid "`v{version}`, last updated {timestamp} from `{reason}`." +msgstr "" + +#: src/modules/meta/cog.py:330 +msgctxt "cmd:nerd|field:py_version|name" +msgid "Py Version" +msgstr "" + +#: src/modules/meta/cog.py:333 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:py_version|value" +msgid "`{py_version}` running discord.py `{dpy_version}`" +msgstr "" + +#: src/modules/meta/cog.py:341 +msgctxt "cmd:nerd|section:process_section|name" +msgid "Process" +msgstr "" + +#: src/modules/meta/cog.py:351 +msgctxt "cmd:nerd|field:handling|name" +msgid "Handling" +msgstr "" + +#: src/modules/meta/cog.py:354 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:handling|name" +msgid "`{events}` active commands and events." +msgstr "" + +#: src/modules/meta/cog.py:362 +msgctxt "cmd:nerd|field:working|name" +msgid "Working On" +msgstr "" + +#: src/modules/meta/cog.py:365 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:working|value" +msgid "`{tasks}` background tasks." +msgstr "" + +#: src/modules/meta/cog.py:371 +msgctxt "cmd:nerd|field:objects|name" +msgid "Objects" +msgstr "" + +#: src/modules/meta/cog.py:374 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:objects|value" +msgid "`{objects}` loaded in memory." +msgstr "" + +#: src/modules/meta/cog.py:384 +msgctxt "cmd:nerd|field:uptime|name" +msgid "Uptime" +msgstr "" + +#: src/modules/meta/cog.py:390 +msgctxt "cmd:nerd|section:shard_section|name" +msgid "Shard Statistics" +msgstr "" + +#: src/modules/meta/help_sections.py:40 +#, possible-python-brace-format +msgctxt "helptext|level:member|mode:study" +msgid "" +"\n" +" {config_emoji} Personal Configuration\n" +" *View or adjust personal settings with the {cmd_my} command.*\n" +" {cmd_my_timezone}: Timezone used to display your stats and set reminders.\n" +" {cmd_my_language}: Your preferred language for commands and interactions.\n" +"\n" +"\n" +" {stats_emoji} Statistics\n" +" *Study in voice channels to earn activity ranks and compete on the leaderboard!*\n" +" {cmd_me}: View your personal study profile and set your profile tags.\n" +" {cmd_stats}: View study statistics for the current and past weeks or months.\n" +" {cmd_ranks}: See the list of activity ranks.\n" +" {cmd_leaderboard}: Compete with other members on the server leaderboards.\n" +"\n" +"\n" +" {coin} Economy\n" +" *Earn coins through studying, then spend them on some well deserved rewards!*\n" +" {cmd_send}: Send your {coin} to another member.\n" +" {cmd_shop}: Purchase server roles with your {coin}.\n" +" {cmd_room}: Rent a private voice channel for you and your friends.\n" +"\n" +"\n" +" {utility_emoji} Utilities\n" +" *Some other utilities to help you stay productive while studying!*\n" +" {cmd_reminders}: Ask me to remind you about that important task!\n" +" {cmd_tasklist}: Create tasks and feel the satisfaction of checking them off.\n" +" {cmd_timers}: Stay productive using the classic *pomodoro technique*!\n" +" {cmd_schedule}: Schedule a shared study session and keep yourself accountable!\n" +" " +msgstr "" + +#: src/modules/meta/help_sections.py:73 +#, possible-python-brace-format +msgctxt "helptext|page:admin" +msgid "" +"\n" +" Use {cmd_dashboard} to see an overview of the server configuration, and quickly jump to the feature configuration panels to modify settings.\n" +"\n" +" Most settings may also be directly set through the `/config` and `/admin config` commands, depending on whether the settings require moderator (manage server) or admin level permissions, respectively.\n" +"\n" +" Other relevant commands for guild configuration below:\n" +" `/editshop`: Add/Edit/Remove colour roles from the {coin} shop.\n" +" `/ranks`: Add/Edit/Refresh/Remove activity ranks.\n" +" `/pomodoro`: Add/Edit/Remove Pomodoro timers in voice channels.\n" +" `/rolemenus`: Allow members to equip roles from customisable messages.\n" +" `/economy balance`: Display and modify LionCoin balance for members and roles.\n" +" " +msgstr "" + +#: src/modules/meta/help_sections.py:112 +msgctxt "helptext|level:member|title" +msgid "Command Summary (for members)" +msgstr "" + +#: src/modules/meta/help_sections.py:140 +msgctxt "helptext|level:admin|title" +msgid "Command Summary (for server admins)" +msgstr "" + +#: src/modules/meta/helpui.py:47 +msgctxt "ui:help|button:member_page|label" +msgid "Member Page" +msgstr "" + +#: src/modules/meta/helpui.py:59 +msgctxt "ui:help|button:admin_page|label" +msgid "Admin Page" +msgstr "" diff --git a/locales/ko/LC_MESSAGES/ranks.po b/locales/ko/LC_MESSAGES/ranks.po new file mode 100644 index 000000000000..1cef27808135 --- /dev/null +++ b/locales/ko/LC_MESSAGES/ranks.po @@ -0,0 +1,1164 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# GAHYEON SEO, 2024 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: GAHYEON SEO, 2024\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/ranks/cog.py:76 +msgctxt "cmd:configure_ranks|param:rank_type|choice:voice" +msgid "Voice" +msgstr "음성" + +#: src/modules/ranks/cog.py:77 +msgctxt "cmd:configure_ranks|param:rank_type|choice:xp" +msgid "XP" +msgstr "경험치" + +#: src/modules/ranks/cog.py:78 +msgctxt "cmd:configure_ranks|param:rank_type|choice:message" +msgid "Message" +msgstr "메세지" + +#: src/modules/ranks/cog.py:351 +#, possible-python-brace-format +msgctxt "eventlog|event:rank_check|error:remove_failed" +msgid "Failed to remove old rank roles: `{error}`" +msgstr "" + +#: src/modules/ranks/cog.py:375 +#, possible-python-brace-format +msgctxt "eventlog|event:rank_check|error:add_failed" +msgid "Failed to add new rank role: `{error}`" +msgstr "" + +#: src/modules/ranks/cog.py:380 +msgctxt "eventlog|event:rank_check|error:add_impossible" +msgid "" +"Could not assign new activity rank role. Lacking permissions or invalid " +"role." +msgstr "" + +#: src/modules/ranks/cog.py:386 +msgctxt "eventlog|event:rank_check|error:permissions" +msgid "" +"Could not update activity rank roles, I lack the 'Manage Roles' permission." +msgstr "" + +#: src/modules/ranks/cog.py:398 +msgctxt "eventlog|event:rank_check|name" +msgid "Member Activity Rank Roles Updated" +msgstr "" + +#: src/modules/ranks/cog.py:478 +#, possible-python-brace-format +msgctxt "eventlog|event:new_rank|error:remove_failed" +msgid "Failed to remove old rank roles: `{error}`" +msgstr "" + +#: src/modules/ranks/cog.py:502 +#, possible-python-brace-format +msgctxt "eventlog|event:new_rank|error:add_failed" +msgid "Failed to add new rank role: `{error}`" +msgstr "" + +#: src/modules/ranks/cog.py:507 +msgctxt "eventlog|event:new_rank|error:add_impossible" +msgid "" +"Could not assign new activity rank role. Lacking permissions or invalid " +"role." +msgstr "" + +#: src/modules/ranks/cog.py:513 +msgctxt "eventlog|event:new_rank|error:permissions" +msgid "" +"Could not update activity rank roles, I lack the 'Manage Roles' permission." +msgstr "" + +#: src/modules/ranks/cog.py:548 +msgctxt "eventlog|event:new_rank|error:notify_failed" +msgid "Could not notify member." +msgstr "" + +#: src/modules/ranks/cog.py:555 +msgctxt "eventlog|event:new_rank|name" +msgid "Member Achieved Activity rank" +msgstr "" + +#: src/modules/ranks/cog.py:559 +#, possible-python-brace-format +msgctxt "eventlog|event:new_rank|desc" +msgid "{member} earned the new activity rank {rank}" +msgstr "" + +#: src/modules/ranks/cog.py:587 +msgctxt "event:rank_update|embed:notify" +msgid "New Activity Rank Attained!" +msgstr "" + +#: src/modules/ranks/cog.py:692 +msgctxt "rank_refresh|error:cannot_chunk|desc" +msgid "Could not retrieve member list from Discord. Please try again later." +msgstr "" + +#: src/modules/ranks/cog.py:705 +msgctxt "rank_refresh|error:roles_dne|desc" +msgid "Some ranks have invalid or deleted roles! Please remove them first." +msgstr "" + +#: src/modules/ranks/cog.py:715 +#, possible-python-brace-format +msgctxt "rank_refresh|error:unassignable_roles|desc" +msgid "" +"I have insufficient permissions to assign the following role(s):\n" +"{roles}" +msgstr "" + +#: src/modules/ranks/cog.py:785 +msgctxt "rank_refresh|remove_roles|audit" +msgid "Removing invalid rank role." +msgstr "" + +#: src/modules/ranks/cog.py:799 +#, possible-python-brace-format +msgctxt "rank_refresh|remove_roles|small_error" +msgid "*Could not remove ranks from {member}*" +msgstr "" + +#: src/modules/ranks/cog.py:806 +msgctxt "rank_refresh|remove_roles|error:too_many_issues" +msgid "" +"Too many issues occurred while removing ranks! Please check my permissions " +"and try again in a few minutes." +msgstr "" + +#: src/modules/ranks/cog.py:820 +msgctxt "rank_refresh|add_roles|audit" +msgid "Adding rank role from refresh" +msgstr "" + +#: src/modules/ranks/cog.py:834 +#, possible-python-brace-format +msgctxt "rank_refresh|add_roles|small_error" +msgid "*Could not add {role} to {member}*" +msgstr "" + +#: src/modules/ranks/cog.py:841 +msgctxt "rank_refresh|add_roles|error:too_many_issues" +msgid "" +"Too many issues occurred while adding ranks! Please check my permissions and" +" try again in a few minutes." +msgstr "" + +#: src/modules/ranks/cog.py:869 +msgctxt "eventlog|event:rank_refresh|name" +msgid "Activity Ranks Refreshed" +msgstr "" + +#: src/modules/ranks/cog.py:873 +#, possible-python-brace-format +msgctxt "eventlog|event:rank_refresh|desc" +msgid "" +"{actor} refresh member activity ranks.\n" +"**`{removed}`** invalid rank roles removed.\n" +"**`{added}`** new rank roles added." +msgstr "" + +#. ---------- Commands ---------- +#: src/modules/ranks/cog.py:884 +msgctxt "cmd:ranks" +msgid "ranks" +msgstr "" + +#: src/modules/ranks/cog.py:916 +msgctxt "cmd:configure_ranks" +msgid "ranks" +msgstr "" + +#: src/modules/ranks/cog.py:917 +msgctxt "cmd:configure_ranks|desc" +msgid "Configure Activity Ranks" +msgstr "" + +#: src/modules/ranks/cog.py:976 +#, possible-python-brace-format +msgctxt "" +"cmd:configure_ranks|response:updated|setting:notification|withdm_withchannel" +msgid "" +"Rank update notifications will be sent via **direct message** when possible," +" otherwise to {channel}" +msgstr "" + +#: src/modules/ranks/cog.py:982 +msgctxt "" +"cmd:configure_ranks|response:updated|setting:notification|withdm_nochannel" +msgid "Rank update notifications will be sent via **direct message**." +msgstr "" + +#: src/modules/ranks/cog.py:988 +#, possible-python-brace-format +msgctxt "" +"cmd:configure_ranks|response:updated|setting:notification|nodm_withchannel" +msgid "Rank update notifications will be sent to {channel}." +msgstr "" + +#: src/modules/ranks/cog.py:993 +msgctxt "" +"cmd:configure_ranks|response:updated|setting:notification|nodm_nochannel" +msgid "Members will not be notified when their activity rank updates." +msgstr "" + +#: src/modules/ranks/utils.py:13 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:role_name" +msgid "{role_name}" +msgstr "" + +#: src/modules/ranks/utils.py:14 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:guild_name" +msgid "{guild_name}" +msgstr "" + +#: src/modules/ranks/utils.py:15 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:user_name" +msgid "{user_name}" +msgstr "" + +#: src/modules/ranks/utils.py:16 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:role_id" +msgid "{role_id}" +msgstr "" + +#: src/modules/ranks/utils.py:17 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:guild_id" +msgid "{guild_id}" +msgstr "" + +#: src/modules/ranks/utils.py:18 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:user_id" +msgid "{user_id}" +msgstr "" + +#: src/modules/ranks/utils.py:19 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:role_mention" +msgid "{role_mention}" +msgstr "" + +#: src/modules/ranks/utils.py:20 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:user_mention" +msgid "{user_mention}" +msgstr "" + +#: src/modules/ranks/utils.py:21 +#, possible-python-brace-format +msgctxt "formatstring:rank_message|key:requires" +msgid "{rank_requires}" +msgstr "" + +#: src/modules/ranks/settings.py:27 +msgctxt "guildset:rank_type|output:voice" +msgid "`Voice`" +msgstr "" + +#: src/modules/ranks/settings.py:28 +msgctxt "guildset:rank_type|output:xp" +msgid "`Exp`" +msgstr "" + +#: src/modules/ranks/settings.py:29 +msgctxt "guildset:rank_type|output:message" +msgid "`Messages`" +msgstr "" + +#: src/modules/ranks/settings.py:32 +msgctxt "guildset:rank_type|input_format:voice" +msgid "Voice" +msgstr "" + +#: src/modules/ranks/settings.py:33 +msgctxt "guildset:rank_type|input_format:xp" +msgid "Exp" +msgstr "" + +#: src/modules/ranks/settings.py:34 +msgctxt "guildset:rank_type|input_format:message" +msgid "Messages" +msgstr "" + +#: src/modules/ranks/settings.py:37 +msgctxt "guildset:rank_type|input_pattern:voice" +msgid "voice|study" +msgstr "" + +#: src/modules/ranks/settings.py:38 +msgctxt "guildset:rank_type|input_pattern:voice" +msgid "text|message|messages" +msgstr "" + +#: src/modules/ranks/settings.py:39 +msgctxt "guildset:rank_type|input_pattern:xp" +msgid "xp|exp|experience" +msgstr "" + +#: src/modules/ranks/settings.py:47 +msgctxt "guildset:rank_type" +msgid "rank_type" +msgstr "" + +#: src/modules/ranks/settings.py:50 +msgctxt "guildset:rank_type|desc" +msgid "" +"The type of statistic (messages | xp | voice hours) used to determine " +"activity ranks." +msgstr "" + +#: src/modules/ranks/settings.py:54 +msgctxt "guildset:rank_type|long_desc" +msgid "" +"Which statistic is used to reward activity ranks.\n" +"`Voice` is the number of hours active in tracked voice channels, `Exp` is a measure of message activity, and `Message` is a simple count of messages sent." +msgstr "" + +#: src/modules/ranks/settings.py:61 +msgctxt "guildset:rank_type|accepts" +msgid "Voice/Exp/Messages" +msgstr "" + +#: src/modules/ranks/settings.py:73 +msgctxt "guildset:rank_type|set_response|type:voice" +msgid "Members will be awarded activity ranks based on `Voice Activity`." +msgstr "" + +#: src/modules/ranks/settings.py:78 +msgctxt "guildset:rank_type|set_response|type:messages" +msgid "Members will be awarded activity ranks based on `Messages Sent`." +msgstr "" + +#: src/modules/ranks/settings.py:83 +msgctxt "guildset:rank_type|set_response|type:xp" +msgid "Members will be awarded activity ranks based on `Message XP Earned`." +msgstr "" + +#: src/modules/ranks/settings.py:93 +#, possible-python-brace-format +msgctxt "guildset:rank_channel|set_using" +msgid "{cmd} or option menu below." +msgstr "" + +#: src/modules/ranks/settings.py:106 +msgctxt "guildset:rank_channel" +msgid "rank_channel" +msgstr "" + +#: src/modules/ranks/settings.py:109 +msgctxt "guildset:rank_channel|desc" +msgid "The channel in which to send rank update notifications." +msgstr "" + +#: src/modules/ranks/settings.py:113 +msgctxt "guildset:rank_channel|long_desc" +msgid "" +"Whenever a user advances a rank, a congratulatory message will be sent in " +"this channel, if set. If `dm_ranks` is enabled, this channel will only be " +"used when the user has opted not to receive DM notifications, or is " +"otherwise unreachable." +msgstr "" + +#: src/modules/ranks/settings.py:119 +msgctxt "guildset:rank_channel|accepts" +msgid "Rank notification channel name or id." +msgstr "" + +#: src/modules/ranks/settings.py:131 +#, possible-python-brace-format +msgctxt "guildset:rank_channel|set_response|set" +msgid "Rank update messages will be sent to {channel}." +msgstr "" + +#: src/modules/ranks/settings.py:136 +msgctxt "guildset:rank_channel|set_response|unset" +msgid "" +"Rank update messages will be ignored or sent via DM (if `dm_ranks` is " +"enabled)." +msgstr "" + +#: src/modules/ranks/settings.py:146 +#, possible-python-brace-format +msgctxt "guildset:rank_channel|set_using" +msgid "{cmd} or channel selector below." +msgstr "" + +#: src/modules/ranks/settings.py:157 +msgctxt "guildset:dm_ranks" +msgid "dm_ranks" +msgstr "" + +#: src/modules/ranks/settings.py:160 +msgctxt "guildset:dm_ranks|desc" +msgid "" +"Whether to send rank advancement notifications through direct messages." +msgstr "" + +#: src/modules/ranks/settings.py:164 +msgctxt "guildset:dm_ranks|long_desc" +msgid "" +"If enabled, congratulatory messages for rank advancement will be direct " +"messaged to the user, instead of being sent to the configured " +"`rank_channel`." +msgstr "" + +#: src/modules/ranks/settings.py:178 +msgctxt "guildset:dm_ranks|response:true" +msgid "I will direct message members upon rank advancement." +msgstr "" + +#: src/modules/ranks/settings.py:183 +msgctxt "guildset:dm_ranks|response:false" +msgid "I will never direct message members upon rank advancement." +msgstr "" + +#: src/modules/ranks/ui/preview.py:75 +msgctxt "ui:rank_preview|button:edit|error:role_deleted" +msgid "" +"The role underlying this rank no longer exists! Please select a new role " +"from the role menu." +msgstr "" + +#: src/modules/ranks/ui/preview.py:82 +msgctxt "ui:rank_preview|button:edit|error:role_not_assignable" +msgid "" +"I do not have permission to edit the underlying role! Please select a new " +"role from the role menu, or ensure my top role is above the selected role." +msgstr "" + +#: src/modules/ranks/ui/preview.py:91 +msgctxt "ui:rank_preview|button:edit|error|title" +msgid "Failed to edit rank!" +msgstr "" + +#: src/modules/ranks/ui/preview.py:109 +msgctxt "ui:rank_preview|button:edit|label" +msgid "Edit" +msgstr "" + +#: src/modules/ranks/ui/preview.py:142 +#, possible-python-brace-format +msgctxt "ui:rank_preview|button:delete|response:success|description|with_role" +msgid "" +"You have deleted the rank {mention}. Press the button below to also delete " +"the role." +msgstr "" + +#: src/modules/ranks/ui/preview.py:147 +#, possible-python-brace-format +msgctxt "ui:rank_preview|button:delete|response:success|description|no_role" +msgid "You have deleted the rank {mention}." +msgstr "" + +#: src/modules/ranks/ui/preview.py:153 +msgctxt "ui:rank_preview|button:delete|response:success|title" +msgid "Rank Deleted" +msgstr "" + +#: src/modules/ranks/ui/preview.py:163 +msgctxt "" +"ui:rank_preview|button:delete|response:success|button:delete_role|label" +msgid "Delete Role" +msgstr "" + +#: src/modules/ranks/ui/preview.py:179 +#, possible-python-brace-format +msgctxt "" +"ui:rank_preview|button:delete|response:success|button:delete_role|response:errored|desc" +msgid "" +"You have deleted the rank **{name}**! Could not delete the role due to an " +"unknown error." +msgstr "" + +#: src/modules/ranks/ui/preview.py:185 +#, possible-python-brace-format +msgctxt "" +"ui:rank_preview|button:delete|response:success|button:delete_role|response:success|desc" +msgid "You have deleted the rank **{name}** along with the underlying role." +msgstr "" + +#: src/modules/ranks/ui/preview.py:202 +msgctxt "ui:rank_preview|button:delete|label" +msgid "Delete Rank" +msgstr "" + +#: src/modules/ranks/ui/preview.py:232 +msgctxt "ui:rank_preview|menu:roles|error:not_assignable|suberror:is_default" +msgid "The @everyone role cannot be removed, and cannot be a rank!" +msgstr "" + +#: src/modules/ranks/ui/preview.py:237 +msgctxt "ui:rank_preview|menu:roles|error:not_assignable|suberror:is_managed" +msgid "" +"The role is managed by another application or integration, and cannot be a " +"rank!" +msgstr "" + +#: src/modules/ranks/ui/preview.py:242 +msgctxt "" +"ui:rank_preview|menu:roles|error:not_assignable|suberror:no_permissions" +msgid "" +"I do not have the `MANAGE_ROLES` permission in this server, so I cannot " +"manage ranks!" +msgstr "" + +#: src/modules/ranks/ui/preview.py:247 +msgctxt "ui:rank_preview|menu:roles|error:not_assignable|suberror:above_me" +msgid "" +"This role is above my top role in the role hierarchy, so I cannot add or " +"remove it!" +msgstr "" + +#: src/modules/ranks/ui/preview.py:253 +msgctxt "ui:rank_preview|menu:roles|error:not_assignable|suberror:other" +msgid "I am not able to manage the selected role, so it cannot be a rank!" +msgstr "" + +#: src/modules/ranks/ui/preview.py:259 +msgctxt "ui:rank_preview|menu:roles|error:not_assignable|title" +msgid "Could not update rank!" +msgstr "" + +#: src/modules/ranks/ui/preview.py:269 +msgctxt "ui:rank_preview|menu:roles|placeholder" +msgid "Update Rank Role" +msgstr "" + +#: src/modules/ranks/ui/preview.py:281 +msgctxt "ui:rank_preview|embed|title" +msgid "Rank Information" +msgstr "" + +#: src/modules/ranks/ui/preview.py:288 +msgctxt "ui:rank_preview|embed|field:role|name" +msgid "Role" +msgstr "" + +#: src/modules/ranks/ui/preview.py:295 +msgctxt "ui:rank_preview|embed|field:required|name" +msgid "Required" +msgstr "" + +#: src/modules/ranks/ui/preview.py:302 +msgctxt "ui:rank_preview|embed|field:reward|name" +msgid "Reward" +msgstr "" + +#: src/modules/ranks/ui/preview.py:311 +msgctxt "ui:rank_preview|embed|field:message" +msgid "Congratulatory Message" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:134 +msgctxt "ui:refresh_ranks|embed|title:errored" +msgid "Could not refresh the server ranks!" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:142 +msgctxt "ui:refresh_ranks|embed|title:done" +msgid "Rank refresh complete!" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:148 +msgctxt "ui:refresh_ranks|embed|title:working" +msgid "Refreshing your server ranks, please wait." +msgstr "" + +#: src/modules/ranks/ui/refresh.py:166 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:ranks" +msgid "**Loading server ranks:** {emoji}" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:176 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:members" +msgid "**Loading server members:** {emoji}" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:186 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:roles" +msgid "**Loading rank roles:** {emoji}" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:196 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:compute" +msgid "**Computing correct ranks:** {emoji}" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:207 +msgctxt "ui:refresh_ranks|embed|field:remove|name" +msgid "Removing invalid rank roles from members" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:211 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|field:remove|value" +msgid "{progress} {done}/{total} removed" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:222 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:remove" +msgid "**Removed invalid ranks:** {done}/{target}" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:230 +msgctxt "ui:refresh_ranks|embed|field:add|name" +msgid "Giving members their rank roles" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:234 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|field:add|value" +msgid "{progress} {done}/{total} given" +msgstr "" + +#: src/modules/ranks/ui/refresh.py:245 +#, possible-python-brace-format +msgctxt "ui:refresh_ranks|embed|line:add" +msgid "**Updated member ranks:** {done}/{target}" +msgstr "" + +#: src/modules/ranks/ui/config.py:42 +msgctxt "ui:rankconfigui|check|not_permitted" +msgid "You have insufficient server permissions to use this UI!" +msgstr "" + +#: src/modules/ranks/ui/config.py:64 +msgctxt "ui:rank_config|button:overview|label" +msgid "Edit Ranks" +msgstr "" + +#: src/modules/ranks/ui/config.py:83 +msgctxt "ui:rank_config|menu:types|placeholder" +msgid "Select Statistic Type" +msgstr "" + +#: src/modules/ranks/ui/config.py:91 +msgctxt "ui:rank_config|menu:types|option:voice" +msgid "Voice Activity" +msgstr "" + +#: src/modules/ranks/ui/config.py:99 +msgctxt "ui:rank_config|menu:types|option:xp" +msgid "XP Earned" +msgstr "" + +#: src/modules/ranks/ui/config.py:107 +msgctxt "ui:rank_config|menu:types|option:messages" +msgid "Messages Sent" +msgstr "" + +#: src/modules/ranks/ui/config.py:128 +msgctxt "ui:rank_config|menu:channels|placeholder" +msgid "Select Rank Notification Channel" +msgstr "" + +#: src/modules/ranks/ui/config.py:136 +msgctxt "ui:rank_config|embed|title" +msgid "Ranks Configuration Panel" +msgstr "" + +#: src/modules/ranks/ui/config.py:173 +msgctxt "dash:rank|title" +msgid "Rank Configuration ({commands[admin config ranks]})" +msgstr "" + +#: src/modules/ranks/ui/config.py:177 +msgctxt "dash:rank|dropdown|placeholder" +msgid "Activity Rank Panel" +msgstr "" + +#: src/modules/ranks/ui/templates.py:20 src/modules/ranks/ui/editor.py:207 +#, possible-python-brace-format +msgctxt "ui:rank_editor|input:message|default|type:voice" +msgid "" +"Congratulations {user_mention}!\n" +"For working hard for **{requires}**, you have achieved the rank of **{role_name}** in **{guild_name}**! Keep up the good work." +msgstr "" + +#: src/modules/ranks/ui/templates.py:27 +#, possible-python-brace-format +msgctxt "ui:rank_editor|input:message|default|type:xp" +msgid "" +"Congratulations {user_mention}!\n" +"For earning **{requires}**, you have achieved the guild rank of **{role_name}** in **{guild_name}**!" +msgstr "" + +#: src/modules/ranks/ui/templates.py:34 +#, possible-python-brace-format +msgctxt "ui:rank_editor|input:message|default|type:msg" +msgid "" +"Congratulations {user_mention}!\n" +"For sending **{requires}**, you have achieved the guild rank of **{role_name}** in **{guild_name}**!" +msgstr "" + +#: src/modules/ranks/ui/templates.py:47 +msgctxt "rank_autocreate|template|type:study_voice|level:1" +msgid "Voice Level 1 (1h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:55 +msgctxt "rank_autocreate|template|type:study_voice|level:2" +msgid "Voice Level 2 (3h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:63 +msgctxt "rank_autocreate|template|type:study_voice|level:3" +msgid "Voice Level 3 (6h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:71 +msgctxt "rank_autocreate|template|type:study_voice|level:4" +msgid "Voice Level 4 (10h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:79 +msgctxt "rank_autocreate|template|type:study_voice|level:5" +msgid "Voice Level 5 (20h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:87 +msgctxt "rank_autocreate|template|type:study_voice|level:6" +msgid "Voice Level 6 (40h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:95 +msgctxt "rank_autocreate|template|type:study_voice|level:7" +msgid "Voice Level 7 (80h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:106 +msgctxt "rank_autocreate|template|type:general_voice|level:1" +msgid "Voice Level 1 (1h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:114 +msgctxt "rank_autocreate|template|type:general_voice|level:2" +msgid "Voice Level 2 (2h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:122 +msgctxt "rank_autocreate|template|type:general_voice|level:3" +msgid "Voice Level 3 (4h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:130 +msgctxt "rank_autocreate|template|type:general_voice|level:4" +msgid "Voice Level 4 (8h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:138 +msgctxt "rank_autocreate|template|type:general_voice|level:5" +msgid "Voice Level 5 (16h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:146 +msgctxt "rank_autocreate|template|type:general_voice|level:6" +msgid "Voice Level 6 (32h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:154 +msgctxt "rank_autocreate|template|type:general_voice|level:7" +msgid "Voice Level 7 (64h)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:169 +msgctxt "rank_autocreate|template|type:xp|level:1" +msgid "XP Level 1 (2000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:177 +msgctxt "rank_autocreate|template|type:xp|level:2" +msgid "XP Level 2 (4000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:185 +msgctxt "rank_autocreate|template|type:xp|level:3" +msgid "XP Level 3 (8000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:193 +msgctxt "rank_autocreate|template|type:xp|level:4" +msgid "XP Level 4 (16000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:201 +msgctxt "rank_autocreate|template|type:xp|level:5" +msgid "XP Level 5 (32000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:209 +msgctxt "rank_autocreate|template|type:xp|level:6" +msgid "XP Level 6 (64000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:217 +msgctxt "rank_autocreate|template|type:xp|level:7" +msgid "XP Level 7 (128000)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:232 +msgctxt "rank_autocreate|template|type:msg|level:1" +msgid "Message Level 1 (200)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:240 +msgctxt "rank_autocreate|template|type:msg|level:2" +msgid "Message Level 2 (400)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:248 +msgctxt "rank_autocreate|template|type:msg|level:3" +msgid "Message Level 3 (800)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:256 +msgctxt "rank_autocreate|template|type:msg|level:4" +msgid "Message Level 4 (1600)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:264 +msgctxt "rank_autocreate|template|type:msg|level:5" +msgid "Message Level 5 (3200)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:272 +msgctxt "rank_autocreate|template|type:msg|level:6" +msgid "Message Level 6 (6400)" +msgstr "" + +#: src/modules/ranks/ui/templates.py:280 +msgctxt "rank_autocreate|template|type:msg|level:7" +msgid "Message Level 7 (12800)" +msgstr "" + +#: src/modules/ranks/ui/overview.py:97 +msgctxt "ui:rank_overview|button:auto|error:already_created" +msgid "The rank roles have already been created!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:105 +msgctxt "ui:rank_overview|button:auto|error:my_permissions" +msgid "I lack the 'Manage Roles' permission required to create rank roles!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:114 +msgctxt "ui:rank_overview|button:auto|error:invalid_template" +msgid "Unable to determine rank role template!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:137 +msgctxt "ui:rank_overview|button|auto|role_creation|error:forbidden" +msgid "" +"An error occurred while autocreating rank roles!\n" +"I lack the 'Manage Roles' permission required to create rank roles!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:145 +msgctxt "ui:rank_overview|button:auto|role_creation|error:unknown" +msgid "" +"An error occurred while autocreating rank roles!\n" +"Please check the server has enough space for new roles and try again." +msgstr "" + +#: src/modules/ranks/ui/overview.py:152 +#, possible-python-brace-format +msgctxt "ui:rank_overview|button:auto|role_creation|success" +msgid "" +"Successfully created the following rank roles:\n" +"{roles}" +msgstr "" + +#: src/modules/ranks/ui/overview.py:162 +msgctxt "ui:rank_overview|button:auto|label" +msgid "Auto Create" +msgstr "" + +#: src/modules/ranks/ui/overview.py:178 +msgctxt "ui:rank_overview|button:refresh|label" +msgid "Refresh Member Ranks" +msgstr "" + +#: src/modules/ranks/ui/overview.py:190 +msgctxt "ui:rank_overview|button:clear|confirm" +msgid "Are you sure you want to **delete all activity ranks** in this server?" +msgstr "" + +#: src/modules/ranks/ui/overview.py:195 +msgctxt "ui:rank_overview|button:clear|confirm|button:yes" +msgid "Yes, clear ranks" +msgstr "" + +#: src/modules/ranks/ui/overview.py:201 +msgctxt "ui:rank_overview|button:clear|confirm|button:no" +msgid "Cancel" +msgstr "" + +#: src/modules/ranks/ui/overview.py:217 +msgctxt "ui:rank_overview|button:clear|label" +msgid "Clear Ranks" +msgstr "" + +#: src/modules/ranks/ui/overview.py:231 +msgctxt "ui:rank_overview|button:create|error:my_permissions" +msgid "I lack the 'Manage Roles' permission required to create rank roles!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:240 +#, possible-python-brace-format +msgctxt "ui:rank_overview|button:create|success" +msgid "Created a new rank {role}" +msgstr "" + +#: src/modules/ranks/ui/overview.py:257 +msgctxt "ui:rank_overview|button:create|label" +msgid "Create Rank" +msgstr "" + +#: src/modules/ranks/ui/overview.py:300 +msgctxt "ui:rank_overview|menu:roles|error:not_assignable|suberror:is_default" +msgid "The @everyone role cannot be removed, and cannot be a rank!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:305 +msgctxt "ui:rank_overview|menu:roles|error:not_assignable|suberror:is_managed" +msgid "" +"The role is managed by another application or integration, and cannot be a " +"rank!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:310 +msgctxt "" +"ui:rank_overview|menu:roles|error:not_assignable|suberror:no_permissions" +msgid "" +"I do not have the `MANAGE_ROLES` permission in this server, so I cannot " +"manage ranks!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:315 +msgctxt "ui:rank_overview|menu:roles|error:not_assignable|suberror:above_me" +msgid "" +"This role is above my top role in the role hierarchy, so I cannot add or " +"remove it!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:321 +msgctxt "ui:rank_overview|menu:roles|error:not_assignable|suberror:other" +msgid "I am not able to manage the selected role, so it cannot be a rank!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:327 +msgctxt "ui:rank_overview|menu:roles|error:not_assignable|title" +msgid "Could not create rank!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:351 +msgctxt "ui:rank_overview|menu:roles|placeholder" +msgid "Create from role" +msgstr "" + +#: src/modules/ranks/ui/overview.py:368 +msgctxt "ui:rank_overview|menu:ranks|placeholder" +msgid "View or edit rank" +msgstr "" + +#: src/modules/ranks/ui/overview.py:454 +msgctxt "ui:rank_overview|embed:noranks|desc" +msgid "No activity ranks have been set up!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:459 +msgctxt "ui:rank_overview|embed:noranks|desc|admin_addendum" +msgid "" +"Press 'Auto Create' to automatically create a standard heirachy of ranks.\n" +"To manually create ranks, press 'Create Rank' below, or select a role!" +msgstr "" + +#: src/modules/ranks/ui/overview.py:468 +#, possible-python-brace-format +msgctxt "ui:rank_overview|embed|title|type:voice" +msgid "Voice Ranks in {guild_name}" +msgstr "" + +#: src/modules/ranks/ui/overview.py:473 +#, possible-python-brace-format +msgctxt "ui:rank_overview|embed|title|type:xp" +msgid "XP ranks in {guild_name}" +msgstr "" + +#: src/modules/ranks/ui/overview.py:478 +#, possible-python-brace-format +msgctxt "ui:rank_overview|embed|title|type:message" +msgid "Message ranks in {guild_name}" +msgstr "" + +#: src/modules/ranks/ui/overview.py:490 +msgctxt "ui:rank_overview|embed|field:note|name" +msgid "Note" +msgstr "" + +#: src/modules/ranks/ui/overview.py:496 +#, possible-python-brace-format +msgctxt "ui:rank_overview|embed|field:note|value:with_season" +msgid "Ranks are determined by activity since {timestamp}." +msgstr "" + +#: src/modules/ranks/ui/overview.py:503 +#, possible-python-brace-format +msgctxt "ui:rank_overview|embed|field:note|value:without_season" +msgid "" +"Ranks are determined by *all-time* statistics.\n" +"To reward ranks from a later time (e.g. to have monthly/quarterly/yearly ranks) set the `season_start` with {stats_cmd}" +msgstr "" + +#: src/modules/ranks/ui/overview.py:510 +msgctxt "ui:rank_overview|embed|field:note|value|voice_addendum" +msgid "" +"Also note that ranks will only be updated when a member leaves a tracked " +"voice channel! Use the **Refresh Member Ranks** button below to update all " +"members manually." +msgstr "" + +#: src/modules/ranks/ui/editor.py:33 +msgctxt "ui:rank_editor|input:role_name|label" +msgid "Role Name" +msgstr "" + +#: src/modules/ranks/ui/editor.py:37 +msgctxt "ui:rank_editor|input:role_name|placeholder" +msgid "Name of the awarded guild role" +msgstr "" + +#: src/modules/ranks/ui/editor.py:53 +msgctxt "ui:rank_editor|input:role_colour|label" +msgid "Role Colour" +msgstr "" + +#: src/modules/ranks/ui/editor.py:57 +msgctxt "ui:rank_editor|input:role_colour|placeholder" +msgid "Colour of the awarded guild role, e.g. #AB1321" +msgstr "" + +#: src/modules/ranks/ui/editor.py:69 +msgctxt "ui:rank_editor|input:role_colour|error:parse" +msgid "" +"`role_colour`: Could not parse colour! Please use `#` format e.g. " +"`#AB1325`." +msgstr "" + +#: src/modules/ranks/ui/editor.py:88 +msgctxt "ui:rank_editor|type:voice|input:requires|label" +msgid "Required Voice Hours" +msgstr "" + +#: src/modules/ranks/ui/editor.py:92 +msgctxt "ui:rank_editor|type:voice|input:requires|placeholder" +msgid "Number of voice hours before awarding this rank" +msgstr "" + +#: src/modules/ranks/ui/editor.py:97 +msgctxt "ui:rank_editor|type:xp|input:requires|label" +msgid "Required XP" +msgstr "" + +#: src/modules/ranks/ui/editor.py:101 +msgctxt "ui:rank_editor|type:xp|input:requires|placeholder" +msgid "Amount of XP needed before obtaining this rank" +msgstr "" + +#: src/modules/ranks/ui/editor.py:106 +msgctxt "ui:rank_editor|type:message|input:requires|label" +msgid "Required Message Count" +msgstr "" + +#: src/modules/ranks/ui/editor.py:110 +msgctxt "ui:rank_editor|type:message|input:requires|placeholder" +msgid "Number of messages needed before awarding rank" +msgstr "" + +#: src/modules/ranks/ui/editor.py:126 +msgctxt "ui:rank_editor|type:voice|input:requires|error:parse" +msgid "" +"`requires`: Could not parse provided minimum time! Please write a number of " +"hours." +msgstr "" + +#: src/modules/ranks/ui/editor.py:137 +msgctxt "ui:rank_editor|type:message|input:requires|error:parse" +msgid "" +"`requires`: Could not parse provided minimum message count! Please enter an " +"integer." +msgstr "" + +#: src/modules/ranks/ui/editor.py:148 +msgctxt "ui:rank_editor|type:xp|input:requires|error:parse" +msgid "" +"`requires`: Could not parse provided minimum XP! Please enter an integer." +msgstr "" + +#: src/modules/ranks/ui/editor.py:162 +msgctxt "ui:rank_editor|input:reward|label" +msgid "LionCoins awarded upon achieving this rank" +msgstr "" + +#: src/modules/ranks/ui/editor.py:166 +msgctxt "ui:rank_editor|input:reward|placeholder" +msgid "LionCoins awarded upon achieving this rank" +msgstr "" + +#: src/modules/ranks/ui/editor.py:181 +msgctxt "ui:rank_editor|input:reward|error:parse" +msgid "`reward`: Please enter an integer number of LionCoins." +msgstr "" + +#: src/modules/ranks/ui/editor.py:197 +msgctxt "ui:rank_editor|input:message|label" +msgid "Rank Message" +msgstr "" + +#: src/modules/ranks/ui/editor.py:201 +msgctxt "ui:rank_editor|input:message|placeholder" +msgid "Congratulatory message sent to the user upon achieving this rank." +msgstr "" + +#: src/modules/ranks/ui/editor.py:262 +msgctxt "ui:rank_editor|mode:edit|title" +msgid "Rank Editor" +msgstr "" + +#: src/modules/ranks/ui/editor.py:317 +msgctxt "ui:rank_editor|mode:create|title" +msgid "Rank Creator" +msgstr "" diff --git a/locales/ko/LC_MESSAGES/reminders.po b/locales/ko/LC_MESSAGES/reminders.po new file mode 100644 index 000000000000..68c84a6ae56d --- /dev/null +++ b/locales/ko/LC_MESSAGES/reminders.po @@ -0,0 +1,391 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-01 16:01+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Hong Shik Kim, 2023\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/reminders/cog.py:114 +#, possible-python-brace-format +msgctxt "create_reminder|error:past" +msgid "The provided reminder time {timestamp} is in the past!" +msgstr "제공한 리마인더 시간 {timestamp}이 현재 시간보다 이전이에요!" + +#: src/modules/reminders/cog.py:123 +msgctxt "create_reminder|error:too_fast" +msgid "" +"You cannot set a repeating reminder with a period less than 10 minutes." +msgstr "10분 미만의 시간을 반복 리마인더 기간으로 설정할 수 없어요." + +#: src/modules/reminders/cog.py:133 +msgctxt "create_reminder|error:too_many" +msgid "Sorry, you have reached the maximum of `25` reminders." +msgstr "최대 리마인더 개수 `25`개에 도달했어요." + +#: src/modules/reminders/cog.py:149 +msgctxt "create_reminder|error:cannot_dm" +msgid "" +"I cannot direct message you! Do you have me blocked or direct messages " +"closed?" +msgstr "당신에게 DM을 보낼 수 없어요! 혹시 저를 차단했거나 DM이 닫혀있나요?" + +#: src/modules/reminders/cog.py:186 +#, possible-python-brace-format +msgctxt "parse_timestamp|error:parse" +msgid "" +"Could not parse `{given}` as a valid reminder time. Try entering the time in" +" the form `HH:MM` or `YYYY-MM-DD HH:MM`." +msgstr "" +"입력하신 `{given}`는 리마인더 시간 형식에 맞지 않아요. `HH:MM`나 `YYYY-MM-DD HH:MM`형식으로 입력하세요." + +#: src/modules/reminders/cog.py:329 +msgctxt "cmd:reminders" +msgid "reminders" +msgstr "리마인더" + +#: src/modules/reminders/cog.py:332 +msgctxt "cmd:reminders|desc" +msgid "View and set your reminders." +msgstr "리마인더 조회 및 확인" + +#: src/modules/reminders/cog.py:353 +msgctxt "cmd:remindme" +msgid "remindme" +msgstr "리마인드" + +#: src/modules/reminders/cog.py:354 +msgctxt "cmd:remindme|desc" +msgid "View and set task reminders." +msgstr "" + +#: src/modules/reminders/cog.py:361 +msgctxt "cmd:reminders_cancel" +msgid "cancel" +msgstr "" + +#: src/modules/reminders/cog.py:364 +msgctxt "cmd:reminders_cancel|desc" +msgid "" +"Cancel a single reminder. Use /reminders to clear or cancel multiple " +"reminders." +msgstr "" + +#: src/modules/reminders/cog.py:368 +msgctxt "cmd:reminders_cancel|param:reminder" +msgid "reminder" +msgstr "" + +#: src/modules/reminders/cog.py:373 +msgctxt "cmd:reminders_cancel|param:reminder|desc" +msgid "Start typing, then select a reminder to cancel." +msgstr "" + +#: src/modules/reminders/cog.py:392 +msgctxt "cmd:reminders_cancel|error:no_reminders" +msgid "There are no reminders to cancel!" +msgstr "" + +#: src/modules/reminders/cog.py:416 +msgctxt "cmd:reminders_cancel|error:no_match" +msgid "" +"I am not sure which reminder you want to cancel. Please try again, selecting" +" a reminder from the list of choices." +msgstr "" + +#: src/modules/reminders/cog.py:429 +msgctxt "cmd:reminders_cancel|embed:success|desc" +msgid "Reminder successfully cancelled." +msgstr "" + +#: src/modules/reminders/cog.py:446 +msgctxt "cmd:reminders_cancel|acmpl:reminder|error:no_reminders" +msgid "There are no reminders to cancel!" +msgstr "" + +#: src/modules/reminders/cog.py:476 +#, possible-python-brace-format +msgctxt "cmd:reminders_cancel|acmpl:reminder|error:no_matches" +msgid "You do not have any reminders matching \"{partial}\"" +msgstr "" + +#: src/modules/reminders/cog.py:484 +msgctxt "cmd:remindme_at" +msgid "at" +msgstr "" + +#: src/modules/reminders/cog.py:487 +msgctxt "cmd:remindme_at|desc" +msgid "Schedule a reminder for a particular time." +msgstr "" + +#: src/modules/reminders/cog.py:491 +msgctxt "cmd:remindme_at|param:time" +msgid "time" +msgstr "" + +#: src/modules/reminders/cog.py:492 +msgctxt "cmd:remindme_at|param:reminder" +msgid "reminder" +msgstr "" + +#: src/modules/reminders/cog.py:493 +msgctxt "cmd:remindme_at|param:every" +msgid "repeat_every" +msgstr "" + +#: src/modules/reminders/cog.py:498 +msgctxt "cmd:remindme_at|param:time|desc" +msgid "When you want to be reminded. (E.g. `4pm` or `16:00`)." +msgstr "" + +#: src/modules/reminders/cog.py:502 +msgctxt "cmd:remindme_at|param:reminder|desc" +msgid "What should the reminder be?" +msgstr "" + +#: src/modules/reminders/cog.py:506 +msgctxt "cmd:remindme_at|param:every|desc" +msgid "How often to repeat this reminder." +msgstr "" + +#: src/modules/reminders/cog.py:533 +msgctxt "cmd:remindme_at|error|title" +msgid "Could not create reminder!" +msgstr "" + +#: src/modules/reminders/cog.py:564 +#, possible-python-brace-format +msgctxt "cmd:remindme_at|acmpl:time|error:parse" +msgid "" +"Cannot parse \"{partial}\" as a time. Try the format HH:MM or YYYY-MM-DD " +"HH:MM" +msgstr "" + +#: src/modules/reminders/cog.py:571 +msgctxt "cmd:remindme_in" +msgid "in" +msgstr "" + +#: src/modules/reminders/cog.py:574 +msgctxt "cmd:remindme_in|desc" +msgid "Schedule a reminder for a given amount of time in the future." +msgstr "" + +#: src/modules/reminders/cog.py:578 +msgctxt "cmd:remindme_in|param:time" +msgid "time" +msgstr "" + +#: src/modules/reminders/cog.py:579 +msgctxt "cmd:remindme_in|param:reminder" +msgid "reminder" +msgstr "" + +#: src/modules/reminders/cog.py:580 +msgctxt "cmd:remindme_in|param:every" +msgid "repeat_every" +msgstr "" + +#: src/modules/reminders/cog.py:585 +msgctxt "cmd:remindme_in|param:time|desc" +msgid "How far into the future to set the reminder (e.g. 1 day 10h 5m)." +msgstr "" + +#: src/modules/reminders/cog.py:589 +msgctxt "cmd:remindme_in|param:reminder|desc" +msgid "What should the reminder be?" +msgstr "" + +#: src/modules/reminders/cog.py:593 +msgctxt "cmd:remindme_in|param:every|desc" +msgid "How often to repeat this reminder. (e.g. 1 day, or 2h)" +msgstr "" + +#: src/modules/reminders/cog.py:619 +msgctxt "cmd:remindme_in|error|title" +msgid "Could not create reminder!" +msgstr "" + +#: src/modules/reminders/ui.py:47 +msgctxt "ui:reminderlist|button:clear|confirm|title" +msgid "Are You Sure?" +msgstr "" + +#: src/modules/reminders/ui.py:50 +#, possible-python-brace-format +msgctxt "ui:reminderlist|button:clear|confirm|desc" +msgid "Are you sure you want to delete your `{count}` reminder?" +msgid_plural "Are you sure you want to clear your `{count}` reminders?" +msgstr[0] "" + +#: src/modules/reminders/ui.py:57 +msgctxt "ui:reminderlist|button:clear|confirm|button:yes" +msgid "Yes, clear my reminders" +msgstr "" + +#: src/modules/reminders/ui.py:68 +msgctxt "ui:reminderlist|button:clear|success|desc" +msgid "Your reminders have been cleared!" +msgstr "" + +#: src/modules/reminders/ui.py:77 +msgctxt "ui:reminderlist|button:clear|confirm|button:cancel" +msgid "Cancel" +msgstr "" + +#: src/modules/reminders/ui.py:89 +msgctxt "ui:reminderlist|button:clear|label" +msgid "Clear Reminders" +msgstr "" + +#: src/modules/reminders/ui.py:110 +msgctxt "ui:reminderlist|button:new|modal|field:time|label" +msgid "When would you like to be reminded?" +msgstr "" + +#: src/modules/reminders/ui.py:120 +msgctxt "ui:reminderlist|button:new|modal|field:repeat|label" +msgid "How often should the reminder repeat?" +msgstr "" + +#: src/modules/reminders/ui.py:124 +msgctxt "ui:reminderlist|button:new|modal|field:repeat|placeholder" +msgid "1 day 10 hours 5 minutes (Leave empty for no repeat.)" +msgstr "" + +#: src/modules/reminders/ui.py:133 +msgctxt "ui:reminderlist|button:new|modal|field:content|label" +msgid "What should I remind you?" +msgstr "" + +#: src/modules/reminders/ui.py:144 +msgctxt "ui:reminderlist|button:new|modal|title" +msgid "Set a Reminder" +msgstr "" + +#: src/modules/reminders/ui.py:157 +#, possible-python-brace-format +msgctxt "ui:reminderlist|button:new|modal|parse|error:interval" +msgid "Cannot parse '{value}' as a duration." +msgstr "" + +#: src/modules/reminders/ui.py:180 +msgctxt "ui:reminderlist|button:new|label" +msgid "New Reminder" +msgstr "" + +#: src/modules/reminders/ui.py:208 +msgctxt "ui:reminderlist|select:remove|placeholder" +msgid "Select to cancel" +msgstr "" + +#: src/modules/reminders/ui.py:264 +msgctxt "ui:reminderlist|embed:list|author" +msgid "Your reminders" +msgstr "" + +#: src/modules/reminders/ui.py:270 +msgctxt "ui:reminderlist|embed:list|footer" +msgid "Click a reminder to jump back to the context!" +msgstr "" + +#: src/modules/reminders/ui.py:277 +msgctxt "ui:reminderlist|embed:no_reminders|title" +msgid "You have no reminders set!" +msgstr "" + +#: src/modules/reminders/ui.py:286 +msgctxt "ui:reminderlist|embed|tips:name" +msgid "Reminder Tips" +msgstr "" + +#: src/modules/reminders/ui.py:290 +#, possible-python-brace-format +msgctxt "ui:reminderlist|embed|tips:value" +msgid "" +"- Use {at_cmd} to set a reminder at a known time (e.g. `at 10 am`).\n" +"- Use {in_cmd} to set a reminder in a certain time (e.g. `in 2 hours`).\n" +"- Both commands support repeating reminders using the `every` parameter.\n" +"- Remember to tell me your timezone with {timezone_cmd} if you haven't already!" +msgstr "" + +#: src/modules/reminders/data.py:63 +msgctxt "reminder_set|title" +msgid "Reminder Set!" +msgstr "" + +#: src/modules/reminders/data.py:67 +#, possible-python-brace-format +msgctxt "reminder_set|desc" +msgid "" +"At {timestamp} I will remind you about:\n" +"> {content}" +msgstr "" + +#: src/modules/reminders/data.py:79 +msgctxt "reminder_set|field:repeat|name" +msgid "Repeats" +msgstr "" + +#: src/modules/reminders/data.py:83 +#, possible-python-brace-format +msgctxt "reminder_set|field:repeat|value" +msgid "" +"This reminder will repeat every `{interval}` (after the first reminder)." +msgstr "" + +#: src/modules/reminders/data.py:94 +msgctxt "reminder|embed" +msgid "You asked me to remind you!" +msgstr "" + +#: src/modules/reminders/data.py:102 +msgctxt "reminder|embed" +msgid "Context?" +msgstr "" + +#: src/modules/reminders/data.py:104 +msgctxt "reminder|embed" +msgid "Click Here" +msgstr "" + +#: src/modules/reminders/data.py:111 +msgctxt "reminder|embed" +msgid "Next reminder" +msgstr "" + +#: src/modules/reminders/data.py:135 +#, possible-python-brace-format +msgctxt "reminder|formatted|interval" +msgid "Every day" +msgid_plural "Every `{days}` days" +msgstr[0] "" + +#: src/modules/reminders/data.py:144 +#, possible-python-brace-format +msgctxt "reminder|formatted|interval" +msgid "Every hour" +msgid_plural "Every `{hours}` hours" +msgstr[0] "" + +#: src/modules/reminders/data.py:153 +#, possible-python-brace-format +msgctxt "reminder|formatted|interval" +msgid "Every `{duration}`" +msgstr "" diff --git a/locales/ko/LC_MESSAGES/rolemenus.po b/locales/ko/LC_MESSAGES/rolemenus.po new file mode 100644 index 000000000000..31f2299eb2ed --- /dev/null +++ b/locales/ko/LC_MESSAGES/rolemenus.po @@ -0,0 +1,1586 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# GAHYEON SEO, 2024 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: GAHYEON SEO, 2024\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/rolemenus/cog.py:43 +msgctxt "argtype:menu_style|opt:reaction" +msgid "Reaction Roles" +msgstr "" + +#: src/modules/rolemenus/cog.py:47 +msgctxt "argtype:menu_style|opt:button" +msgid "Button Menu" +msgstr "버튼 메뉴" + +#: src/modules/rolemenus/cog.py:51 +msgctxt "argtype:menu_style|opt:dropdown" +msgid "Dropdown Menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:70 +msgctxt "ctxcmd:rolemenu" +msgid "Role Menu Editor" +msgstr "역햘 메뉴 에디터" + +#: src/modules/rolemenus/cog.py:83 +msgctxt "ctxcmd:rolemenu|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:90 +msgctxt "ctxcmd:rolemenus|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission required to offer roles from role " +"menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:333 +msgctxt "eventlog|event:rolemenu_role_expire|error:remove_failed" +msgid "Removed the role, but the member still has the role!!" +msgstr "" + +#: src/modules/rolemenus/cog.py:344 +msgctxt "eventlog|event:rolemenu_role_expire|error:member_gone" +msgid "Member could not be found.. role has been removed from saved roles." +msgstr "" + +#: src/modules/rolemenus/cog.py:350 +#, possible-python-brace-format +msgctxt "eventlog|event:rolemenu_role_expire|error:no_role" +msgid "Role {role} no longer exists." +msgstr "{role} 역할은 더 이상 존재하지 않습니다." + +#: src/modules/rolemenus/cog.py:356 +msgctxt "eventlog|event:rolemenu_role_expire|title" +msgid "Equipped role has expired" +msgstr "" + +#: src/modules/rolemenus/cog.py:360 +#, possible-python-brace-format +msgctxt "eventlog|event:rolemenu_role_expire|desc" +msgid "{member}'s role {role} has now expired." +msgstr "" + +#: src/modules/rolemenus/cog.py:368 +msgctxt "eventlog|event:rolemenu_role_expire|field:menu" +msgid "Obtained From" +msgstr "" + +#: src/modules/rolemenus/cog.py:377 +msgctxt "eventlog|event:rolemenu_role_expire|field:menu" +msgid "Obtained At" +msgstr "" + +#: src/modules/rolemenus/cog.py:384 +msgctxt "eventlog|event:rolemenu_role_expire|field:expiry" +msgid "Expiry" +msgstr "" + +#: src/modules/rolemenus/cog.py:419 +msgctxt "parse:message_link|suberror:message_dne" +msgid "Could not find the linked message, has it been deleted?" +msgstr "연결된 메시지를 찾을 수 없어요. 혹시 삭제되었나요?" + +#: src/modules/rolemenus/cog.py:424 +#, possible-python-brace-format +msgctxt "parse:message_link|suberror:no_perms" +msgid "" +"Insufficient permissions! I need the `MESSAGE_HISTORY` permission in " +"{channel}." +msgstr "권한이 충분하지 않아요! ` {channel}`의 MESSAGE_HISTORY` 권한이 필요해요." + +#: src/modules/rolemenus/cog.py:429 +#, possible-python-brace-format +msgctxt "parse:message_link|suberror:channel_dne" +msgid "The channel `{channelid}` could not be found in this server." +msgstr "서버에서 채널 `{channelid}`을 찾을 수 없어요." + +#: src/modules/rolemenus/cog.py:434 +msgctxt "parse:message_link|suberror:malformed_link" +msgid "" +"Malformed message link. Please copy the link by right clicking the target " +"message." +msgstr "메시지 링크가 유효하지 않아요. 메시지를 우클릭하여 정확하게 링크를 복사하세요." + +#: src/modules/rolemenus/cog.py:441 +#, possible-python-brace-format +msgctxt "parse:message_link|error" +msgid "" +"Failed to resolve the provided message link.\n" +"**ERROR:** {error}" +msgstr "" + +#: src/modules/rolemenus/cog.py:553 +msgctxt "cmd:rolemenus" +msgid "rolemenus" +msgstr "" + +#: src/modules/rolemenus/cog.py:556 +msgctxt "cmd:rolemenus|desc" +msgid "View and configure the role menus in this server." +msgstr "서버의 역할 메뉴 설정 및 확인." + +#: src/modules/rolemenus/cog.py:573 +msgctxt "cmd:rolemenus|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +msgstr "서버 역할 메뉴 관리를 위해서는 `MANAGE_ROLES` 권한이 필요해요." + +#: src/modules/rolemenus/cog.py:580 +msgctxt "cmd:rolemenus|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission required to offer roles from role " +"menus." +msgstr "역할 제안을 위한 `MANAGE_ROLES` 권한이 부족해요" + +#: src/modules/rolemenus/cog.py:615 +#, possible-python-brace-format +msgctxt "acmpl:menus|choice:no_choices|name" +msgid "No role menus matching '{partial}'" +msgstr "역할 메뉴 불일치 '{partial}'" + +#: src/modules/rolemenus/cog.py:634 +msgctxt "acmpl:menuroles|param:menu|keyname" +msgid "menu" +msgstr "메뉴" + +#: src/modules/rolemenus/cog.py:640 +msgctxt "acmpl:menuroles|choice:no_menu|name" +msgid "Please select a menu first" +msgstr "메뉴를 선택해주세요." + +#: src/modules/rolemenus/cog.py:664 +#, possible-python-brace-format +msgctxt "acmpl:menuroles|choice:invalid_menu|name" +msgid "Menu '{name}' does not exist!" +msgstr "메뉴 '{name}'를 찾을 수 없어요." + +#: src/modules/rolemenus/cog.py:693 +#, possible-python-brace-format +msgctxt "acmpl:menuroles|choice:no_matching|name" +msgid "No roles in this menu matching '{partial}'" +msgstr "메뉴 내 역할이 일치하지 않아요. '{partial}'" + +#: src/modules/rolemenus/cog.py:700 +msgctxt "group:rolemenu" +msgid "rolemenu" +msgstr "" + +#: src/modules/rolemenus/cog.py:703 +msgctxt "group:rolemenu|desc" +msgid "Base command group for role menu configuration." +msgstr "역할 메뉴 설정을 위한 기본 명령어 그룹" + +#: src/modules/rolemenus/cog.py:712 +msgctxt "cmd:rolemenu_create" +msgid "newmenu" +msgstr "" + +#: src/modules/rolemenus/cog.py:715 +msgctxt "cmd:rolemenu_create|desc" +msgid "Create a new role menu (optionally using an existing message)" +msgstr "역할 메뉴 생성 (존재하는 메시지 사용 가능)" + +#: src/modules/rolemenus/cog.py:729 +msgctxt "cmd:rolemenu_create|param:message" +msgid "message_link" +msgstr "" + +#: src/modules/rolemenus/cog.py:730 +msgctxt "cmd:rolemenu_create|param:menu_style" +msgid "menu_style" +msgstr "" + +#: src/modules/rolemenus/cog.py:731 +msgctxt "cmd:rolemenu_create|param:remplate" +msgid "template" +msgstr "" + +#: src/modules/rolemenus/cog.py:732 +msgctxt "cmd:rolemenu_create|param:rawmessage" +msgid "custom_message" +msgstr "" + +#: src/modules/rolemenus/cog.py:742 +msgctxt "cmd:rolemenu_create|param:message|desc" +msgid "Link to an existing message to turn it into a (reaction) role menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:746 +msgctxt "cmd:rolemenu_create|param:menu_style" +msgid "Selection style for this menu (using buttons, dropdowns, or reactions)" +msgstr "메뉴 선택 스타일 (버튼, 드랍다운, 반응)" + +#: src/modules/rolemenus/cog.py:750 +msgctxt "cmd:rolemenu_create|param:template" +msgid "Template to use for the menu message body" +msgstr "메뉴 메시지 본문 사용을 위한 템플릿" + +#: src/modules/rolemenus/cog.py:754 +msgctxt "cmd:rolemenu_create|param:rawmessage" +msgid "Attach a custom menu message to use" +msgstr "" + +#: src/modules/rolemenus/cog.py:783 +msgctxt "cmd:rolemenu_create|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to create new role menus." +msgstr "역할 메뉴 생성을 위해서는 `MANAGE_ROLES` 권한이 필요해요." + +#: src/modules/rolemenus/cog.py:790 +msgctxt "cmd:rolemenu_create|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission needed to offer roles from role menus." +msgstr "역할 제안을 위한 `MANAGE_ROLES` 권한이 부족해요." + +#: src/modules/rolemenus/cog.py:809 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:message_exists" +msgid "The message {link} already has a role menu! Use {edit_cmd} to edit it." +msgstr "메시지 {link}는 이미 역할 메뉴가 있어요! {edit_cmd}로 수정하세요." + +#: src/modules/rolemenus/cog.py:830 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:style_notmine" +msgid "" +"I cannot create a `{style}` style menu on a message I didn't send! (Discord " +"restriction)." +msgstr "제가 보내지 않은 메시지의 `{style}` 스타일 메뉴는 생성할 수 없어요. (디스코드 내 기능 제한)." + +#: src/modules/rolemenus/cog.py:837 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:rawmessage_notmine" +msgid "" +"Cannot apply a custom menu message to {message} because I do not own this " +"message!" +msgstr "" + +#: src/modules/rolemenus/cog.py:846 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:template_notmine" +msgid "" +"Cannot apply a menu message template to {message} because I do not own this " +"message!" +msgstr "" + +#: src/modules/rolemenus/cog.py:859 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:name_exists" +msgid "A rolemenu called `{name}` already exists! Use {edit_cmd} to edit it." +msgstr "역할 메뉴 `{name}`는 이미 존재해요. {edit_cmd}로 수정하세요." + +#: src/modules/rolemenus/cog.py:907 +msgctxt "cmd:rolemenu_edit" +msgid "editmenu" +msgstr "" + +#: src/modules/rolemenus/cog.py:910 +msgctxt "cmd:rolemenu_edit|desc" +msgid "Edit an existing role menu." +msgstr "" + +#: src/modules/rolemenus/cog.py:919 +msgctxt "cmd:rolemenu_edit|param:name" +msgid "name" +msgstr "" + +#: src/modules/rolemenus/cog.py:920 +msgctxt "cmd:rolemenu_edit|param:new_name" +msgid "new_name" +msgstr "" + +#: src/modules/rolemenus/cog.py:921 +msgctxt "cmd:rolemenu_edit|param:channel" +msgid "new_channel" +msgstr "" + +#: src/modules/rolemenus/cog.py:926 +msgctxt "cmd:rolemenu_edit|param:menu_style" +msgid "menu_style" +msgstr "" + +#: src/modules/rolemenus/cog.py:927 +msgctxt "cmd:rolemenu_edit|param:remplate" +msgid "template" +msgstr "" + +#: src/modules/rolemenus/cog.py:928 +msgctxt "cmd:rolemenu_edit|param:rawmessage" +msgid "custom_message" +msgstr "" + +#: src/modules/rolemenus/cog.py:933 +msgctxt "cmd:rolemenu_edit|param:name|desc" +msgid "Name of the menu to edit" +msgstr "수정하려는 메뉴 이름" + +#: src/modules/rolemenus/cog.py:937 +msgctxt "cmd:rolemenu_edit|param:channel|desc" +msgid "Server channel to move the menu to" +msgstr "메뉴 이동을 원하는 서버 채널" + +#: src/modules/rolemenus/cog.py:946 +msgctxt "cmd:rolemenu_edit|param:menu_style" +msgid "Selection style for this menu (using buttons, dropdowns, or reactions)" +msgstr "" + +#: src/modules/rolemenus/cog.py:950 +msgctxt "cmd:rolemenu_edit|param:template" +msgid "Template to use for the menu message body" +msgstr "" + +#: src/modules/rolemenus/cog.py:954 +msgctxt "cmd:rolemenu_edit|param:rawmessage" +msgid "Attach a custom menu message to use" +msgstr "" + +#: src/modules/rolemenus/cog.py:983 +msgctxt "cmd:rolemenu_edit|error:author_perms" +msgid "You need the `MANAGE_ROLES` permission in order to edit role menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:990 +msgctxt "cmd:rolemenu_edit|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission needed to offer roles from role menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:1013 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|error:menu_not_found" +msgid "This server does not have a role menu called `{name}`!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1034 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|parse:new_name|error:name_exists" +msgid "A role menu with the name **{new_name}** already exists!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1071 +msgctxt "cmd:rolemenu_edit|parse:template|error:not_managed" +msgid "" +"Cannot set a template message for a role menu attached to a message I did " +"not send." +msgstr "" + +#: src/modules/rolemenus/cog.py:1082 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|parse:template|success:template" +msgid "Now using the `{name}` menu message template." +msgstr "" + +#: src/modules/rolemenus/cog.py:1089 +msgctxt "cmd:rolemenu_edit|parse:template|success:custom" +msgid "Now using a custom menu message." +msgstr "" + +#: src/modules/rolemenus/cog.py:1099 +msgctxt "cmd:rolemenu_edit|parse:style|error:not_managed" +msgid "" +"Cannot change the style of a role menu attached to a message I did not send." +msgstr "" + +#: src/modules/rolemenus/cog.py:1109 +msgctxt "cmd:rolemenu_edit|parse:style|error:too_many_reactions" +msgid "Too many roles! Reaction role menus can have at most `20` roles." +msgstr "" + +#: src/modules/rolemenus/cog.py:1119 +msgctxt "cmd:rolemenu_edit|parse:style|error:incomplete_emojis" +msgid "" +"Cannot switch to the reaction role style! Every role needs a distinct emoji " +"first." +msgstr "" + +#: src/modules/rolemenus/cog.py:1126 +msgctxt "cmd:rolemenu_edit|parse:style|success" +msgid "Updated role menu style." +msgstr "" + +#: src/modules/rolemenus/cog.py:1140 +msgctxt "cmd:rolemenu_edit|parse:custom_message|success" +msgid "Custom menu message updated." +msgstr "" + +#: src/modules/rolemenus/cog.py:1155 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|repost|success" +msgid "The role menu is now available at {message}" +msgstr "" + +#: src/modules/rolemenus/cog.py:1166 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|repost|error:forbidden" +msgid "" +"Cannot update channel! I lack the `EMBED_LINKS` or `SEND_MESSAGES` " +"permission in {channel}." +msgstr "" + +#: src/modules/rolemenus/cog.py:1171 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|repost|error:unknown" +msgid "" +"An unknown error occurred trying to repost the menu to {channel}.\n" +"**Error:** `{exception}`" +msgstr "" + +#: src/modules/rolemenus/cog.py:1210 +msgctxt "cmd:rolemenu_delete" +msgid "delmenu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1213 +msgctxt "cmd:rolemenu_delete|desc" +msgid "Delete a role menu." +msgstr "" + +#: src/modules/rolemenus/cog.py:1217 +msgctxt "cmd:rolemenu_delete|param:name" +msgid "menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1222 +msgctxt "cmd:rolemenu_delete|param:name|desc" +msgid "Name of the rolemenu to delete." +msgstr "" + +#: src/modules/rolemenus/cog.py:1237 +msgctxt "cmd:rolemenu_delete|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:1260 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delete|error:menu_not_found" +msgid "This server does not have a role menu called `{name}`!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1268 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delete|confirm|title" +msgid "" +"Are you sure you want to delete the role menu **{name}**? This is not " +"reversible!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1273 +msgctxt "cmd:rolemenu_delete|confirm|button:yes" +msgid "Yes, Delete Now" +msgstr "" + +#: src/modules/rolemenus/cog.py:1278 +msgctxt "cmd:rolemenu_delete|confirm|button:no" +msgid "No, Cancel" +msgstr "" + +#: src/modules/rolemenus/cog.py:1303 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delete|success|desc" +msgid "Successfully deleted the menu **{name}**" +msgstr "" + +#: src/modules/rolemenus/cog.py:1311 +msgctxt "cmd:rolemenu_addrole" +msgid "addrole" +msgstr "" + +#: src/modules/rolemenus/cog.py:1314 +msgctxt "cmd:rolemenu_addrole|desc" +msgid "Add a new role to an existing role menu." +msgstr "" + +#: src/modules/rolemenus/cog.py:1319 +msgctxt "cmd:rolemenu_addrole|param:menu" +msgid "menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1322 +msgctxt "cmd:rolemenu_addrole|param:role" +msgid "role" +msgstr "" + +#: src/modules/rolemenus/cog.py:1333 +msgctxt "cmd:rolemenu_addrole|param:menu|desc" +msgid "Name of the menu to add a role to" +msgstr "" + +#: src/modules/rolemenus/cog.py:1337 +msgctxt "cmd:rolemenu_addrole|param:role|desc" +msgid "Role to add to the menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1345 +msgctxt "cmd:rolemenu_addrole|param:duration|desc" +msgid "Lifetime of the role after selection in minutes." +msgstr "" + +#: src/modules/rolemenus/cog.py:1393 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_addrole|error:menu_not_found" +msgid "This server does not have a role menu called `{name}`!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1478 +msgctxt "cmd:rolemenu_addrole|success:create|title" +msgid "Added Menu Role" +msgstr "" + +#: src/modules/rolemenus/cog.py:1482 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_addrole|success:create|desc" +msgid "Add the role {role} to the menu **{menu}**." +msgstr "" + +#: src/modules/rolemenus/cog.py:1500 +msgctxt "cmd:rolemenu_addrole|success:edit|title" +msgid "Menu Role updated" +msgstr "" + +#: src/modules/rolemenus/cog.py:1512 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_addrole|error:role_exists" +msgid "The role {role} is already selectable from the menu **{menu}**" +msgstr "" + +#: src/modules/rolemenus/cog.py:1530 +msgctxt "cmd:rolemenu_addrole|success|error:reaction|name" +msgid "Note" +msgstr "" + +#: src/modules/rolemenus/cog.py:1542 +msgctxt "cmd:rolemenu_addrole|success|button:editor|label" +msgid "Edit Menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1559 +msgctxt "cmd:rolemenu_editrole" +msgid "editrole" +msgstr "" + +#: src/modules/rolemenus/cog.py:1562 +msgctxt "cmd:rolemenu_editrole|desc" +msgid "Edit role options in an existing role menu." +msgstr "" + +#: src/modules/rolemenus/cog.py:1567 +msgctxt "cmd:rolemenu_editrole|param:menu" +msgid "menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1570 +msgctxt "cmd:rolemenu_editrole|param:menu_role" +msgid "menu_role" +msgstr "" + +#: src/modules/rolemenus/cog.py:1573 +msgctxt "cmd:rolemenu_editrole|param:role" +msgid "new_role" +msgstr "" + +#: src/modules/rolemenus/cog.py:1584 +msgctxt "cmd:rolemenu_editrole|param:menu|desc" +msgid "Name of the menu to edit the role for" +msgstr "" + +#: src/modules/rolemenus/cog.py:1588 +msgctxt "cmd:rolemenu_editrole|param:menu_role|desc" +msgid "Label, name, or mention of the menu role to edit." +msgstr "" + +#: src/modules/rolemenus/cog.py:1592 +msgctxt "cmd:rolemenu_editrole|param:role|desc" +msgid "New server role this menu role should give." +msgstr "" + +#: src/modules/rolemenus/cog.py:1600 +msgctxt "cmd:rolemenu_editrole|param:duration|desc" +msgid "Lifetime of the role after selection in minutes." +msgstr "" + +#: src/modules/rolemenus/cog.py:1641 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_editrole|error:menu_not_found" +msgid "This server does not have a role menu called `{name}`!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1669 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_editrole|error:role_not_found" +msgid "The menu **{menu}** does not have the role **{name}**" +msgstr "" + +#: src/modules/rolemenus/cog.py:1735 +msgctxt "cmd:rolemenu_editrole|success|title" +msgid "Role menu role updated" +msgstr "" + +#: src/modules/rolemenus/cog.py:1750 +msgctxt "cmd:rolemenu_editrole|success|error:reaction|name" +msgid "Warning!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1775 +msgctxt "cmd:rolemenu_delrole" +msgid "delrole" +msgstr "" + +#: src/modules/rolemenus/cog.py:1778 +msgctxt "cmd:rolemenu_delrole|desc" +msgid "Remove a role from a role menu." +msgstr "" + +#: src/modules/rolemenus/cog.py:1782 +msgctxt "cmd:rolemenu_delrole|param:menu" +msgid "menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1783 +msgctxt "cmd:rolemenu_delrole|param:menu_role" +msgid "menu_role" +msgstr "" + +#: src/modules/rolemenus/cog.py:1788 +msgctxt "cmd:rolemenu_delrole|param:menu|desc" +msgid "Name of the menu to delete the role from." +msgstr "" + +#: src/modules/rolemenus/cog.py:1792 +msgctxt "cmd:rolemenu_delrole|param:menu_role|desc" +msgid "Name, label, or mention of the role to delete." +msgstr "" + +#: src/modules/rolemenus/cog.py:1810 +msgctxt "cmd:rolemenu_delrole|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:1834 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delrole|error:menu_not_found" +msgid "This server does not have a role menu called `{name}`!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1862 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delrole|error:role_not_found" +msgid "The menu **{menu}** does not have the role **{name}**" +msgstr "" + +#: src/modules/rolemenus/cog.py:1879 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delrole|success" +msgid "The role **{name}** was successfully removed from the menu **{menu}**." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:57 +msgctxt "roleset:role" +msgid "role" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:60 +msgctxt "roleset:role|desc" +msgid "The role associated to this menu item." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:64 +msgctxt "roleset:role|long_desc" +msgid "The role given when this menu item is selected in the role menu." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:77 +#, possible-python-brace-format +msgctxt "roleset:role|set_response:set" +msgid "This menu item will now give the role {role}." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:88 +msgctxt "roleset:label" +msgid "label" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:91 +msgctxt "roleset:label|desc" +msgid "A short button label for this role." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:96 +msgctxt "roleset:label|long_desc" +msgid "" +"A short name for this role, to be displayed in button labels, dropdown " +"titles, and some menu layouts. By default uses the Discord role name." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:110 +#, possible-python-brace-format +msgctxt "roleset:role|set_response" +msgid "This menu role is now called `{value}`." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:118 +msgctxt "roleset:emoji" +msgid "emoji" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:121 +msgctxt "roleset:emoji|desc" +msgid "The emoji associated with this role." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:125 +msgctxt "roleset:emoji|long_desc" +msgid "" +"The role emoji is used for the reaction (in reaction role menus), and " +"otherwise appears next to the role label in the button and dropdown styles. " +"The emoji is also displayed next to the role in most menu templates." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:165 +#, possible-python-brace-format +msgctxt "roleset:emoji|error:test_emoji" +msgid "The selected emoji `{emoji}` is invalid or has been deleted." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:176 +#, possible-python-brace-format +msgctxt "roleset:emoji|set_response:set" +msgid "The menu role emoji is now {emoji}." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:181 +msgctxt "roleset:emoji|set_response:unset" +msgid "The menu role emoji has been removed." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:189 +msgctxt "roleset:description" +msgid "description" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:192 +msgctxt "roleset:description|desc" +msgid "A longer description of this role." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:197 +msgctxt "roleset:description|long_desc" +msgid "" +"The description is displayed under the role label in dropdown style menus. " +"It may also be used as a substitution key in custom role selection " +"responses." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:213 +msgctxt "roleset:description|set_response:set" +msgid "The role description has been set." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:218 +msgctxt "roleset:description|set_response:unset" +msgid "The role description has been removed." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:226 +msgctxt "roleset:price" +msgid "price" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:229 +msgctxt "roleset:price|desc" +msgid "Price of the role, in LionCoins. May be negative." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:233 +msgctxt "roleset:price|long_desc" +msgid "" +"How many LionCoins should be deducted from a member's account when they equip this role through this menu.\n" +"The price may be negative, in which case the member will instead be rewarded coins when they equip the role." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:240 +msgctxt "roleset:price|accepts" +msgid "Amount of coins that the role costs when equipped." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:254 +#, possible-python-brace-format +msgctxt "roleset:price|set_response:positive" +msgid "Equipping this role will now cost {coin}**{price}**." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:259 +msgctxt "roleset:price|set_response:zero" +msgid "Equipping this role is now free." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:264 +#, possible-python-brace-format +msgctxt "roleset:price|set_response:negative" +msgid "Equipping this role will now reward {coin}**{price}**." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:272 +msgctxt "roleset:duration" +msgid "duration" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:275 +msgctxt "roleset:duration|desc" +msgid "Lifetime of the role after selection" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:279 +msgctxt "roleset:duration|long_desc" +msgid "" +"Allows creation of 'temporary roles' which expire a given time after being " +"equipped. Refunds will not be given upon expiry." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:284 +msgctxt "roleset:duration|notset" +msgid "Forever." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:297 +#, possible-python-brace-format +msgctxt "roleset:duration|set_response:set" +msgid "This role will now expire after {duration}." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:302 +msgctxt "roleset:duration|set_response:unset" +msgid "This role will no longer expire after being selected." +msgstr "" + +#: src/modules/rolemenus/templates.py:53 +msgctxt "template:simple|name" +msgid "Simple Menu" +msgstr "" + +#: src/modules/rolemenus/templates.py:57 +msgctxt "template:simple|desc" +msgid "A simple embedded list of roles in the menu" +msgstr "" + +#: src/modules/rolemenus/templates.py:96 +msgctxt "template:two_column|name" +msgid "Two Column" +msgstr "" + +#: src/modules/rolemenus/templates.py:100 +msgctxt "template:two_column|desc" +msgid "A compact two column role layout. Excludes prices and durations." +msgstr "" + +#: src/modules/rolemenus/templates.py:131 +msgctxt "template:three_column|name" +msgid "Three Column" +msgstr "" + +#: src/modules/rolemenus/templates.py:135 +msgctxt "template:three_column|desc" +msgid "" +"A compact three column layout using emojis and labels, excluding prices and " +"durations." +msgstr "" + +#: src/modules/rolemenus/templates.py:168 +msgctxt "template:shop|name" +msgid "Role Shop" +msgstr "" + +#: src/modules/rolemenus/templates.py:172 +msgctxt "template:shop|desc" +msgid "A single column display suitable for simple role shops" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:294 +msgctxt "rolemenu|menu_message|error|title" +msgid "ROLE MENU DISPLAY ERROR" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:298 +#, possible-python-brace-format +msgctxt "rolemenu|menu_message|error|desc" +msgid "" +"A critical error occurred trying to display this role menu.\n" +"Error: `{error}`." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:350 +#, possible-python-brace-format +msgctxt "rolemenu|update_reactions|error" +msgid "" +"Could not add the {emoji} reaction, perhaps I do not have access to this " +"emoji! Reactions will need to be added manually." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:395 +msgctxt "ui:rolemenu_dropdown|placeholder" +msgid "Select Roles" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:506 +#, possible-python-brace-format +msgctxt "rolemenu|select|error:max_obtainable" +msgid "You can own at most one role from this menu! You currently own:" +msgid_plural "" +"You can own at most **{count}** roles from this menu! You currently own:" +msgstr[0] "" + +#: src/modules/rolemenus/rolemenu.py:523 +#, possible-python-brace-format +msgctxt "rolemenu|select|error:insufficient_funds" +msgid "" +"The role **{role}** costs {coin}**{cost}**,but you only have " +"{coin}**{balance}**!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:539 +msgctxt "rolemenu|select|error:perms" +msgid "I don't have enough permissions to give you this role!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:546 +msgctxt "rolemenu|select|error:discord" +msgid "" +"An unknown error occurred while assigning your role! Please try again later." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:588 +msgctxt "rolemenu|select|success|title" +msgid "Role equipped" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:594 +#, possible-python-brace-format +msgctxt "rolemenu|select|success:purchase|desc" +msgid "You have purchased the role **{role}** for {coin}**{amount}**" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:599 +#, possible-python-brace-format +msgctxt "rolemenu|select|success:nopurchase|desc" +msgid "You have equipped **{role}**" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:605 +#, possible-python-brace-format +msgctxt "rolemenu|select|expires_at" +msgid "The role will expire at {timestamp}." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:616 +msgctxt "rolemenu|eventlog|event:role_equipped|title" +msgid "Member equipped role from role menu" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:620 +#, possible-python-brace-format +msgctxt "rolemenu|eventlog|event:role_equipped|desc" +msgid "{member} equipped {role} from {menu}" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:644 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|error:sticky" +msgid "**{role}** is a sticky role, you cannot remove it with this menu!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:655 +msgctxt "rolemenu|deselect|error:perms" +msgid "I don't have enough permissions to remove this role from you!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:662 +msgctxt "rolemenu|deselect|error:discord" +msgid "An unknown error occurred removing your role! Please try again later." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:691 +msgctxt "rolemenu|deslect|success|title" +msgid "Role removed" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:697 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|success:refund|desc" +msgid "You have removed **{role}**, and been refunded {coin} **{amount}**." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:703 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|success:negrefund|desc" +msgid "You have removed **{role}**, and have lost {coin} **{amount}**." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:708 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|success:norefund|desc" +msgid "You have unequipped **{role}**." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:715 +msgctxt "rolemenu|eventlog|event:role_unequipped|title" +msgid "Member unequipped role from role menu" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:719 +#, possible-python-brace-format +msgctxt "rolemenu|eventlog|event:role_unequipped|desc" +msgid "{member} unequipped {role} from {menu}" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:747 +#, possible-python-brace-format +msgctxt "rolemenu|error:role_gone" +msgid "The role **{name}** no longer exists!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:760 +#, possible-python-brace-format +msgctxt "rolemenu|select|error:required_role" +msgid "You need to have the role **{role}** required to use this menu!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:818 +#, possible-python-brace-format +msgctxt "rolemenu|content:reactions" +msgid "[Click here]({jump_link}) to jump back." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:56 +msgctxt "menuset:name" +msgid "name" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:59 +msgctxt "menuset:name|desc" +msgid "Brief name for this role menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:64 +msgctxt "menuset:name|long_desc" +msgid "" +"The role menu name is displayed when selecting the menu in commands, and as " +"the title of most default menu layouts." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:78 +#, possible-python-brace-format +msgctxt "menuset:name|set_response" +msgid "This role menu will now be called **{new_name}**." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:86 +msgctxt "menuset:sticky" +msgid "sticky_roles" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:89 +msgctxt "menuset:sticky|desc" +msgid "Whether the menu can be used to unequip roles." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:94 +msgctxt "menuset:sticky|long_desc" +msgid "" +"When enabled, members will not be able to remove equipped roles by selecting" +" them in this menu. Note that when disabled, members will be able to unequip" +" the menu roles even if they were not obtained from the menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:110 +msgctxt "menuset:sticky|set_response:true" +msgid "Members will no longer be able to remove roles with this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:115 +msgctxt "menuset:sticky|set_response:false" +msgid "Members will now be able to remove roles with this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:123 +msgctxt "menuset:refunds" +msgid "refunds" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:126 +msgctxt "menuset:refunds|desc" +msgid "Whether removing a role will refund the purchase price for that role." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:131 +msgctxt "menuset:refunds|long_desc" +msgid "" +"When enabled, members who *purchased a role through this role menu* will obtain a full refund when they remove the role through the menu.\n" +"**Refunds will only be given for roles purchased through the same menu.**\n" +"**The `sticky` option must be disabled to allow members to remove roles.**" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:148 +msgctxt "menuset:refunds|set_response:true" +msgid "Members will now be refunded when removing a role with this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:153 +msgctxt "menuset:refunds|set_response:false" +msgid "" +"Members will no longer be refunded when removing a role with this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:161 +msgctxt "menuset:obtainable" +msgid "obtainable" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:164 +msgctxt "menuset:obtainable|desc" +msgid "The maximum number of roles equippable from this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:169 +msgctxt "menuset:obtainable|long_desc" +msgid "" +"Members will not be able to obtain more than this number of roles from this " +"menu. This counts roles that were not obtained through the rolemenu system." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:174 +msgctxt "menuset:obtainable|notset" +msgid "Unlimited." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:188 +#, possible-python-brace-format +msgctxt "menuset:obtainable|set_response:set" +msgid "" +"Members will be able to select a maximum of **{value}** roles from this " +"menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:193 +msgctxt "menuset:obtainable|set_response:unset" +msgid "Members will be able to select any number of roles from this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:201 +msgctxt "menuset:required_role" +msgid "required_role" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:204 +msgctxt "menuset:required_role|desc" +msgid "Initial role required to use this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:209 +msgctxt "menuset:required_role|long_desc" +msgid "" +"If set, only members who have the `required_role` will be able to obtain or " +"remove roles using this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:223 +#, possible-python-brace-format +msgctxt "menuset:required_role|set_response:set" +msgid "Members will need to have the {role} role to use this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:228 +msgctxt "menuset:required_role|set_response:unset" +msgid "Any member who can see the menu may use it." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:236 +msgctxt "menuset:message" +msgid "custom_message" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:239 +msgctxt "menuset:message|desc" +msgid "Custom message data used to display the menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:243 +msgctxt "menuset:message|long_desc" +msgid "" +"This setting determines the body of the menu message, including the message " +"content and the message embed(s). While most easily modifiable through the " +"`Edit Message` button, raw JSON-formatted message data may also be uploaded " +"via command." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:260 +msgctxt "menuset:message|set_response:set" +msgid "The role menu message has been set. Edit through the menu editor." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:265 +msgctxt "menuset:message|set_response:unset" +msgid "" +"The role menu message has been unset. Select a template through the menu " +"editor." +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:105 +msgctxt "ui:menu_list|menu:editmenu|placeholder" +msgid "Select Menu to Edit" +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:129 +#, possible-python-brace-format +msgctxt "ui:menu_list|menu_line:attached" +msgid "[`{name}`]({jump_url}) with `{count}` roles." +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:138 +#, possible-python-brace-format +msgctxt "ui:menu_list|menu_line:unattached" +msgid "`{name}` with `{count}` roles." +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:163 +#, possible-python-brace-format +msgctxt "ui:menu_list|embed|title" +msgid "Role Menus in {guild}" +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:172 +msgctxt "ui:menu_list|embed|field:tips|name" +msgid "Tips" +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:176 +msgctxt "ui:menu_list|embed|field:tips|value" +msgid "" +"Right click an existing message or use the `newmenu` command to create a new" +" menu." +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:189 +msgctxt "ui:menu_list|embed|field:unattached|name" +msgid "Unattached Menus" +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:201 +msgctxt "ui:menu_list|embed|footer:text" +msgid "Click a menu name to jump to the message." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:93 +msgctxt "ui:menu_editor|preview|error:title" +msgid "Display Error!" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:97 +#, possible-python-brace-format +msgctxt "ui:menu_editor|preview|error:desc" +msgid "" +"Failed to display preview!\n" +"**Error:** `{exception}`" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:151 +msgctxt "ui:menu_editor|button:options|label" +msgid "Menu Options" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:179 +msgctxt "ui:menu_editor|button:bulk_edit|modal|title" +msgid "Menu Options" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:218 +msgctxt "ui:menu_editor|button:bulk_edit|label" +msgid "Bulk Edit" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:238 +msgctxt "ui:menu_editor|button:sticky|label" +msgid "Toggle Sticky" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:262 +msgctxt "ui:menu_editor|button:refunds|label" +msgid "Toggle Refunds" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:292 +msgctxt "ui:menu_editor|menu:reqroles|placeholder" +msgid "Select Required Role" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:311 +msgctxt "ui:menu_editor|button:modify_roles|label" +msgid "Modify Roles" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:340 +msgctxt "ui:menu_editor|role_editor|modal|title" +msgid "Edit Menu Role" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:416 +msgctxt "ui:menu_editor|menu:add_roles|error:too_many_reactions" +msgid "Too many roles! Reaction role menus cannot exceed `20` roles." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:421 +msgctxt "ui:menu_editor|menu:add_roles|error:too_many_roles" +msgid "Too many roles! Role menus cannot have more than `25` roles." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:460 +msgctxt "ui:menu_editor|menu:add_roles|placeholder" +msgid "Add Roles" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:486 +msgctxt "ui:menu_editor|menu:edit_roles|placeholder" +msgid "Edit Roles" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:524 +msgctxt "ui:menu_editor|menu:del_role|placeholder" +msgid "Remove Roles" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:548 +msgctxt "ui:menu_editor|button:style|error:non-managed" +msgid "" +"Cannot change the style of a menu attached to a message I did not send! " +"Please repost first." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:561 +msgctxt "ui:menu_editor|button:style|label" +msgid "Menu Style" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:586 +msgctxt "ui:menu_editor|menu:style|error:too_many_reactions" +msgid "" +"Too many roles! The Reaction style is limited to `20` roles (Discord " +"limitation)." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:596 +msgctxt "ui:menu_editor|menu:style|error:incomplete_emojis" +msgid "" +"Cannot switch to the Reaction Role Style! Every role needs to have a " +"distinct emoji first." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:614 +msgctxt "ui:menu_editor|menu:style|placeholder" +msgid "Select Menu Style" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:618 +msgctxt "ui:menu_editor|menu:style|option:reaction|label" +msgid "Reaction Roles" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:621 +msgctxt "ui:menu_editor|menu:style|option:reaction|desc" +msgid "Roles are represented compactly as clickable reactions on a message." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:627 +msgctxt "ui:menu_editor|menu:style|option:button|label" +msgid "Button Menu" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:630 +msgctxt "ui:menu_editor|menu:style|option:button|desc" +msgid "" +"Roles are represented in 5 rows of 5 buttons, each with an emoji and label." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:636 +msgctxt "ui:menu_editor|menu:style|option:dropdown|label" +msgid "Dropdown Menu" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:639 +msgctxt "ui:menu_editor|menu:style|option:dropdown|desc" +msgid "Roles are selectable from a dropdown menu below the message." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:709 +msgctxt "ui:menu_editor|menu:template|placeholder" +msgid "Select Message Template" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:719 +msgctxt "ui:menu_editor|menu:template|option:custom|label" +msgid "Custom Message" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:724 +msgctxt "ui:menu_editor|menu:template|option:custom|description" +msgid "Entirely custom menu message (opens an interactive editor)." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:741 +msgctxt "ui:menu_editor|button:delete|confirm|title" +msgid "Are you sure you want to delete this menu? This is not reversible!" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:746 +msgctxt "ui:menu_editor|button:delete|confirm|button:yes" +msgid "Yes, Delete Now" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:751 +msgctxt "ui:menu_editor|button:delete|confirm|button:no" +msgid "No, Go Back" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:768 +msgctxt "ui:menu_editor|button:delete|label" +msgid "Delete Menu" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:825 +msgctxt "ui:menu_editor|button:edit_msg|label" +msgid "Edit Message" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:851 +msgctxt "ui:menu_editor|button:preview|label" +msgid "Preview" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:867 +msgctxt "ui:menu_editor|button:repost|widget:repost|menu:channel|placeholder" +msgid "Select New Channel" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:885 +msgctxt "ui:menu_editor|button:repost|widget:repost|error:perms|title" +msgid "Insufficient Permissions!" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:889 +msgctxt "ui:menu_editor|button:repost|eidget:repost|error:perms|desc" +msgid "" +"I lack the `EMBED_LINKS` or `SEND_MESSAGES` permission in this channel." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:902 +#, possible-python-brace-format +msgctxt "ui:menu_editor|button:repost|widget:repost|error:post_failed" +msgid "" +"An unknown error ocurred while posting to {channel}!\n" +"**Error:** `{exception}`" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:915 +msgctxt "ui:menu_editor|button:repost|widget:repost|success|title" +msgid "Role Menu Moved" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:921 +#, possible-python-brace-format +msgctxt "ui:menu_editor|button:repost|widget:repost|success|desc:general" +msgid "The role menu `{name}` is now available at {message_link}." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:935 +msgctxt "ui:menu_editor|button:repost|widget:repost|success|desc:reactions" +msgid "Please check the message reactions are correct." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:948 +msgctxt "ui:menu_editor|button:repost|widget:repost|title" +msgid "Repost Role Menu" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:952 +msgctxt "ui:menu_editor|button:repost|widget:repost|description" +msgid "Please select the channel to which you want to resend this menu." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:967 +msgctxt "ui:menu_editor|button:repost|label:repost" +msgid "Repost" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:972 +msgctxt "ui:menu_editor|button:repost|label:post" +msgid "Post" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:982 +msgctxt "ui:menu_editor|embed|title" +msgid "Role Menu Editor" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:991 +#, possible-python-brace-format +msgctxt "ui:menu_editor|embed|description|jump_text:attached" +msgid "Members may use this menu from {jump_url}" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:996 +msgctxt "ui:menu_editor|embed|description|jump_text:unattached" +msgid "" +"This menu is not currently active!\n" +"Make it available by clicking `Post` below." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:1010 +msgctxt "ui:menu_editor|embed|field:tips|name" +msgid "Command Tips" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:1014 +#, possible-python-brace-format +msgctxt "ui:menu_editor|embed|field:tips|value" +msgid "" +"Use the following commands for faster menu setup.\n" +"{menuedit} to edit the above menu options.\n" +"{addrole} to add new roles (recommended for roles with emojis).\n" +"{editrole} to edit role options." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:1054 +msgctxt "ui:menu_editor|error:invald_emoji|title" +msgid "Invalid emoji encountered." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:1058 +#, possible-python-brace-format +msgctxt "ui:menu_editor|error:invalid_emoji|desc" +msgid "" +"The emoji `{emoji}` for menu role `{label}` no longer exists, unsetting." +msgstr "" diff --git a/locales/ko/LC_MESSAGES/rooms.po b/locales/ko/LC_MESSAGES/rooms.po new file mode 100644 index 000000000000..3d7cff9660fd --- /dev/null +++ b/locales/ko/LC_MESSAGES/rooms.po @@ -0,0 +1,839 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Hong Shik Kim, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Hong Shik Kim, 2023\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/rooms/settingui.py:39 +msgctxt "ui:room_config|menu:category|placeholder" +msgid "Select Private Room Category" +msgstr "" + +#: src/modules/rooms/settingui.py:54 +msgctxt "ui:room_config|button:visible|label" +msgid "Toggle Room Visibility" +msgstr "" + +#: src/modules/rooms/settingui.py:64 +msgctxt "ui:rooms_config|embed|title" +msgid "Private Room System Configuration Panel" +msgstr "프라이빗 룸 시스템 설정 패널" + +#: src/modules/rooms/settingui.py:100 +msgctxt "dash:rooms|title" +msgid "Private Room Configuration ({commands[admin config rooms]})" +msgstr "" + +#: src/modules/rooms/settingui.py:104 +msgctxt "dash:economy|dropdown|placeholder" +msgid "Private Room Panel" +msgstr "프라이빗 룸 패널" + +#: src/modules/rooms/roomui.py:56 +msgctxt "ui:room_status|error:owner_required" +msgid "You must be the private room owner to do this!" +msgstr "프라이빗 룸 소유자만 할 수 있어요!" + +#: src/modules/rooms/roomui.py:72 +msgctxt "ui:room_status|error:member_required" +msgid "You need to be a member of the private room to do this!" +msgstr "프라이빗 룸 맴버만 할 수 있어요!" + +#: src/modules/rooms/roomui.py:90 +msgctxt "ui:room_status|button:deposit|modal:deposit|title" +msgid "Room Deposit" +msgstr "룸 보증금" + +#: src/modules/rooms/roomui.py:94 +msgctxt "ui:room_status|button:deposit|modal:deposit|field:question|label" +msgid "How many LionCoins do you want to deposit?" +msgstr "LionCoins 보증금을 얼마나 지불할 건가요?" + +#: src/modules/rooms/roomui.py:112 +#, possible-python-brace-format +msgctxt "ui:room_status|button:deposit|error:invalid_number" +msgid "Cannot deposit `{inputted}` coins. Please enter a positive integer." +msgstr "보증금 `{inputted}`을 지불할 수 없어요. 정수를 입력해 해주세요." + +#: src/modules/rooms/roomui.py:144 +#, possible-python-brace-format +msgctxt "ui:room_status|button:deposit|error:insufficient_funds" +msgid "" +"You cannot deposit {coin}**{amount}**! You only have {coin}**{balance}**." +msgstr "보증금 {coin}**{amount}**을 지불할 수 없어요! 현재 보증금은 {coin}**{balance}**이에요." + +#: src/modules/rooms/roomui.py:160 +msgctxt "ui:room_status|button:deposit|label" +msgid "Deposit" +msgstr "보증금" + +#: src/modules/rooms/roomui.py:171 +msgctxt "ui:room_status|button:edit|label" +msgid "Edit Room" +msgstr "룸 수정" + +#: src/modules/rooms/roomui.py:204 +msgctxt "ui:room_status|button:timer|modal:add_timer|title" +msgid "Create Room Timer" +msgstr "룸 타이머 생성" + +#: src/modules/rooms/roomui.py:236 +#, possible-python-brace-format +msgctxt "ui:room_status|button:timer|timer_created" +msgid "Timer created successfully! Use {edit_cmd} to configure further." +msgstr "타이머가 잘 생성되었어요! {edit_cmd}로 추가 설정해 주세요." + +#: src/modules/rooms/roomui.py:254 +msgctxt "ui:room_status|button:timer|label:edit_timer" +msgid "Edit Timer" +msgstr "타이머 수정" + +#: src/modules/rooms/roomui.py:261 +msgctxt "ui:room_status|button:timer|label:add_timer" +msgid "Add Timer" +msgstr "타이머 추가" + +#: src/modules/rooms/roomui.py:304 +#, possible-python-brace-format +msgctxt "ui:room_status|menu:invite|error:too_many_members" +msgid "" +"Too many members! You are inviting `{count}` new members to your room, but " +"you already have `{current}` members! The member cap is `{cap}`." +msgstr "" + +#: src/modules/rooms/roomui.py:330 +msgctxt "ui:room_status|menu:invite_menu|placeholder:capped" +msgid "Room member cap reached!" +msgstr "룸 맴버 제한을 초과했어요!" + +#: src/modules/rooms/roomui.py:336 +msgctxt "ui:room_status|menu:invite_menu|placeholder:notcapped" +msgid "Add Members" +msgstr "맴버 추가" + +#: src/modules/rooms/roomui.py:359 +msgctxt "ui:room_status|menu:kick_menu|placeholder" +msgid "Remove Members" +msgstr "맴버 탈퇴" + +#: src/modules/rooms/roomui.py:367 +msgctxt "ui:room_status|embed|title" +msgid "Room Control Panel" +msgstr "룸 설정 패널" + +#: src/modules/rooms/roomui.py:375 +msgctxt "ui:room_status|embed|field:channel|name" +msgid "Channel" +msgstr "채널" + +#: src/modules/rooms/roomui.py:380 +msgctxt "ui:room_status|embed|field:owner|name" +msgid "Owner" +msgstr "소유자" + +#: src/modules/rooms/roomui.py:385 +msgctxt "ui:room_status|embed|field:created|name" +msgid "Created At" +msgstr "생성일자" + +#: src/modules/rooms/roomui.py:395 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:bank|value:expiring" +msgid "" +"**Warning:** Insufficient room balance to pay next rent ({coin} **{rent}**).\n" +"The room will expire {expiry}.\n" +"Use {room_deposit_cmd} to increase balance." +msgstr "" + +#: src/modules/rooms/roomui.py:407 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:bank|value:notexpiring" +msgid "Next rent due {time} (- {coin}**{rent}**)" +msgstr "" + +#: src/modules/rooms/roomui.py:416 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:bank|name" +msgid "Room Balance: {coin}**{amount}**" +msgstr "" + +#: src/modules/rooms/roomui.py:428 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:members|name" +msgid "Members ({count}/{cap})" +msgstr "맴버수 ({count}/{cap})" + +#: src/modules/rooms/cog.py:175 src/modules/rooms/room.py:364 +msgctxt "room|eventlog|event:room_deleted|title" +msgid "Private Room Deleted" +msgstr "" + +#: src/modules/rooms/cog.py:179 src/modules/rooms/room.py:368 +#, possible-python-brace-format +msgctxt "room|eventlog|event:room_deleted|desc" +msgid "{owner}'s private room was deleted." +msgstr "" + +#: src/modules/rooms/cog.py:270 +#, possible-python-brace-format +msgctxt "create_room|create_channel|audit_reason" +msgid "Creating Private Room for {ownerid}" +msgstr "" + +#: src/modules/rooms/cog.py:279 +msgctxt "eventlog|event:private_room_create_error|name" +msgid "Private Room Creation Failed" +msgstr "" + +#: src/modules/rooms/cog.py:283 +#, possible-python-brace-format +msgctxt "eventlog|event:private_room_create_error|desc" +msgid "" +"{owner} attempted to rent a new private room, but I could not create it!\n" +"They were not charged." +msgstr "" + +#: src/modules/rooms/cog.py:329 +msgctxt "eventlog|event:private_room_create|name" +msgid "Private Room Rented" +msgstr "" + +#: src/modules/rooms/cog.py:333 +#, possible-python-brace-format +msgctxt "eventlog|event:private_room_create|desc" +msgid "{owner} has rented a new private room {channel}!" +msgstr "" + +#: src/modules/rooms/cog.py:368 +msgctxt "cmd:room" +msgid "room" +msgstr "룸" + +#: src/modules/rooms/cog.py:369 +msgctxt "cmd:room|desc" +msgid "Base command group for private room configuration." +msgstr "프라이빗 룸 설정을 위한 기본 커맨드 그룹 " + +#: src/modules/rooms/cog.py:376 +msgctxt "cmd:room_rent" +msgid "rent" +msgstr "대여" + +#: src/modules/rooms/cog.py:379 +msgctxt "cmd:room_rent|desc" +msgid "Rent a private voice channel with LionCoins." +msgstr "LionCoins으로 프리이빗 보이스 채널 대여" + +#: src/modules/rooms/cog.py:383 +msgctxt "cmd:room_rent|param:days" +msgid "days" +msgstr "일수" + +#: src/modules/rooms/cog.py:384 +msgctxt "cmd:room_rent|param:members" +msgid "members" +msgstr "맴버수" + +#: src/modules/rooms/cog.py:385 +msgctxt "cmd:room_rent|param:name" +msgid "name" +msgstr "이름" + +#: src/modules/rooms/cog.py:390 +msgctxt "cmd:room_rent|param:days|desc" +msgid "Number of days to pre-purchase. (Default: 1)" +msgstr "미리 구매한 일수 (기본값: 1)" + +#: src/modules/rooms/cog.py:394 +msgctxt "cmd:room_rent|param:members|desc" +msgid "Mention the members you want to add to your private room." +msgstr "프라이빗 룸에 추가하고 싶은 맴버를 멘션하세요." + +#: src/modules/rooms/cog.py:398 +msgctxt "cmd:room_rent|param:name|desc" +msgid "Name of your private voice channel." +msgstr "프라이빗 보이스 채널 이름" + +#: src/modules/rooms/cog.py:416 +msgctxt "cmd:room_rent|error:not_setup" +msgid "" +"The private room system has not been set up! A private room category needs " +"to be set first with `/admin config rooms`." +msgstr "" + +#: src/modules/rooms/cog.py:427 +msgctxt "cmd:room_rent|error:insufficient_perms" +msgid "" +"I do not have enough permissions to create a new channel under the " +"configured private room category!" +msgstr "현재 설정된 프라이빗 룸 카테고리로는 새로운 채널을 개설할 수 있는 권한이 없어요!" + +#: src/modules/rooms/cog.py:441 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:room_exists" +msgid "You already own a private room! Click to visit: {channel}" +msgstr "이미 소유한 프라이빗 룸이 있어요! 클릭하여 방문하세요.: {channel}" + +#: src/modules/rooms/cog.py:461 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:member_not_found" +msgid "Could not find the requested member {mention} in this server!" +msgstr "서버에서 요청한 맴버 {mention}를 찾을 수 없어요!" + +#: src/modules/rooms/cog.py:475 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:too_many_members" +msgid "" +"Too many members! You have requested to add `{count}` members to your room, " +"but the maximum private room size is `{cap}`!" +msgstr "맴버가 너무 많아요! 추가 요청한 맴버수는 `{count}`인데, 프라이빗 룸 최대 인원수는 {cap}`이에요." + +#: src/modules/rooms/cog.py:489 +#, possible-python-brace-format +msgctxt "cmd:room_rent|confirm:purchase" +msgid "" +"Are you sure you want to spend {coin}**{required}** to rent a private room " +"for `one` day?" +msgid_plural "" +"Are you sure you want to spend {coin}**{required}** to rent a private room " +"for `{days}` days?" +msgstr[0] "프라이빗 룸을 `{days}`일 대여하기 위해 {coin}**{required}** 코인을 사용합니다. 괜찮을까요?" + +#: src/modules/rooms/cog.py:514 +#, possible-python-brace-format +msgctxt "cmd:room_rent|success" +msgid "Successfully created your private room {channel}!" +msgstr "프라이빗 룸 {channel}을 성공적으로 생성했어요!" + +#: src/modules/rooms/cog.py:519 +msgctxt "cmd:room_rent|success|title" +msgid "Private Room Created!" +msgstr "프라이빗 룸을 생성했어요!" + +#: src/modules/rooms/cog.py:572 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:insufficient_funds" +msgid "" +"Renting a private room for `one` day costs {coin}**{required}**, but you " +"only have {coin}**{balance}**!" +msgid_plural "" +"Renting a private room for `{days}` days costs {coin}**{required}**, but you" +" only have {coin}**{balance}**!" +msgstr[0] "" + +#: src/modules/rooms/cog.py:606 +msgctxt "cmd:room_rent|error:my_permissions" +msgid "" +"Could not create your private room! You were not charged.\n" +"I have insufficient permissions to create a private room channel." +msgstr "" +"프라이빗 룸을 생성할 수 없어요! 코인은 사용하지 않았어요.\n" +"프라이빗 룸을 생성할 수 있는 권한이 충분하지 않아요." + +#: src/modules/rooms/cog.py:617 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:unknown" +msgid "" +"Could not create your private room! You were not charged.\n" +"An unknown error occurred while creating your private room.\n" +"`{error}`" +msgstr "" +"프라이빗 룸을 생성할 수 없어요! 코인은 사용하지 않았어요.\n" +"프라이빗 룸을 생성하는 중 알 수 없는 에러가 발생했어요.\n" +"`{error}`" + +#: src/modules/rooms/cog.py:626 +msgctxt "cmd:room_status" +msgid "status" +msgstr "상태" + +#: src/modules/rooms/cog.py:629 +msgctxt "cmd:room_status|desc" +msgid "Display the status of your current room." +msgstr "룸의 현재 상태를 보여줍니다." + +#: src/modules/rooms/cog.py:646 +msgctxt "cmd:room_status|error:no_target" +msgid "" +"Could not identify target private room! Please re-run the command in the " +"private room you wish to view the status of." +msgstr "프라이빗 룸을 확인할 수 없어요! 상태 확인을 하고 싶은 프라이빗 룸에서 커멘드를 다시 실행해주세요." + +#: src/modules/rooms/cog.py:661 +msgctxt "cmd:room_invite" +msgid "invite" +msgstr "초대" + +#: src/modules/rooms/cog.py:664 +msgctxt "cmd:room_invite|desc" +msgid "Add members to your private room." +msgstr "프라이빗 룸에 맴버 추가" + +#: src/modules/rooms/cog.py:668 +msgctxt "cmd:room_invite|param:members" +msgid "members" +msgstr "맴버" + +#: src/modules/rooms/cog.py:673 +msgctxt "cmd:room_invite|param:members|desc" +msgid "Mention the members you want to add." +msgstr "추가를 원하는 맴버를 멘션하세요." + +#: src/modules/rooms/cog.py:687 +#, possible-python-brace-format +msgctxt "cmd:room_invite|error:no_room" +msgid "" +"You do not own a private room! Use `/room rent` to rent one with {coin}!" +msgstr "프라이빗 룸을 소유하고 있지 않아요! {coin}를 지불하여 `/room rent` 명령어로 대여하세요." + +#: src/modules/rooms/cog.py:708 +#, possible-python-brace-format +msgctxt "cmd:room_invite|error:member_not_found" +msgid "Could not find the invited member {mention} in this server!" +msgstr "초대된 맴버 {mention}를 서버에서 찾을 수 없습니다." + +#: src/modules/rooms/cog.py:719 +msgctxt "cmd:room_invite|error:no_new_members" +msgid "All members mentioned are already in the room!" +msgstr "멘션한 맴버 모두가 모두 룸에 있어요!" + +#: src/modules/rooms/cog.py:733 +#, possible-python-brace-format +msgctxt "cmd:room_invite|error:too_many_members" +msgid "" +"Too many members! You have invited `{count}` new members to your room, but " +"you already have `{current}`, and the member cap is `{cap}`!" +msgstr "" +"맴버가 너무 많아요! `{count}`명의 맴버를 초대했지만, 현재 `{current}`명의 맴버가 있고, 최대 룸 맴버가 " +"`{cap}`명이라 초대가 되지 않았어요." + +#: src/modules/rooms/cog.py:757 +msgctxt "cmd:room_invite|success|ack" +msgid "Members Invited successfully." +msgstr "" + +#: src/modules/rooms/cog.py:765 +msgctxt "cmd:room_kick" +msgid "kick" +msgstr "" + +#: src/modules/rooms/cog.py:768 +msgctxt "cmd:room_kick|desc" +msgid "Remove a members from your private room." +msgstr "" + +#: src/modules/rooms/cog.py:772 +msgctxt "cmd:room_kick|param:members" +msgid "members" +msgstr "" + +#: src/modules/rooms/cog.py:777 +msgctxt "cmd:room_kick|param:members|desc" +msgid "" +"Mention the members you want to remove. Also accepts space-separated user " +"ids." +msgstr "" + +#: src/modules/rooms/cog.py:791 +#, possible-python-brace-format +msgctxt "cmd:room_kick|error:no_room" +msgid "" +"You do not own a private room! Use `/room rent` to rent one with {coin}!" +msgstr "" + +#: src/modules/rooms/cog.py:808 +msgctxt "cmd:room_kick|error:no_matching_members" +msgid "None of the mentioned members are in this room!" +msgstr "" + +#: src/modules/rooms/cog.py:825 +msgctxt "cmd:room_kick|success|ack" +msgid "Members removed." +msgstr "" + +#: src/modules/rooms/cog.py:831 +msgctxt "cmd:room_transfer" +msgid "transfer" +msgstr "" + +#: src/modules/rooms/cog.py:834 +msgctxt "cmd:room_transfer|desc" +msgid "Transfer your private room to another room member. Not reversible!" +msgstr "" + +#: src/modules/rooms/cog.py:838 +msgctxt "cmd:room_transfer|param:new_owner" +msgid "new_owner" +msgstr "" + +#: src/modules/rooms/cog.py:843 +msgctxt "cmd:room_transfer|param:new_owner" +msgid "The room member you would like to transfer your room to." +msgstr "" + +#: src/modules/rooms/cog.py:857 +msgctxt "cmd:room_transfer|error:no_room" +msgid "You do not own a private room to transfer!" +msgstr "" + +#: src/modules/rooms/cog.py:869 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|error:target_not_member" +msgid "" +"{mention} is not a member of your private room! You must invite them first." +msgstr "" + +#: src/modules/rooms/cog.py:881 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|error:target_has_room" +msgid "" +"{mention} already owns a room! Members can only own one room at a time." +msgstr "" + +#: src/modules/rooms/cog.py:890 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|confirm|question" +msgid "" +"Are you sure you wish to transfer your private room {channel} to " +"{new_owner}? This action is not reversible!" +msgstr "" + +#: src/modules/rooms/cog.py:910 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|success|description" +msgid "" +"You have successfully transferred ownership of {channel} to {new_owner}." +msgstr "" + +#: src/modules/rooms/cog.py:916 +msgctxt "cmd:room_deposit" +msgid "deposit" +msgstr "" + +#: src/modules/rooms/cog.py:919 +msgctxt "cmd:room_deposit|desc" +msgid "" +"Deposit LionCoins in your private room bank to add more days. (Members may " +"also deposit!)" +msgstr "" + +#: src/modules/rooms/cog.py:923 +msgctxt "cmd:room_deposit|param:coins" +msgid "coins" +msgstr "" + +#: src/modules/rooms/cog.py:928 +msgctxt "cmd:room_deposit|param:coins|desc" +msgid "Number of coins to deposit." +msgstr "" + +#: src/modules/rooms/cog.py:948 +msgctxt "cmd:room_deposit|error:no_target" +msgid "" +"Could not identify target private room! Please re-run the command in the " +"private room you wish to contribute to." +msgstr "" + +#: src/modules/rooms/cog.py:964 +#, possible-python-brace-format +msgctxt "cmd:room_deposit|error:insufficient_funds" +msgid "" +"You cannot deposit {coin}**{amount}**! You only have {coin}**{balance}**." +msgstr "" + +#: src/modules/rooms/cog.py:985 +#, possible-python-brace-format +msgctxt "cmd:room_depost|success" +msgid "" +"Success! You have contributed {coin}**{amount}** to the private room bank." +msgstr "" + +#: src/modules/rooms/cog.py:1000 +msgctxt "cmd:configure_rooms" +msgid "rooms" +msgstr "" + +#: src/modules/rooms/cog.py:1001 +msgctxt "cmd:configure_rooms|desc" +msgid "Configure Rented Private Rooms" +msgstr "" + +#: src/modules/rooms/room.py:78 +msgctxt "room|eventlog|field:owner" +msgid "Owner" +msgstr "" + +#: src/modules/rooms/room.py:84 +msgctxt "room|eventlog|field:channel" +msgid "Channel" +msgstr "" + +#: src/modules/rooms/room.py:90 +msgctxt "room|eventlog|field:balance" +msgid "Room Balance" +msgstr "" + +#: src/modules/rooms/room.py:96 +msgctxt "room|eventlog|field:created" +msgid "Created At" +msgstr "" + +#: src/modules/rooms/room.py:102 +msgctxt "room|eventlog|field:tick" +msgid "Next Rent Due" +msgstr "" + +#: src/modules/rooms/room.py:108 +msgctxt "room|eventlog|field:members" +msgid "Private Room Members" +msgstr "" + +#: src/modules/rooms/room.py:123 +#, possible-python-brace-format +msgctxt "room|notify:deposit|description" +msgid "{member} has deposited {coin}**{amount}** into the room bank!" +msgstr "" + +#: src/modules/rooms/room.py:146 +msgctxt "room|notify:new_members|title" +msgid "New Members!" +msgstr "" + +#: src/modules/rooms/room.py:150 +#, possible-python-brace-format +msgctxt "room|notify:new_members|desc" +msgid "Welcome {members}" +msgstr "" + +#: src/modules/rooms/room.py:156 +msgctxt "room|eventlog|event:new_members|title" +msgid "Members invited to private room" +msgstr "" + +#: src/modules/rooms/room.py:160 +#, possible-python-brace-format +msgctxt "room|eventlog|event:new_members|desc" +msgid "{owner} added members to their private room: {members}" +msgstr "" + +#: src/modules/rooms/room.py:191 +msgctxt "room|eventlog|event:rm_members|title" +msgid "Members removed from private room" +msgstr "" + +#: src/modules/rooms/room.py:195 +#, possible-python-brace-format +msgctxt "room|eventlog|event:rm_members|desc" +msgid "{owner} removed members from their private room: {members}" +msgstr "" + +#: src/modules/rooms/room.py:254 +#, possible-python-brace-format +msgctxt "room|notify:transfer|description" +msgid "{old_owner} has transferred private room ownership to {new_owner}" +msgstr "" + +#: src/modules/rooms/room.py:318 +msgctxt "room|embed:expiry|title" +msgid "Private Room Expired!" +msgstr "" + +#: src/modules/rooms/room.py:322 +#, possible-python-brace-format +msgctxt "room|embed:expiry|description" +msgid "Your private room in **{guild}** has expired!" +msgstr "" + +#: src/modules/rooms/room.py:332 +msgctxt "room|eventlog|event:expired|title" +msgid "Private Room Expired" +msgstr "" + +#: src/modules/rooms/room.py:336 +#, possible-python-brace-format +msgctxt "room|eventlog|event:expired|desc" +msgid "{owner}'s private room has expired." +msgstr "" + +#: src/modules/rooms/room.py:349 +#, possible-python-brace-format +msgctxt "room|tick|rent_deducted" +msgid "Daily rent deducted from room balance. New balance: {coin}**{amount}**" +msgstr "" + +#: src/modules/rooms/settings.py:23 +msgctxt "guildset:room_category" +msgid "rooms_category" +msgstr "" + +#: src/modules/rooms/settings.py:27 +msgctxt "guildset:rooms_category|desc" +msgid "Category in which to create private voice channels." +msgstr "" + +#: src/modules/rooms/settings.py:31 +msgctxt "guildset:room_category|long_desc" +msgid "" +"When a member uses {cmds[room rent]} to rent a new private room, a private " +"voice channel will be created under this category, manageable by the member." +" I must have permission to create new channels in this category, as well as " +"to manage permissions." +msgstr "" + +#: src/modules/rooms/settings.py:39 +msgctxt "guildset:room_category|accepts" +msgid "Private room category name or id." +msgstr "" + +#: src/modules/rooms/settings.py:53 +msgctxt "guildset:rooms_category|set_response:unset" +msgid "" +"The private room category has been unset. Existing private rooms will not be" +" affected. Delete the channels manually to remove the private rooms." +msgstr "" + +#: src/modules/rooms/settings.py:59 +#, possible-python-brace-format +msgctxt "guildset:rooms_category|set_response:set" +msgid "" +"Private room category has been set to {channel}. Existing private rooms will" +" be moved." +msgstr "" + +#: src/modules/rooms/settings.py:69 +#, possible-python-brace-format +msgctxt "guildset:room_category|set_using" +msgid "{cmd} or category selector below." +msgstr "" + +#: src/modules/rooms/settings.py:79 +msgctxt "guildset:rooms_price" +msgid "room_rent" +msgstr "" + +#: src/modules/rooms/settings.py:83 +msgctxt "guildset:rooms_rent|desc" +msgid "Daily rent price for a private room." +msgstr "" + +#: src/modules/rooms/settings.py:87 +msgctxt "guildset:rooms_rent|long_desc" +msgid "" +"Members will be charged this many LionCoins for each day they rent a private" +" room." +msgstr "" + +#: src/modules/rooms/settings.py:91 +msgctxt "guildset:rooms_rent|accepts" +msgid "Number of LionCoins charged per day for a private room." +msgstr "" + +#: src/modules/rooms/settings.py:103 +#, possible-python-brace-format +msgctxt "guildset:rooms_price|set_response" +msgid "Private rooms will now cost {coin}**{amount}** per 24 hours." +msgstr "" + +#: src/modules/rooms/settings.py:116 +msgctxt "guildset:rooms_slots" +msgid "room_member_cap" +msgstr "" + +#: src/modules/rooms/settings.py:119 +msgctxt "guildset:rooms_slots|desc" +msgid "Maximum number of members in each private room." +msgstr "" + +#: src/modules/rooms/settings.py:123 +msgctxt "guildset:rooms_slots|long_desc" +msgid "" +"Private room owners may invite other members to their private room via the " +"UI, or through the {cmds[room invite]} command. This setting limits the " +"maximum number of members a private room may hold." +msgstr "" + +#: src/modules/rooms/settings.py:129 +msgctxt "guildset:rooms_slots|accepts" +msgid "Maximum number of members allowed per private room." +msgstr "" + +#: src/modules/rooms/settings.py:141 +#, possible-python-brace-format +msgctxt "guildset:rooms_slots|set_response" +msgid "Private rooms are now capped to **{amount}** members." +msgstr "" + +#: src/modules/rooms/settings.py:151 +msgctxt "guildset:rooms_visible" +msgid "room_visibility" +msgstr "" + +#: src/modules/rooms/settings.py:154 +msgctxt "guildset:rooms_visible|desc" +msgid "Whether private rented rooms are visible to non-members." +msgstr "" + +#: src/modules/rooms/settings.py:158 +msgctxt "guildset:rooms_visible|long_desc" +msgid "" +"If enabled, new private rooms will be created with the `VIEW_CHANNEL` " +"permission enabled for the `@everyone` role." +msgstr "" + +#: src/modules/rooms/settings.py:162 +msgctxt "guildset:rooms_visible|accepts" +msgid "Visible/Invisible" +msgstr "" + +#: src/modules/rooms/settings.py:164 +msgctxt "guildset:rooms_visible|output:true" +msgid "Visible" +msgstr "" + +#: src/modules/rooms/settings.py:165 +msgctxt "guildset:rooms_visible|output:false" +msgid "Invisible" +msgstr "" + +#: src/modules/rooms/settings.py:171 +msgctxt "guildset:rooms_visible|parse:truthy_values" +msgid "visible|enabled|yes|true|on|enable|1" +msgstr "" + +#: src/modules/rooms/settings.py:175 +msgctxt "guildset:rooms_visible|parse:falsey_values" +msgid "invisible|disabled|no|false|off|disable|0" +msgstr "" + +#: src/modules/rooms/settings.py:187 +msgctxt "guildset:rooms_visible|set_response:enabled" +msgid "Private rooms will now be visible to everyone." +msgstr "" + +#: src/modules/rooms/settings.py:192 +msgctxt "guildset:rooms_visible|set_response:disabled" +msgid "Private rooms will now only be visible to their members (and admins)." +msgstr "" + +#: src/modules/rooms/settings.py:202 +#, possible-python-brace-format +msgctxt "guildset:rooms_visible|set_using" +msgid "{cmd} or toggle below." +msgstr "" diff --git a/locales/ko/LC_MESSAGES/schedule.po b/locales/ko/LC_MESSAGES/schedule.po new file mode 100644 index 000000000000..080be473a67c --- /dev/null +++ b/locales/ko/LC_MESSAGES/schedule.po @@ -0,0 +1,1161 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Jinho, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Jinho, 2023\n" +"Language-Team: Korean (https://app.transifex.com/leobot/teams/174919/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/schedule/cog.py:493 +msgctxt "create_booking|error:no_lobby" +msgid "" +"This server has not set a `session_lobby`, so the scheduled session system " +"is disabled!" +msgstr "" + +#: src/modules/schedule/cog.py:505 +msgctxt "create_booking|error:no_member" +msgid "An unknown Discord error occurred. Please try again in a few minutes." +msgstr "" + +#: src/modules/schedule/cog.py:513 +msgctxt "create_booking|error:blacklisted" +msgid "" +"You have been blacklisted from the scheduled session system in this server." +msgstr "" + +#: src/modules/schedule/cog.py:524 +#, possible-python-brace-format +msgctxt "create_booking|error:insufficient_balance" +msgid "" +"Booking a session costs {coin}**{required}**, but you only have " +"{coin}**{balance}**." +msgid_plural "" +"Booking `{count}` sessions costs {coin}**{required}**, but you only have " +"{coin}**{balance}**." +msgstr[0] "" + +#: src/modules/schedule/cog.py:538 +msgctxt "create_booking|error:already_booked" +msgid "One or more requested timeslots are already booked!" +msgstr "" + +#: src/modules/schedule/cog.py:741 +msgctxt "cmd:schedule" +msgid "schedule" +msgstr "" + +#: src/modules/schedule/cog.py:744 +msgctxt "cmd:schedule|desc" +msgid "View and manage your scheduled session." +msgstr "" + +#: src/modules/schedule/cog.py:749 +msgctxt "cmd:schedule|param:cancel" +msgid "cancel" +msgstr "취소" + +#: src/modules/schedule/cog.py:752 +msgctxt "cmd:schedule|param:book" +msgid "book" +msgstr "예약" + +#: src/modules/schedule/cog.py:758 +msgctxt "cmd:schedule|param:cancel|desc" +msgid "Select a booked timeslot to cancel." +msgstr "취소하실 예약 시간을 선택하세요." + +#: src/modules/schedule/cog.py:762 +msgctxt "cmd:schedule|param:book|desc" +msgid "Select a timeslot to schedule. (Times shown in your set timezone.)" +msgstr "" + +#: src/modules/schedule/cog.py:792 +#, possible-python-brace-format +msgctxt "cmd:schedule|cancel_booking|error:parse_slot" +msgid "" +"Time slot `{provided}` not recognised. Please select a session to cancel " +"from the autocomplete options." +msgstr "" + +#: src/modules/schedule/cog.py:800 +#, possible-python-brace-format +msgctxt "cmd:schedule|cancel_booking|error:not_booked" +msgid "Could not cancel {time} booking because it is not booked!" +msgstr "" + +#: src/modules/schedule/cog.py:809 +#, possible-python-brace-format +msgctxt "cmd:schedule|cancel_booking|error:too_soon" +msgid "Cannot cancel {time} booking because it is running or starting soon!" +msgstr "" + +#: src/modules/schedule/cog.py:822 +#, possible-python-brace-format +msgctxt "cmd:schedule|cancel_booking|success" +msgid "Successfully cancelled your booking at {time}." +msgstr "" + +#: src/modules/schedule/cog.py:835 +#, possible-python-brace-format +msgctxt "cmd:schedule|create_booking|error:parse_slot" +msgid "" +"Time slot `{provided}` not recognised. Please select a session to cancel " +"from the autocomplete options." +msgstr "" + +#: src/modules/schedule/cog.py:843 +#, possible-python-brace-format +msgctxt "cmd:schedule|create_booking|error:already_booked" +msgid "You have already booked a scheduled session for {time}." +msgstr "" + +#: src/modules/schedule/cog.py:852 +#, possible-python-brace-format +msgctxt "cmd:schedule|create_booking|error:too_soon" +msgid "Cannot book session at {time} because it is running or starting soon!" +msgstr "" + +#: src/modules/schedule/cog.py:864 +#, possible-python-brace-format +msgctxt "cmd:schedule|create_booking|success" +msgid "You have successfully scheduled a session at {time}." +msgstr "" + +#: src/modules/schedule/cog.py:909 +msgctxt "cmd:schedule|acmpl:book|error:not_in_guild" +msgid "You need to be in a server to book sessions!" +msgstr "" + +#: src/modules/schedule/cog.py:922 +msgctxt "cmd:schedule|acmpl:book|error:blacklisted" +msgid "Cannot Book -- Blacklisted" +msgstr "" + +#: src/modules/schedule/cog.py:943 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:book|timezone_info" +msgid "" +"Using timezone '{timezone}' where it is '{now}'. Change with '/my timezone'" +msgstr "" + +#: src/modules/schedule/cog.py:956 src/modules/schedule/cog.py:1014 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:book|format" +msgid "{start} - {end} ({until})" +msgstr "" + +#: src/modules/schedule/cog.py:980 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:book|no_matching" +msgid "No bookable sessions matching '{partial}'" +msgstr "" + +#: src/modules/schedule/cog.py:1003 +msgctxt "cmd:schedule|acmpl:cancel|error:empty_schedule" +msgid "You do not have any upcoming sessions to cancel!" +msgstr "" + +#: src/modules/schedule/cog.py:1036 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:cancel|error:no_matching" +msgid "No cancellable sessions matching '{partial}'" +msgstr "" + +#: src/modules/schedule/cog.py:1081 +msgctxt "cmd:configure_schedule" +msgid "schedule" +msgstr "" + +#: src/modules/schedule/cog.py:1084 +msgctxt "cmd:configure_schedule|desc" +msgid "Configure Scheduled Session system" +msgstr "" + +#: src/modules/schedule/lib.py:86 src/modules/schedule/ui/scheduleui.py:347 +#, possible-python-brace-format +msgctxt "ui:schedule|format_until|positive" +msgid "in <1 hour" +msgid_plural "in {number} hours" +msgstr[0] "" + +#: src/modules/schedule/lib.py:93 src/modules/schedule/ui/scheduleui.py:354 +msgctxt "ui:schedule|format_until|now" +msgid "right now!" +msgstr "" + +#: src/modules/schedule/settings.py:70 +msgctxt "guildset:session_lobby" +msgid "session_lobby" +msgstr "" + +#: src/modules/schedule/settings.py:73 +msgctxt "guildset:session_lobby|desc" +msgid "Channel to post scheduled session announcement and status to." +msgstr "" + +#: src/modules/schedule/settings.py:77 +msgctxt "guildset:session_lobby|long_desc" +msgid "" +"Channel in which to announce scheduled sessions and post their status. I must have the `MANAGE_WEBHOOKS` permission in this channel.\n" +"**This must be configured in order for the scheduled session system to function.**" +msgstr "" + +#: src/modules/schedule/settings.py:83 +msgctxt "guildset:session_lobby|accepts" +msgid "Name or id of the session lobby channel." +msgstr "" + +#: src/modules/schedule/settings.py:97 +#, possible-python-brace-format +msgctxt "guildset:session_lobby|set_response|set" +msgid "Scheduled sessions will now be announced in {channel}" +msgstr "" + +#: src/modules/schedule/settings.py:102 +msgctxt "guildset:session_lobby|set_response|unset" +msgid "" +"The schedule session lobby has been unset. Shutting down scheduled session " +"system." +msgstr "" + +#: src/modules/schedule/settings.py:112 +msgctxt "guildset:session_lobby|formatted|unset" +msgid "`Not Set` (The scheduled session system is disabled.)" +msgstr "" + +#: src/modules/schedule/settings.py:117 +#, possible-python-brace-format +msgctxt "guildset:session_lobby|formatted|set" +msgid "<#{channelid}>" +msgstr "" + +#: src/modules/schedule/settings.py:127 +msgctxt "guildset:session_room" +msgid "session_room" +msgstr "" + +#: src/modules/schedule/settings.py:130 +msgctxt "guildset:session_room|desc" +msgid "Special voice channel open to scheduled session members." +msgstr "" + +#: src/modules/schedule/settings.py:134 +msgctxt "guildset:session_room|long_desc" +msgid "" +"If set, this voice channel serves as a dedicated room for scheduled session " +"members. During (and slightly before) each scheduled session, all members " +"who have booked the session will be given permission to join the voice " +"channel (via permission overwrites). I require the `MANAGE_CHANNEL`, " +"`MANAGE_PERMISSIONS`, `CONNECT`, and `VIEW_CHANNEL` permissions in this " +"channel, and my highest role must be higher than all permission overwrites " +"set in the channel. Furthermore, if this is set to a *category* channel, " +"then the permission overwrites will apply to all *synced* channels under the" +" category, as usual." +msgstr "" + +#: src/modules/schedule/settings.py:144 +msgctxt "guildset:session_room|accepts" +msgid "Name or id of the session room voice channel." +msgstr "" + +#: src/modules/schedule/settings.py:158 +#, possible-python-brace-format +msgctxt "guildset:session_room|set_response|set" +msgid "Schedule session members will now be given access to {channel}" +msgstr "" + +#: src/modules/schedule/settings.py:163 +msgctxt "guildset:session_room|set_response|unset" +msgid "The dedicated schedule session room has been removed." +msgstr "" + +#: src/modules/schedule/settings.py:171 +msgctxt "guildset:session_channels" +msgid "session_channels" +msgstr "" + +#: src/modules/schedule/settings.py:174 +msgctxt "guildset:session_channels|desc" +msgid "Voice channels in which to track activity for scheduled sessions." +msgstr "" + +#: src/modules/schedule/settings.py:178 +msgctxt "guildset:session_channels|long_desc" +msgid "" +"Only activity in these channels (and in `session_room` if set) will count " +"towards scheduled session attendance. If a category is selected, then all " +"channels under the category will also be included. Activity tracking also " +"respects the `untracked_voice_channels` setting." +msgstr "" + +#: src/modules/schedule/settings.py:185 +msgctxt "guildset:session_channels|accepts" +msgid "Comma separated list of session channel names or ids." +msgstr "" + +#: src/modules/schedule/settings.py:202 +#, possible-python-brace-format +msgctxt "guildset:session_channels|set_response|set" +msgid "" +"Activity in the following sessions will now count towards scheduled session " +"attendance: {channels}" +msgstr "" + +#: src/modules/schedule/settings.py:207 +msgctxt "guildset:session_channels|set_response|unset" +msgid "" +"Activity in all (tracked) voice channels will now count towards session " +"attendance." +msgstr "" + +#: src/modules/schedule/settings.py:217 +msgctxt "guildset:session_channels|formatted|unset" +msgid "All Channels (excluding `untracked_channels`)" +msgstr "" + +#: src/modules/schedule/settings.py:248 +msgctxt "guildset:schedule_cost" +msgid "schedule_cost" +msgstr "" + +#: src/modules/schedule/settings.py:251 +msgctxt "guildset:schedule_cost|desc" +msgid "Booking cost for each scheduled session." +msgstr "" + +#: src/modules/schedule/settings.py:255 +msgctxt "guildset:schedule_cost|long_desc" +msgid "" +"Members will be charged this many LionCoins for each scheduled session they " +"book." +msgstr "" + +#: src/modules/schedule/settings.py:259 +msgctxt "guildset:schedule_cost|accepts" +msgid "Price of each session booking (non-negative integer)." +msgstr "" + +#: src/modules/schedule/settings.py:271 +#, possible-python-brace-format +msgctxt "guildset:schedule_cost|set_response" +msgid "" +"Schedule session bookings will now cost {coin} **{amount}** per timeslot." +msgstr "" + +#: src/modules/schedule/settings.py:284 +#, possible-python-brace-format +msgctxt "guildset:schedule_cost|formatted" +msgid "{coin}**{amount}** per booking." +msgstr "" + +#: src/modules/schedule/settings.py:294 +msgctxt "guildset:attendance_reward" +msgid "attendance_reward" +msgstr "" + +#: src/modules/schedule/settings.py:297 +msgctxt "guildset:attendance_reward|desc" +msgid "Reward for attending a booked scheduled session." +msgstr "" + +#: src/modules/schedule/settings.py:301 +msgctxt "guildset:attendance_reward|long_desc" +msgid "" +"When a member successfully attends a scheduled session they booked, they " +"will be awarded this many LionCoins. Should generally be more than the " +"`schedule_cost` setting." +msgstr "" + +#: src/modules/schedule/settings.py:307 +msgctxt "guildset:attendance_reward|accepts" +msgid "Number of coins to reward session attendance." +msgstr "" + +#: src/modules/schedule/settings.py:319 +#, possible-python-brace-format +msgctxt "guildset:attendance_reward|set_response" +msgid "" +"Members will be rewarded {coin}**{amount}** when they attend a scheduled " +"session." +msgstr "" + +#: src/modules/schedule/settings.py:329 +#, possible-python-brace-format +msgctxt "guildset:attendance_reward|formatted" +msgid "{coin}**{amount}** upon attendance." +msgstr "" + +#: src/modules/schedule/settings.py:339 +msgctxt "guildset:attendance_bonus" +msgid "group_attendance_bonus" +msgstr "" + +#: src/modules/schedule/settings.py:342 +msgctxt "guildset:attendance_bonus|desc" +msgid "Bonus reward given when all members attend a scheduled session." +msgstr "" + +#: src/modules/schedule/settings.py:346 +msgctxt "guildset:attendance_bonus|long_desc" +msgid "" +"When all members who have booked a session successfully attend the session, " +"they will be given this bonus in *addition* to the `attendance_reward`." +msgstr "" + +#: src/modules/schedule/settings.py:351 +msgctxt "guildset:attendance_bonus|accepts" +msgid "Bonus coins rewarded when everyone attends a session." +msgstr "" + +#: src/modules/schedule/settings.py:363 +#, possible-python-brace-format +msgctxt "guildset:attendance_bonus|set_response" +msgid "" +"Session members will be rewarded an additional {coin}**{amount}** when " +"everyone attends." +msgstr "" + +#: src/modules/schedule/settings.py:373 +#, possible-python-brace-format +msgctxt "guildset:attendance_bonus|formatted" +msgid "{coin}**{amount}** bonus when all booked members attend." +msgstr "" + +#: src/modules/schedule/settings.py:383 +msgctxt "guildset:min_attendance" +msgid "min_attendance" +msgstr "" + +#: src/modules/schedule/settings.py:386 +msgctxt "guildset:min_attendance|desc" +msgid "Minimum attendance before reward eligability." +msgstr "" + +#: src/modules/schedule/settings.py:390 +msgctxt "guildset:min_attendance|long_desc" +msgid "" +"Scheduled session members will need to attend the session for at least this " +"number of minutes before they are marked as having attended (and hence are " +"rewarded)." +msgstr "" + +#: src/modules/schedule/settings.py:395 +msgctxt "guildset:min_attendance|accepts" +msgid "Number of minutes (1-60) before attendance is counted." +msgstr "" + +#: src/modules/schedule/settings.py:409 +#, possible-python-brace-format +msgctxt "guildset:min_attendance|set_response" +msgid "" +"Members will be rewarded after they have attended booked sessions for at " +"least **`{amount}`** minutes." +msgstr "" + +#: src/modules/schedule/settings.py:419 +#, possible-python-brace-format +msgctxt "guildset:min_attendance|formatted" +msgid "**`{amount}`** minutes" +msgstr "" + +#: src/modules/schedule/settings.py:440 +msgctxt "guildset:min_attendance|parse|error" +msgid "" +"Minimum attendance must be an integer number of minutes between `1` and " +"`60`." +msgstr "" + +#: src/modules/schedule/settings.py:452 +msgctxt "guildset:schedule_blacklist_role" +msgid "schedule_blacklist_role" +msgstr "" + +#: src/modules/schedule/settings.py:455 +msgctxt "guildset:schedule_blacklist_role|desc" +msgid "Role which disables scheduled session booking." +msgstr "" + +#: src/modules/schedule/settings.py:459 +msgctxt "guildset:schedule_blacklist_role|long_desc" +msgid "" +"Members with this role will not be allowed to book scheduled sessions in " +"this server. If the role is manually added, all future scheduled sessions " +"for the user are cancelled. This provides a way to stop repeatedly " +"unreliable members from blocking the group bonus for all members. " +"Alternatively, consider setting the booking cost (and reward) very high to " +"provide a strong disincentive for not attending a session." +msgstr "" + +#: src/modules/schedule/settings.py:467 +msgctxt "guildset:schedule_blacklist_role|accepts" +msgid "Blacklist role name or id." +msgstr "" + +#: src/modules/schedule/settings.py:480 +#, possible-python-brace-format +msgctxt "guildset:schedule_blacklist_role|set_response|set" +msgid "Members with {role} will be unable to book scheduled sessions." +msgstr "" + +#: src/modules/schedule/settings.py:485 +msgctxt "guildset:schedule_blacklist_role|set_response|unset" +msgid "The schedule blacklist role has been unset." +msgstr "" + +#: src/modules/schedule/settings.py:495 +#, possible-python-brace-format +msgctxt "guildset:schedule_blacklist_role|formatted|set" +msgid "{role} members will not be able to book scheduled sessions." +msgstr "" + +#: src/modules/schedule/settings.py:500 +msgctxt "guildset:schedule_blacklist_role|formatted|unset" +msgid "Not Set" +msgstr "" + +#: src/modules/schedule/settings.py:510 +msgctxt "guildset:schedule_blacklist_after" +msgid "schedule_blacklist_after" +msgstr "" + +#: src/modules/schedule/settings.py:513 +msgctxt "guildset:schedule_blacklist_after|desc" +msgid "Number of missed sessions within 24h before blacklisting." +msgstr "" + +#: src/modules/schedule/settings.py:517 +msgctxt "guildset:schedule_blacklist_after|long_desc" +msgid "" +"Members who miss more than this number of booked sessions in a single 24 " +"hour period will be automatically given the `blacklist_role`. Has no effect " +"if the `blacklist_role` is not set or if I do not have sufficient " +"permissions to assign the blacklist role." +msgstr "" + +#: src/modules/schedule/settings.py:524 +msgctxt "guildset:schedule_blacklist_after|accepts" +msgid "A number of missed sessions (1-24) before blacklisting." +msgstr "" + +#: src/modules/schedule/settings.py:539 +#, possible-python-brace-format +msgctxt "guildset:schedule_blacklist_after|set_response|set" +msgid "" +"Members will be blacklisted after **`{amount}`** missed sessions within " +"`24h`." +msgstr "" + +#: src/modules/schedule/settings.py:544 +msgctxt "guildset:schedule_blacklist_after|set_response|unset" +msgid "" +"Members will not be automatically blacklisted from booking scheduled " +"sessions." +msgstr "" + +#: src/modules/schedule/settings.py:554 +#, possible-python-brace-format +msgctxt "guildset:schedule_blacklist_after|formatted|set" +msgid "Blacklist after **`{amount}`** missed sessions within `24h`." +msgstr "" + +#: src/modules/schedule/settings.py:559 +msgctxt "guildset:schedule_blacklist_after|formatted|unset" +msgid "Do not automatically blacklist." +msgstr "" + +#: src/modules/schedule/settings.py:571 +msgctxt "guildset:schedule_blacklist_role|parse|error" +msgid "Blacklist threshold must be a number between `1` and `24`." +msgstr "" + +#: src/modules/schedule/ui/settingui.py:69 +msgctxt "ui:schedule_config|button:page0|label" +msgid "Page 1" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:89 +msgctxt "ui:schedule_config|menu:lobby|placeholder" +msgid "Select Lobby Channel" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:107 +msgctxt "ui:schedule_config|menu:room|placeholder" +msgid "Select Session Room" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:126 +msgctxt "ui:schedule_config|menu:channels|placeholder" +msgid "Select Session Channels" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:140 +msgctxt "ui:schedule_config|button:page1|label" +msgid "Page 2" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:155 +msgctxt "ui:schedule_config|button:page2|label" +msgid "Page 3" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:173 +msgctxt "ui:schedule_config|menu:blacklist_role|placeholder" +msgid "Select Blacklist Role" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:181 +msgctxt "ui:schedule_config|embed|title" +msgid "Scheduled Session Configuration Panel" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:234 +msgctxt "dash:schedule|title" +msgid "Scheduled Session Configuration ({commands[admin config schedule]})" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:238 +msgctxt "dash:schedule|dropdown|placeholder" +msgid "Scheduled Sessions Panel" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:255 +msgctxt "dash:schedule|section:schedule_channels|name" +msgid "Scheduled Session Channels ({commands[admin config schedule]})" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:265 +msgctxt "dash:schedule|section:schedule_rewards|name" +msgid "Scheduled Session Rewards ({commands[admin config schedule]})" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:275 +msgctxt "dash:schedule|section:schedule_blacklist|name" +msgid "Scheduled Session Blacklist ({commands[admin config schedule]})" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:31 +msgctxt "ui:schedule|about" +msgid "" +"**Do you think you can commit to a schedule and stick to it?**\n" +"**Schedule voice sessions here and get rewarded for keeping yourself accountable!**\n" +"\n" +"Use the menu below to book timeslots using LionCoins. If you are active (in the dedicated voice channels) during these times, you will be rewarded, along with a large bonus if everyone who scheduled that slot made it!\n" +"Beware though, if you fail to make it, all your booked sessions will be cancelled with no refund! And if you keep failing to attend your scheduled sessions, you may be forbidden from booking them in future.\n" +"\n" +"When your scheduled session starts, you will recieve a ping from the schedule channel, which will have more information about how to attend your session.\n" +"If you discover you can't make your scheduled session, please be responsible and use this command to cancel or clear your schedule!\n" +"\n" +"**Note:** *Make sure your timezone is set correctly (with `/my timezone`), or the times I tell might not make sense!*" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:130 +msgctxt "ui:schedule|button:clear|error:nothing" +msgid "No upcoming sessions to cancel! Your schedule is already clear." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:143 +msgctxt "ui:schedule|button:clear|success" +msgid "Successfully cancelled and refunded your upcoming scheduled sessions." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:156 +msgctxt "ui:schedule|button:clear|label" +msgid "Clear Schedule" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:172 +msgctxt "ui:schedule|button:about|label" +msgid "About Schedule" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:198 +msgctxt "ui:schedule|menu:booking|error:current_slot" +msgid "You cannot schedule a currently running session!" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:205 +msgctxt "ui:schedule|menu:booking|error:next_slot" +msgid "Too late! You cannot schedule a session starting in the next minute." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:212 +msgctxt "ui:schedule|menu:booking|error:already_booked" +msgid "You have already booked one or more of the requested sessions!" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:225 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:booking|error:insufficient_balance" +msgid "" +"Booking `{count}` scheduled sessions requires {coin}**{required}**, but you " +"only have {coin}**{balance}**!" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:241 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:booking|success" +msgid "Successfully booked your scheduled session at {times}." +msgid_plural "" +"Successfully booked the following scheduled sessions.\n" +"{times}" +msgstr[0] "" + +#: src/modules/schedule/ui/scheduleui.py:264 +msgctxt "ui:schedule|menu:booking|placeholder:blacklisted" +msgid "Book Sessions (Cannot book - Blacklisted)" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:272 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:booking|placeholder:regular" +msgid "Book Sessions ({amount} LC)" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:317 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:slots|option|format" +msgid "{day} {time} ({until})" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:321 +msgctxt "ui:schedule|menu:slots|option|day:today" +msgid "Today" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:325 +msgctxt "ui:schedule|menu:slots|option|day:tomorrow" +msgid "Tomorrow" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:376 +msgctxt "ui:schedule|menu:cancel|error:current_slot" +msgid "" +"You cannot cancel a currently running *scheduled* session! Please attend it " +"if possible." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:382 +msgctxt "ui:schedule|menu:cancel|error:too_late" +msgid "" +"Too late! You cannot cancel a scheduled session within a minute of it " +"starting. Please attend it if possible." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:399 +msgctxt "ui:schedule|menu:cancel|error:already_cancelled" +msgid "The selected bookings no longer exist! Nothing to cancel." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:409 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:cancel|success" +msgid "" +"Successfully cancelled and refunded your scheduled session booking for " +"{times}." +msgid_plural "" +"Successfully cancelled and refunded your scheduled session bookings:\n" +"{times}." +msgstr[0] "" + +#: src/modules/schedule/ui/scheduleui.py:430 +msgctxt "ui:schedule|menu:cancel|placeholder" +msgid "Cancel booked sessions" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:452 +msgctxt "ui:schedule|embed|author" +msgid "Your Scheduled Sessions and Past Statistics" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:464 +msgctxt "ui:schedule|embed|field:stats|field:recent" +msgid "Recent" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:471 +msgctxt "ui:schedule|embed|field:stats|field:alltime" +msgid "All Time" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:477 +msgctxt "ui:schedule|embed|field:stats|field:streak" +msgid "Streak" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:482 +#, possible-python-brace-format +msgctxt "ui:schedule|embed|field:stats|field:streak|value:zero" +msgid "One session attended! Keep it up!" +msgid_plural "**{streak}** sessions attended in a row! Good job!" +msgstr[0] "" + +#: src/modules/schedule/ui/scheduleui.py:489 +msgctxt "ui:schedule|embed|field:stats|field:streak|value:positive" +msgid "No streak yet!" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:497 +msgctxt "ui:schedule|embed|field:stats|name" +msgid "Session Statistics" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:516 +msgctxt "ui:schedule|embed|field:upcoming|name" +msgid "Upcoming Sessions" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:520 +msgctxt "ui:schedule|embed|field:upcoming|value:empty" +msgid "No sessions scheduled yet!" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:534 +#, possible-python-brace-format +msgctxt "ui:schedule|embed|stats_format" +msgid "" +"**{attended}** attended out of **{total}** booked.\r\n" +"**{percent}%** attendance rate.\r\n" +"**{average}** average attendance time." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:548 +#, possible-python-brace-format +msgctxt "ui:schedule|booking_format:short" +msgid "`{until}` | {start} - {end}" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:552 +#, possible-python-brace-format +msgctxt "ui:schedule|booking_format:long" +msgid "> `{until}` | {start} - {end}" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:52 +msgctxt "ui:sessionui|button:book|label" +msgid "Book" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:56 +msgctxt "ui:sessionui|button:cancel|label" +msgid "Cancel" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:60 +msgctxt "ui:sessionui|button:schedule|label" +msgid "Open Schedule" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:64 +msgctxt "ui:sessionui|button:help|label" +msgid "How to Attend" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:92 +msgctxt "ui:session|button:book|error:starting_soon" +msgid "Too late! This session has started or is starting shortly." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:99 +msgctxt "ui:session|button:book|error:already_booked" +msgid "You are already a member of this session!" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:106 +msgctxt "ui:session|button:book|success" +msgid "Successfully booked this session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:120 +msgctxt "ui:session|button:book|error|title" +msgid "Could not book session" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:138 +msgctxt "ui:session|button:cancel|error:starting_soon" +msgid "Too late! This session has started or is starting shortly." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:145 +msgctxt "ui:session|button:cancel|error:not_booked" +msgid "You are not a member of this session!" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:155 +msgctxt "ui:session|button:cancel|success" +msgid "Successfully cancelled this session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:169 +msgctxt "ui:session|button:cancel|error|title" +msgid "Could not cancel session" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:202 +msgctxt "ui:session|button:help|embed:unbooked|title" +msgid "You have not booked this session!" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:206 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:unbooked|description" +msgid "" +"You need to book this scheduled session before you can attend it! Press the " +"**{book_label}** button to book the session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:215 +msgctxt "ui:session|button:help|embed:help|title" +msgid "How to attend your scheduled session" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:224 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|minimum_attendance" +msgid "at least one minute" +msgid_plural "at least `{duration}` minutes" +msgstr[0] "" + +#: src/modules/schedule/ui/sessionui.py:237 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|room_line:category" +msgid "" +"The exclusive scheduled session category **{category}** will also be open to" +" you during your scheduled session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:243 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|room_line:voice" +msgid "" +"The exclusive scheduled session room {room} will also be open to you during " +"your scheduled session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:262 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:only_room_category" +msgid "" +"To attend your scheduled session, join a voice channel in **{room}** for " +"**{minimum}** between {start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:272 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:only_room_channel" +msgid "" +"To attend your scheduled session, join {room} for **{minimum}** between " +"{start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:282 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:with_channels" +msgid "" +"To attend your scheduled session, join a valid session voice channel for " +"**{minimum}** between {start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:292 +msgctxt "ui:session|button:help|embed:help|field:channels|name" +msgid "Valid session channels" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:300 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:all_channels" +msgid "" +"To attend your scheduled session, join any tracked voice channel for " +"**{minimum}** between {start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:308 +msgctxt "ui:session|button:help|embed:help|field:rewards|name" +msgid "Rewards" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:312 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|field:rewards|value" +msgid "" +"Everyone who attends the session will be rewarded with {coin}**{reward}**.\n" +"If *everyone* successfully attends, you will also be awarded a bonus of {coin}**{bonus}**.\n" +"Anyone who does *not* attend their booked session will have the rest of their schedule cancelled **without refund**, so beware!" +msgstr "" + +#: src/modules/schedule/core/session.py:197 +msgctxt "session|error:lobby_webhook_perms" +msgid "" +"Insufficient permissions to create a webhook in this channel. I require the " +"`MANAGE_WEBHOOKS` permission." +msgstr "" + +#: src/modules/schedule/core/session.py:281 +#, possible-python-brace-format +msgctxt "session|prepare|error:room_permissions" +msgid "" +"Could not prepare the configured session room {room} for the next scheduled " +"session! I require the `MANAGE_CHANNEL`, `MANAGE_ROLES`, `CONNECT` and " +"`VIEW_CHANNEL` permissions." +msgstr "" + +#: src/modules/schedule/core/session.py:325 +msgctxt "session|open|update_perms|audit_reason" +msgid "Opening configured scheduled session room." +msgstr "" + +#: src/modules/schedule/core/session.py:347 +msgctxt "session|open|clean_room|audit_reason" +msgid "Removing extra member from scheduled session room." +msgstr "" + +#: src/modules/schedule/core/session.py:354 +#, possible-python-brace-format +msgctxt "session|open|error:room_permissions" +msgid "" +"Could not set up the configured session room {room} for this scheduled " +"session! I require the `MANAGE_CHANNEL`, `MANAGE_ROLES`, `CONNECT` and " +"`VIEW_CHANNEL` permissions." +msgstr "" + +#: src/modules/schedule/core/session.py:411 +#, possible-python-brace-format +msgctxt "session|notify|dm|join_line:room_category" +msgid "" +"Please attend your session by joining a voice channel under **{room}**!" +msgstr "" + +#: src/modules/schedule/core/session.py:416 +#, possible-python-brace-format +msgctxt "session|notify|dm|join_line:room_voice" +msgid "Please attend your session by joining {room}" +msgstr "" + +#: src/modules/schedule/core/session.py:421 +msgctxt "session|notify|dm|join_line:all_channels" +msgid "Please attend your session by joining a tracked voice channel!" +msgstr "" + +#: src/modules/schedule/core/session.py:443 +msgctxt "session|notify|dm|join_line:channels" +msgid "Please attend your session by joining one of the following:" +msgstr "" + +#: src/modules/schedule/core/session.py:453 +msgctxt "session|notify|dm|title" +msgid "Your Scheduled Session has started!" +msgstr "" + +#: src/modules/schedule/core/session.py:457 +#, possible-python-brace-format +msgctxt "session|notify|dm|description" +msgid "Your scheduled session in {dest} has now begun!" +msgstr "" + +#: src/modules/schedule/core/session.py:482 +#, possible-python-brace-format +msgctxt "session|status|title" +msgid "Session {start} - {end}" +msgstr "" + +#: src/modules/schedule/core/session.py:493 +msgctxt "session|status|desc:cancelled" +msgid "" +"I cancelled this scheduled session because I was unavailable. All members " +"who booked the session have been refunded." +msgstr "" + +#: src/modules/schedule/core/session.py:500 +msgctxt "session|status|desc:no_members" +msgid "*No members scheduled this session.*" +msgstr "" + +#: src/modules/schedule/core/session.py:506 +#, possible-python-brace-format +msgctxt "session|status:preparing|desc:has_members" +msgid "Starting {start}" +msgstr "" + +#: src/modules/schedule/core/session.py:509 +msgctxt "session|status:preparing|field:members" +msgid "Members" +msgstr "" + +#: src/modules/schedule/core/session.py:516 +#, possible-python-brace-format +msgctxt "session|status:running|desc:has_members" +msgid "Finishing {start}" +msgstr "" + +#: src/modules/schedule/core/session.py:550 +msgctxt "session|status:running|field:waiting" +msgid "Waiting For" +msgstr "" + +#: src/modules/schedule/core/session.py:556 +msgctxt "session|status:running|field:attending" +msgid "Attending" +msgstr "" + +#: src/modules/schedule/core/session.py:562 +msgctxt "session|status:running|field:attended" +msgid "Attended" +msgstr "" + +#: src/modules/schedule/core/session.py:587 +#, possible-python-brace-format +msgctxt "session|status:finished|desc:everyone_att" +msgid "" +"Everyone attended the session! All members were rewarded with {coin} " +"**{reward} + {bonus}**!" +msgstr "" + +#: src/modules/schedule/core/session.py:598 +#, possible-python-brace-format +msgctxt "session|status:finished|desc:some_att" +msgid "" +"Everyone who attended was rewarded with {coin} **{reward}**! Some members did not attend so everyone missed out on the bonus {coin} **{bonus}**.\n" +"**Members who missed their session have all future sessions cancelled without refund!*" +msgstr "" + +#: src/modules/schedule/core/session.py:610 +msgctxt "session|status:finished|desc:some_att" +msgid "" +"No-one attended this session! No-one received rewards.\n" +"**Members who missed their session have all future sessions cancelled without refund!*" +msgstr "" + +#: src/modules/schedule/core/session.py:616 +msgctxt "session|status:finished|field:attended" +msgid "Attended" +msgstr "" + +#: src/modules/schedule/core/session.py:621 +msgctxt "session|status:finished|field:missing" +msgid "Missing" +msgstr "" + +#: src/modules/schedule/core/timeslot.py:487 +msgctxt "session|closing|audit_reason" +msgid "Removing previous scheduled session member permissions." +msgstr "" + +#: src/modules/schedule/core/timeslot.py:506 +msgctxt "session|closing|disconnecting|audit_reason" +msgid "Disconnecting previous scheduled session members." +msgstr ""