diff --git a/config/example-bot.conf b/config/example-bot.conf index f8f595f1..a5195d74 100644 --- a/config/example-bot.conf +++ b/config/example-bot.conf @@ -40,8 +40,8 @@ server_host = 127.0.0.1 server_port = 4999 [BABEL] -locales = ceaser -domains = base, shop, economy, user_config, config, ranks, tasklist, exec, rooms, test, reminders, Pomodoro, statistics, utils, timer-gui, goals-gui, weekly-gui, profile-gui, monthly-gui, leaderboard-gui, stats-gui, settings_base, voice-tracker, text-tracker, core_config, babel +locales = en-GB, ceaser +domains = base, wards, schedule, shop, moderation, economy, user_config, config, member_admin, ranks, tasklist, sysadmin, exec, meta, rooms, rolemenus, test, reminders, video, Pomodoro, statistics, utils, timer-gui, goals-gui, weekly-gui, profile-gui, monthly-gui, leaderboard-gui, stats-gui, settings_base, voice-tracker, text-tracker, lion-core, core_config, babel [TEXT_TRACKER] batchsize = 1 diff --git a/locales/templates/Pomodoro.pot b/locales/templates/Pomodoro.pot index 676f42c8..106d1b03 100644 --- a/locales/templates/Pomodoro.pot +++ b/locales/templates/Pomodoro.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,41 +18,41 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: src/modules/pomodoro/timer.py:50 +#: src/modules/pomodoro/timer.py:51 msgctxt "timer|stage:break|name" msgid "BREAK" msgstr "" -#: src/modules/pomodoro/timer.py:51 +#: src/modules/pomodoro/timer.py:52 msgctxt "timer|stage:focus|name" msgid "FOCUS" msgstr "" -#: src/modules/pomodoro/timer.py:155 +#: src/modules/pomodoro/timer.py:158 #, possible-python-brace-format msgctxt "timer|webhook|name" msgid "{bot_name} Pomodoro" msgstr "" -#: src/modules/pomodoro/timer.py:159 +#: src/modules/pomodoro/timer.py:162 msgctxt "timer|webhook|audit_reason" msgid "Pomodoro Notifications" msgstr "" -#: src/modules/pomodoro/timer.py:170 +#: src/modules/pomodoro/timer.py:173 msgctxt "timer|webhook|error:insufficient_permissions" msgid "" "I require the `MANAGE_WEBHOOKS` permission to send pomodoro notifications " "here!" msgstr "" -#: src/modules/pomodoro/timer.py:229 +#: src/modules/pomodoro/timer.py:232 #, possible-python-brace-format msgctxt "timer|default_base_name" msgid "Timer {pattern}" msgstr "" -#: src/modules/pomodoro/timer.py:403 +#: src/modules/pomodoro/timer.py:406 #, possible-python-brace-format msgctxt "timer|kicked_message" msgid "" @@ -64,20 +64,20 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/modules/pomodoro/timer.py:496 +#: src/modules/pomodoro/timer.py:499 #, possible-python-brace-format msgctxt "timer|status|stage:focus|statusline" msgid "{channel} is now in **FOCUS**! Good luck, **BREAK** starts {timestamp}" msgstr "" -#: src/modules/pomodoro/timer.py:501 +#: src/modules/pomodoro/timer.py:504 #, possible-python-brace-format msgctxt "timer|status|stage:break|statusline" msgid "" "{channel} is now on **BREAK**! Take a rest, **FOCUS** starts {timestamp}" msgstr "" -#: src/modules/pomodoro/timer.py:533 +#: src/modules/pomodoro/timer.py:536 #, possible-python-brace-format msgctxt "timer|status|warningline" msgid "" @@ -85,13 +85,13 @@ msgid "" "next stage." msgstr "" -#: src/modules/pomodoro/timer.py:552 +#: src/modules/pomodoro/timer.py:555 #, possible-python-brace-format msgctxt "timer|status|stopped:auto" msgid "Timer stopped! Join {channel} to start the timer." msgstr "" -#: src/modules/pomodoro/timer.py:557 +#: src/modules/pomodoro/timer.py:560 msgctxt "timer|status|stopped:manual" msgid "Timer stopped! Press `Start` to restart the timer." msgstr "" @@ -116,254 +116,285 @@ msgctxt "dash:stats|dropdown|placeholder" msgid "Pomodoro Timer Panel" msgstr "" -#: src/modules/pomodoro/cog.py:83 +#: src/modules/pomodoro/cog.py:82 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:321 -msgctxt "cmd:pomodoro" -msgid "timers" -msgstr "" - #: src/modules/pomodoro/cog.py:322 -msgctxt "cmd:pomodoro|desc" -msgid "Base group for all pomodoro timer commands." +msgctxt "cmd:timer" +msgid "timer" msgstr "" -#: src/modules/pomodoro/cog.py:330 -msgctxt "cmd:pomodoro_status" -msgid "show" +#: src/modules/pomodoro/cog.py:323 +msgctxt "cmd:timer|desc" +msgid "Show your current (or selected) pomodoro timer." msgstr "" -#: src/modules/pomodoro/cog.py:331 -msgctxt "cmd:pomodoro_status|desc" -msgid "Display the status of a single pomodoro timer." -msgstr "" - -#: src/modules/pomodoro/cog.py:334 -msgctxt "cmd:pomodoro_status|param:channel" +#: src/modules/pomodoro/cog.py:326 +msgctxt "cmd:timer|param:channel" msgid "timer_channel" msgstr "" -#: src/modules/pomodoro/cog.py:339 -msgctxt "cmd:pomodoro_status|param:channel|desc" -msgid "The channel for which you want to view the timer." +#: src/modules/pomodoro/cog.py:331 +msgctxt "cmd:timer|param:channel|desc" +msgid "Select a timer to display (by selecting the timer voice channel)" msgstr "" -#: src/modules/pomodoro/cog.py:357 +#: src/modules/pomodoro/cog.py:353 src/modules/pomodoro/cog.py:423 #, possible-python-brace-format -msgctxt "cmd:pomodoro_status|error:no_timer" -msgid "The channel {channel} does not have a timer set up!" +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 "" #: src/modules/pomodoro/cog.py:367 -msgctxt "cmd:pomodoro_list" -msgid "list" -msgstr "" - -#: src/modules/pomodoro/cog.py:368 -msgctxt "cmd:pomodoro_list|desc" -msgid "List the available pomodoro timers." -msgstr "" - -#: src/modules/pomodoro/cog.py:391 #, possible-python-brace-format -msgctxt "cmd:pomodoro_list|error:no_timers" +msgctxt "cmd:timer|error:no_channel|desc" msgid "" -"No timers have been setup in this server!\n" -"You can ask an admin to create one with {command}, or rent a private room " -"and create one yourself!" +"**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 "" -#: src/modules/pomodoro/cog.py:404 -msgctxt "cmd:pomodoro_list|error:no_visible_timers" -msgid "There are no timers you can join in this server!" -msgstr "" - -#: src/modules/pomodoro/cog.py:414 +#: src/modules/pomodoro/cog.py:380 #, possible-python-brace-format -msgctxt "cmd:pomodoro_list|embed:timer_list|title" -msgid "Pomodoro Timers in **{guild}**" +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 "" -#: src/modules/pomodoro/cog.py:423 +#: src/modules/pomodoro/cog.py:396 +msgctxt "cmd:timers" +msgid "timers" +msgstr "" + +#: src/modules/pomodoro/cog.py:397 +msgctxt "cmd:timers|desc" +msgid "List the available pomodoro timer rooms." +msgstr "" + +#: src/modules/pomodoro/cog.py:436 #, possible-python-brace-format -msgctxt "cmd:pomodoro_list|status:stopped_auto" +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 "" + +#: src/modules/pomodoro/cog.py:449 +#, possible-python-brace-format +msgctxt "cmd:timers|embed:timer_list|title" +msgid "Pomodoro Timer Rooms in **{guild}**" +msgstr "" + +#: src/modules/pomodoro/cog.py:458 +#, 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 "" -#: src/modules/pomodoro/cog.py:428 +#: src/modules/pomodoro/cog.py:464 #, possible-python-brace-format -msgctxt "cmd:pomodoro_list|status:stopped_manual" +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:435 +#: src/modules/pomodoro/cog.py:471 #, possible-python-brace-format -msgctxt "cmd:pomodoro_list|status:running_focus" +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:441 +#: src/modules/pomodoro/cog.py:477 #, possible-python-brace-format -msgctxt "cmd:pomodoro_list|status:running_break" +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:455 -msgctxt "cmd:pomodoro_admin" -msgid "admin" +#: src/modules/pomodoro/cog.py:491 +msgctxt "cmd:pomodoro" +msgid "pomodoro" msgstr "" -#: src/modules/pomodoro/cog.py:456 -msgctxt "cmd:pomodoro_admin|desc" -msgid "Command group for pomodoro admin controls." +#: src/modules/pomodoro/cog.py:492 +msgctxt "cmd:pomodoro|desc" +msgid "Create and configure pomodoro timer rooms." msgstr "" -#: src/modules/pomodoro/cog.py:462 +#: src/modules/pomodoro/cog.py:499 msgctxt "cmd:pomodoro_create" msgid "create" msgstr "" -#: src/modules/pomodoro/cog.py:465 +#: src/modules/pomodoro/cog.py:502 msgctxt "cmd:pomodoro_create|desc" -msgid "Create a new Pomodoro timer. Requires admin permissions." +msgid "Create a new Pomodoro timer. Requires manage channel permissions." msgstr "" -#: src/modules/pomodoro/cog.py:469 +#: src/modules/pomodoro/cog.py:506 msgctxt "cmd:pomodoro_create|param:channel" msgid "timer_channel" msgstr "" -#: src/modules/pomodoro/cog.py:475 +#: src/modules/pomodoro/cog.py:512 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:504 -msgctxt "cmd:pomodoro_create|error:insufficient_perms" -msgid "Only server administrators can create timers!" -msgstr "" - -#: src/modules/pomodoro/cog.py:531 -msgctxt "cmd:pomodoro_create|error:channel_create_failed|title" +#: src/modules/pomodoro/cog.py:557 +msgctxt "cmd:pomodoro_create|new_channel|error:your_insufficient_perms|title" msgid "Could not create pomodoro voice channel!" msgstr "" -#: src/modules/pomodoro/cog.py:535 -msgctxt "cmd:pomodoro_create|error:channel_create|desc" +#: src/modules/pomodoro/cog.py:561 +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:572 +msgctxt "cmd:pomodoro_create|new_channel|error:my_insufficient_perms|title" +msgid "Could not create pomodoro voice channel!" +msgstr "" + +#: src/modules/pomodoro/cog.py:576 +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:587 +msgctxt "cmd:pomodoro_create|new_channel|default_name" +msgid "Timer" +msgstr "" + +#: src/modules/pomodoro/cog.py:591 +msgctxt "cmd:pomodoro_create|new_channel|audit_reason" +msgid "Creating Pomodoro Voice Channel" +msgstr "" + +#: src/modules/pomodoro/cog.py:600 +msgctxt "cmd:pomodoro_create|new_channel|error:channel_create_failed|title" +msgid "Could not create pomodoro voice channel!" +msgstr "" + +#: src/modules/pomodoro/cog.py:604 +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:549 -msgctxt "cmd:pomodoro_create|error:channel_create_permissions|title" -msgid "Could not create pomodoro voice channel!" -msgstr "" - -#: src/modules/pomodoro/cog.py:553 -msgctxt "cmd:pomodoro_create|error:channel_create_permissions|desc" -msgid "" -"No `timer_channel` was provided, and I lack the `MANAGE_CHANNELS` permission " -"needed to create a new voice channel." -msgstr "" - -#: src/modules/pomodoro/cog.py:567 +#: src/modules/pomodoro/cog.py:621 #, possible-python-brace-format -msgctxt "cmd:pomodoro_create|error:timer_exists" -msgid "" -"A timer already exists in {channel}! Use `/pomodoro admin edit` to modify it." +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:606 +#: src/modules/pomodoro/cog.py:635 +#, 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:684 msgctxt "cmd:pomodoro_create|response:success|content" msgid "Timer created successfully! Use the panel below to reconfigure." msgstr "" -#: src/modules/pomodoro/cog.py:612 +#: src/modules/pomodoro/cog.py:690 msgctxt "cmd:pomodoro_destroy" msgid "destroy" msgstr "" -#: src/modules/pomodoro/cog.py:615 +#: src/modules/pomodoro/cog.py:693 msgctxt "cmd:pomodoro_destroy|desc" -msgid "" -"Delete a pomodoro timer from a voice channel. Requires admin permissions." +msgid "Remove a pomodoro timer from a voice channel." msgstr "" -#: src/modules/pomodoro/cog.py:619 +#: src/modules/pomodoro/cog.py:697 msgctxt "cmd:pomodoro_destroy|param:channel" msgid "timer_channel" msgstr "" -#: src/modules/pomodoro/cog.py:622 +#: src/modules/pomodoro/cog.py:700 msgctxt "cmd:pomodoro_destroy|param:channel" -msgid "Channel with the timer to delete." +msgid "Select a timer voice channel to remove the timer from." msgstr "" -#: src/modules/pomodoro/cog.py:640 +#: src/modules/pomodoro/cog.py:718 msgctxt "cmd:pomodoro_destroy|error:no_timer" msgid "This channel doesn't have an attached pomodoro timer!" msgstr "" -#: src/modules/pomodoro/cog.py:655 +#: src/modules/pomodoro/cog.py:731 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:665 +#: src/modules/pomodoro/cog.py:740 +#, possible-python-brace-format msgctxt "cmd:pomodoro_destroy|error:insufficient_perms|notowned" -msgid "You need to be a server administrator to remove this timer!" +msgid "" +"You need to have the `Manage Channels` permission in {channel} to remove " +"this timer!" msgstr "" -#: src/modules/pomodoro/cog.py:677 +#: src/modules/pomodoro/cog.py:751 #, possible-python-brace-format msgctxt "cmd:pomdoro_destroy|response:success|description" msgid "Timer successfully removed from {channel}." msgstr "" -#: src/modules/pomodoro/cog.py:683 +#: src/modules/pomodoro/cog.py:757 msgctxt "cmd:pomodoro_edit" msgid "edit" msgstr "" -#: src/modules/pomodoro/cog.py:686 +#: src/modules/pomodoro/cog.py:760 msgctxt "cmd:pomodoro_edit|desc" -msgid "Edit a Timer" +msgid "Reconfigure a pomodoro timer." msgstr "" -#: src/modules/pomodoro/cog.py:690 +#: src/modules/pomodoro/cog.py:764 msgctxt "cmd:pomodoro_edit|param:channel" msgid "timer_channel" msgstr "" -#: src/modules/pomodoro/cog.py:696 +#: src/modules/pomodoro/cog.py:770 msgctxt "cmd:pomodoro_edit|param:channel|desc" -msgid "Channel holding the timer to edit." +msgid "Select a timer voice channel to reconfigure." msgstr "" -#: src/modules/pomodoro/cog.py:737 +#: src/modules/pomodoro/cog.py:811 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:750 +#: src/modules/pomodoro/cog.py:824 msgctxt "cmd:pomodoro_edit|error:insufficient_perms|role:other" msgid "" "Insufficient permissions to modifiy this timer!\n" @@ -371,28 +402,28 @@ msgid "" "manager role." msgstr "" -#: src/modules/pomodoro/cog.py:771 +#: src/modules/pomodoro/cog.py:845 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:776 +#: src/modules/pomodoro/cog.py:850 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:781 +#: src/modules/pomodoro/cog.py:855 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:817 +#: src/modules/pomodoro/cog.py:891 msgctxt "cmd:configure_pomodoro" msgid "pomodoro" msgstr "" -#: src/modules/pomodoro/cog.py:818 +#: src/modules/pomodoro/cog.py:892 msgctxt "cmd:configure_pomodoro|desc" msgid "Configure Pomodoro Timer System" msgstr "" @@ -427,95 +458,100 @@ msgctxt "formatstring:channel_name|key:pattern" msgid "{pattern}" msgstr "" -#: src/modules/pomodoro/options.py:32 +#: src/modules/pomodoro/options.py:33 msgctxt "timerset:voice_channel" msgid "channel" msgstr "" -#: src/modules/pomodoro/options.py:35 +#: 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:45 +#: src/modules/pomodoro/options.py:48 msgctxt "timerset:notification_channel" msgid "notification_channel" msgstr "" -#: src/modules/pomodoro/options.py:48 +#: 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:68 +#: 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:78 +#: src/modules/pomodoro/options.py:83 msgctxt "timerset:inactivity_threshold|inactivity_threshold" msgid "inactivity_threshold" msgstr "" -#: src/modules/pomodoro/options.py:81 +#: 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:85 +#: 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:101 +#: 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:104 +#: 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:116 +#: 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:126 +#: src/modules/pomodoro/options.py:147 msgctxt "timerset:voice_alerts" msgid "voice_alerts" msgstr "" -#: src/modules/pomodoro/options.py:129 +#: 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:140 +#: src/modules/pomodoro/options.py:162 msgctxt "timerset:base_name" msgid "name" msgstr "" -#: src/modules/pomodoro/options.py:143 +#: 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:147 +#: 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:161 +#: src/modules/pomodoro/options.py:184 msgctxt "timerset:channel_name_format" msgid "channel_name" msgstr "" -#: src/modules/pomodoro/options.py:164 +#: src/modules/pomodoro/options.py:187 #, possible-python-brace-format msgctxt "timerset:channel_name_format|desc" msgid "" @@ -523,49 +559,55 @@ msgid "" "and {stage} keys." msgstr "" -#: src/modules/pomodoro/options.py:168 +#: 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:180 +#: 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:183 +#: 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:188 +#: src/modules/pomodoro/options.py:248 msgctxt "timerset:focus_length|accepts" msgid "A positive integer number of minutes." msgstr "" -#: src/modules/pomodoro/options.py:212 +#: 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:220 +#: src/modules/pomodoro/options.py:281 msgctxt "timerset:break_length" msgid "break_length" msgstr "" -#: src/modules/pomodoro/options.py:223 +#: 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:228 +#: src/modules/pomodoro/options.py:289 msgctxt "timerset:break_length|accepts" msgid "A positive integer number of minutes." msgstr "" -#: src/modules/pomodoro/options.py:252 +#: src/modules/pomodoro/options.py:314 msgctxt "timerset:break_length|desc" msgid "Please enter a positive number of minutes." msgstr "" @@ -690,64 +732,69 @@ msgctxt "ui:timer_status|button:stop|label" msgid "Stop" msgstr "" -#: src/modules/pomodoro/ui/config.py:51 +#: 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:67 +#: 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:88 +#: 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:92 +#: 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:100 +#: src/modules/pomodoro/ui/config.py:117 msgctxt "ui:timer_options|button:delete|label" msgid "Delete" msgstr "" -#: src/modules/pomodoro/ui/config.py:119 +#: 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:142 +#: src/modules/pomodoro/ui/config.py:159 msgctxt "ui:timer_options|menu:notification_channel|placeholder" msgid "Set Notification Channel" msgstr "" -#: src/modules/pomodoro/ui/config.py:157 +#: src/modules/pomodoro/ui/config.py:174 msgctxt "ui:timer_options|menu:manager_role|placeholder" msgid "Set Manager Role" msgstr "" -#: src/modules/pomodoro/ui/config.py:166 +#: src/modules/pomodoro/ui/config.py:183 #, possible-python-brace-format msgctxt "ui:timer_options|embed|title" msgid "Timer Control Panel for {channel}" msgstr "" -#: src/modules/pomodoro/ui/config.py:173 +#: src/modules/pomodoro/ui/config.py:190 msgctxt "ui:timer_options|embed|footer" msgid "Hover over the option names to view descriptions." msgstr "" -#: src/modules/pomodoro/ui/config.py:185 +#: src/modules/pomodoro/ui/config.py:202 msgctxt "ui:timer_options|embed|field:pattern|name" msgid "Pattern" msgstr "" -#: src/modules/pomodoro/ui/config.py:188 +#: src/modules/pomodoro/ui/config.py:205 #, possible-python-brace-format msgctxt "ui:timer_options|embed|field:pattern|value" msgid "" @@ -755,12 +802,12 @@ msgid "" "**`{break_len} minutes`** break" msgstr "" -#: src/modules/pomodoro/ui/config.py:199 +#: src/modules/pomodoro/ui/config.py:216 msgctxt "ui:timer_options|embed|field:channel_name|name" msgid "Channel Name Preview" msgstr "" -#: src/modules/pomodoro/ui/config.py:203 +#: src/modules/pomodoro/ui/config.py:220 #, possible-python-brace-format msgctxt "ui:timer_options|embed|field:channel_name|value" msgid "" @@ -768,35 +815,35 @@ msgid "" "(The actual channel name may not match due to ratelimits.)" msgstr "" -#: src/modules/pomodoro/ui/config.py:213 +#: src/modules/pomodoro/ui/config.py:230 msgctxt "ui:timer_options|embed|field:issues|name" msgid "Issues" msgstr "" -#: src/modules/pomodoro/ui/config.py:231 +#: src/modules/pomodoro/ui/config.py:248 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:242 +#: src/modules/pomodoro/ui/config.py:259 #, 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:249 +#: src/modules/pomodoro/ui/config.py:266 #, 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:260 +#: src/modules/pomodoro/ui/config.py:277 msgctxt "ui:timer_options|issue:notif_channel_dne" msgid "Configured notification channel does not exist!" msgstr "" -#: src/modules/pomodoro/ui/config.py:269 +#: src/modules/pomodoro/ui/config.py:286 #, possible-python-brace-format msgctxt "ui:timer_options|issue:notif_channel_write" msgid "" @@ -804,7 +851,7 @@ msgid "" "{channel}" msgstr "" -#: src/modules/pomodoro/ui/config.py:277 +#: src/modules/pomodoro/ui/config.py:294 #, possible-python-brace-format msgctxt "ui:timer_options|issues:cannot_make_webhooks" msgid "" diff --git a/locales/templates/babel.pot b/locales/templates/babel.pot index 1054559a..43a4ca71 100644 --- a/locales/templates/babel.pot +++ b/locales/templates/babel.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/config.pot b/locales/templates/config.pot index 2e2c39ba..cc464ce4 100644 --- a/locales/templates/config.pot +++ b/locales/templates/config.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/core_config.pot b/locales/templates/core_config.pot index a4458a79..4c514961 100644 --- a/locales/templates/core_config.pot +++ b/locales/templates/core_config.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,3 +21,8 @@ msgstr "" msgctxt "group:configure" msgid "configure" msgstr "" + +#: src/core/config.py:29 +msgctxt "group:configure|desc" +msgid "View and adjust my configuration options." +msgstr "" diff --git a/locales/templates/economy.pot b/locales/templates/economy.pot index 7e295e66..f1459b45 100644 --- a/locales/templates/economy.pot +++ b/locales/templates/economy.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -204,19 +204,19 @@ msgid_plural "Accounts successfully updated." msgstr[0] "" msgstr[1] "" -#: src/modules/economy/cog.py:394 +#: src/modules/economy/cog.py:409 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:role_lb|author" msgid "Balance sheet for {name}" msgstr "" -#: src/modules/economy/cog.py:400 +#: src/modules/economy/cog.py:415 #, 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:408 +#: src/modules/economy/cog.py:423 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:role_lb|header" msgid "" @@ -224,66 +224,66 @@ msgid "" "balance of {coin_emoji}**{total}**." msgstr "" -#: src/modules/economy/cog.py:420 +#: src/modules/economy/cog.py:435 msgctxt "cmd:economy_balance|embed:role_lb|row_format" msgid "`[{pos:>{numwidth}}]` | `{coins:>{coinwidth}} LC` | {mention}" msgstr "" -#: src/modules/economy/cog.py:448 +#: src/modules/economy/cog.py:463 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:role_lb|footer" msgid "Page {page}/{total}" msgstr "" -#: src/modules/economy/cog.py:458 +#: src/modules/economy/cog.py:473 #, 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:465 +#: src/modules/economy/cog.py:480 #, 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:485 +#: src/modules/economy/cog.py:500 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:single|desc" msgid "{mention} currently owns {coin_emoji} {coins}." msgstr "" -#: src/modules/economy/cog.py:495 +#: src/modules/economy/cog.py:510 #, possible-python-brace-format msgctxt "cmd:economy_balance|embed:single|author" msgid "Balance statement for {user}" msgstr "" -#: src/modules/economy/cog.py:504 +#: src/modules/economy/cog.py:519 msgctxt "cmd:economy_reset" msgid "reset" msgstr "" -#: src/modules/economy/cog.py:507 +#: src/modules/economy/cog.py:522 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:511 +#: src/modules/economy/cog.py:526 msgctxt "cmd:economy_reset|param:target" msgid "target" msgstr "" -#: src/modules/economy/cog.py:516 +#: src/modules/economy/cog.py:531 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:543 +#: src/modules/economy/cog.py:558 #, possible-python-brace-format msgctxt "cmd:economy_reset|confirm:reset_guild|desc" msgid "" @@ -292,17 +292,17 @@ msgid "" "*This is not reversible!*" msgstr "" -#: src/modules/economy/cog.py:551 +#: src/modules/economy/cog.py:566 msgctxt "cmd:economy_reset|confirm:reset_guild|button:confirm" msgid "Yes, reset the economy" msgstr "" -#: src/modules/economy/cog.py:555 +#: src/modules/economy/cog.py:570 msgctxt "cmd:economy_reset|confirm:reset_guild|button:cancel" msgid "Cancel reset" msgstr "" -#: src/modules/economy/cog.py:571 +#: src/modules/economy/cog.py:586 #, possible-python-brace-format msgctxt "cmd:economy_reset|embed:success_guild|desc" msgid "" @@ -310,13 +310,13 @@ msgid "" "**{amount}**." msgstr "" -#: src/modules/economy/cog.py:588 +#: src/modules/economy/cog.py:603 #, 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:598 +#: src/modules/economy/cog.py:613 #, possible-python-brace-format msgctxt "cmd:economy_reset|confirm:reset_role|desc" msgid "" @@ -324,17 +324,17 @@ msgid "" "**{count}** members will be affected." msgstr "" -#: src/modules/economy/cog.py:607 +#: src/modules/economy/cog.py:622 msgctxt "cmd:economy_reset|confirm:reset_role|button:confirm" msgid "Yes, complete economy reset" msgstr "" -#: src/modules/economy/cog.py:611 +#: src/modules/economy/cog.py:626 msgctxt "cmd:economy_reset|confirm:reset_role|button:cancel" msgid "Cancel" msgstr "" -#: src/modules/economy/cog.py:628 +#: src/modules/economy/cog.py:643 #, possible-python-brace-format msgctxt "cmd:economy_reset|embed:success_role|desc" msgid "" @@ -342,58 +342,81 @@ msgid "" "**{amount}**." msgstr "" -#: src/modules/economy/cog.py:650 +#: src/modules/economy/cog.py:665 #, 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:660 +#: src/modules/economy/cog.py:675 msgctxt "cmd:send" msgid "send" msgstr "" -#: src/modules/economy/cog.py:663 +#: src/modules/economy/cog.py:678 msgctxt "cmd:send|desc" msgid "Gift the target user a certain number of LionCoins." msgstr "" -#: src/modules/economy/cog.py:667 +#: src/modules/economy/cog.py:682 msgctxt "cmd:send|param:target" msgid "target" msgstr "" -#: src/modules/economy/cog.py:668 +#: src/modules/economy/cog.py:683 msgctxt "cmd:send|param:amount" msgid "amount" msgstr "" -#: src/modules/economy/cog.py:669 +#: src/modules/economy/cog.py:684 msgctxt "cmd:send|param:note" msgid "note" msgstr "" -#: src/modules/economy/cog.py:672 +#: src/modules/economy/cog.py:687 msgctxt "cmd:send|param:target|desc" msgid "User to send the gift to" msgstr "" -#: src/modules/economy/cog.py:673 +#: src/modules/economy/cog.py:688 msgctxt "cmd:send|param:amount|desc" msgid "Number of coins to send" msgstr "" -#: src/modules/economy/cog.py:674 +#: src/modules/economy/cog.py:689 msgctxt "cmd:send|param:note|desc" msgid "Optional note to add to the gift." msgstr "" -#: src/modules/economy/cog.py:698 +#: src/modules/economy/cog.py:713 msgctxt "cmd:send|error:not_allowed" msgid "Sorry, this server has disabled LionCoin transfers!" msgstr "" -#: src/modules/economy/cog.py:723 +#: src/modules/economy/cog.py:722 +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:732 +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:742 +#, 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:770 #, possible-python-brace-format msgctxt "cmd:send|error:insufficient" msgid "" @@ -401,19 +424,19 @@ msgid "" "`Current Balance:` {coin_emoji}{balance}" msgstr "" -#: src/modules/economy/cog.py:744 +#: src/modules/economy/cog.py:791 #, possible-python-brace-format msgctxt "cmd:send|embed:gift|title" msgid "{user} sent you a gift!" msgstr "" -#: src/modules/economy/cog.py:748 +#: src/modules/economy/cog.py:795 #, possible-python-brace-format msgctxt "cmd:send|embed:gift|desc" msgid "{mention} sent you {coin_emoji}**{amount}**." msgstr "" -#: src/modules/economy/cog.py:773 +#: src/modules/economy/cog.py:820 #, possible-python-brace-format msgctxt "cmd:send|embed:ack|desc" msgid "" @@ -421,19 +444,19 @@ msgid "" "{mention}!" msgstr "" -#: src/modules/economy/cog.py:783 +#: src/modules/economy/cog.py:830 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:795 +#: src/modules/economy/cog.py:842 msgctxt "cmd:configure_economy" msgid "economy" msgstr "" -#: src/modules/economy/cog.py:798 +#: src/modules/economy/cog.py:845 msgctxt "cmd:configure_economy|desc" msgid "Configure LionCoin Economy" msgstr "" diff --git a/locales/templates/exec.pot b/locales/templates/exec.pot index 00978bef..5eefe627 100644 --- a/locales/templates/exec.pot +++ b/locales/templates/exec.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -30,57 +30,61 @@ msgstr "" msgid "Execute arbitrary code with Exec" msgstr "" -#: src/modules/sysadmin/exec_cog.py:272 +#: src/modules/sysadmin/exec_cog.py:325 msgctxt "command" msgid "eval" msgstr "" -#: src/modules/sysadmin/exec_cog.py:273 +#: src/modules/sysadmin/exec_cog.py:326 msgctxt "command:eval" msgid "Execute arbitrary code with Eval" msgstr "" -#: src/modules/sysadmin/exec_cog.py:276 +#: src/modules/sysadmin/exec_cog.py:329 msgctxt "command:eval|param:string" msgid "Code to evaluate." msgstr "" -#: src/modules/sysadmin/exec_cog.py:283 +#: src/modules/sysadmin/exec_cog.py:336 msgctxt "command" msgid "asyncall" msgstr "" -#: src/modules/sysadmin/exec_cog.py:284 +#: src/modules/sysadmin/exec_cog.py:337 msgctxt "command:asyncall|desc" msgid "Execute arbitrary code on all shards." msgstr "" -#: src/modules/sysadmin/exec_cog.py:287 +#: src/modules/sysadmin/exec_cog.py:340 msgctxt "command:asyncall|param:string" msgid "Cross-shard code to execute. Cannot reference ctx!" msgstr "" -#: src/modules/sysadmin/exec_cog.py:288 +#: src/modules/sysadmin/exec_cog.py:341 msgctxt "command:asyncall|param:target" msgid "Target shard app name, see autocomplete for options." msgstr "" -#: src/modules/sysadmin/exec_cog.py:343 +#: src/modules/sysadmin/exec_cog.py:384 msgid "reload" msgstr "" -#: src/modules/sysadmin/exec_cog.py:344 +#: src/modules/sysadmin/exec_cog.py:385 msgid "Reload a given LionBot extension. Launches an ExecUI." msgstr "" -#: src/modules/sysadmin/exec_cog.py:347 -msgid "Name of the extesion to reload. See autocomplete for options." +#: src/modules/sysadmin/exec_cog.py:388 +msgid "Name of the extension to reload. See autocomplete for options." msgstr "" -#: src/modules/sysadmin/exec_cog.py:379 +#: src/modules/sysadmin/exec_cog.py:389 +msgid "Whether to force an extension reload even if it doesn't exist." +msgstr "" + +#: src/modules/sysadmin/exec_cog.py:425 msgid "shutdown" msgstr "" -#: src/modules/sysadmin/exec_cog.py:380 +#: src/modules/sysadmin/exec_cog.py:426 msgid "Shutdown (or restart) the client." msgstr "" diff --git a/locales/templates/goals-gui.pot b/locales/templates/goals-gui.pot index 1dd5c55e..ebd4186b 100644 --- a/locales/templates/goals-gui.pot +++ b/locales/templates/goals-gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,85 +17,85 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/gui/cards/goals.py:95 +#: src/gui/cards/goals.py:97 msgctxt "skin:goals|goal:tasks|name" msgid "TASKS DONE" msgstr "" -#: src/gui/cards/goals.py:99 +#: src/gui/cards/goals.py:101 msgctxt "skin:goals|goal:tasks|goal" msgid "GOAL: " msgstr "" -#: src/gui/cards/goals.py:125 +#: src/gui/cards/goals.py:127 msgctxt "skin:goals|goal:attendance|name" msgid "" "ATTENDANCE\n" "RATE" msgstr "" -#: src/gui/cards/goals.py:139 +#: src/gui/cards/goals.py:141 msgctxt "skin:goals|mode:study|goal:middle|above" msgid "STUDIED" msgstr "" -#: src/gui/cards/goals.py:143 +#: src/gui/cards/goals.py:145 msgctxt "skin:goals|mode:study|goal:middle|below" msgid "HOURS" msgstr "" -#: src/gui/cards/goals.py:147 +#: src/gui/cards/goals.py:149 msgctxt "skin:goals|mode:voice|goal:middle|above" msgid "CHATTED" msgstr "" -#: src/gui/cards/goals.py:151 +#: src/gui/cards/goals.py:153 msgctxt "skin:goals|mode:voice|goal:middle|below" msgid "HOURS" msgstr "" -#: src/gui/cards/goals.py:155 +#: src/gui/cards/goals.py:157 msgctxt "skin:goals|mode:text|goal:middle|above" msgid "SENT" msgstr "" -#: src/gui/cards/goals.py:159 +#: src/gui/cards/goals.py:161 msgctxt "skin:goals|mode:text|goal:middle|below" msgid "MESSAGES" msgstr "" -#: src/gui/cards/goals.py:163 +#: src/gui/cards/goals.py:165 msgctxt "skin:goals|mode:anki|goal:middle|above" msgid "REVIEWED" msgstr "" -#: src/gui/cards/goals.py:167 +#: src/gui/cards/goals.py:169 msgctxt "skin:goals|mode:anki|goal:middle|below" msgid "CARDS" msgstr "" -#: src/gui/cards/goals.py:228 +#: 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:240 +#: src/gui/cards/goals.py:242 msgctxt "ui:goals|weekly|title" msgid "WEEKLY STATISTICS" msgstr "" -#: src/gui/cards/goals.py:244 +#: src/gui/cards/goals.py:246 msgctxt "ui:goals|weekly|task_header" msgid "GOALS OF THE WEEK" msgstr "" -#: src/gui/cards/goals.py:254 +#: src/gui/cards/goals.py:256 msgctxt "ui:goals|monthly|title" msgid "MONTHLY STATISTICS" msgstr "" -#: src/gui/cards/goals.py:258 +#: src/gui/cards/goals.py:260 msgctxt "ui:goals|monthly|task_header" msgid "GOALS OF THE MONTH" msgstr "" diff --git a/locales/templates/leaderboard-gui.pot b/locales/templates/leaderboard-gui.pot index fc2f7a19..d9de564a 100644 --- a/locales/templates/leaderboard-gui.pot +++ b/locales/templates/leaderboard-gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/lion-core.pot b/locales/templates/lion-core.pot index bfa98c84..2677acac 100644 --- a/locales/templates/lion-core.pot +++ b/locales/templates/lion-core.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/member_admin.pot b/locales/templates/member_admin.pot index 6d2efe4f..9868296e 100644 --- a/locales/templates/member_admin.pot +++ b/locales/templates/member_admin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/meta.pot b/locales/templates/meta.pot index d100c0e8..77687e92 100644 --- a/locales/templates/meta.pot +++ b/locales/templates/meta.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -84,8 +84,8 @@ msgid "" "\n" " Other relevant commands for guild configuration below:\n" " `/editshop`: Add/Edit/Remove colour roles from the {coin} shop.\n" -" `/ranks`: Add/Edit/Remove activity ranks.\n" -" `/timer admin`: Add/Edit/Remove Pomodoro timers in voice channels.\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" diff --git a/locales/templates/moderation.pot b/locales/templates/moderation.pot index fe7a276a..609b0bc6 100644 --- a/locales/templates/moderation.pot +++ b/locales/templates/moderation.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -230,7 +230,7 @@ msgstr "" msgctxt "guildset:mod_role|long_desc" msgid "" "Members with the set role will be able to access my configuration panels, " -"and perform some moderation tasks, such us setting up pomodoro timers. " +"and perform some moderation tasks, such as setting up pomodoro timers. " "Moderators cannot reconfigure most bot configuration, or perform operations " "they do not already have permission for in Discord." msgstr "" diff --git a/locales/templates/monthly-gui.pot b/locales/templates/monthly-gui.pot index e4dedadb..a7006170 100644 --- a/locales/templates/monthly-gui.pot +++ b/locales/templates/monthly-gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/profile-gui.pot b/locales/templates/profile-gui.pot index b6734ec5..0a3fbac4 100644 --- a/locales/templates/profile-gui.pot +++ b/locales/templates/profile-gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/ranks.pot b/locales/templates/ranks.pot index de77f1df..6f0fcf33 100644 --- a/locales/templates/ranks.pot +++ b/locales/templates/ranks.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,32 +17,32 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/modules/ranks/cog.py:73 +#: src/modules/ranks/cog.py:76 msgctxt "cmd:configure_ranks|param:rank_type|choice:voice" msgid "Voice" msgstr "" -#: src/modules/ranks/cog.py:74 +#: src/modules/ranks/cog.py:77 msgctxt "cmd:configure_ranks|param:rank_type|choice:xp" msgid "XP" msgstr "" -#: src/modules/ranks/cog.py:75 +#: src/modules/ranks/cog.py:78 msgctxt "cmd:configure_ranks|param:rank_type|choice:message" msgid "Message" msgstr "" -#: src/modules/ranks/cog.py:383 +#: src/modules/ranks/cog.py:406 msgctxt "event:rank_update|embed:notify" msgid "New Activity Rank Attained!" msgstr "" -#: src/modules/ranks/cog.py:494 +#: src/modules/ranks/cog.py:516 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:504 +#: src/modules/ranks/cog.py:526 #, possible-python-brace-format msgctxt "rank_refresh|error:unassignable_roles|desc" msgid "" @@ -50,36 +50,36 @@ msgid "" "{roles}" msgstr "" -#: src/modules/ranks/cog.py:574 +#: src/modules/ranks/cog.py:596 msgctxt "rank_refresh|remove_roles|audit" msgid "Removing invalid rank role." msgstr "" -#: src/modules/ranks/cog.py:588 +#: src/modules/ranks/cog.py:610 #, possible-python-brace-format msgctxt "rank_refresh|remove_roles|small_error" msgid "*Could not remove ranks from {member}*" msgstr "" -#: src/modules/ranks/cog.py:595 +#: src/modules/ranks/cog.py:617 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:609 +#: src/modules/ranks/cog.py:631 msgctxt "rank_refresh|add_roles|audit" msgid "Adding rank role from refresh" msgstr "" -#: src/modules/ranks/cog.py:623 +#: src/modules/ranks/cog.py:645 #, possible-python-brace-format msgctxt "rank_refresh|add_roles|small_error" msgid "*Could not add {role} to {member}*" msgstr "" -#: src/modules/ranks/cog.py:630 +#: src/modules/ranks/cog.py:652 msgctxt "rank_refresh|add_roles|error:too_many_issues" msgid "" "Too many issues occurred while adding ranks! Please check my permissions and " @@ -87,22 +87,22 @@ msgid "" msgstr "" #. ---------- Commands ---------- -#: src/modules/ranks/cog.py:655 +#: src/modules/ranks/cog.py:677 msgctxt "cmd:ranks" msgid "ranks" msgstr "" -#: src/modules/ranks/cog.py:687 +#: src/modules/ranks/cog.py:709 msgctxt "cmd:configure_ranks" msgid "ranks" msgstr "" -#: src/modules/ranks/cog.py:688 +#: src/modules/ranks/cog.py:710 msgctxt "cmd:configure_ranks|desc" msgid "Configure Activity Ranks" msgstr "" -#: src/modules/ranks/cog.py:748 +#: src/modules/ranks/cog.py:770 #, possible-python-brace-format msgctxt "" "cmd:configure_ranks|response:updated|setting:notification|withdm_withchannel" @@ -111,20 +111,20 @@ msgid "" "otherwise to {channel}" msgstr "" -#: src/modules/ranks/cog.py:754 +#: src/modules/ranks/cog.py:776 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:760 +#: src/modules/ranks/cog.py:782 #, 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:765 +#: src/modules/ranks/cog.py:787 msgctxt "" "cmd:configure_ranks|response:updated|setting:notification|nodm_nochannel" msgid "Members will not be notified when their activity rank updates." @@ -545,27 +545,27 @@ msgstr "" #: src/modules/ranks/ui/refresh.py:202 #, possible-python-brace-format msgctxt "ui:refresh_ranks|embed|field:remove|value" -msgid "0 {progress} {total}" +msgid "{progress} {done}/{total} removed" msgstr "" -#: src/modules/ranks/ui/refresh.py:212 +#: src/modules/ranks/ui/refresh.py:213 #, possible-python-brace-format msgctxt "ui:refresh_ranks|embed|line:remove" msgid "**Removed invalid ranks:** {done}/{target}" msgstr "" -#: src/modules/ranks/ui/refresh.py:220 +#: src/modules/ranks/ui/refresh.py:221 msgctxt "ui:refresh_ranks|embed|field:add|name" msgid "Giving members their rank roles" msgstr "" -#: src/modules/ranks/ui/refresh.py:224 +#: src/modules/ranks/ui/refresh.py:225 #, possible-python-brace-format msgctxt "ui:refresh_ranks|embed|field:add|value" -msgid "0 {progress} {total}" +msgid "{progress} {done}/{total} given" msgstr "" -#: src/modules/ranks/ui/refresh.py:234 +#: src/modules/ranks/ui/refresh.py:236 #, possible-python-brace-format msgctxt "ui:refresh_ranks|embed|line:add" msgid "**Updated member ranks:** {done}/{target}" @@ -621,27 +621,42 @@ msgctxt "dash:rank|dropdown|placeholder" msgid "Activity Rank Panel" msgstr "" -#: src/modules/ranks/ui/overview.py:92 +#: src/modules/ranks/ui/overview.py:94 msgctxt "ui:rank_overview|button:auto|label" msgid "Auto Create" msgstr "" -#: src/modules/ranks/ui/overview.py:107 +#: src/modules/ranks/ui/overview.py:109 msgctxt "ui:rank_overview|button:refresh|label" msgid "Refresh Member Ranks" msgstr "" -#: src/modules/ranks/ui/overview.py:123 +#: src/modules/ranks/ui/overview.py:121 +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:126 +msgctxt "ui:rank_overview|button:clear|confirm|button:yes" +msgid "Yes, clear ranks" +msgstr "" + +#: src/modules/ranks/ui/overview.py:132 +msgctxt "ui:rank_overview|button:clear|confirm|button:no" +msgid "Cancel" +msgstr "" + +#: src/modules/ranks/ui/overview.py:148 msgctxt "ui:rank_overview|button:clear|label" msgid "Clear Ranks" msgstr "" -#: src/modules/ranks/ui/overview.py:153 +#: src/modules/ranks/ui/overview.py:178 msgctxt "ui:rank_overview|button:create|label" msgid "Create Rank" msgstr "" -#: src/modules/ranks/ui/overview.py:169 +#: src/modules/ranks/ui/overview.py:194 #, possible-python-brace-format msgctxt "ui:rank_overview|menu:roles|error:above_caller" msgid "" @@ -649,24 +664,24 @@ msgid "" "may only manage roles below your top role." msgstr "" -#: src/modules/ranks/ui/overview.py:175 +#: src/modules/ranks/ui/overview.py:200 msgctxt "ui:rank_overview|menu:roles|error:above_caller|title" msgid "Insufficient permissions!" msgstr "" -#: src/modules/ranks/ui/overview.py:208 +#: src/modules/ranks/ui/overview.py:233 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:213 +#: src/modules/ranks/ui/overview.py:238 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:218 +#: src/modules/ranks/ui/overview.py:243 msgctxt "" "ui:rank_overview|menu:roles|error:not_assignable|suberror:no_permissions" msgid "" @@ -674,34 +689,62 @@ msgid "" "manage ranks!" msgstr "" -#: src/modules/ranks/ui/overview.py:223 +#: src/modules/ranks/ui/overview.py:248 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:229 +#: src/modules/ranks/ui/overview.py:254 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:235 +#: src/modules/ranks/ui/overview.py:260 msgctxt "ui:rank_overview|menu:roles|error:not_assignable|title" msgid "Could not create rank!" msgstr "" -#: src/modules/ranks/ui/overview.py:259 +#: src/modules/ranks/ui/overview.py:284 msgctxt "ui:rank_overview|menu:roles|placeholder" msgid "Create from role" msgstr "" -#: src/modules/ranks/ui/overview.py:276 +#: src/modules/ranks/ui/overview.py:301 msgctxt "ui:rank_overview|menu:ranks|placeholder" msgid "View or edit rank" msgstr "" -#: src/modules/ranks/ui/overview.py:362 +#: src/modules/ranks/ui/overview.py:387 +msgctxt "ui:rank_overview|embed|field:note|name" +msgid "Note" +msgstr "" + +#: src/modules/ranks/ui/overview.py:393 +#, 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:400 +#, 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:407 +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/overview.py:415 msgctxt "ui:rank_overview|embed:noranks|desc" msgid "" "No activity ranks have been set up!\n" @@ -709,19 +752,19 @@ msgid "" "xp ranks, or select a role or press Create below!" msgstr "" -#: src/modules/ranks/ui/overview.py:370 +#: src/modules/ranks/ui/overview.py:423 #, 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:375 +#: src/modules/ranks/ui/overview.py:428 #, 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:380 +#: src/modules/ranks/ui/overview.py:433 #, possible-python-brace-format msgctxt "ui:rank_overview|embed|title|type:message" msgid "Message ranks in {guild_name}" diff --git a/locales/templates/reminders.pot b/locales/templates/reminders.pot index 2169351e..efc7a880 100644 --- a/locales/templates/reminders.pot +++ b/locales/templates/reminders.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,27 +18,356 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: src/modules/reminders/cog.py:93 +#: 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 "" + +#: 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 "" + +#: src/modules/reminders/cog.py:133 +msgctxt "create_reminder|error:too_many" +msgid "Sorry, you have reached the maximum of `25` reminders." +msgstr "" + +#: 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 "" + +#: 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 "" + +#: 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] "" +msgstr[1] "" + +#: 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/cog.py:101 +#: src/modules/reminders/data.py:102 msgctxt "reminder|embed" msgid "Context?" msgstr "" -#: src/modules/reminders/cog.py:103 +#: src/modules/reminders/data.py:104 msgctxt "reminder|embed" msgid "Click Here" msgstr "" -#: src/modules/reminders/cog.py:110 +#: src/modules/reminders/data.py:111 msgctxt "reminder|embed" msgid "Next reminder" msgstr "" -#: src/modules/reminders/cog.py:134 +#: src/modules/reminders/data.py:135 #, possible-python-brace-format msgctxt "reminder|formatted|interval" msgid "Every day" @@ -46,7 +375,7 @@ msgid_plural "Every `{days}` days" msgstr[0] "" msgstr[1] "" -#: src/modules/reminders/cog.py:143 +#: src/modules/reminders/data.py:144 #, possible-python-brace-format msgctxt "reminder|formatted|interval" msgid "Every hour" @@ -54,305 +383,8 @@ msgid_plural "Every `{hours}` hours" msgstr[0] "" msgstr[1] "" -#: src/modules/reminders/cog.py:152 +#: src/modules/reminders/data.py:153 #, possible-python-brace-format msgctxt "reminder|formatted|interval" msgid "Every `{duration}`" msgstr "" - -#: src/modules/reminders/cog.py:352 -msgctxt "cmd:reminders" -msgid "reminders" -msgstr "" - -#. No help string -#: src/modules/reminders/cog.py:359 -msgctxt "cmd:reminders_show" -msgid "show" -msgstr "" - -#: src/modules/reminders/cog.py:362 -msgctxt "cmd:reminders_show|desc" -msgid "Display your current reminders." -msgstr "" - -#: src/modules/reminders/cog.py:378 -msgctxt "cmd:reminders_show|close_elsewhere" -msgid "Closing since the list was opened elsewhere." -msgstr "" - -#: src/modules/reminders/cog.py:390 -msgctxt "cmd:reminders_clear" -msgid "clear" -msgstr "" - -#: src/modules/reminders/cog.py:393 -msgctxt "cmd:reminders_clear|desc" -msgid "Clear your reminder list." -msgstr "" - -#: src/modules/reminders/cog.py:411 -msgctxt "cmd:reminders_clear|error:no_reminders" -msgid "You have no reminders to clear!" -msgstr "" - -#: src/modules/reminders/cog.py:420 -msgctxt "cmd:reminders_clear|confirm|title" -msgid "Are You Sure?" -msgstr "" - -#: src/modules/reminders/cog.py:423 -#, possible-python-brace-format -msgctxt "cmd:reminders_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] "" -msgstr[1] "" - -#: src/modules/reminders/cog.py:429 -msgctxt "cmd:reminders_clear|confirm|button:yes" -msgid "Yes, clear my reminders" -msgstr "" - -#: src/modules/reminders/cog.py:438 -msgctxt "cmd:reminders_clear|success|desc" -msgid "Your reminders have been cleared!" -msgstr "" - -#: src/modules/reminders/cog.py:447 -msgctxt "cmd:reminders_clear|confirm|button:cancel" -msgid "Cancel" -msgstr "" - -#: src/modules/reminders/cog.py:457 -msgctxt "cmd:reminders_cancel" -msgid "cancel" -msgstr "" - -#: src/modules/reminders/cog.py:460 -msgctxt "cmd:reminders_cancel|desc" -msgid "" -"Cancel a single reminder. Use the menu in \"reminder show\" to cancel " -"multiple reminders." -msgstr "" - -#: src/modules/reminders/cog.py:464 -msgctxt "cmd:reminders_cancel|param:reminder" -msgid "reminder" -msgstr "" - -#: src/modules/reminders/cog.py:469 -msgctxt "cmd:reminders_cancel|param:reminder|desc" -msgid "Start typing, then select a reminder to cancel." -msgstr "" - -#: src/modules/reminders/cog.py:488 -msgctxt "cmd:reminders_cancel|error:no_reminders" -msgid "There are no reminders to cancel!" -msgstr "" - -#: src/modules/reminders/cog.py:512 -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:525 -msgctxt "cmd:reminders_cancel|embed:success|desc" -msgid "Reminder successfully cancelled." -msgstr "" - -#: src/modules/reminders/cog.py:542 -msgctxt "cmd:reminders_cancel|acmpl:reminder|error:no_reminders" -msgid "There are no reminders to cancel!" -msgstr "" - -#: src/modules/reminders/cog.py:572 -#, 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:580 -msgctxt "cmd:remindme" -msgid "remindme" -msgstr "" - -#: src/modules/reminders/cog.py:587 -msgctxt "cmd:remindme_at" -msgid "at" -msgstr "" - -#: src/modules/reminders/cog.py:590 -msgctxt "cmd:remindme_at|desc" -msgid "Schedule a reminder for a particular time." -msgstr "" - -#: src/modules/reminders/cog.py:594 -msgctxt "cmd:remindme_at|param:time" -msgid "time" -msgstr "" - -#: src/modules/reminders/cog.py:595 -msgctxt "cmd:remindme_at|param:reminder" -msgid "reminder" -msgstr "" - -#: src/modules/reminders/cog.py:596 -msgctxt "cmd:remindme_at|param:every" -msgid "repeat_every" -msgstr "" - -#: src/modules/reminders/cog.py:599 -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:600 -msgctxt "cmd:remindme_at|param:reminder|desc" -msgid "What should the reminder be?" -msgstr "" - -#: src/modules/reminders/cog.py:601 -msgctxt "cmd:remindme_at|param:every|desc" -msgid "How often to repeat this reminder." -msgstr "" - -#: src/modules/reminders/cog.py:619 -msgctxt "cmd_remindme_at|error:too_many|desc" -msgid "Sorry, you have reached the maximum of `25` reminders!" -msgstr "" - -#: src/modules/reminders/cog.py:623 -msgctxt "cmd_remindme_at|error:too_many|title" -msgid "Could not create reminder!" -msgstr "" - -#: src/modules/reminders/cog.py:636 -msgctxt "cmd_remindme_at|error:too_fast|desc" -msgid "You cannot set a repeating reminder with a period less than 10 minutes." -msgstr "" - -#: src/modules/reminders/cog.py:640 -msgctxt "cmd_remindme_at|error:too_fast|title" -msgid "Could not create reminder!" -msgstr "" - -#: src/modules/reminders/cog.py:658 -#, possible-python-brace-format -msgctxt "cmd:remindme_at|error:parse_time|desc" -msgid "" -"Could not parse provided time `{given}`. Try entering e.g. `4 pm` or `16:00`." -msgstr "" - -#: src/modules/reminders/cog.py:662 -msgctxt "cmd:remindme_at|error:parse_time|title" -msgid "Could not create reminder!" -msgstr "" - -#: src/modules/reminders/cog.py:673 -msgctxt "cmd:remindme_at|error:past_time|desc" -msgid "Provided time is in the past!" -msgstr "" - -#: src/modules/reminders/cog.py:677 -msgctxt "cmd:remindme_at|error:past_time|title" -msgid "Could not create reminder!" -msgstr "" - -#: src/modules/reminders/cog.py:702 -#, possible-python-brace-format -msgctxt "cmd:remindme_in|success|title" -msgid "Reminder Set at {timestamp}" -msgstr "" - -#: src/modules/reminders/cog.py:713 -msgctxt "cmd:remindme_in" -msgid "in" -msgstr "" - -#: src/modules/reminders/cog.py:716 -msgctxt "cmd:remindme_in|desc" -msgid "Schedule a reminder for a given amount of time in the future." -msgstr "" - -#: src/modules/reminders/cog.py:720 -msgctxt "cmd:remindme_in|param:time" -msgid "time" -msgstr "" - -#: src/modules/reminders/cog.py:721 -msgctxt "cmd:remindme_in|param:reminder" -msgid "reminder" -msgstr "" - -#: src/modules/reminders/cog.py:722 -msgctxt "cmd:remindme_in|param:every" -msgid "repeat_every" -msgstr "" - -#: src/modules/reminders/cog.py:725 -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:726 -msgctxt "cmd:remindme_in|param:reminder|desc" -msgid "What should the reminder be?" -msgstr "" - -#: src/modules/reminders/cog.py:727 -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:745 -msgctxt "cmd_remindme_in|error:too_many|desc" -msgid "Sorry, you have reached the maximum of `25` reminders!" -msgstr "" - -#: src/modules/reminders/cog.py:749 -msgctxt "cmd_remindme_in|error:too_many|title" -msgid "Could not create reminder!" -msgstr "" - -#: src/modules/reminders/cog.py:762 -msgctxt "cmd_remindme_in|error:too_fast|desc" -msgid "You cannot set a repeating reminder with a period less than 10 minutes." -msgstr "" - -#: src/modules/reminders/cog.py:766 -msgctxt "cmd_remindme_in|error:too_fast|title" -msgid "Could not create reminder!" -msgstr "" - -#: src/modules/reminders/cog.py:792 -#, possible-python-brace-format -msgctxt "cmd:remindme_in|success|title" -msgid "Reminder Set {timestamp}" -msgstr "" - -#: src/modules/reminders/cog.py:853 -msgctxt "ui:reminderlist|select:remove|placeholder" -msgid "Select to cancel." -msgstr "" - -#: src/modules/reminders/cog.py:929 -#, possible-python-brace-format -msgctxt "ui:reminderlist|embed:list|author" -msgid "{name}'s reminders" -msgstr "" - -#: src/modules/reminders/cog.py:935 -msgctxt "ui:reminderlist|embed:list|footer" -msgid "Click a reminder twice to jump to the context!" -msgstr "" - -#: src/modules/reminders/cog.py:942 -#, possible-python-brace-format -msgctxt "ui:reminderlist|embed:no_reminders|desc" -msgid "" -"You have no reminders to display!\n" -"Use {remindme} to create a new reminder." -msgstr "" diff --git a/locales/templates/rolemenus.pot b/locales/templates/rolemenus.pot index 86dbafb9..ee890f26 100644 --- a/locales/templates/rolemenus.pot +++ b/locales/templates/rolemenus.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/rooms.pot b/locales/templates/rooms.pot index 1cb8c19a..72574608 100644 --- a/locales/templates/rooms.pot +++ b/locales/templates/rooms.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -92,8 +92,9 @@ 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 `/pomodoro edit` to configure further." +msgid "Timer created successfully! Use {edit_cmd} to configure further." msgstr "" #: src/modules/rooms/roomui.py:254 @@ -177,83 +178,83 @@ msgctxt "ui:room_status|embed|field:members|name" msgid "Members ({count}/{cap})" msgstr "" -#: src/modules/rooms/cog.py:306 +#: src/modules/rooms/cog.py:321 msgctxt "cmd:room" msgid "room" msgstr "" -#: src/modules/rooms/cog.py:307 +#: src/modules/rooms/cog.py:322 msgctxt "cmd:room|desc" msgid "Base command group for private room configuration." msgstr "" -#: src/modules/rooms/cog.py:314 +#: src/modules/rooms/cog.py:329 msgctxt "cmd:room_rent" msgid "rent" msgstr "" -#: src/modules/rooms/cog.py:317 +#: src/modules/rooms/cog.py:332 msgctxt "cmd:room_rent|desc" msgid "Rent a private voice channel with LionCoins." msgstr "" -#: src/modules/rooms/cog.py:321 +#: src/modules/rooms/cog.py:336 msgctxt "cmd:room_rent|param:days" msgid "days" msgstr "" -#: src/modules/rooms/cog.py:322 +#: src/modules/rooms/cog.py:337 msgctxt "cmd:room_rent|param:members" msgid "members" msgstr "" -#: src/modules/rooms/cog.py:323 +#: src/modules/rooms/cog.py:338 msgctxt "cmd:room_rent|param:name" msgid "name" msgstr "" -#: src/modules/rooms/cog.py:328 +#: src/modules/rooms/cog.py:343 msgctxt "cmd:room_rent|param:days|desc" msgid "Number of days to pre-purchase. (Default: 1)" msgstr "" -#: src/modules/rooms/cog.py:332 +#: src/modules/rooms/cog.py:347 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:336 +#: src/modules/rooms/cog.py:351 msgctxt "cmd:room_rent|param:name|desc" msgid "Name of your private voice channel." msgstr "" -#: src/modules/rooms/cog.py:354 +#: src/modules/rooms/cog.py:369 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 `/configure rooms`." msgstr "" -#: src/modules/rooms/cog.py:365 +#: src/modules/rooms/cog.py:380 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:379 +#: src/modules/rooms/cog.py:394 #, possible-python-brace-format msgctxt "cmd:room_rent|error:room_exists" msgid "You already own a private room! Click to visit: {channel}" msgstr "" -#: src/modules/rooms/cog.py:399 +#: src/modules/rooms/cog.py:414 #, possible-python-brace-format msgctxt "cmd:room_rent|error:member_not_found" msgid "Could not find the requested member {mention} in this server!" msgstr "" -#: src/modules/rooms/cog.py:413 +#: src/modules/rooms/cog.py:428 #, possible-python-brace-format msgctxt "cmd:room_rent|error:too_many_members" msgid "" @@ -261,7 +262,7 @@ msgid "" "but the maximum private room size is `{cap}`!" msgstr "" -#: src/modules/rooms/cog.py:427 +#: src/modules/rooms/cog.py:442 #, possible-python-brace-format msgctxt "cmd:room_rent|confirm:purchase" msgid "" @@ -273,18 +274,18 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/modules/rooms/cog.py:452 +#: src/modules/rooms/cog.py:467 #, possible-python-brace-format msgctxt "cmd:room_rent|success" msgid "Successfully created your private room {channel}!" msgstr "" -#: src/modules/rooms/cog.py:457 +#: src/modules/rooms/cog.py:472 msgctxt "cmd:room_rent|success|title" msgid "Private Room Created!" msgstr "" -#: src/modules/rooms/cog.py:491 +#: src/modules/rooms/cog.py:506 #, possible-python-brace-format msgctxt "cmd:room_rent|error:insufficient_funds" msgid "" @@ -296,14 +297,14 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/modules/rooms/cog.py:525 +#: src/modules/rooms/cog.py:540 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 "" -#: src/modules/rooms/cog.py:537 +#: src/modules/rooms/cog.py:552 #, possible-python-brace-format msgctxt "cmd:room_rent|error:unknown" msgid "" @@ -312,62 +313,62 @@ msgid "" "`{error}`" msgstr "" -#: src/modules/rooms/cog.py:547 +#: src/modules/rooms/cog.py:562 msgctxt "cmd:room_status" msgid "status" msgstr "" -#: src/modules/rooms/cog.py:550 +#: src/modules/rooms/cog.py:565 msgctxt "cmd:room_status|desc" msgid "Display the status of your current room." msgstr "" -#: src/modules/rooms/cog.py:567 +#: src/modules/rooms/cog.py:582 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:582 +#: src/modules/rooms/cog.py:597 msgctxt "cmd:room_invite" msgid "invite" msgstr "" -#: src/modules/rooms/cog.py:585 +#: src/modules/rooms/cog.py:600 msgctxt "cmd:room_invite|desc" msgid "Add members to your private room." msgstr "" -#: src/modules/rooms/cog.py:589 +#: src/modules/rooms/cog.py:604 msgctxt "cmd:room_invite|param:members" msgid "members" msgstr "" -#: src/modules/rooms/cog.py:594 +#: src/modules/rooms/cog.py:609 msgctxt "cmd:room_invite|param:members|desc" msgid "Mention the members you want to add." msgstr "" -#: src/modules/rooms/cog.py:608 +#: src/modules/rooms/cog.py:623 #, 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 "" -#: src/modules/rooms/cog.py:629 +#: src/modules/rooms/cog.py:644 #, possible-python-brace-format msgctxt "cmd:room_invite|error:member_not_found" msgid "Could not find the invited member {mention} in this server!" msgstr "" -#: src/modules/rooms/cog.py:640 +#: src/modules/rooms/cog.py:655 msgctxt "cmd:room_invite|error:no_new_members" msgid "All members mentioned are already in the room!" msgstr "" -#: src/modules/rooms/cog.py:654 +#: src/modules/rooms/cog.py:669 #, possible-python-brace-format msgctxt "cmd:room_invite|error:too_many_members" msgid "" @@ -375,89 +376,89 @@ msgid "" "you already have `{current}`, and the member cap is `{cap}`!" msgstr "" -#: src/modules/rooms/cog.py:678 +#: src/modules/rooms/cog.py:693 msgctxt "cmd:room_invite|success|ack" msgid "Members Invited successfully." msgstr "" -#: src/modules/rooms/cog.py:686 +#: src/modules/rooms/cog.py:701 msgctxt "cmd:room_kick" msgid "kick" msgstr "" -#: src/modules/rooms/cog.py:689 +#: src/modules/rooms/cog.py:704 msgctxt "cmd:room_kick|desc" msgid "Remove a members from your private room." msgstr "" -#: src/modules/rooms/cog.py:693 +#: src/modules/rooms/cog.py:708 msgctxt "cmd:room_kick|param:members" msgid "members" msgstr "" -#: src/modules/rooms/cog.py:698 +#: src/modules/rooms/cog.py:713 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:712 +#: src/modules/rooms/cog.py:727 #, 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:729 +#: src/modules/rooms/cog.py:744 msgctxt "cmd:room_kick|error:no_matching_members" msgid "None of the mentioned members are in this room!" msgstr "" -#: src/modules/rooms/cog.py:746 +#: src/modules/rooms/cog.py:761 msgctxt "cmd:room_kick|success|ack" msgid "Members removed." msgstr "" -#: src/modules/rooms/cog.py:752 +#: src/modules/rooms/cog.py:767 msgctxt "cmd:room_transfer" msgid "transfer" msgstr "" -#: src/modules/rooms/cog.py:755 +#: src/modules/rooms/cog.py:770 msgctxt "cmd:room_transfer|desc" msgid "Transfer your private room to another room member. Not reversible!" msgstr "" -#: src/modules/rooms/cog.py:759 +#: src/modules/rooms/cog.py:774 msgctxt "cmd:room_transfer|param:new_owner" msgid "new_owner" msgstr "" -#: src/modules/rooms/cog.py:764 +#: src/modules/rooms/cog.py:779 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:778 +#: src/modules/rooms/cog.py:793 msgctxt "cmd:room_transfer|error:no_room" msgid "You do not own a private room to transfer!" msgstr "" -#: src/modules/rooms/cog.py:790 +#: src/modules/rooms/cog.py:805 #, 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:802 +#: src/modules/rooms/cog.py:817 #, 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:811 +#: src/modules/rooms/cog.py:826 #, possible-python-brace-format msgctxt "cmd:room_transfer|confirm|question" msgid "" @@ -465,62 +466,62 @@ msgid "" "{new_owner}? This action is not reversible!" msgstr "" -#: src/modules/rooms/cog.py:831 +#: src/modules/rooms/cog.py:846 #, 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:837 +#: src/modules/rooms/cog.py:852 msgctxt "cmd:room_deposit" msgid "deposit" msgstr "" -#: src/modules/rooms/cog.py:840 +#: src/modules/rooms/cog.py:855 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:844 +#: src/modules/rooms/cog.py:859 msgctxt "cmd:room_deposit|param:coins" msgid "coins" msgstr "" -#: src/modules/rooms/cog.py:849 +#: src/modules/rooms/cog.py:864 msgctxt "cmd:room_deposit|param:coins|desc" msgid "Number of coins to deposit." msgstr "" -#: src/modules/rooms/cog.py:869 +#: src/modules/rooms/cog.py:884 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:885 +#: src/modules/rooms/cog.py:900 #, 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:906 +#: src/modules/rooms/cog.py:921 #, 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:921 +#: src/modules/rooms/cog.py:936 msgctxt "cmd:configure_rooms" msgid "rooms" msgstr "" -#: src/modules/rooms/cog.py:922 +#: src/modules/rooms/cog.py:937 msgctxt "cmd:configure_rooms|desc" msgid "Configure Rented Private Rooms" msgstr "" diff --git a/locales/templates/schedule.pot b/locales/templates/schedule.pot index 5c5ad717..a6426401 100644 --- a/locales/templates/schedule.pot +++ b/locales/templates/schedule.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/settings_base.pot b/locales/templates/settings_base.pot index 800b13e7..ff6959cc 100644 --- a/locales/templates/settings_base.pot +++ b/locales/templates/settings_base.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/shop.pot b/locales/templates/shop.pot index 90df2019..d8a6b050 100644 --- a/locales/templates/shop.pot +++ b/locales/templates/shop.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,84 +23,89 @@ msgid "editshop" msgstr "" #: src/modules/shop/cog.py:117 -msgctxt "group:shop" +msgctxt "cmd:shop" msgid "shop" msgstr "" -#: src/modules/shop/cog.py:123 +#: src/modules/shop/cog.py:118 +msgctxt "cmd:shop|desc" +msgid "Purchase coloures, roles, and other goodies with LionCoins." +msgstr "" + +#: src/modules/shop/cog.py:124 msgctxt "cmd:shop_open" msgid "open" msgstr "" -#: src/modules/shop/cog.py:124 +#: src/modules/shop/cog.py:125 msgctxt "cmd:shop_open|desc" msgid "Open the server shop." msgstr "" -#: src/modules/shop/cog.py:150 +#: src/modules/shop/cog.py:151 msgctxt "cmd:shop_open|error:no_shops" msgid "There is nothing to buy!" msgstr "" -#: src/modules/shop/cog.py:212 +#: src/modules/shop/cog.py:213 msgctxt "ui:stores|button:close|label" msgid "Close" msgstr "" -#: src/modules/shop/cog.py:219 +#: src/modules/shop/cog.py:220 msgctxt "ui:stores|button:close|response|title" msgid "Shop Closed" msgstr "" -#: src/modules/shop/shops/colours.py:104 +#: src/modules/shop/shops/colours.py:105 #, possible-python-brace-format msgctxt "ui:colourstore|menu:buycolours|label" msgid "{name} ({price} LC)" msgstr "" -#: src/modules/shop/shops/colours.py:109 +#: src/modules/shop/shops/colours.py:110 #, possible-python-brace-format msgctxt "ui:colourstore|menu:buycolours|label" msgid "{name} (This is your colour!)" msgstr "" -#: src/modules/shop/shops/colours.py:114 +#: src/modules/shop/shops/colours.py:115 #, possible-python-brace-format msgctxt "ui:colourstore|menu:buycolours|desc" msgid "Colour: {colour}" msgstr "" -#: src/modules/shop/shops/colours.py:119 +#: src/modules/shop/shops/colours.py:120 msgctxt "ui:colourstore|menu:buycolours|desc" msgid "Colour: Unknown" msgstr "" -#: src/modules/shop/shops/colours.py:133 +#: src/modules/shop/shops/colours.py:134 msgctxt "shop:colours|name" msgid "Colour Shop" msgstr "" -#: src/modules/shop/shops/colours.py:172 +#: src/modules/shop/shops/colours.py:173 msgctxt "shop:colour|purchase|error:not_purchasable" msgid "This item may not be purchased!" msgstr "" -#: src/modules/shop/shops/colours.py:185 +#: src/modules/shop/shops/colours.py:186 msgctxt "shop:colour|purchase|error:no_guild" msgid "Could not retrieve the server from Discord!" msgstr "" -#: src/modules/shop/shops/colours.py:195 +#: src/modules/shop/shops/colours.py:196 msgctxt "shop:colour|purchase|error:no_member" msgid "Could not retrieve the member from Discord." msgstr "" -#: src/modules/shop/shops/colours.py:205 +#: src/modules/shop/shops/colours.py:206 msgctxt "shop:colour|purchase|error:no_role" msgid "This colour role could not be found in the server." msgstr "" -#: src/modules/shop/shops/colours.py:214 +#: src/modules/shop/shops/colours.py:215 #, possible-python-brace-format msgctxt "shop:colour|purchase|error:low_balance" msgid "" @@ -108,72 +113,72 @@ msgid "" "Your balance is {coin}{balance}" msgstr "" -#: src/modules/shop/shops/colours.py:229 +#: src/modules/shop/shops/colours.py:230 msgctxt "shop:colour|purchase|error:owned" msgid "You already own this item!" msgstr "" -#: src/modules/shop/shops/colours.py:263 +#: src/modules/shop/shops/colours.py:264 msgctxt "shop:colour|purchase|error:failed_no_role" msgid "This colour role no longer exists!" msgstr "" -#: src/modules/shop/shops/colours.py:270 +#: src/modules/shop/shops/colours.py:271 msgctxt "shop:colour|purchase|error:failed_permissions" msgid "I do not have enough permissions to give you this colour role!" msgstr "" -#: src/modules/shop/shops/colours.py:277 +#: src/modules/shop/shops/colours.py:278 msgctxt "shop:colour|purchase|error:failed_unknown" msgid "An unknown error occurred while giving you this colour role!" msgstr "" -#: src/modules/shop/shops/colours.py:346 +#: src/modules/shop/shops/colours.py:348 msgctxt "grp:editshop_colours" msgid "colours" msgstr "" -#: src/modules/shop/shops/colours.py:351 +#: src/modules/shop/shops/colours.py:353 msgctxt "cmd:editshop_colours_create" msgid "create" msgstr "" -#: src/modules/shop/shops/colours.py:354 +#: src/modules/shop/shops/colours.py:356 msgctxt "cmd:editshop_colours_create|desc" msgid "Create a new colour role with the given colour." msgstr "" -#: src/modules/shop/shops/colours.py:358 +#: src/modules/shop/shops/colours.py:360 msgctxt "cmd:editshop_colours_create|param:colour" msgid "colour" msgstr "" -#: src/modules/shop/shops/colours.py:359 +#: src/modules/shop/shops/colours.py:361 msgctxt "cmd:editshop_colours_create|param:name" msgid "name" msgstr "" -#: src/modules/shop/shops/colours.py:360 +#: src/modules/shop/shops/colours.py:362 msgctxt "cmd:editshop_colours_create|param:price" msgid "price" msgstr "" -#: src/modules/shop/shops/colours.py:365 +#: src/modules/shop/shops/colours.py:367 msgctxt "cmd:editshop_colours_create|param:colour|desc" msgid "What colour should the role be? (As a hex code, e.g. #AB22AB)" msgstr "" -#: src/modules/shop/shops/colours.py:369 +#: src/modules/shop/shops/colours.py:371 msgctxt "cmd:editshop_colours_create|param:name|desc" msgid "What should the colour role be called?" msgstr "" -#: src/modules/shop/shops/colours.py:373 +#: src/modules/shop/shops/colours.py:375 msgctxt "cmd:editshop_colours_create|param:price|desc" msgid "How much should the colour role cost?" msgstr "" -#: src/modules/shop/shops/colours.py:395 +#: src/modules/shop/shops/colours.py:397 #, possible-python-brace-format msgctxt "cmd:editshop_colours_create|error:parse_colour" msgid "" @@ -181,7 +186,7 @@ msgid "" "Please enter the colour as a hex string, e.g. `#FA0BC1`" msgstr "" -#: src/modules/shop/shops/colours.py:405 +#: src/modules/shop/shops/colours.py:407 msgctxt "cmd:editshop_colours_create|error:perms" msgid "" "I do not have permission to create server roles!\n" @@ -189,26 +194,26 @@ msgid "" "editshop colours add` instead." msgstr "" -#: src/modules/shop/shops/colours.py:421 +#: src/modules/shop/shops/colours.py:424 msgctxt "cmd:editshop_colours_create|error:max_colours" msgid "" "This server already has the maximum of `25` colour roles!\n" "Please remove some before adding or creating more." msgstr "" -#: src/modules/shop/shops/colours.py:440 +#: src/modules/shop/shops/colours.py:443 msgctxt "cmd:editshop_colours_create|error:failed_unknown" msgid "" "An unknown Discord error occurred while creating your colour role!\n" "Please try again in a few minutes." msgstr "" -#: src/modules/shop/shops/colours.py:490 +#: src/modules/shop/shops/colours.py:493 msgctxt "cmd:editshop_colours_create|resp:done|title" msgid "Colour Role Created" msgstr "" -#: src/modules/shop/shops/colours.py:494 +#: src/modules/shop/shops/colours.py:497 #, possible-python-brace-format msgctxt "cmd:editshop_colours_create|resp:done|desc" msgid "" @@ -216,80 +221,80 @@ msgid "" "{coin}**{price}**!" msgstr "" -#: src/modules/shop/shops/colours.py:501 +#: src/modules/shop/shops/colours.py:504 msgctxt "cmd:editshop_colours_create|resp:done|field:position_note|value" msgid "" "The new colour role was added below all other roles. Remember a member's " "active colour is determined by their highest coloured role!" msgstr "" -#: src/modules/shop/shops/colours.py:505 +#: src/modules/shop/shops/colours.py:508 msgctxt "cmd:editshop_colours_create|resp:done|field:position_note|name" msgid "Note" msgstr "" -#: src/modules/shop/shops/colours.py:514 +#: src/modules/shop/shops/colours.py:517 msgctxt "cmd:editshop_colours_edit" msgid "edit" msgstr "" -#: src/modules/shop/shops/colours.py:517 +#: src/modules/shop/shops/colours.py:520 msgctxt "cmd:editshop_colours_edit|desc" msgid "Edit the name, colour, or price of a colour role." msgstr "" -#: src/modules/shop/shops/colours.py:521 +#: src/modules/shop/shops/colours.py:524 msgctxt "cmd:editshop_colours_edit|param:role" msgid "role" msgstr "" -#: src/modules/shop/shops/colours.py:522 +#: src/modules/shop/shops/colours.py:525 msgctxt "cmd:editshop_colours_edit|param:name" msgid "name" msgstr "" -#: src/modules/shop/shops/colours.py:523 +#: src/modules/shop/shops/colours.py:526 msgctxt "cmd:editshop_colours_edit|param:colour" msgid "colour" msgstr "" -#: src/modules/shop/shops/colours.py:524 +#: src/modules/shop/shops/colours.py:527 msgctxt "cmd:editshop_colours_edit|param:price" msgid "price" msgstr "" -#: src/modules/shop/shops/colours.py:529 +#: src/modules/shop/shops/colours.py:532 msgctxt "cmd:editshop_colours_edit|param:role|desc" msgid "Select a colour role to edit." msgstr "" -#: src/modules/shop/shops/colours.py:533 +#: src/modules/shop/shops/colours.py:536 msgctxt "cmd:editshop_colours_edit|param:name|desc" msgid "New name to give the colour role." msgstr "" -#: src/modules/shop/shops/colours.py:537 +#: src/modules/shop/shops/colours.py:540 msgctxt "cmd:editshop_colours_edit|param:colour|desc" msgid "New colour for the colour role (as hex, e.g. #AB12AB)." msgstr "" -#: src/modules/shop/shops/colours.py:541 +#: src/modules/shop/shops/colours.py:544 msgctxt "cmd:editshop_colours_edit|param:price|desc" msgid "New price for the colour role." msgstr "" -#: src/modules/shop/shops/colours.py:570 +#: src/modules/shop/shops/colours.py:573 #, possible-python-brace-format msgctxt "cmd:editshop_colours_edit|error:invalid_role" msgid "{mention} is not in the colour role shop!" msgstr "" -#: src/modules/shop/shops/colours.py:584 +#: src/modules/shop/shops/colours.py:587 msgctxt "cmd:editshop_colours_edit|error:no_args" msgid "You must give me one of `name`, `colour`, or `price` to update!" msgstr "" -#: src/modules/shop/shops/colours.py:600 +#: src/modules/shop/shops/colours.py:603 #, possible-python-brace-format msgctxt "cmd:editshop_colours_edit|error:parse_colour" msgid "" @@ -297,82 +302,82 @@ msgid "" "Please enter the colour as a hex string, e.g. `#FA0BC1`" msgstr "" -#: src/modules/shop/shops/colours.py:615 +#: src/modules/shop/shops/colours.py:618 msgctxt "cmd:editshop_colours_edit|error:perms" msgid "I do not have sufficient server permissions to edit this role!" msgstr "" -#: src/modules/shop/shops/colours.py:631 +#: src/modules/shop/shops/colours.py:634 #, possible-python-brace-format msgctxt "cmd:editshop_colours_edit|resp:done|line:price" msgid "{tick} Set price to {coin}**{price}**" msgstr "" -#: src/modules/shop/shops/colours.py:648 +#: src/modules/shop/shops/colours.py:651 #, possible-python-brace-format msgctxt "cmd:editshop_colours_edit|resp:done|line:role" msgid "{tick} Updated role to {mention}" msgstr "" -#: src/modules/shop/shops/colours.py:658 +#: src/modules/shop/shops/colours.py:661 msgctxt "cmd:editshop_colours_edit|resp:done|embed:title" msgid "Colour Role Updated" msgstr "" -#: src/modules/shop/shops/colours.py:664 +#: src/modules/shop/shops/colours.py:667 msgctxt "cmd:editshop_colours_auto" msgid "auto" msgstr "" -#: src/modules/shop/shops/colours.py:665 +#: src/modules/shop/shops/colours.py:668 msgctxt "cmd:editshop_colours_auto|desc" msgid "Automatically create a set of colour roles." msgstr "" -#: src/modules/shop/shops/colours.py:674 +#: src/modules/shop/shops/colours.py:677 msgctxt "cmd:editshop_colours_add" msgid "add" msgstr "" -#: src/modules/shop/shops/colours.py:677 +#: src/modules/shop/shops/colours.py:680 msgctxt "cmd:editshop_colours_add|desc" msgid "Add an existing role to the colour shop." msgstr "" -#: src/modules/shop/shops/colours.py:681 +#: src/modules/shop/shops/colours.py:684 msgctxt "cmd:editshop_colours_add|param:role" msgid "role" msgstr "" -#: src/modules/shop/shops/colours.py:682 +#: src/modules/shop/shops/colours.py:685 msgctxt "cmd:editshop_colours_add|param:price" msgid "price" msgstr "" -#: src/modules/shop/shops/colours.py:687 +#: src/modules/shop/shops/colours.py:690 msgctxt "cmd:editshop_colours_add|param:role|desc" msgid "Select a role to add to the colour shop." msgstr "" -#: src/modules/shop/shops/colours.py:691 +#: src/modules/shop/shops/colours.py:694 msgctxt "cmd:editshop_colours_add|param:price|desc" msgid "How much should this role cost?" msgstr "" -#: src/modules/shop/shops/colours.py:716 +#: src/modules/shop/shops/colours.py:719 msgctxt "cmd:editshop_colours_add|error:max_colours" msgid "" "This server already has the maximum of `25` colour roles!\n" "Please remove some before adding or creating more." msgstr "" -#: src/modules/shop/shops/colours.py:725 +#: src/modules/shop/shops/colours.py:728 #, possible-python-brace-format msgctxt "cmd:editshop_colours_add|error:role_exists" msgid "The role {mention} is already registered as a colour role!" msgstr "" -#: src/modules/shop/shops/colours.py:734 +#: src/modules/shop/shops/colours.py:737 #, possible-python-brace-format msgctxt "cmd:editshop_colours_add|error:role_perms" msgid "" @@ -381,7 +386,7 @@ msgid "" "role." msgstr "" -#: src/modules/shop/shops/colours.py:745 +#: src/modules/shop/shops/colours.py:748 #, possible-python-brace-format msgctxt "cmd:editshop_colours_add|error:caller_perms" msgid "" @@ -390,138 +395,138 @@ msgid "" "role." msgstr "" -#: src/modules/shop/shops/colours.py:754 +#: src/modules/shop/shops/colours.py:760 msgctxt "cmd:editshop_colours_add|error:role_has_admin" msgid "" "I refuse to add an administrator role to the LionCoin shop. That is a really " "bad idea." msgstr "" -#: src/modules/shop/shops/colours.py:775 +#: src/modules/shop/shops/colours.py:781 msgctxt "cmd:editshop_colours_add|resp:done|embed:title" msgid "Colour Role Created" msgstr "" -#: src/modules/shop/shops/colours.py:778 +#: src/modules/shop/shops/colours.py:784 #, possible-python-brace-format msgctxt "cmd:editshop_colours_add|resp:done|embed:desc" msgid "You have added {mention} to the colour shop for {coin}**{price}**!" msgstr "" -#: src/modules/shop/shops/colours.py:786 +#: src/modules/shop/shops/colours.py:792 msgctxt "cmd:editshop_colours_clear" msgid "clear" msgstr "" -#: src/modules/shop/shops/colours.py:789 +#: src/modules/shop/shops/colours.py:795 msgctxt "cmd:editshop_colours_clear|desc" msgid "" "Remove all the colour roles from the shop, and optionally delete the roles." msgstr "" -#: src/modules/shop/shops/colours.py:793 +#: src/modules/shop/shops/colours.py:799 msgctxt "cmd:editshop_colours_clear|param:delete" msgid "delete_roles" msgstr "" -#: src/modules/shop/shops/colours.py:798 +#: src/modules/shop/shops/colours.py:804 msgctxt "cmd:editshop_colours_clear|param:delete|desc" msgid "Also delete the associated roles." msgstr "" -#: src/modules/shop/shops/colours.py:840 +#: src/modules/shop/shops/colours.py:846 msgctxt "cmd:editshop_colours_clear|error:no_colours" msgid "There are no coloured roles to remove!" msgstr "" -#: src/modules/shop/shops/colours.py:884 +#: src/modules/shop/shops/colours.py:890 #, possible-python-brace-format msgctxt "cmd:editshop_colours_clear|resp:done|line:clear" msgid "{tick} Colour shop cleared." msgstr "" -#: src/modules/shop/shops/colours.py:895 +#: src/modules/shop/shops/colours.py:901 #, possible-python-brace-format msgctxt "cmd:editshop_colours_clear|resp:done|line:refunding" msgid "{loading} Refunded **{count}/{total}** members." msgstr "" -#: src/modules/shop/shops/colours.py:901 +#: src/modules/shop/shops/colours.py:907 #, possible-python-brace-format msgctxt "cmd:editshop_colours_clear|resp:done|line:refunded" msgid "{tick} Refunded **{total}/{total}** members." msgstr "" -#: src/modules/shop/shops/colours.py:914 +#: src/modules/shop/shops/colours.py:920 #, possible-python-brace-format msgctxt "cmd:editshop_colours_clear|resp:done|line:deleted_failed" msgid "" "{emoji} Deleted **{count}/{total}** colour roles. (**{failed}** failed!)" msgstr "" -#: src/modules/shop/shops/colours.py:919 +#: src/modules/shop/shops/colours.py:925 #, possible-python-brace-format msgctxt "cmd:editshop_colours_clear|resp:done|line:deleted" msgid "{emoji} Deleted **{count}/{total}** colour roles." msgstr "" -#: src/modules/shop/shops/colours.py:968 +#: src/modules/shop/shops/colours.py:974 msgctxt "cmd:editshop_colours_remove" msgid "remove" msgstr "" -#: src/modules/shop/shops/colours.py:971 +#: src/modules/shop/shops/colours.py:977 msgctxt "cmd:editshop_colours_remove|desc" msgid "Remove a specific colour role from the shop." msgstr "" -#: src/modules/shop/shops/colours.py:975 +#: src/modules/shop/shops/colours.py:981 msgctxt "cmd:editshop_colours_remove|param:role" msgid "role" msgstr "" -#: src/modules/shop/shops/colours.py:976 +#: src/modules/shop/shops/colours.py:982 msgctxt "cmd:editshop_colours_remove" msgid "delete_role" msgstr "" -#: src/modules/shop/shops/colours.py:981 +#: src/modules/shop/shops/colours.py:987 msgctxt "cmd:editshop_colours_remove|param:role|desc" msgid "Select the colour role to remove." msgstr "" -#: src/modules/shop/shops/colours.py:985 +#: src/modules/shop/shops/colours.py:991 msgctxt "cmd:editshop_colours_remove|param:delete_role|desc" msgid "Whether to delete the associated role." msgstr "" -#: src/modules/shop/shops/colours.py:1010 +#: src/modules/shop/shops/colours.py:1016 #, possible-python-brace-format msgctxt "cmd:editshop_colours_remove|error:not_colour" msgid "{mention} is not in the colour role shop!" msgstr "" -#: src/modules/shop/shops/colours.py:1028 +#: src/modules/shop/shops/colours.py:1034 msgctxt "cmd:editshop_colours_remove|resp:done|line:delete" msgid "Successfully deleted the role." msgstr "" -#: src/modules/shop/shops/colours.py:1033 +#: src/modules/shop/shops/colours.py:1039 msgctxt "cmd:editshop_colours_remove|resp:done|line:delete" msgid "I do not have sufficient permissions to delete the role." msgstr "" -#: src/modules/shop/shops/colours.py:1038 +#: src/modules/shop/shops/colours.py:1044 msgctxt "cmd:editshop_colours_remove|resp:done|line:delete" msgid "Failed to delete the role for an unknown reason." msgstr "" -#: src/modules/shop/shops/colours.py:1043 +#: src/modules/shop/shops/colours.py:1049 msgctxt "cmd:editshop_colours_remove|resp:done|line:delete" msgid "Could not find the role in order to delete it." msgstr "" -#: src/modules/shop/shops/colours.py:1054 +#: src/modules/shop/shops/colours.py:1060 #, possible-python-brace-format msgctxt "cmd:editshop_colours_remove|resp:done|embed:desc" msgid "" @@ -529,45 +534,64 @@ msgid "" "{delete_line}" msgstr "" -#: src/modules/shop/shops/colours.py:1114 +#: src/modules/shop/shops/colours.py:1138 msgctxt "ui:colourstore|menu:buycolours|embed:error|title" msgid "Purchase Failed!" msgstr "" -#: src/modules/shop/shops/colours.py:1125 +#: src/modules/shop/shops/colours.py:1149 #, possible-python-brace-format msgctxt "ui:colourstore|menu:buycolours|resp:done|desc" msgid "{tick} You have purchased {mention}" msgstr "" -#: src/modules/shop/shops/colours.py:1160 +#: src/modules/shop/shops/colours.py:1184 msgctxt "ui:colourstore|menu:buycolours|placeholder" msgid "There are no colour roles available to purchase!" msgstr "" -#: src/modules/shop/shops/colours.py:1166 +#: src/modules/shop/shops/colours.py:1190 msgctxt "ui:colourstore|menu:buycolours|placeholder" msgid "Select a colour role to purchase!" msgstr "" -#: src/modules/shop/shops/colours.py:1195 +#: src/modules/shop/shops/colours.py:1236 #, possible-python-brace-format msgctxt "ui:colourstore|embed|line:owned_item" msgid "`[{j:02}]` | `{price} LC` | {mention} (You own this!)" msgstr "" -#: src/modules/shop/shops/colours.py:1200 +#: src/modules/shop/shops/colours.py:1241 #, possible-python-brace-format msgctxt "ui:colourstore|embed|line:item" msgid "`[{j:02}]` | `{price} LC` | {mention}" msgstr "" -#: src/modules/shop/shops/colours.py:1207 +#: src/modules/shop/shops/colours.py:1248 msgctxt "ui:colourstore|embed|desc" msgid "No colour roles available for purchase!" msgstr "" -#: src/modules/shop/shops/colours.py:1210 +#: src/modules/shop/shops/colours.py:1251 msgctxt "ui:colourstore|embed|title" msgid "Colour Role Shop" msgstr "" + +#: src/modules/shop/shops/colours.py:1257 +#, possible-python-brace-format +msgctxt "ui:colourstore|embed|footer:paged" +msgid "Page {current}/{total}" +msgstr "" + +#: src/modules/shop/shops/colours.py:1264 +msgctxt "ui:colourstore|embed|field:warning|name" +msgid "Note!" +msgstr "" + +#: src/modules/shop/shops/colours.py:1268 +#, possible-python-brace-format +msgctxt "ui:colourstore|embed|field:warning|value" +msgid "" +"Purchasing a new colour role will *replace* your currently colour {current} " +"without refund!" +msgstr "" diff --git a/locales/templates/statistics.pot b/locales/templates/statistics.pot index e42ff0e4..d034783d 100644 --- a/locales/templates/statistics.pot +++ b/locales/templates/statistics.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -47,36 +47,34 @@ msgctxt "cmd:leaderboard|desc" msgid "Server leaderboard." msgstr "" -#: src/modules/statistics/cog.py:91 +#: src/modules/statistics/cog.py:89 +#, possible-python-brace-format +msgctxt "cmd:leaderboard|chunking|desc" +msgid "Requesting server member list from Discord, please wait {loading}" +msgstr "" + +#: src/modules/statistics/cog.py:108 msgctxt "cmd:configure_statistics" msgid "statistics" msgstr "" -#: src/modules/statistics/cog.py:92 +#: src/modules/statistics/cog.py:109 msgctxt "cmd:configure_statistics|desc" msgid "Statistics configuration panel" msgstr "" -#: src/modules/statistics/cog.py:95 +#: src/modules/statistics/cog.py:112 msgctxt "cmd:configure_statistics|param:season_start" msgid "season_start" msgstr "" -#: src/modules/statistics/cog.py:100 +#: src/modules/statistics/cog.py:117 msgctxt "cmd:configure_statistics|param:season_start|desc" msgid "" "Time from which to start counting activity for rank badges and season " "leaderboards. (YYYY-MM-DD)" msgstr "" -#: src/modules/statistics/cog.py:130 -#, possible-python-brace-format -msgctxt "cmd:configure_statistics|resp:success|desc" -msgid "" -"Activity ranks and season leaderboard will now be measured from " -"{season_start}." -msgstr "" - #: src/modules/statistics/settings.py:37 msgctxt "settype:stat|output:voice" msgid "`Voice`" @@ -159,171 +157,175 @@ msgctxt "guildset:season_start|long_desc" msgid "" "Activity ranks will be determined based on tracked activity since this time, " "and the leaderboard will display activity since this time by default. Unset " -"to disable seasons and use all-time statistics instead." +"to disable seasons and use all-time statistics instead.\n" +"Provided dates and times are assumed to be in the guild `timezone`, so set " +"this first!" msgstr "" -#: src/modules/statistics/settings.py:101 +#: src/modules/statistics/settings.py:102 msgctxt "guildset:season_start|accepts" msgid "The season start time in the form YYYY-MM-DD HH:MM" msgstr "" -#: src/modules/statistics/settings.py:105 +#: src/modules/statistics/settings.py:106 msgctxt "guildset:season_start|notset" msgid "Not Set (Using all-time statistics)" msgstr "" -#: src/modules/statistics/settings.py:124 +#: src/modules/statistics/settings.py:125 #, possible-python-brace-format msgctxt "guildset:season_start|parse|error:future_time" msgid "Provided season start time {timestamp} is in the future!" msgstr "" -#: src/modules/statistics/settings.py:136 +#: src/modules/statistics/settings.py:137 #, possible-python-brace-format msgctxt "guildset:season_start|set_response|set" msgid "" "The leaderboard season and activity ranks will now count from {timestamp}. " -"Member ranks will update when they are next active. Use {rank_cmd} to " -"refresh immediately." +"Member ranks will update when they are next active.\n" +"Use {rank_cmd} and press **Refresh Member Ranks** to refresh all ranks " +"immediately." msgstr "" -#: src/modules/statistics/settings.py:145 +#: src/modules/statistics/settings.py:147 #, possible-python-brace-format msgctxt "guildset:season_start|set_response|unset" msgid "" "The leaderboard and activity ranks will now count all-time statistics. " -"Member ranks will update when they are next active. Use {rank_cmd} to " -"refresh immediately." +"Member ranks will update when they are next active.\n" +"Use {rank_cmd} and press **Refresh Member Ranks** to refresh all ranks " +"immediately." msgstr "" -#: src/modules/statistics/settings.py:156 +#: src/modules/statistics/settings.py:159 msgctxt "guildset:unranked_roles" msgid "unranked_roles" msgstr "" -#: src/modules/statistics/settings.py:159 +#: src/modules/statistics/settings.py:162 msgctxt "guildset:unranked_roles|desc" msgid "Roles to exclude from the leaderboards." msgstr "" -#: src/modules/statistics/settings.py:163 +#: src/modules/statistics/settings.py:166 msgctxt "guildset:unranked_roles|long_desc" msgid "" "When set, members with *any* of these roles will not appear on the /" "leaderboard ranking list." msgstr "" -#: src/modules/statistics/settings.py:167 +#: src/modules/statistics/settings.py:170 msgctxt "guildset:unranked_roles|accepts" msgid "Comma separated list of unranked role names or ids." msgstr "" -#: src/modules/statistics/settings.py:183 +#: src/modules/statistics/settings.py:186 msgctxt "guildset:unranked_roles|set_using" msgid "Role selector below." msgstr "" -#: src/modules/statistics/settings.py:193 +#: src/modules/statistics/settings.py:196 #, possible-python-brace-format msgctxt "guildset:unranked_roles|set_response|set" msgid "" "Members of the following roles will not appear on the leaderboard: {roles}" msgstr "" -#: src/modules/statistics/settings.py:200 +#: src/modules/statistics/settings.py:203 msgctxt "guildset:unranked_roles|set_response|unset" msgid "You have cleared the unranked role list." msgstr "" -#: src/modules/statistics/settings.py:214 +#: src/modules/statistics/settings.py:217 msgctxt "guildset:visible_stats" msgid "visible_stats" msgstr "" -#: src/modules/statistics/settings.py:217 +#: src/modules/statistics/settings.py:220 msgctxt "guildset:visible_stats|desc" msgid "Which statistics will be visible in the statistics commands." msgstr "" -#: src/modules/statistics/settings.py:221 +#: src/modules/statistics/settings.py:224 msgctxt "guildset:visible_stats|desc" msgid "" "Choose which statistics types to display in the leaderboard and statistics " "commands." msgstr "" -#: src/modules/statistics/settings.py:225 +#: src/modules/statistics/settings.py:228 msgctxt "guildset:visible_stats|accepts" msgid "Voice, Text, Anki" msgstr "" -#: src/modules/statistics/settings.py:246 +#: src/modules/statistics/settings.py:249 msgctxt "guildset:visible_stats|set_using" msgid "Option menu below." msgstr "" -#: src/modules/statistics/settings.py:254 +#: src/modules/statistics/settings.py:257 #, possible-python-brace-format msgctxt "guildset:visible_stats|set_response" msgid "Members will be able to view the following statistics types: {types}" msgstr "" -#: src/modules/statistics/settings.py:264 +#: src/modules/statistics/settings.py:267 msgctxt "guildset:default_stat" msgid "default_stat" msgstr "" -#: src/modules/statistics/settings.py:267 +#: src/modules/statistics/settings.py:270 msgctxt "guildset:default_stat|desc" msgid "Statistic type to display by default in setting dialogues." msgstr "" -#: src/modules/statistics/settings.py:271 +#: src/modules/statistics/settings.py:274 msgctxt "guildset:default_stat|long_desc" msgid "Which statistic type to display by default in setting dialogues." msgstr "" -#: src/modules/statistics/settings.py:304 +#: src/modules/statistics/settings.py:307 msgctxt "ui:statistics_config|menu:unranked_roles|placeholder" msgid "Select Unranked Roles" msgstr "" -#: src/modules/statistics/settings.py:328 +#: src/modules/statistics/settings.py:331 msgctxt "ui:statistics_config|menu:visible_stats|item:voice|mode:voice" msgid "Voice Activity" msgstr "" -#: src/modules/statistics/settings.py:333 +#: src/modules/statistics/settings.py:336 msgctxt "ui:statistics_config|menu:visible_stats|item:voice|mode:study" msgid "Study Statistics" msgstr "" -#: src/modules/statistics/settings.py:343 +#: src/modules/statistics/settings.py:346 msgctxt "ui:statistics_config|menu:visible_stats|item:text" msgid "Message Activity" msgstr "" -#: src/modules/statistics/settings.py:351 +#: src/modules/statistics/settings.py:354 msgctxt "ui:statistics_config|menu:visible_stats|item:anki" msgid "Anki Reviews" msgstr "" -#: src/modules/statistics/settings.py:362 +#: src/modules/statistics/settings.py:365 msgctxt "ui:statistics_config|menu:visible_stats|placeholder" msgid "Select Visible Statistics" msgstr "" -#: src/modules/statistics/settings.py:383 +#: src/modules/statistics/settings.py:386 msgctxt "ui:statistics_config|embed|title" msgid "Statistics Configuration Panel" msgstr "" -#: src/modules/statistics/settings.py:405 +#: src/modules/statistics/settings.py:408 msgctxt "dash:stats|title" msgid "Activity Statistics Configuration ({commands[configure statistics]})" msgstr "" -#: src/modules/statistics/settings.py:409 +#: src/modules/statistics/settings.py:412 msgctxt "dash:stats|dropdown|placeholder" msgid "Activity Statistics Panel" msgstr "" @@ -480,68 +482,68 @@ msgctxt "modal:goal_editor|monthly|title" msgid "Monthly goal editor" msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:499 +#: src/modules/statistics/ui/weeklymonthly.py:503 msgctxt "ui:weeklymonthly|button:edit_goals|label" msgid "Edit Goals" msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:515 +#: src/modules/statistics/ui/weeklymonthly.py:519 #, possible-python-brace-format msgctxt "ui:weeklymonthly|menu:period|monthly|label" msgid "{month} {year}" msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:530 +#: src/modules/statistics/ui/weeklymonthly.py:534 #, possible-python-brace-format msgctxt "ui:weeklymonthly|menu:period|weekly|label" msgid "{year} W{week}" msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:534 +#: src/modules/statistics/ui/weeklymonthly.py:538 #, possible-python-brace-format msgctxt "ui:weeklymonthly|menu:period|weekly|desc" msgid "" "{start_day} {start_month} {start_year} to {end_day} {end_month} {end_year}" msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:612 +#: src/modules/statistics/ui/weeklymonthly.py:616 msgctxt "ui:weeklymonthly|button:period|close|label" msgid "Close Selector" msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:617 +#: src/modules/statistics/ui/weeklymonthly.py:621 msgctxt "ui:weeklymonthly|button:period|weekly|label" msgid "Select Week" msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:622 +#: src/modules/statistics/ui/weeklymonthly.py:626 msgctxt "ui:weeklymonthly|button:period|monthly|label" msgid "Select Month" msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:687 +#: src/modules/statistics/ui/weeklymonthly.py:691 msgctxt "ui:weeklymonthly|menu:period|weekly|placeholder" msgid "Select a week to display" msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:692 +#: src/modules/statistics/ui/weeklymonthly.py:696 msgctxt "ui:weeklymonthly|menu:period|monthly|placeholder" msgid "Select a month to display" msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:714 +#: src/modules/statistics/ui/weeklymonthly.py:718 msgctxt "ui:WeeklyMonthly|button:global|resp:success" msgid "" "You will now see combined statistics from all your servers (where " "applicable)! Press again to revert." msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:727 +#: src/modules/statistics/ui/weeklymonthly.py:731 msgctxt "ui:WeeklyMonthly|button:global|mode:local" msgid "Server Statistics" msgstr "" -#: src/modules/statistics/ui/weeklymonthly.py:732 +#: src/modules/statistics/ui/weeklymonthly.py:736 msgctxt "ui:WeeklyMonthly|button:global|mode:global" msgid "Global Statistics" msgstr "" @@ -611,92 +613,101 @@ msgid "" "again to revert." msgstr "" -#: src/modules/statistics/ui/leaderboard.py:231 +#: src/modules/statistics/ui/leaderboard.py:250 msgctxt "ui:leaderboard|menu:stats|placeholder" msgid "Select Activity Type" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:240 +#: src/modules/statistics/ui/leaderboard.py:259 msgctxt "ui:leaderboard|menu:stats|item:voice" msgid "Voice Activity" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:251 +#: src/modules/statistics/ui/leaderboard.py:270 msgctxt "ui:leaderboard|menu:stats|item:study" msgid "Study Statistics" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:262 +#: src/modules/statistics/ui/leaderboard.py:281 msgctxt "ui:leaderboard|menu:stats|item:message" msgid "Message Activity" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:273 +#: src/modules/statistics/ui/leaderboard.py:292 msgctxt "ui:leaderboard|menu;stats|item:anki" msgid "Anki Cards Reviewed" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:327 +#: src/modules/statistics/ui/leaderboard.py:346 msgctxt "ui:leaderboard|button:season|label" msgid "This Season" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:331 +#: src/modules/statistics/ui/leaderboard.py:350 msgctxt "ui:leaderboard|button:day|label" msgid "Today" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:335 +#: src/modules/statistics/ui/leaderboard.py:354 msgctxt "ui:leaderboard|button:week|label" msgid "This Week" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:339 +#: src/modules/statistics/ui/leaderboard.py:358 msgctxt "ui:leaderboard|button:month|label" msgid "This Month" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:343 +#: src/modules/statistics/ui/leaderboard.py:362 msgctxt "ui:leaderboard|button:alltime|label" msgid "All Time" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:347 +#: src/modules/statistics/ui/leaderboard.py:366 msgctxt "ui:leaderboard|button:jump|label" msgid "Jump" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:362 +#: src/modules/statistics/ui/leaderboard.py:381 msgctxt "ui:leaderboard|button:jump|input:title" msgid "Jump to page" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:366 +#: src/modules/statistics/ui/leaderboard.py:385 msgctxt "ui:leaderboard|button:jump|input:question" msgid "Page number to jump to" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:377 +#: src/modules/statistics/ui/leaderboard.py:396 msgctxt "ui:leaderboard|button:jump|error:invalid_page" msgid "Invalid page number, please try again!" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:428 +#: src/modules/statistics/ui/leaderboard.py:442 +#, possible-python-brace-format +msgctxt "ui:leaderboard|since" +msgid "Counting statistics since {timestamp}" +msgstr "" + +#: src/modules/statistics/ui/leaderboard.py:453 +#, possible-python-brace-format msgctxt "ui:leaderboard|mode:voice|message:empty|desc" -msgid "There has been no voice activity in this period!" +msgid "There has been no voice activity since {timestamp}" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:433 +#: src/modules/statistics/ui/leaderboard.py:458 +#, possible-python-brace-format msgctxt "ui:leaderboard|mode:text|message:empty|desc" -msgid "There has been no message activity in this period!" +msgid "There has been no message activity since {timestamp}" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:438 +#: src/modules/statistics/ui/leaderboard.py:463 +#, possible-python-brace-format msgctxt "ui:leaderboard|mode:anki|message:empty|desc" -msgid "There have been no Anki cards reviewed in this period!" +msgid "There have been no Anki cards reviewed since {timestamp}" msgstr "" -#: src/modules/statistics/ui/leaderboard.py:444 +#: src/modules/statistics/ui/leaderboard.py:472 msgctxt "ui:leaderboard|message:empty|title" msgid "Leaderboard Empty!" msgstr "" diff --git a/locales/templates/stats-gui.pot b/locales/templates/stats-gui.pot index 8400f5a2..8099bcd1 100644 --- a/locales/templates/stats-gui.pot +++ b/locales/templates/stats-gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/sysadmin.pot b/locales/templates/sysadmin.pot index d9cf2b30..c09da5d5 100644 --- a/locales/templates/sysadmin.pot +++ b/locales/templates/sysadmin.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/tasklist.pot b/locales/templates/tasklist.pot index 2d72608b..2190ec80 100644 --- a/locales/templates/tasklist.pot +++ b/locales/templates/tasklist.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,291 +53,323 @@ msgctxt "argtype:Before|opt:THISMONTH" msgid "This Month" msgstr "" -#: src/modules/tasklist/cog.py:225 +#: src/modules/tasklist/cog.py:205 +msgctxt "summon_tasklist|error:insufficient_perms|title" +msgid "Uh-Oh, I cannot do that here!" +msgstr "" + +#: src/modules/tasklist/cog.py:209 +msgctxt "summon_tasklist|error:insufficient_perms|desc" +msgid "" +"This channel is configured as a tasklist channel, but I lack the " +"`EMBED_LINKS` or `SEND_MESSAGES` permission here! If you believe this is " +"unintentional, please contact a server administrator." +msgstr "" + +#: src/modules/tasklist/cog.py:258 msgctxt "cmd:tasklist" msgid "tasklist" msgstr "" -#: src/modules/tasklist/cog.py:228 +#: src/modules/tasklist/cog.py:261 msgctxt "cmd:tasklist|desc" msgid "Open your tasklist." msgstr "" -#: src/modules/tasklist/cog.py:237 +#: src/modules/tasklist/cog.py:270 msgctxt "group:tasks" msgid "tasks" msgstr "" -#: src/modules/tasklist/cog.py:238 +#: src/modules/tasklist/cog.py:271 msgctxt "group:tasks|desc" msgid "Base command group for tasklist commands." msgstr "" -#: src/modules/tasklist/cog.py:260 +#: src/modules/tasklist/cog.py:293 msgctxt "argtype:taskid|error:no_tasks" msgid "Tasklist empty! No matching tasks." msgstr "" -#: src/modules/tasklist/cog.py:305 +#: src/modules/tasklist/cog.py:330 +msgctxt "argtype:taskid|match:all" +msgid "All tasks" +msgstr "" + +#: src/modules/tasklist/cog.py:348 #, possible-python-brace-format msgctxt "argtype:taskid|error:parse_multi" msgid "(Warning: {error})" msgstr "" -#: src/modules/tasklist/cog.py:339 +#: src/modules/tasklist/cog.py:382 #, possible-python-brace-format msgctxt "argtype:taskid|error:no_matching" msgid "No tasks matching '{partial}'!" msgstr "" -#: src/modules/tasklist/cog.py:359 +#: src/modules/tasklist/cog.py:402 msgctxt "cmd:tasks_new" msgid "new" msgstr "" -#: src/modules/tasklist/cog.py:362 +#: src/modules/tasklist/cog.py:405 msgctxt "cmd:tasks_new|desc" msgid "Add a new task to your tasklist." msgstr "" -#: src/modules/tasklist/cog.py:366 +#: src/modules/tasklist/cog.py:409 msgctxt "cmd:tasks_new|param:content" msgid "task" msgstr "" -#: src/modules/tasklist/cog.py:367 +#: src/modules/tasklist/cog.py:410 msgctxt "cmd:tasks_new|param:parent" msgid "parent" msgstr "" -#: src/modules/tasklist/cog.py:370 +#: src/modules/tasklist/cog.py:413 msgctxt "cmd:tasks_new|param:content|desc" msgid "Content of your new task." msgstr "" -#: src/modules/tasklist/cog.py:371 +#: src/modules/tasklist/cog.py:414 msgctxt "cmd:tasks_new|param:parent" msgid "Parent of this task." msgstr "" -#: src/modules/tasklist/cog.py:391 +#: src/modules/tasklist/cog.py:434 #, possible-python-brace-format msgctxt "cmd:tasks_new|error:parse_parent" msgid "Could not find parent task number `{input}` in your tasklist." msgstr "" -#: src/modules/tasklist/cog.py:406 +#: src/modules/tasklist/cog.py:449 #, possible-python-brace-format msgctxt "cmd:tasks_new|resp:success" msgid "{tick} Created task `{label}`." msgstr "" -#: src/modules/tasklist/cog.py:418 +#: src/modules/tasklist/cog.py:461 msgctxt "cmd:tasks_upload" msgid "upload" msgstr "" -#: src/modules/tasklist/cog.py:421 +#: src/modules/tasklist/cog.py:464 msgctxt "cmd:tasks_upload|desc" msgid "Upload a list of tasks to append to or replace your tasklist." msgstr "" -#: src/modules/tasklist/cog.py:425 +#: src/modules/tasklist/cog.py:468 msgctxt "cmd:tasks_upload|param:tasklist" msgid "tasklist" msgstr "" -#: src/modules/tasklist/cog.py:426 +#: src/modules/tasklist/cog.py:469 msgctxt "cmd:tasks_upload|param:append" msgid "append" msgstr "" -#: src/modules/tasklist/cog.py:431 +#: src/modules/tasklist/cog.py:474 msgctxt "cmd:tasks_upload|param:tasklist|desc" msgid "" "Text file containing a (standard markdown formatted) checklist of tasks to " "add or append." msgstr "" -#: src/modules/tasklist/cog.py:435 +#: src/modules/tasklist/cog.py:478 msgctxt "cmd:tasks_upload|param:append|desc" msgid "" "Whether to append the given tasks or replace your entire tasklist. Defaults " "to True." msgstr "" -#: src/modules/tasklist/cog.py:451 +#: src/modules/tasklist/cog.py:494 msgctxt "cmd:tasks_upload|error:not_text" msgid "The attached tasklist must be a text file!" msgstr "" -#: src/modules/tasklist/cog.py:459 +#: src/modules/tasklist/cog.py:502 msgctxt "cmd:tasks_upload|error:too_large" msgid "The attached tasklist was too large!" msgstr "" -#: src/modules/tasklist/cog.py:470 +#: src/modules/tasklist/cog.py:513 msgctxt "cmd:tasks_upload|error:too_many_lines" msgid "" "Too many tasks! Refusing to process a tasklist with more than `1000` lines." msgstr "" -#: src/modules/tasklist/cog.py:476 +#: src/modules/tasklist/cog.py:519 msgctxt "cmd:tasks_upload|error:decoding" msgid "" "Could not decode attached tasklist. Please make sure it is saved with the " "`UTF-8` encoding." msgstr "" -#: src/modules/tasklist/cog.py:523 +#: src/modules/tasklist/cog.py:566 #, possible-python-brace-format msgctxt "cmd:tasks_upload|resp:success" msgid "{tick} Updated your tasklist." msgstr "" -#: src/modules/tasklist/cog.py:535 +#: src/modules/tasklist/cog.py:578 msgctxt "cmd:tasks_edit" msgid "edit" msgstr "" -#: src/modules/tasklist/cog.py:538 +#: src/modules/tasklist/cog.py:581 msgctxt "cmd:tasks_edit|desc" msgid "Edit a task in your tasklist." msgstr "" -#: src/modules/tasklist/cog.py:542 +#: src/modules/tasklist/cog.py:585 msgctxt "cmd:tasks_edit|param:taskstr" msgid "task" msgstr "" -#: src/modules/tasklist/cog.py:543 +#: src/modules/tasklist/cog.py:586 msgctxt "cmd:tasks_edit|param:new_content" msgid "new_task" msgstr "" -#: src/modules/tasklist/cog.py:544 +#: src/modules/tasklist/cog.py:587 msgctxt "cmd:tasks_edit|param:new_parent" msgid "new_parent" msgstr "" -#: src/modules/tasklist/cog.py:547 +#: src/modules/tasklist/cog.py:590 msgctxt "cmd:tasks_edit|param:taskstr|desc" msgid "Which task do you want to update?" msgstr "" -#: src/modules/tasklist/cog.py:548 +#: src/modules/tasklist/cog.py:591 msgctxt "cmd:tasks_edit|param:new_content|desc" msgid "What do you want to change the task to?" msgstr "" -#: src/modules/tasklist/cog.py:549 +#: src/modules/tasklist/cog.py:592 msgctxt "cmd:tasks_edit|param:new_parent|desc" msgid "Which task do you want to be the new parent?" msgstr "" -#: src/modules/tasklist/cog.py:568 +#: src/modules/tasklist/cog.py:611 #, possible-python-brace-format msgctxt "cmd:tasks_edit|error:parse_taskstr" msgid "Could not find target task number `{input}` in your tasklist." msgstr "" -#: src/modules/tasklist/cog.py:584 +#: src/modules/tasklist/cog.py:627 #, possible-python-brace-format msgctxt "cmd:tasks_edit|error:parse_parent" msgid "Could not find new parent task number `{input}` in your tasklist." msgstr "" -#: src/modules/tasklist/cog.py:603 +#: src/modules/tasklist/cog.py:646 #, possible-python-brace-format msgctxt "cmd:tasks_edit|resp:success|desc" msgid "{tick} Task `{label}` updated." msgstr "" -#: src/modules/tasklist/cog.py:625 +#: src/modules/tasklist/cog.py:668 msgctxt "ui:tasklist_single_editor|title" msgid "Edit Task" msgstr "" -#: src/modules/tasklist/cog.py:640 +#: src/modules/tasklist/cog.py:683 msgctxt "cmd:tasks_clear" msgid "clear" msgstr "" -#: src/modules/tasklist/cog.py:641 +#: src/modules/tasklist/cog.py:684 msgctxt "cmd:tasks_clear|desc" msgid "Clear your tasklist." msgstr "" -#: src/modules/tasklist/cog.py:651 +#: src/modules/tasklist/cog.py:694 msgctxt "cmd:tasks_clear|resp:success" msgid "Your tasklist has been cleared." msgstr "" -#: src/modules/tasklist/cog.py:659 +#: src/modules/tasklist/cog.py:702 msgctxt "cmd:tasks_remove" msgid "remove" msgstr "" -#: src/modules/tasklist/cog.py:662 +#: src/modules/tasklist/cog.py:705 msgctxt "cmd:tasks_remove|desc" msgid "" "Remove tasks matching all the provided conditions. (E.g. remove tasks " "completed before today)." msgstr "" -#: src/modules/tasklist/cog.py:666 +#: src/modules/tasklist/cog.py:709 msgctxt "cmd:tasks_remove|param:taskidstr" msgid "tasks" msgstr "" -#: src/modules/tasklist/cog.py:667 +#: src/modules/tasklist/cog.py:710 msgctxt "cmd:tasks_remove|param:created_before" msgid "created_before" msgstr "" -#: src/modules/tasklist/cog.py:668 +#: src/modules/tasklist/cog.py:711 msgctxt "cmd:tasks_remove|param:updated_before" msgid "updated_before" msgstr "" -#: src/modules/tasklist/cog.py:669 +#: src/modules/tasklist/cog.py:712 msgctxt "cmd:tasks_remove|param:completed" msgid "completed" msgstr "" -#: src/modules/tasklist/cog.py:670 +#: src/modules/tasklist/cog.py:713 msgctxt "cmd:tasks_remove|param:cascade" msgid "cascade" msgstr "" -#: src/modules/tasklist/cog.py:675 +#: src/modules/tasklist/cog.py:718 msgctxt "cmd:tasks_remove|param:taskidstr|desc" -msgid "List of task numbers or ranges to remove (e.g. 1, 2, 5-7, 8.1-3, 9-)." +msgid "" +"List of task numbers or ranges to remove (e.g. 1, 2, 5-7, 8.1-3, 9-), or `-` " +"to remove all." msgstr "" -#: src/modules/tasklist/cog.py:679 +#: src/modules/tasklist/cog.py:722 msgctxt "cmd:tasks_remove|param:created_before|desc" msgid "Only delete tasks created before the selected time." msgstr "" -#: src/modules/tasklist/cog.py:683 +#: src/modules/tasklist/cog.py:726 msgctxt "cmd:tasks_remove|param:updated_before|desc" msgid "" "Only deleted tasks update (i.e. completed or edited) before the selected " "time." msgstr "" -#: src/modules/tasklist/cog.py:687 +#: src/modules/tasklist/cog.py:730 msgctxt "cmd:tasks_remove|param:completed" msgid "Only delete tasks which are (not) complete." msgstr "" -#: src/modules/tasklist/cog.py:691 +#: src/modules/tasklist/cog.py:734 msgctxt "cmd:tasks_remove|param:cascade" msgid "Whether to recursively remove subtasks of removed tasks." msgstr "" -#: src/modules/tasklist/cog.py:760 +#: src/modules/tasklist/cog.py:766 src/modules/tasklist/cog.py:861 +#: src/modules/tasklist/cog.py:936 +#, possible-python-brace-format +msgctxt "cmd:tasks_remove_cmd|error:no_matching" +msgid "No tasks on your tasklist match `{input}`" +msgstr "" + +#: src/modules/tasklist/cog.py:790 +msgctxt "cmd:tasks_remove_cmd|error:no_matching" +msgid "No tasks on your tasklist matching all the given conditions!" +msgstr "" + +#: src/modules/tasklist/cog.py:803 #, possible-python-brace-format msgctxt "cmd:tasks_remove|resp:success" msgid "{tick} Deleted task `{label}`" @@ -345,37 +377,39 @@ msgid_plural "{tick} Deleted `{count}` tasks from your tasklist." msgstr[0] "" msgstr[1] "" -#: src/modules/tasklist/cog.py:778 +#: src/modules/tasklist/cog.py:821 msgctxt "cmd:tasks_tick" msgid "tick" msgstr "" -#: src/modules/tasklist/cog.py:779 +#: src/modules/tasklist/cog.py:822 msgctxt "cmd:tasks_tick|desc" msgid "Mark the given tasks as completed." msgstr "" -#: src/modules/tasklist/cog.py:782 +#: src/modules/tasklist/cog.py:825 msgctxt "cmd:tasks_tick|param:taskidstr" msgid "tasks" msgstr "" -#: src/modules/tasklist/cog.py:783 +#: src/modules/tasklist/cog.py:826 msgctxt "cmd:tasks_tick|param:cascade" msgid "cascade" msgstr "" -#: src/modules/tasklist/cog.py:788 +#: src/modules/tasklist/cog.py:831 msgctxt "cmd:tasks_tick|param:taskidstr|desc" -msgid "List of task numbers or ranges to remove (e.g. 1, 2, 5-7, 8.1-3, 9-)." +msgid "" +"List of task numbers or ranges to tick (e.g. 1, 2, 5-7, 8.1-3, 9-) or '-' to " +"tick all." msgstr "" -#: src/modules/tasklist/cog.py:792 +#: src/modules/tasklist/cog.py:835 msgctxt "cmd:tasks_tick|param:cascade|desc" msgid "Whether to also mark all subtasks as complete." msgstr "" -#: src/modules/tasklist/cog.py:836 +#: src/modules/tasklist/cog.py:879 #, possible-python-brace-format msgctxt "cmd:tasks_tick|resp:success" msgid "{tick} Marked `{label}` as complete." @@ -383,37 +417,39 @@ msgid_plural "{tick} Marked `{count}` tasks as complete." msgstr[0] "" msgstr[1] "" -#: src/modules/tasklist/cog.py:854 +#: src/modules/tasklist/cog.py:897 msgctxt "cmd:tasks_untick" msgid "untick" msgstr "" -#: src/modules/tasklist/cog.py:855 +#: src/modules/tasklist/cog.py:898 msgctxt "cmd:tasks_untick|desc" msgid "Mark the given tasks as incomplete." msgstr "" -#: src/modules/tasklist/cog.py:858 +#: src/modules/tasklist/cog.py:901 msgctxt "cmd:tasks_untick|param:taskidstr" msgid "taskids" msgstr "" -#: src/modules/tasklist/cog.py:859 +#: src/modules/tasklist/cog.py:902 msgctxt "cmd:tasks_untick|param:cascade" msgid "cascade" msgstr "" -#: src/modules/tasklist/cog.py:864 +#: src/modules/tasklist/cog.py:907 msgctxt "cmd:tasks_untick|param:taskidstr|desc" -msgid "List of task numbers or ranges to remove (e.g. 1, 2, 5-7, 8.1-3, 9-)." +msgid "" +"List of task numbers or ranges to untick (e.g. 1, 2, 5-7, 8.1-3, 9-) or '-' " +"to untick all." msgstr "" -#: src/modules/tasklist/cog.py:868 +#: src/modules/tasklist/cog.py:911 msgctxt "cmd:tasks_untick|param:cascade|desc" msgid "Whether to also mark all subtasks as incomplete." msgstr "" -#: src/modules/tasklist/cog.py:909 +#: src/modules/tasklist/cog.py:952 #, possible-python-brace-format msgctxt "cmd:tasks_untick|resp:success" msgid "{tick} Marked `{label}` as incomplete." @@ -421,27 +457,27 @@ msgid_plural "{tick} Marked `{count}` tasks as incomplete." msgstr[0] "" msgstr[1] "" -#: src/modules/tasklist/cog.py:933 +#: src/modules/tasklist/cog.py:976 msgctxt "cmd:configure_tasklist" msgid "tasklist" msgstr "" -#: src/modules/tasklist/cog.py:934 +#: src/modules/tasklist/cog.py:977 msgctxt "cmd:configure_tasklist|desc" msgid "Tasklist configuration panel" msgstr "" -#: src/modules/tasklist/cog.py:937 +#: src/modules/tasklist/cog.py:980 msgctxt "cmd:configure_tasklist|param:reward" msgid "reward" msgstr "" -#: src/modules/tasklist/cog.py:938 +#: src/modules/tasklist/cog.py:981 msgctxt "cmd:configure_tasklist|param:reward_limit" msgid "reward_limit" msgstr "" -#: src/modules/tasklist/cog.py:974 +#: src/modules/tasklist/cog.py:1017 #, possible-python-brace-format msgctxt "cmd:configure_tasklist|resp:success|desc" msgid "" @@ -449,19 +485,19 @@ msgid "" "up to a maximum of `{limit}` tasks per 24h." msgstr "" -#: src/modules/tasklist/tasklist.py:264 +#: src/modules/tasklist/tasklist.py:267 #, possible-python-brace-format msgctxt "tasklist|parse:multi-range|error:parents_match" msgid "Parents don't match in range `{range}`" msgstr "" -#: src/modules/tasklist/tasklist.py:286 +#: src/modules/tasklist/tasklist.py:289 #, possible-python-brace-format msgctxt "tasklist|parse:multi-range|error:parse" msgid "Could not parse `{range}` as a task number or range." msgstr "" -#: src/modules/tasklist/tasklist.py:317 +#: src/modules/tasklist/tasklist.py:320 #, possible-python-brace-format msgctxt "modal:tasklist_bulk_editor|error:parse_task" msgid "" @@ -469,7 +505,7 @@ msgid "" "`{input}`" msgstr "" -#: src/modules/tasklist/tasklist.py:329 +#: src/modules/tasklist/tasklist.py:332 msgctxt "modal:tasklist_bulk_editor|error:task_too_long" msgid "Please keep your tasks under 100 characters!" msgstr "" @@ -545,13 +581,13 @@ msgctxt "ui:tasklist|menu:sub|mode:delete|placeholder" msgid "Delete from {label}.*" msgstr "" -#: src/modules/tasklist/ui.py:408 +#: src/modules/tasklist/ui.py:409 #, possible-python-brace-format msgctxt "ui:tasklist_single_editor|field:parent|error:parse_id" msgid "Could not find the given parent task number `{input}` in your tasklist." msgstr "" -#: src/modules/tasklist/ui.py:422 +#: src/modules/tasklist/ui.py:423 #, possible-python-brace-format msgctxt "ui:tasklist_single_editor|field:parent|error:multiple_matching" msgid "" @@ -559,77 +595,77 @@ msgid "" "number instead!" msgstr "" -#: src/modules/tasklist/ui.py:429 +#: src/modules/tasklist/ui.py:430 #, possible-python-brace-format msgctxt "ui:tasklist_single_editor|field:parent|error:no_matching" msgid "No tasks matching given parent task `{input}`." msgstr "" -#: src/modules/tasklist/ui.py:500 +#: src/modules/tasklist/ui.py:501 msgctxt "ui:tasklist|menu:edit|modal:title" msgid "Edit task" msgstr "" -#: src/modules/tasklist/ui.py:593 +#: src/modules/tasklist/ui.py:596 msgctxt "ui:tasklist_single_editor|title" msgid "Add task" msgstr "" -#: src/modules/tasklist/ui.py:626 +#: src/modules/tasklist/ui.py:629 msgctxt "ui:tasklist|button:edit_mode|label" msgid "Edit" msgstr "" -#: src/modules/tasklist/ui.py:642 +#: src/modules/tasklist/ui.py:645 msgctxt "ui:tasklist|button:delete_mode|label" msgid "Delete" msgstr "" -#: src/modules/tasklist/ui.py:658 +#: src/modules/tasklist/ui.py:661 msgctxt "ui:tasklist|button:toggle_mode|label" msgid "Toggle" msgstr "" -#: src/modules/tasklist/ui.py:675 +#: src/modules/tasklist/ui.py:678 msgctxt "ui:tasklist|button:edit_bulk|error:too_long" msgid "" "Your tasklist is too long to be edited in a Discord text input! Use the save " "button and {cmds[tasks upload]} instead." msgstr "" -#: src/modules/tasklist/ui.py:689 +#: src/modules/tasklist/ui.py:692 msgctxt "ui:tasklist|button:edit_bulk|label" msgid "Bulk Edit" msgstr "" -#: src/modules/tasklist/ui.py:702 +#: src/modules/tasklist/ui.py:705 msgctxt "ui:tasklist|button:clear|label" msgid "Clear Tasklist" msgstr "" -#: src/modules/tasklist/ui.py:721 +#: src/modules/tasklist/ui.py:724 #, possible-python-brace-format msgctxt "ui:tasklist|button:save|dm:contents" msgid "Your tasklist as of {now} is attached. Click here to jump back: {jump}" msgstr "" -#: src/modules/tasklist/ui.py:734 +#: src/modules/tasklist/ui.py:737 msgctxt "ui:tasklist|button:save|error:dms" msgid "Could not DM you! Do you have me blocked? Tasklist attached below." msgstr "" -#: src/modules/tasklist/ui.py:779 +#: src/modules/tasklist/ui.py:782 msgctxt "ui:tasklist|error:wrong_user" msgid "This is not your tasklist!" msgstr "" -#: src/modules/tasklist/ui.py:821 +#: src/modules/tasklist/ui.py:824 #, possible-python-brace-format msgctxt "ui:tasklist|embed|author" msgid "{name}'s tasklist ({completed}/{total} complete)" msgstr "" -#: src/modules/tasklist/ui.py:843 +#: src/modules/tasklist/ui.py:846 msgctxt "ui:tasklist|embed|description" msgid "" "**You have no tasks on your tasklist!**\n" diff --git a/locales/templates/test.pot b/locales/templates/test.pot index 9a93260c..330d6555 100644 --- a/locales/templates/test.pot +++ b/locales/templates/test.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,62 +17,66 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/modules/test/test.py:47 src/modules/test/test.py:54 +#: src/modules/test/test.py:59 src/modules/test/test.py:66 msgid "test" msgstr "" -#: src/modules/test/test.py:55 +#: src/modules/test/test.py:67 msgid "Test" msgstr "" -#: src/modules/test/test.py:62 +#: src/modules/test/test.py:74 msgid "editor" msgstr "" -#: src/modules/test/test.py:63 +#: src/modules/test/test.py:75 msgid "Test message editor" msgstr "" -#: src/modules/test/test.py:89 +#: src/modules/test/test.py:101 msgid "test_ephemeral" msgstr "" -#: src/modules/test/test.py:90 +#: src/modules/test/test.py:102 msgid "Test ephemeral delete and edit" msgstr "" -#: src/modules/test/test.py:102 +#: src/modules/test/test.py:114 msgid "colours" msgstr "" -#: src/modules/test/test.py:103 +#: src/modules/test/test.py:115 msgid "Test Ansi colours" msgstr "" -#: src/modules/test/test.py:123 +#: src/modules/test/test.py:135 msgid "fail" msgstr "" -#: src/modules/test/test.py:130 +#: src/modules/test/test.py:143 +msgid "failui" +msgstr "" + +#: src/modules/test/test.py:150 msgid "pager" msgstr "" -#: src/modules/test/test.py:158 +#: src/modules/test/test.py:178 msgid "pager2" msgstr "" -#: src/modules/test/test.py:189 +#: src/modules/test/test.py:209 msgid "prettyusers" msgstr "" -#: src/modules/test/test.py:239 +#: src/modules/test/test.py:259 msgid "dmview" msgstr "" -#: src/modules/test/test.py:250 +#: src/modules/test/test.py:270 msgid "multiview" msgstr "" -#: src/modules/test/test.py:267 +#: src/modules/test/test.py:287 msgid "stats-card" msgstr "" diff --git a/locales/templates/text-tracker.pot b/locales/templates/text-tracker.pot index eceb8502..734e1335 100644 --- a/locales/templates/text-tracker.pot +++ b/locales/templates/text-tracker.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,22 +17,22 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/tracking/text/cog.py:249 +#: src/tracking/text/cog.py:254 msgctxt "cmd:configure_message_exp" msgid "message_exp" msgstr "" -#: src/tracking/text/cog.py:252 +#: src/tracking/text/cog.py:257 msgctxt "cmd:configure_message_exp|desc" msgid "Configure Message Tracking & Experience" msgstr "" -#: src/tracking/text/cog.py:315 +#: src/tracking/text/cog.py:320 msgctxt "cmd:leo_configure_exp_rates" msgid "experience_rates" msgstr "" -#: src/tracking/text/cog.py:318 +#: src/tracking/text/cog.py:323 msgctxt "cmd:leo_configure_exp_rates|desc" msgid "Global experience rate configuration" msgstr "" diff --git a/locales/templates/timer-gui.pot b/locales/templates/timer-gui.pot index 4e9742e2..3a3c1ca8 100644 --- a/locales/templates/timer-gui.pot +++ b/locales/templates/timer-gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/user_config.pot b/locales/templates/user_config.pot index 45939276..e6bc395f 100644 --- a/locales/templates/user_config.pot +++ b/locales/templates/user_config.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/utils.pot b/locales/templates/utils.pot index 8349da9c..6bca2f4a 100644 --- a/locales/templates/utils.pot +++ b/locales/templates/utils.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -103,34 +103,34 @@ msgctxt "cmd:page_select|acmpl|error:no_pager" msgid "No active pagers in this channel!" msgstr "" -#: src/utils/transformers.py:43 +#: src/utils/transformers.py:45 #, possible-python-brace-format msgctxt "utils:parse_dur|error" msgid "Cannot parse `{value}` as a duration." msgstr "" -#: src/utils/transformers.py:68 +#: src/utils/transformers.py:71 #, possible-python-brace-format msgctxt "util:Duration|acmpl|error" msgid "Cannot extract duration from \"{partial}\"" msgstr "" -#: src/utils/lib.py:670 +#: src/utils/lib.py:678 msgctxt "util:parse_dur|regex:day" msgid "(?P\\d+)\\s*(?:(d)|(day))" msgstr "" -#: src/utils/lib.py:677 +#: src/utils/lib.py:685 msgctxt "util:parse_dur|regex:hour" msgid "(?P\\d+)\\s*(?:(h)|(hour))" msgstr "" -#: src/utils/lib.py:684 +#: src/utils/lib.py:692 msgctxt "util:parse_dur|regex:minute" msgid "(?P\\d+)\\s*(?:(m)|(min))" msgstr "" -#: src/utils/lib.py:691 +#: src/utils/lib.py:699 msgctxt "util:parse_dur|regex:second" msgid "(?P\\d+)\\s*(?:(s)|(sec))" msgstr "" diff --git a/locales/templates/video.pot b/locales/templates/video.pot index ad30d39b..7a90a3ce 100644 --- a/locales/templates/video.pot +++ b/locales/templates/video.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/voice-tracker.pot b/locales/templates/voice-tracker.pot index 578b9ee3..ace47871 100644 --- a/locales/templates/voice-tracker.pot +++ b/locales/templates/voice-tracker.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,129 +17,129 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: src/tracking/voice/cog.py:640 +#: src/tracking/voice/cog.py:649 msgctxt "cmd:now" msgid "now" msgstr "" -#: src/tracking/voice/cog.py:643 +#: src/tracking/voice/cog.py:652 msgctxt "cmd:now|desc" msgid "" "Describe what you are working on, or see what your friends are working on!" msgstr "" -#: src/tracking/voice/cog.py:647 +#: src/tracking/voice/cog.py:656 msgctxt "cmd:now|param:tag" msgid "tag" msgstr "" -#: src/tracking/voice/cog.py:648 +#: src/tracking/voice/cog.py:657 msgctxt "cmd:now|param:user" msgid "user" msgstr "" -#: src/tracking/voice/cog.py:649 +#: src/tracking/voice/cog.py:658 msgctxt "cmd:now|param:clear" msgid "clear" msgstr "" -#: src/tracking/voice/cog.py:654 +#: src/tracking/voice/cog.py:663 msgctxt "cmd:now|param:tag|desc" msgid "Describe what you are working on in 10 characters or less!" msgstr "" -#: src/tracking/voice/cog.py:658 +#: src/tracking/voice/cog.py:667 msgctxt "cmd:now|param:user|desc" msgid "Check what a friend is working on." msgstr "" -#: src/tracking/voice/cog.py:662 +#: src/tracking/voice/cog.py:671 msgctxt "cmd:now|param:clear|desc" msgid "Unset your activity tag (or the target user's tag, for moderators)." msgstr "" -#: src/tracking/voice/cog.py:689 +#: src/tracking/voice/cog.py:698 msgctxt "cmd:now|target:self|error:target_inactive" msgid "" "You have no running session! Join a tracked voice channel to start a session." msgstr "" -#: src/tracking/voice/cog.py:698 +#: src/tracking/voice/cog.py:707 #, possible-python-brace-format msgctxt "cmd:now|target:other|error:target_inactive" msgid "{mention} has no running session!" msgstr "" -#: src/tracking/voice/cog.py:713 +#: src/tracking/voice/cog.py:722 msgctxt "cmd:now|target:self|mode:clear|success|title" msgid "Session Tag Cleared" msgstr "" -#: src/tracking/voice/cog.py:717 +#: src/tracking/voice/cog.py:726 msgctxt "cmd:now|target:self|mode:clear|success|desc" msgid "Successfully unset your session tag." msgstr "" -#: src/tracking/voice/cog.py:726 +#: src/tracking/voice/cog.py:735 msgctxt "cmd:now|target:other|mode:clear|error:perms|title" msgid "You can't do that!" msgstr "" -#: src/tracking/voice/cog.py:730 +#: src/tracking/voice/cog.py:739 msgctxt "cmd:now|target:other|mode:clear|error:perms|desc" msgid "You need to be a moderator to set or clear someone else's session tag." msgstr "" -#: src/tracking/voice/cog.py:740 +#: src/tracking/voice/cog.py:749 msgctxt "cmd:now|target:other|mode:clear|success|title" msgid "Session Tag Cleared!" msgstr "" -#: src/tracking/voice/cog.py:744 +#: src/tracking/voice/cog.py:753 #, possible-python-brace-format msgctxt "cmd:now|target:other|mode:clear|success|desc" msgid "Cleared {target}'s session tag." msgstr "" -#: src/tracking/voice/cog.py:756 +#: src/tracking/voice/cog.py:765 msgctxt "cmd:now|target:self|mode:set|success|title" msgid "Session Tag Set!" msgstr "" -#: src/tracking/voice/cog.py:760 +#: src/tracking/voice/cog.py:769 #, possible-python-brace-format msgctxt "cmd:now|target:self|mode:set|success|desc" msgid "You are now working on `{new_tag}`. Good luck!" msgstr "" -#: src/tracking/voice/cog.py:769 +#: src/tracking/voice/cog.py:778 msgctxt "cmd:now|target:other|mode:set|error:perms|title" msgid "You can't do that!" msgstr "" -#: src/tracking/voice/cog.py:773 +#: src/tracking/voice/cog.py:782 msgctxt "cmd:now|target:other|mode:set|error:perms|desc" msgid "You need to be a moderator to set or clear someone else's session tag!" msgstr "" -#: src/tracking/voice/cog.py:783 +#: src/tracking/voice/cog.py:792 msgctxt "cmd:now|target:other|mode:set|success|title" msgid "Session Tag Set!" msgstr "" -#: src/tracking/voice/cog.py:787 +#: src/tracking/voice/cog.py:796 #, possible-python-brace-format msgctxt "cmd:now|target:other|mode:set|success|desc" msgid "Set {target}'s session tag to `{new_tag}`." msgstr "" -#: src/tracking/voice/cog.py:796 +#: src/tracking/voice/cog.py:805 #, possible-python-brace-format msgctxt "cmd:now|target:self|mode:show_with_tag|desc" msgid "You have been working on **`{tag}`** in {channel} since {time}!" msgstr "" -#: src/tracking/voice/cog.py:801 +#: src/tracking/voice/cog.py:810 #, possible-python-brace-format msgctxt "cmd:now|target:self|mode:show_without_tag|desc" msgid "" @@ -148,7 +148,7 @@ msgid "" "Use `/now ` to set what you are working on." msgstr "" -#: src/tracking/voice/cog.py:808 +#: src/tracking/voice/cog.py:817 #, possible-python-brace-format msgctxt "cmd:now|target:other|mode:show_with_tag|desc" msgid "" @@ -156,23 +156,23 @@ msgid "" "They have been working on **{tag}** since {time}." msgstr "" -#: src/tracking/voice/cog.py:814 +#: src/tracking/voice/cog.py:823 #, possible-python-brace-format msgctxt "cmd:now|target:other|mode:show_without_tag|desc" msgid "{target} has been working in {channel} since {time}!" msgstr "" -#: src/tracking/voice/cog.py:837 +#: src/tracking/voice/cog.py:846 msgctxt "cmd:configure_voice_rates" msgid "voice_rewards" msgstr "" -#: src/tracking/voice/cog.py:840 +#: src/tracking/voice/cog.py:849 msgctxt "cmd:configure_voice_rates|desc" msgid "Configure Voice tracking rewards and experience" msgstr "" -#: src/tracking/voice/cog.py:897 +#: src/tracking/voice/cog.py:906 #, possible-python-brace-format msgctxt "cmd:configure_voice_tracking|mode:voice|resp:success|desc" msgid "" @@ -181,7 +181,7 @@ msgid "" "day." msgstr "" -#: src/tracking/voice/cog.py:908 +#: src/tracking/voice/cog.py:917 #, possible-python-brace-format msgctxt "cmd:configure_voice_tracking|mode:study|resp:success|desc" msgid "" diff --git a/locales/templates/wards.pot b/locales/templates/wards.pot index 4cd71a6f..4a1694ab 100644 --- a/locales/templates/wards.pot +++ b/locales/templates/wards.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/weekly-gui.pot b/locales/templates/weekly-gui.pot index 3212c0eb..6558ba12 100644 --- a/locales/templates/weekly-gui.pot +++ b/locales/templates/weekly-gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n"