diff --git a/locales/ar/LC_MESSAGES/Pomodoro.po b/locales/ar/LC_MESSAGES/Pomodoro.po new file mode 100644 index 000000000000..8fb8ca5626f0 --- /dev/null +++ b/locales/ar/LC_MESSAGES/Pomodoro.po @@ -0,0 +1,879 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/pomodoro/timer.py:52 +msgctxt "timer|stage:break|name" +msgid "BREAK" +msgstr "استراحة" + +#: src/modules/pomodoro/timer.py:53 +msgctxt "timer|stage:focus|name" +msgid "FOCUS" +msgstr "تركيز" + +#: src/modules/pomodoro/timer.py:164 +#, possible-python-brace-format +msgctxt "timer|webhook|name" +msgid "{bot_name} Pomodoro" +msgstr "بومودورو {bot_name}" + +#: src/modules/pomodoro/timer.py:168 +msgctxt "timer|webhook|audit_reason" +msgid "Pomodoro Notifications" +msgstr "إشعارات بومودورو" + +#: src/modules/pomodoro/timer.py:179 +msgctxt "timer|webhook|error:insufficient_permissions" +msgid "" +"I require the `MANAGE_WEBHOOKS` permission to send pomodoro notifications " +"here!" +msgstr "احتاج إلى إذن `MANAGE_WEBHOOKS` لإرسال إشعارات بومودورو " + +#: src/modules/pomodoro/timer.py:238 +#, possible-python-brace-format +msgctxt "timer|default_base_name" +msgid "Timer {pattern}" +msgstr "ساعة توقيت {pattern}" + +#: src/modules/pomodoro/timer.py:413 +msgctxt "timer|disconnect|audit_reason" +msgid "Disconnecting inactive member from timer." +msgstr "" + +#: src/modules/pomodoro/timer.py:425 +#, possible-python-brace-format +msgctxt "timer|kicked_message" +msgid "" +"{mentions} was removed from {channel} because they were inactive! Remember " +"to press {tick} to register your presence every stage." +msgid_plural "" +"{mentions} were removed from {channel} because they were inactive! Remember " +"to press {tick} to register your presence every stage." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/pomodoro/timer.py:438 +#, possible-python-brace-format +msgctxt "timer|kick_failed" +msgid "" +"**Warning!** Timer {channel} is configured to disconnect on inactivity, but " +"I lack the 'Move Members' permission to do this!" +msgstr "" + +#: src/modules/pomodoro/timer.py:537 +#, possible-python-brace-format +msgctxt "timer|status|stage:focus|statusline" +msgid "{channel} is now in **FOCUS**! Good luck, **BREAK** starts {timestamp}" +msgstr "" + +#: src/modules/pomodoro/timer.py:542 +#, possible-python-brace-format +msgctxt "timer|status|stage:break|statusline" +msgid "" +"{channel} is now on **BREAK**! Take a rest, **FOCUS** starts {timestamp}" +msgstr "" + +#: src/modules/pomodoro/timer.py:574 +#, possible-python-brace-format +msgctxt "timer|status|warningline" +msgid "" +"**Warning:** {mentions}, please press {tick} to avoid being removed on the " +"next stage." +msgstr "" + +#: src/modules/pomodoro/timer.py:593 +#, possible-python-brace-format +msgctxt "timer|status|stopped:auto" +msgid "Timer stopped! Join {channel} to start the timer." +msgstr "" + +#: src/modules/pomodoro/timer.py:598 +msgctxt "timer|status|stopped:manual" +msgid "Timer stopped! Press `Start` to restart the timer." +msgstr "" + +#: src/modules/pomodoro/settingui.py:40 +msgctxt "ui:timer_config|menu:channels|placeholder" +msgid "Select Pomodoro Notification Channel" +msgstr "" + +#: src/modules/pomodoro/settingui.py:48 +msgctxt "ui:timer_config|embed|title" +msgid "Timer Configuration Panel" +msgstr "" + +#: src/modules/pomodoro/settingui.py:82 +msgctxt "dash:pomodoro|title" +msgid "Pomodoro Configuration ({commands[config pomodoro]})" +msgstr "" + +#: src/modules/pomodoro/settingui.py:86 +msgctxt "dash:stats|dropdown|placeholder" +msgid "Pomodoro Timer Panel" +msgstr "" + +#: src/modules/pomodoro/cog.py:116 +msgctxt "cmd_check:ready|failed" +msgid "" +"I am currently restarting! The Pomodoro timers will be unavailable until I " +"have restarted. Thank you for your patience!" +msgstr "" + +#: src/modules/pomodoro/cog.py:401 +msgctxt "cmd:timer" +msgid "timer" +msgstr "" + +#: src/modules/pomodoro/cog.py:402 +msgctxt "cmd:timer|desc" +msgid "Show your current (or selected) pomodoro timer." +msgstr "" + +#: src/modules/pomodoro/cog.py:405 +msgctxt "cmd:timer|param:channel" +msgid "timer_channel" +msgstr "" + +#: src/modules/pomodoro/cog.py:410 +msgctxt "cmd:timer|param:channel|desc" +msgid "Select a timer to display (by selecting the timer voice channel)" +msgstr "" + +#: src/modules/pomodoro/cog.py:432 src/modules/pomodoro/cog.py:503 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_timers|desc" +msgid "" +"**This server has no timers set up!**\n" +"Ask an admin to set up and configure a timer with {create_cmd} first, or rent a private room with {room_cmd} and create one yourself!" +msgstr "" + +#: src/modules/pomodoro/cog.py:446 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_channel|desc" +msgid "" +"**I don't know what timer to show you.**\n" +"No channel selected and you are not in a voice channel! Use {timers_cmd} to list the available timers in this server." +msgstr "" + +#: src/modules/pomodoro/cog.py:459 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_timer_in_channel" +msgid "" +"The channel {channel} is not a pomodoro timer room!\n" +"Use {timers_cmd} to list the available timers in this server." +msgstr "" + +#: src/modules/pomodoro/cog.py:476 +msgctxt "cmd:timers" +msgid "timers" +msgstr "" + +#: src/modules/pomodoro/cog.py:477 +msgctxt "cmd:timers|desc" +msgid "List the available pomodoro timer rooms." +msgstr "" + +#: src/modules/pomodoro/cog.py:516 +#, possible-python-brace-format +msgctxt "cmd:timer|error:no_visible_timers|desc" +msgid "" +"**There are no available pomodoro timers!**\n" +"Ask an admin to set up a new timer with {create_cmd}, or rent a private room with {room_cmd} and create one yourself!" +msgstr "" + +#: src/modules/pomodoro/cog.py:529 +#, possible-python-brace-format +msgctxt "cmd:timers|embed:timer_list|title" +msgid "Pomodoro Timer Rooms in **{guild}**" +msgstr "" + +#: src/modules/pomodoro/cog.py:538 +#, possible-python-brace-format +msgctxt "cmd:timers|status:stopped_auto" +msgid "" +"`{pattern}` timer is stopped with no members!\n" +"Join {channel} to restart it." +msgstr "" + +#: src/modules/pomodoro/cog.py:544 +#, possible-python-brace-format +msgctxt "cmd:timers|status:stopped_manual" +msgid "" +"`{pattern}` timer is stopped with `{members}` members!\n" +"Join {channel} and press `Start` to start it!" +msgstr "" + +#: src/modules/pomodoro/cog.py:551 +#, possible-python-brace-format +msgctxt "cmd:timers|status:running_focus" +msgid "" +"`{pattern}` timer is running with `{members}` members!\n" +"Currently **focusing**, with break starting {timestamp}" +msgstr "" + +#: src/modules/pomodoro/cog.py:557 +#, possible-python-brace-format +msgctxt "cmd:timers|status:running_break" +msgid "" +"`{pattern}` timer is running with `{members}` members!\n" +"Currently **resting**, with focus starting {timestamp}" +msgstr "" + +#: src/modules/pomodoro/cog.py:571 +msgctxt "cmd:pomodoro" +msgid "pomodoro" +msgstr "" + +#: src/modules/pomodoro/cog.py:572 +msgctxt "cmd:pomodoro|desc" +msgid "Create and configure pomodoro timer rooms." +msgstr "" + +#: src/modules/pomodoro/cog.py:579 +msgctxt "cmd:pomodoro_create" +msgid "create" +msgstr "" + +#: src/modules/pomodoro/cog.py:582 +msgctxt "cmd:pomodoro_create|desc" +msgid "Create a new Pomodoro timer. Requires manage channel permissions." +msgstr "" + +#: src/modules/pomodoro/cog.py:586 +msgctxt "cmd:pomodoro_create|param:channel" +msgid "timer_channel" +msgstr "" + +#: src/modules/pomodoro/cog.py:592 +msgctxt "cmd:pomodoro_create|param:channel|desc" +msgid "" +"Voice channel to create the timer in. (Defaults to your current channel, or " +"makes a new one.)" +msgstr "" + +#: src/modules/pomodoro/cog.py:637 +msgctxt "cmd:pomodoro_create|new_channel|error:your_insufficient_perms|title" +msgid "Could not create pomodoro voice channel!" +msgstr "" + +#: src/modules/pomodoro/cog.py:641 +msgctxt "cmd:pomodoro_create|new_channel|error:your_insufficient_perms" +msgid "" +"No `timer_channel` was provided, and you lack the 'Manage Channels` " +"permission required to create a new timer room!" +msgstr "" + +#: src/modules/pomodoro/cog.py:652 +msgctxt "cmd:pomodoro_create|new_channel|error:my_insufficient_perms|title" +msgid "Could not create pomodoro voice channel!" +msgstr "" + +#: src/modules/pomodoro/cog.py:656 +msgctxt "cmd:pomodoro_create|new_channel|error:my_insufficient_perms|desc" +msgid "" +"No `timer_channel` was provided, and I lack the 'Manage Channels' permission" +" required to create a new voice channel." +msgstr "" + +#: src/modules/pomodoro/cog.py:667 +msgctxt "cmd:pomodoro_create|new_channel|default_name" +msgid "Timer" +msgstr "" + +#: src/modules/pomodoro/cog.py:671 +msgctxt "cmd:pomodoro_create|new_channel|audit_reason" +msgid "Creating Pomodoro Voice Channel" +msgstr "" + +#: src/modules/pomodoro/cog.py:680 +msgctxt "cmd:pomodoro_create|new_channel|error:channel_create_failed|title" +msgid "Could not create pomodoro voice channel!" +msgstr "" + +#: src/modules/pomodoro/cog.py:684 +msgctxt "cmd:pomodoro_create|new_channel|error:channel_create_failed|desc" +msgid "" +"Failed to create a new pomodoro voice channel due to an unknown Discord " +"communication error. Please try creating the channel manually and pass it to" +" the `timer_channel` argument of this command." +msgstr "" + +#: src/modules/pomodoro/cog.py:701 +#, possible-python-brace-format +msgctxt "cmd:pomodoro_create|add_timer|error:timer_exists" +msgid "A timer already exists in {channel}! Reconfigure it with {edit_cmd}." +msgstr "" + +#: src/modules/pomodoro/cog.py:715 +#, possible-python-brace-format +msgctxt "cmd:pomodoro_create|add_timer|error:your_insufficient_perms" +msgid "" +"You must have the 'Manage Channel' permission in {channel} in order to add a" +" timer there!" +msgstr "" + +#: src/modules/pomodoro/cog.py:764 +msgctxt "cmd:pomodoro_create|response:success|content" +msgid "Timer created successfully! Use the panel below to reconfigure." +msgstr "" + +#: src/modules/pomodoro/cog.py:770 +msgctxt "cmd:pomodoro_destroy" +msgid "destroy" +msgstr "" + +#: src/modules/pomodoro/cog.py:773 +msgctxt "cmd:pomodoro_destroy|desc" +msgid "Remove a pomodoro timer from a voice channel." +msgstr "" + +#: src/modules/pomodoro/cog.py:777 +msgctxt "cmd:pomodoro_destroy|param:channel" +msgid "timer_channel" +msgstr "" + +#: src/modules/pomodoro/cog.py:780 +msgctxt "cmd:pomodoro_destroy|param:channel" +msgid "Select a timer voice channel to remove the timer from." +msgstr "" + +#: src/modules/pomodoro/cog.py:798 +msgctxt "cmd:pomodoro_destroy|error:no_timer" +msgid "This channel doesn't have an attached pomodoro timer!" +msgstr "" + +#: src/modules/pomodoro/cog.py:811 +msgctxt "cmd:pomodoro_destroy|error:insufficient_perms|owned" +msgid "" +"You need to be an administrator or own this channel to remove this timer!" +msgstr "" + +#: src/modules/pomodoro/cog.py:820 +#, possible-python-brace-format +msgctxt "cmd:pomodoro_destroy|error:insufficient_perms|notowned" +msgid "" +"You need to have the `Manage Channels` permission in {channel} to remove " +"this timer!" +msgstr "" + +#: src/modules/pomodoro/cog.py:831 +#, possible-python-brace-format +msgctxt "cmd:pomdoro_destroy|response:success|description" +msgid "Timer successfully removed from {channel}." +msgstr "" + +#: src/modules/pomodoro/cog.py:837 +msgctxt "cmd:pomodoro_edit" +msgid "edit" +msgstr "" + +#: src/modules/pomodoro/cog.py:840 +msgctxt "cmd:pomodoro_edit|desc" +msgid "Reconfigure a pomodoro timer." +msgstr "" + +#: src/modules/pomodoro/cog.py:844 +msgctxt "cmd:pomodoro_edit|param:channel" +msgid "timer_channel" +msgstr "" + +#: src/modules/pomodoro/cog.py:850 +msgctxt "cmd:pomodoro_edit|param:channel|desc" +msgid "Select a timer voice channel to reconfigure." +msgstr "" + +#: src/modules/pomodoro/cog.py:891 +msgctxt "cmd:pomodoro_edit|error:no_timer" +msgid "This channel doesn't have an attached pomodoro timer to edit!" +msgstr "" + +#: src/modules/pomodoro/cog.py:904 +msgctxt "cmd:pomodoro_edit|error:insufficient_perms|role:other" +msgid "" +"Insufficient permissions to modifiy this timer!\n" +"You need to be a server administrator, own this channel, or have the timer manager role." +msgstr "" + +#: src/modules/pomodoro/cog.py:925 +msgctxt "cmd:pomodoro_edit|error:insufficient_permissions|role_needed:admin" +msgid "You need to be a guild admin to modify this option!" +msgstr "" + +#: src/modules/pomodoro/cog.py:930 +msgctxt "cmd:pomodoro_edit|error:insufficient_permissions|role_needed:owner" +msgid "You need to be a channel owner or guild admin to modify this option!" +msgstr "" + +#: src/modules/pomodoro/cog.py:935 +msgctxt "cmd:pomodoro_edit|error:insufficient_permissions|role_needed:manager" +msgid "" +"You need to be a guild admin or have the manager role to modify this option!" +msgstr "" + +#: src/modules/pomodoro/cog.py:971 +msgctxt "cmd:configure_pomodoro" +msgid "pomodoro" +msgstr "" + +#: src/modules/pomodoro/cog.py:972 +msgctxt "cmd:configure_pomodoro|desc" +msgid "Configure Pomodoro Timer System" +msgstr "" + +#: src/modules/pomodoro/lib.py:19 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:remaining" +msgid "{remaining}" +msgstr "" + +#: src/modules/pomodoro/lib.py:20 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:stage" +msgid "{stage}" +msgstr "" + +#: src/modules/pomodoro/lib.py:21 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:members" +msgid "{members}" +msgstr "" + +#: src/modules/pomodoro/lib.py:22 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:name" +msgid "{name}" +msgstr "" + +#: src/modules/pomodoro/lib.py:23 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:pattern" +msgid "{pattern}" +msgstr "" + +#: src/modules/pomodoro/options.py:33 +msgctxt "timerset:voice_channel" +msgid "channel" +msgstr "" + +#: src/modules/pomodoro/options.py:36 +msgctxt "timerset:voice_channel|desc" +msgid "Channel in which to track timer members and send alerts." +msgstr "" + +#: src/modules/pomodoro/options.py:48 +msgctxt "timerset:notification_channel" +msgid "notification_channel" +msgstr "" + +#: src/modules/pomodoro/options.py:51 +msgctxt "timerset:notification_channel|desc" +msgid "Channel to which to send timer status cards and notifications." +msgstr "" + +#: src/modules/pomodoro/options.py:73 +#, possible-python-brace-format +msgctxt "timerset:notification_channel|format:notset" +msgid "Not Set (Using {channel})" +msgstr "" + +#: src/modules/pomodoro/options.py:83 +msgctxt "timerset:inactivity_threshold|inactivity_threshold" +msgid "inactivity_threshold" +msgstr "" + +#: src/modules/pomodoro/options.py:86 +msgctxt "timerset:inactivity_threshold|desc" +msgid "" +"Number of inactive focus+break stages before a member is removed from the " +"timer." +msgstr "" + +#: src/modules/pomodoro/options.py:90 +msgctxt "timerset:inactivity_threshold|desc" +msgid "How many timer cycles before kicking inactive members." +msgstr "" + +#: src/modules/pomodoro/options.py:112 +msgctxt "timerset:inactivity_length|desc" +msgid "The inactivity threshold must be a positive whole number!" +msgstr "" + +#: src/modules/pomodoro/options.py:120 +msgctxt "timerset:manager_role" +msgid "manager_role" +msgstr "" + +#: src/modules/pomodoro/options.py:123 +msgctxt "timerset:manager_role|desc" +msgid "Role allowed to start, stop, and edit the focus/break lengths." +msgstr "" + +#: src/modules/pomodoro/options.py:137 +msgctxt "timerset:manager_role|format:notset" +msgid "Not Set (Only Admins may start/stop or edit pattern)" +msgstr "" + +#: src/modules/pomodoro/options.py:147 +msgctxt "timerset:voice_alerts" +msgid "voice_alerts" +msgstr "" + +#: src/modules/pomodoro/options.py:150 +msgctxt "timerset:voice_alerts|desc" +msgid "Whether to join the voice channel and announce focus and break stages." +msgstr "" + +#: src/modules/pomodoro/options.py:162 +msgctxt "timerset:base_name" +msgid "name" +msgstr "" + +#: src/modules/pomodoro/options.py:165 +msgctxt "timerset:base_name|desc" +msgid "Timer name, as shown on the timer card." +msgstr "" + +#: src/modules/pomodoro/options.py:169 +msgctxt "timerset:base_name|accepts" +msgid "Any short name, shown on the timer card." +msgstr "" + +#: src/modules/pomodoro/options.py:184 +msgctxt "timerset:channel_name_format" +msgid "channel_name" +msgstr "" + +#: src/modules/pomodoro/options.py:187 +#, possible-python-brace-format +msgctxt "timerset:channel_name_format|desc" +msgid "" +"Auto-updating voice channel name, accepting {remaining}, {name}, {pattern}, " +"and {stage} keys." +msgstr "" + +#: src/modules/pomodoro/options.py:191 +#, possible-python-brace-format +msgctxt "timerset:channel_name|accepts" +msgid "" +"Timer channel name, with keys {remaining}, {name}, {pattern}, and {stage}." +msgstr "" + +#: src/modules/pomodoro/options.py:221 +msgctxt "timerset:channel_name_format|error:too_long" +msgid "" +"The provided name is too long! Channel names can be at most `100` " +"characters." +msgstr "" + +#: src/modules/pomodoro/options.py:240 +msgctxt "timerset:focus_length" +msgid "focus_length" +msgstr "" + +#: src/modules/pomodoro/options.py:243 +msgctxt "timerset:focus_length|desc" +msgid "Length of the focus stage of the timer in minutes." +msgstr "" + +#: src/modules/pomodoro/options.py:248 +msgctxt "timerset:focus_length|accepts" +msgid "A positive integer number of minutes." +msgstr "" + +#: src/modules/pomodoro/options.py:273 +msgctxt "timerset:focus_length|desc" +msgid "Please enter a positive number of minutes." +msgstr "من فضلك ادخل عدد الدقائق بالموجب" + +#: src/modules/pomodoro/options.py:281 +msgctxt "timerset:break_length" +msgid "break_length" +msgstr "مدة_الاستراحة" + +#: src/modules/pomodoro/options.py:284 +msgctxt "timerset:break_length|desc" +msgid "Length of the break stage of the timer in minutes." +msgstr "" + +#: src/modules/pomodoro/options.py:289 +msgctxt "timerset:break_length|accepts" +msgid "A positive integer number of minutes." +msgstr "" + +#: src/modules/pomodoro/options.py:314 +msgctxt "timerset:break_length|desc" +msgid "Please enter a positive number of minutes." +msgstr "من فضلك ادخل عدد الدقائق بالموجب" + +#: src/modules/pomodoro/settings.py:21 +msgctxt "guildset:pomodoro_channel" +msgid "pomodoro_channel" +msgstr "" + +#: src/modules/pomodoro/settings.py:24 +msgctxt "guildset:pomodoro_channel|desc" +msgid "Default central notification channel for pomodoro timers." +msgstr "" + +#: src/modules/pomodoro/settings.py:28 +msgctxt "guildset:pomodoro_channel|long_desc" +msgid "" +"Pomodoro timers which do not have a custom notification channel set will " +"send timer notifications in this channel. If this setting is not set, " +"pomodoro notifications will default to the timer voice channel itself." +msgstr "" + +#: src/modules/pomodoro/settings.py:35 +msgctxt "guildset:pomodoro_channel|formatted|notset" +msgid "Not Set (Will use timer voice channel.)" +msgstr "" + +#: src/modules/pomodoro/settings.py:39 +msgctxt "guildset:pomodoro_channel|accepts" +msgid "Timer notification channel name or id." +msgstr "" + +#: src/modules/pomodoro/settings.py:53 +#, possible-python-brace-format +msgctxt "guildset:pomodoro_channel|set_response|set" +msgid "Pomodoro timer notifications will now default to {channel}" +msgstr "" + +#: src/modules/pomodoro/settings.py:58 +msgctxt "guildset:pomodoro_channel|set_response|unset" +msgid "Pomodoro timer notifications will now default to their voice channel." +msgstr "" + +#: src/modules/pomodoro/settings.py:68 +#, possible-python-brace-format +msgctxt "guildset:pomdoro_channel|set_using" +msgid "{cmd} or channel selector below." +msgstr "" + +#: src/modules/pomodoro/ui/edit.py:63 +msgctxt "modal:timer_editor|title" +msgid "Timer Option Editor" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:61 +msgctxt "ui:timer_status|button:present|ack" +msgid "" +"Thank you for marking your presence.\n" +"Good luck and stay productive!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:72 +#, possible-python-brace-format +msgctxt "ui:timer_status|button:present|error:not_in_timer" +msgid "" +"You are not in this timer! Join the timer channel by pressing {channel}." +msgstr "" + +#: src/modules/pomodoro/ui/status.py:82 +msgctxt "ui:timer_status|button:present|label" +msgid "Present" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:106 +msgctxt "ui:timer_status|button:edit|error:no_permissions" +msgid "" +"Configuring this timer requires `MANAGE_CHANNEL` permissions on the timer " +"channel, or the configured manager role!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:119 +msgctxt "ui:timer_status|button:edit|label" +msgid "Options" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:138 +msgctxt "ui:timer_status|button:start|error:already_running" +msgid "Cannot start a timer that is already running!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:154 +msgctxt "ui:timer_status|button:start|error:not_manager|title" +msgid "Insufficient permissions!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:158 +msgctxt "ui:timer_status|button:start|error:not_manager|desc" +msgid "" +"Starting this timer requires `MANAGE_CHANNEL` permissions on the timer " +"channel, or the configured `manager_role`!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:168 +msgctxt "ui:timer_status|button:start|label" +msgid "Start" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:190 +msgctxt "ui:timer_status|button:stop|error:not_manager|title" +msgid "Insufficient permissions!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:194 +msgctxt "ui:timer_status|button:stop|error:not_manager|desc" +msgid "" +"Stopping this timer requires `MANAGE_CHANNEL` permissions on the timer " +"channel, or the configured `manager_role`!" +msgstr "" + +#: src/modules/pomodoro/ui/status.py:204 +msgctxt "ui:timer_status|button:stop|label" +msgid "Stop" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:45 +msgctxt "ui:timer_options|error:timer_destroyed" +msgid "This timer no longer exists! Closing option menu." +msgstr "" + +#: src/modules/pomodoro/ui/config.py:68 +msgctxt "ui:timer_options|button:edit|label" +msgid "Edit" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:84 +msgctxt "ui:timer_options|button:voice_alerts|label" +msgid "Voice Alerts" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:105 +msgctxt "ui:timer_options|button:delete|success|title" +msgid "Timer Deleted" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:109 +#, possible-python-brace-format +msgctxt "ui:timer_options|button:delete|success|description" +msgid "The timer in {channel} has been removed." +msgstr "" + +#: src/modules/pomodoro/ui/config.py:117 +msgctxt "ui:timer_options|button:delete|label" +msgid "Delete" +msgstr "احذف" + +#: src/modules/pomodoro/ui/config.py:136 +msgctxt "ui:timer_options|menu:voice_channel|placeholder" +msgid "Set Voice Channel" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:157 +msgctxt "ui:timer_options|menu:notification_channel|placeholder" +msgid "Set Notification Channel" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:172 +msgctxt "ui:timer_options|menu:manager_role|placeholder" +msgid "Set Manager Role" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:181 +#, possible-python-brace-format +msgctxt "ui:timer_options|embed|title" +msgid "Timer Control Panel for {channel}" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:188 +msgctxt "ui:timer_options|embed|footer" +msgid "Hover over the option names to view descriptions." +msgstr "" + +#: src/modules/pomodoro/ui/config.py:200 +msgctxt "ui:timer_options|embed|field:pattern|name" +msgid "Pattern" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:203 +#, possible-python-brace-format +msgctxt "ui:timer_options|embed|field:pattern|value" +msgid "" +"**`{focus_len} minutes`** focus\n" +"**`{break_len} minutes`** break" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:214 +msgctxt "ui:timer_options|embed|field:channel_name|name" +msgid "Channel Name Preview" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:218 +#, possible-python-brace-format +msgctxt "ui:timer_options|embed|field:channel_name|value" +msgid "" +"**`{name}`**\n" +"(The actual channel name may not match due to ratelimits.)" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:228 +msgctxt "ui:timer_options|embed|field:issues|name" +msgid "Issues" +msgstr "" +"مشكلات\n" +"AT: أخطاء" + +#: src/modules/pomodoro/ui/config.py:246 +msgctxt "ui:timer_options|issue:no_voice_channel" +msgid "The configured voice channel does not exist! Please update it below." +msgstr "" + +#: src/modules/pomodoro/ui/config.py:257 +#, possible-python-brace-format +msgctxt "ui:timer_options|issue:cannot_speak" +msgid "" +"Voice alerts are on, but I don't have speaking permissions in {channel}" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:264 +#, possible-python-brace-format +msgctxt "ui:timer_options|issue:cannot_change_name" +msgid "" +"I cannot update the name of {channel}! (Needs `MANAGE_CHANNELS` permission)" +msgstr "لا استطيع تحديث اسم {channel} (احتاج إلى إذن `MANAGE_CHANNELS`)" + +#: src/modules/pomodoro/ui/config.py:275 +msgctxt "ui:timer_options|issue:notif_channel_dne" +msgid "Configured notification channel does not exist!" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:284 +#, possible-python-brace-format +msgctxt "ui:timer_options|issue:notif_channel_write" +msgid "" +"I cannot attach files (`ATTACH_FILES`) or send embeds (`EMBED_LINKS`) in " +"{channel}" +msgstr "" + +#: src/modules/pomodoro/ui/config.py:292 +#, possible-python-brace-format +msgctxt "ui:timer_options|issues:cannot_make_webhooks" +msgid "" +"I cannot create the notification webhook (`MANAGE_WEBHOOKS`) in {channel}" +msgstr "" diff --git a/locales/ar/LC_MESSAGES/babel.po b/locales/ar/LC_MESSAGES/babel.po new file mode 100644 index 000000000000..fb676ff39a34 --- /dev/null +++ b/locales/ar/LC_MESSAGES/babel.po @@ -0,0 +1,409 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# Nour Ibram, 2023 +# Farah Emad, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Farah Emad, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/babel/settingui.py:41 +msgctxt "ui:locale_config|button:force|label" +msgid "Toggle Force" +msgstr "" + +#: src/babel/settingui.py:50 +msgctxt "ui:locale_config|embed|title" +msgid "Language Configuration Panel" +msgstr "لوحة إعدادت اللغة" + +#: src/babel/settingui.py:84 +msgctxt "dash:locale|title" +msgid "Server Language Configuration ({commands[config language]})" +msgstr "" + +#: src/babel/settingui.py:88 +msgctxt "dash:locale|dropdown|placeholder" +msgid "Server Language Panel" +msgstr "" + +#: src/babel/cog.py:99 +msgctxt "cmd:configure_language" +msgid "language" +msgstr "اللغة" + +#: src/babel/cog.py:101 +msgctxt "cmd:configure_language|desc" +msgid "Configure the default language I will use in this server." +msgstr "" +"اضبط اللغة الافتراضية التى سوف استخدمها فى هذا الخادم\n" +"ِAt: اختر اللغة الاساسية التى سأستخدمها فى هذا الخادم" + +#: src/babel/cog.py:145 +#, possible-python-brace-format +msgctxt "cmd:configure_language|error" +msgid "" +"You cannot enable `{force_setting}` without having a configured language!" +msgstr "" + +#: src/babel/cog.py:165 +msgctxt "cmd:configure_language|success" +msgid "Language settings updated!" +msgstr "تم تحديث إعدادت اللغة" + +#: src/babel/cog.py:181 +msgctxt "cmd:userconfig_language" +msgid "language" +msgstr "اللغة" + +#: src/babel/cog.py:184 +msgctxt "cmd:userconfig_language|desc" +msgid "Set your preferred interaction language." +msgstr "من فضلك قم بتعيين لغتك المفضلة" + +#: src/babel/cog.py:188 +msgctxt "cmd:userconfig_language|param:language" +msgid "language" +msgstr "اللغة" + +#: src/babel/cog.py:193 +msgctxt "cmd:userconfig_language|param:language|desc" +msgid "Which language do you want me to respond in?" +msgstr "" + +#: src/babel/cog.py:209 +msgctxt "cmd:userconfig_language|button:reset|label" +msgid "Reset" +msgstr "إعادة التشغيل" + +#: src/babel/cog.py:250 +#, possible-python-brace-format +msgctxt "acmpl:language|no_match" +msgid "No supported languages matching {partial}" +msgstr "لا يوجد لغة مدعومة تطابق حاليا {partial}" + +#: src/babel/utils.py:9 +msgctxt "utils|months" +msgid "" +"January,February,March,April,May,June,July,August,September,October,November,December" +msgstr "" + +#: src/babel/utils.py:14 +msgctxt "utils|short_months" +msgid "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec" +msgstr "" + +#: src/babel/settings.py:25 +msgctxt "settype:locale|accepts" +msgid "Enter a supported language (e.g. 'en-GB')." +msgstr "" + +#: src/babel/settings.py:36 +msgctxt "settype:locale|summary_table|field:supported|key" +msgid "Supported" +msgstr "" +"تم دعمه\n" +"مدعوم" + +#: src/babel/settings.py:46 +msgctxt "settype:locale|formatted:unset" +msgid "Unset" +msgstr "" + +#: src/babel/settings.py:62 +#, possible-python-brace-format +msgctxt "settype:locale|error" +msgid "Sorry, we do not support the language `{lang}` at this time!" +msgstr "" + +#: src/babel/settings.py:77 +msgctxt "userset:locale" +msgid "language" +msgstr "اللغة" + +#: src/babel/settings.py:78 +msgctxt "userset:locale|desc" +msgid "Your preferred language for interacting with me." +msgstr "" + +#: src/babel/settings.py:81 +msgctxt "userset:locale|long_desc" +msgid "" +"The language you would prefer me to respond to commands and interactions in." +" Servers may be configured to override this with their own language." +msgstr "" + +#: src/babel/settings.py:92 +msgctxt "userset:locale|response" +msgid "You have unset your language." +msgstr "" + +#: src/babel/settings.py:94 +#, possible-python-brace-format +msgctxt "userset:locale|response" +msgid "You have set your language to {lang}." +msgstr "" + +#: src/babel/settings.py:113 +msgctxt "guildset:force_locale" +msgid "force_language" +msgstr "" + +#: src/babel/settings.py:115 +msgctxt "guildset:force_locale|desc" +msgid "" +"Whether to force all members to use the configured guild language when " +"interacting with me." +msgstr "" + +#: src/babel/settings.py:118 +msgctxt "guildset:force_locale|long_desc" +msgid "" +"When enabled, commands in this guild will always use the configured guild " +"language, regardless of the member's personally configured language." +msgstr "" + +#: src/babel/settings.py:122 +msgctxt "guildset:force_locale|output" +msgid "Enabled (members will be forced to use the server language)" +msgstr "" + +#: src/babel/settings.py:123 +msgctxt "guildset:force_locale|output" +msgid "Disabled (members may set their own language)" +msgstr "" + +#: src/babel/settings.py:137 +msgctxt "guildset:force_locale|response" +msgid "I will always use the set language in this server." +msgstr "" + +#: src/babel/settings.py:142 +msgctxt "guildset:force_locale|response" +msgid "I will now allow the members to set their own language here." +msgstr "" + +#: src/babel/settings.py:160 +msgctxt "guildset:locale" +msgid "language" +msgstr "اللغة" + +#: src/babel/settings.py:161 +msgctxt "guildset:locale|desc" +msgid "Your preferred language for interacting with me." +msgstr "" + +#: src/babel/settings.py:164 +msgctxt "guildset:locale|long_desc" +msgid "" +"The default language to use for responses and interactions in this server. " +"Member's own configured language will override this for their commands " +"unless `force_language` is enabled." +msgstr "" + +#: src/babel/settings.py:176 +msgctxt "guildset:locale|response" +msgid "You have unset the guild language." +msgstr "" + +#: src/babel/settings.py:178 +#, possible-python-brace-format +msgctxt "guildset:locale|response" +msgid "You have set the guild language to {lang}." +msgstr "" + +#: src/babel/enums.py:43 +msgctxt "localenames|locale:id" +msgid "Indonesian" +msgstr "الاندونيسية" + +#: src/babel/enums.py:44 +msgctxt "localenames|locale:da" +msgid "Danish" +msgstr "الدانماركية" + +#: src/babel/enums.py:45 +msgctxt "localenames|locale:de" +msgid "German" +msgstr "المانيا" + +#: src/babel/enums.py:46 +msgctxt "localenames|locale:en-GB" +msgid "English, UK" +msgstr "" + +#: src/babel/enums.py:47 +msgctxt "localenames|locale:en-US" +msgid "English, US" +msgstr "" + +#: src/babel/enums.py:48 +msgctxt "localenames|locale:es-ES" +msgid "Spanish" +msgstr "الأسبانية" + +#: src/babel/enums.py:49 +msgctxt "localenames|locale:fr" +msgid "French" +msgstr "" +"الفرنسية\n" +"اللغة الفرنسية" + +#: src/babel/enums.py:50 +msgctxt "localenames|locale:hr" +msgid "Croatian" +msgstr "الكرواتية" + +#: src/babel/enums.py:51 +msgctxt "localenames|locale:it" +msgid "Italian" +msgstr "الإيطالية" + +#: src/babel/enums.py:52 +msgctxt "localenames|locale:lt" +msgid "Lithuanian" +msgstr "الليتوانية" + +#: src/babel/enums.py:53 +msgctxt "localenames|locale:hu" +msgid "Hungarian" +msgstr "المجرية" + +#: src/babel/enums.py:54 +msgctxt "localenames|locale:nl" +msgid "Dutch" +msgstr "" +"الهولندية\n" +"اللغة الهولندية" + +#: src/babel/enums.py:55 +msgctxt "localenames|locale:no" +msgid "Norwegian" +msgstr "النرويجية" + +#: src/babel/enums.py:56 +msgctxt "localenames|locale:pl" +msgid "Polish" +msgstr "" +"البولندية\n" +"اللغة البولندية" + +#: src/babel/enums.py:57 +msgctxt "localenames|locale:pt-BR" +msgid "Portuguese, Brazilian" +msgstr "" + +#: src/babel/enums.py:58 +msgctxt "localenames|locale:ro" +msgid "Romanian, Romania" +msgstr "" + +#: src/babel/enums.py:59 +msgctxt "localenames|locale:fi" +msgid "Finnish" +msgstr "الفنلندية" + +#: src/babel/enums.py:60 +msgctxt "localenames|locale:sv-SE" +msgid "Swedish" +msgstr "السويدية" + +#: src/babel/enums.py:61 +msgctxt "localenames|locale:vi" +msgid "Vietnamese" +msgstr "الفيتنامية" + +#: src/babel/enums.py:62 +msgctxt "localenames|locale:tr" +msgid "Turkish" +msgstr "اللغة التركية" + +#: src/babel/enums.py:63 +msgctxt "localenames|locale:cs" +msgid "Czech" +msgstr "التشيكية" + +#: src/babel/enums.py:64 +msgctxt "localenames|locale:el" +msgid "Greek" +msgstr "اليونانية" + +#: src/babel/enums.py:65 +msgctxt "localenames|locale:bg" +msgid "Bulgarian" +msgstr "اللغة البلغارية" + +#: src/babel/enums.py:66 +msgctxt "localenames|locale:ru" +msgid "Russian" +msgstr "" +"الروسية\n" +"اللغة الروسية" + +#: src/babel/enums.py:67 +msgctxt "localenames|locale:uk" +msgid "Ukrainian" +msgstr "" +"الأوكرانية\n" +"اللغة الأوكرانية" + +#: src/babel/enums.py:68 +msgctxt "localenames|locale:hi" +msgid "Hindi" +msgstr "الهندية" + +#: src/babel/enums.py:69 +msgctxt "localenames|locale:th" +msgid "Thai" +msgstr "التايلاندية" + +#: src/babel/enums.py:70 +msgctxt "localenames|locale:zh-CN" +msgid "Chinese, China" +msgstr "" + +#: src/babel/enums.py:71 +msgctxt "localenames|locale:ja" +msgid "Japanese" +msgstr "اللغة اليابانية" + +#: src/babel/enums.py:72 +msgctxt "localenames|locale:zh-TW" +msgid "Chinese, Taiwan" +msgstr "" + +#: src/babel/enums.py:73 +msgctxt "localenames|locale:ko" +msgid "Korean" +msgstr "الكورية" + +#: src/babel/enums.py:78 +msgctxt "localenames|locale:he" +msgid "Hebrew" +msgstr "اللغة العبرية" + +#: src/babel/enums.py:79 +msgctxt "localenames|locale:he-IL" +msgid "Hebrew" +msgstr "" + +#: src/babel/enums.py:80 +msgctxt "localenames|locale:test" +msgid "Test Language" +msgstr "اختبار اللغة" diff --git a/locales/ar/LC_MESSAGES/base.po b/locales/ar/LC_MESSAGES/base.po new file mode 100644 index 000000000000..54db78d2109f --- /dev/null +++ b/locales/ar/LC_MESSAGES/base.po @@ -0,0 +1,39 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-22 13:17+0200\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: bot/modules/sysadmin/exec_cog.py:70 +msgid "You cannot use this interface!" +msgstr "عفوا لايمكنك استخدام تلك الواجهة" + +#: bot/modules/sysadmin/exec_cog.py:252 bot/modules/sysadmin/exec_cog.py:254 +msgid "async" +msgstr "غير متزامن" + +#: bot/modules/sysadmin/exec_cog.py:253 bot/modules/sysadmin/exec_cog.py:255 +msgid "Execute arbitrary code with Exec" +msgstr "قم بتنفيذ أوامر برمجية عشوائية بإستخدام Exec" + +#: bot/modules/sysadmin/exec_cog.py:265 +msgid "eval" +msgstr "تقييم" diff --git a/locales/ar/LC_MESSAGES/config.po b/locales/ar/LC_MESSAGES/config.po new file mode 100644 index 000000000000..71c4b2c1354c --- /dev/null +++ b/locales/ar/LC_MESSAGES/config.po @@ -0,0 +1,149 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Interitio, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/config/settingui.py:56 +msgctxt "ui:general_config|menu:event_log|placeholder" +msgid "Select Event Log" +msgstr "" + +#: src/modules/config/settingui.py:64 +msgctxt "ui:general_config|embed:title" +msgid "General Configuration" +msgstr "" + +#: src/modules/config/settingui.py:99 +msgctxt "dash:general|title" +msgid "General Configuration ({commands[config general]})" +msgstr "" + +#: src/modules/config/settingui.py:103 +msgctxt "dash:general|option|name" +msgid "General Configuration Panel" +msgstr "" + +#: src/modules/config/cog.py:56 src/modules/config/general.py:52 +msgctxt "cmd:configure_general" +msgid "general" +msgstr "عام" + +#: src/modules/config/cog.py:57 src/modules/config/general.py:53 +msgctxt "cmd:configure_general|desc" +msgid "General configuration panel" +msgstr "لوحة التحكم العامة" + +#: src/modules/config/general.py:91 +msgctxt "cmd:configure_general|parse_failure:timezone" +msgid "Could not set the timezone!" +msgstr "لم يتم وضع منطقة زمنية" + +#: src/modules/config/general.py:112 +msgctxt "cmd:configure_general|success" +msgid "Settings Updated!" +msgstr "تم تحديث الاعدادات" + +#: src/modules/config/general.py:127 +msgctxt "cmd:configure_general|panel|title" +msgid "General Configuration Panel" +msgstr "لوحة الاعدادت العامة" + +#: src/modules/config/dashboard.py:99 +#, possible-python-brace-format +msgctxt "ui:dashboard|title" +msgid "Guild Dashboard (Page {page}/{total})" +msgstr "" + +#: src/modules/config/dashboard.py:110 +msgctxt "ui:dashboard|footer" +msgid "Hover over setting names for a brief description" +msgstr "" + +#: src/modules/config/dashboard.py:173 +msgctxt "ui:dashboard|menu:config|placeholder" +msgid "Open Configuration Panel" +msgstr "افتح لوحة الاعدادات" + +#: src/modules/config/settings.py:33 +msgctxt "guildset:timezone" +msgid "timezone" +msgstr "" + +#: src/modules/config/settings.py:36 +msgctxt "guildset:timezone|desc" +msgid "Guild timezone for statistics display." +msgstr "" + +#: src/modules/config/settings.py:40 +msgctxt "guildset:timezone|long_desc" +msgid "" +"Guild-wide timezone. Used to determine start of the day for the " +"leaderboards, and as the default statistics timezone for members who have " +"not set one." +msgstr "" + +#: src/modules/config/settings.py:54 +#, possible-python-brace-format +msgctxt "guildset:timezone|response" +msgid "The guild timezone has been set to `{timezone}`." +msgstr "" + +#: src/modules/config/settings.py:66 +msgctxt "guildset:eventlog" +msgid "event_log" +msgstr "" + +#: src/modules/config/settings.py:69 +msgctxt "guildset:eventlog|desc" +msgid "" +"My audit log channel where I send server actions and events (e.g. rankgs and" +" expiring roles)." +msgstr "" + +#: src/modules/config/settings.py:73 +msgctxt "guildset:eventlog|long_desc" +msgid "" +"If configured, I will log most significant actions taken or events which occur through my interface, into this channel. Logged events include, for example:\n" +"- Member voice activity\n" +"- Roles equipped and expiring from rolemenus\n" +"- Privated rooms rented and expiring\n" +"- Activity ranks earned\n" +"I must have the 'Manage Webhooks' permission in this channel." +msgstr "" + +#: src/modules/config/settings.py:95 +#, possible-python-brace-format +msgctxt "guildset:eventlog|check_value|error:perms|perm:manage_webhooks" +msgid "" +"Cannot set {channel} as an event log! I lack the 'Manage Webhooks' " +"permission there." +msgstr "" + +#: src/modules/config/settings.py:106 +#, possible-python-brace-format +msgctxt "guildset:eventlog|response|set" +msgid "Events will now be logged to {channel}" +msgstr "" + +#: src/modules/config/settings.py:111 +msgctxt "guildset:eventlog|response|unset" +msgid "Guild events will no longer be logged." +msgstr "" diff --git a/locales/ar/LC_MESSAGES/economy.po b/locales/ar/LC_MESSAGES/economy.po new file mode 100644 index 000000000000..1449fb303087 --- /dev/null +++ b/locales/ar/LC_MESSAGES/economy.po @@ -0,0 +1,623 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/economy/settingui.py:34 +msgctxt "ui:economy_config|embed|title" +msgid "Economy Configuration Panel" +msgstr "" +"لوحة إعدادت البنك \n" +"AT: لوحة إعدادت حساب الإدخار" + +#: src/modules/economy/settingui.py:67 +msgctxt "dash:economy|title" +msgid "Economy Configuration ({commands[config economy]})" +msgstr "" + +#: src/modules/economy/settingui.py:71 +msgctxt "dash:economy|dropdown|placeholder" +msgid "Economy Panel" +msgstr "" +"لوحة البنك\n" +"ِAT: لوحة حساب الإدخار" + +#. ----- Economy group commands ----- +#: src/modules/economy/cog.py:87 +msgctxt "cmd:economy" +msgid "economy" +msgstr "" +"بنك\n" +"ِAT: حساب إدخار" + +#: src/modules/economy/cog.py:93 +msgctxt "cmd:economy_balance" +msgid "balance" +msgstr "" +"رصيد الحساب\n" +"باقى الحساب" + +#: src/modules/economy/cog.py:96 +msgctxt "cmd:economy_balance|desc" +msgid "Display or modify LionCoin balance for members and roles." +msgstr "" + +#: src/modules/economy/cog.py:100 +msgctxt "cmd:economy_balance|param:target" +msgid "target" +msgstr "هدف" + +#: src/modules/economy/cog.py:101 +msgctxt "cmd:economy_balance|param:add" +msgid "add" +msgstr "إضافة" + +#: src/modules/economy/cog.py:102 +msgctxt "cmd:economy_balance|param:set" +msgid "set" +msgstr "" + +#: src/modules/economy/cog.py:107 +msgctxt "cmd:economy_balance|param:target|desc" +msgid "" +"Target user or role to view or update. Use @everyone to update the entire " +"guild." +msgstr "" + +#: src/modules/economy/cog.py:111 +msgctxt "cmd:economy_balance|param:add|desc" +msgid "" +"Number of LionCoins to add to the target member's balance. May be negative " +"to remove." +msgstr "" + +#: src/modules/economy/cog.py:115 +msgctxt "cmd:economy_balance|param:set|set" +msgid "New balance to set the target's balance to." +msgstr "" + +#: src/modules/economy/cog.py:153 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|error:no_target" +msgid "" +"There are no valid members in {role.mention}! It has a total of `0` LC." +msgstr "" + +#: src/modules/economy/cog.py:164 +msgctxt "cmd:economy_balance|error:target_is_bot" +msgid "Bots cannot have coin balances!" +msgstr "" + +#: src/modules/economy/cog.py:175 +msgctxt "cmd:economy_balance|error:args" +msgid "You cannot simultaneously `set` and `add` member balances!" +msgstr "" + +#: src/modules/economy/cog.py:224 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success|affected" +msgid "One user was affected." +msgid_plural "**{count}** users were affected." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/economy/cog.py:230 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm|affected" +msgid "One user will be affected." +msgid_plural "**{count}** users will be affected." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/economy/cog.py:237 +msgctxt "cmd:economy_balance|confirm|button:confirm" +msgid "Yes, adjust balances" +msgstr "" + +#: src/modules/economy/cog.py:241 +msgctxt "cmd:economy_balance|confirm|button:cancel" +msgid "No, cancel" +msgstr "" + +#: src/modules/economy/cog.py:248 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_set|desc" +msgid "" +"All members of **{guild_name}** have had their balance set to " +"{coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:257 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm_set|desc" +msgid "" +"Are you sure you want to set everyone's balance to {coin_emoji}**{amount}**?" +msgstr "" + +#: src/modules/economy/cog.py:265 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_set|desc" +msgid "" +"All members of {role_mention} have had their balance set to " +"{coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:274 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm_set|desc" +msgid "" +"Are you sure you want to set the balance of everyone with {role_mention} to " +"{coin_emoji}**{amount}**?" +msgstr "" + +#: src/modules/economy/cog.py:291 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_set|desc" +msgid "{user_mention} now has a balance of {coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:305 +msgctxt "eventlog|event:economy_set|title" +msgid "Moderator Set Economy Balance" +msgstr "" + +#: src/modules/economy/cog.py:309 +#, possible-python-brace-format +msgctxt "eventlog|event:economy_set|desc" +msgid "{moderator} set {target}'s balance to {amount}." +msgstr "" + +#: src/modules/economy/cog.py:321 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_add|desc" +msgid "" +"All members of **{guild_name}** have been given {coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:330 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm_add|desc" +msgid "Are you sure you want to add **{amount}** to everyone's balance?" +msgstr "" + +#: src/modules/economy/cog.py:338 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_add|desc" +msgid "" +"All members of {role_mention} have been given {coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:347 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|confirm_add|desc" +msgid "" +"Are you sure you want to add {coin_emoji}**{amount}** to everyone in " +"{role_mention}?" +msgstr "" + +#: src/modules/economy/cog.py:369 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:success_add|desc" +msgid "" +"{user_mention} was given {coin_emoji}**{amount}**, and now has a balance of " +"{coin_emoji}**{new_amount}**." +msgstr "" + +#: src/modules/economy/cog.py:380 +msgctxt "eventlog|event:economy_add|title" +msgid "Moderator Modified Economy Balance" +msgstr "" + +#: src/modules/economy/cog.py:384 +#, possible-python-brace-format +msgctxt "eventlog|event:economy_set|desc" +msgid "{moderator} added {amount} to {target}'s balance." +msgstr "" + +#: src/modules/economy/cog.py:394 +msgctxt "cmd:economy_balance|embed:success|title" +msgid "Account successfully updated." +msgid_plural "Accounts successfully updated." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/economy/cog.py:438 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|author" +msgid "Balance sheet for {name}" +msgstr "" + +#: src/modules/economy/cog.py:444 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|header" +msgid "This server has a total balance of {coin_emoji}**{total}**." +msgstr "" + +#: src/modules/economy/cog.py:452 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|header" +msgid "" +"{role_mention} has `{count}` members with non-zero balance, with a total " +"balance of {coin_emoji}**{total}**." +msgstr "" + +#: src/modules/economy/cog.py:464 +msgctxt "cmd:economy_balance|embed:role_lb|row_format" +msgid "`[{pos:>{numwidth}}]` | `{coins:>{coinwidth}} LC` | {mention}" +msgstr "" + +#: src/modules/economy/cog.py:492 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|footer" +msgid "Page {page}/{total}" +msgstr "صفحة {page}/{total}" + +#: src/modules/economy/cog.py:502 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|header" +msgid "This server has a total balance of {coin_emoji}**0**." +msgstr "" + +#: src/modules/economy/cog.py:509 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:role_lb|header" +msgid "The role {role_mention} has a total balance of {coin_emoji}**0**." +msgstr "" + +#: src/modules/economy/cog.py:529 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:single|desc" +msgid "{mention} currently owns {coin_emoji} {coins}." +msgstr "" + +#: src/modules/economy/cog.py:539 +#, possible-python-brace-format +msgctxt "cmd:economy_balance|embed:single|author" +msgid "Balance statement for {user}" +msgstr "" + +#: src/modules/economy/cog.py:548 +msgctxt "cmd:economy_reset" +msgid "reset" +msgstr "" + +#: src/modules/economy/cog.py:551 +msgctxt "cmd:economy_reset|desc" +msgid "" +"Reset the coin balance for a target user or role. (See also \"economy " +"balance\".)" +msgstr "" + +#: src/modules/economy/cog.py:555 +msgctxt "cmd:economy_reset|param:target" +msgid "target" +msgstr "" + +#: src/modules/economy/cog.py:560 +msgctxt "cmd:economy_reset|param:target|desc" +msgid "" +"Target user or role to view or update. Use @everyone to reset the entire " +"guild." +msgstr "" + +#: src/modules/economy/cog.py:587 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|confirm:reset_guild|desc" +msgid "" +"Are you sure you want to reset the coin balance for everyone in **{guild_name}**?\n" +"*This is not reversible!*" +msgstr "" + +#: src/modules/economy/cog.py:595 +msgctxt "cmd:economy_reset|confirm:reset_guild|button:confirm" +msgid "Yes, reset the economy" +msgstr "" + +#: src/modules/economy/cog.py:599 +msgctxt "cmd:economy_reset|confirm:reset_guild|button:cancel" +msgid "Cancel reset" +msgstr "إلغاء إعادة الضبط" + +#: src/modules/economy/cog.py:615 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|embed:success_guild|desc" +msgid "" +"Everyone in **{guild_name}** has had their balance reset to " +"{coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:632 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|error:no_target|desc" +msgid "The role {mention} has no members to reset!" +msgstr "" + +#: src/modules/economy/cog.py:642 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|confirm:reset_role|desc" +msgid "" +"Are you sure you want to reset the balance for everyone in {mention}?\n" +"**{count}** members will be affected." +msgstr "" + +#: src/modules/economy/cog.py:651 +msgctxt "cmd:economy_reset|confirm:reset_role|button:confirm" +msgid "Yes, complete economy reset" +msgstr "" + +#: src/modules/economy/cog.py:655 +msgctxt "cmd:economy_reset|confirm:reset_role|button:cancel" +msgid "Cancel" +msgstr "إلغاء" + +#: src/modules/economy/cog.py:672 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|embed:success_role|desc" +msgid "" +"Everyone in {role_mention} has had their coin balance reset to " +"{coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:694 +#, possible-python-brace-format +msgctxt "cmd:economy_reset|embed:success_user|desc" +msgid "{mention}'s balance has been reset to {coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:704 +msgctxt "cmd:send" +msgid "send" +msgstr "" + +#: src/modules/economy/cog.py:707 +msgctxt "cmd:send|desc" +msgid "Gift the target user a certain number of LionCoins." +msgstr "" + +#: src/modules/economy/cog.py:711 +msgctxt "cmd:send|param:target" +msgid "target" +msgstr "" + +#: src/modules/economy/cog.py:712 +msgctxt "cmd:send|param:amount" +msgid "amount" +msgstr "" +"الكمية\n" +"another translate : المبلغ الإجمالى" + +#: src/modules/economy/cog.py:713 +msgctxt "cmd:send|param:note" +msgid "note" +msgstr "" +"ملحوظة\n" +"َAT: يدون\n" +"AT: دفتر" + +#: src/modules/economy/cog.py:716 +msgctxt "cmd:send|param:target|desc" +msgid "User to send the gift to" +msgstr "" + +#: src/modules/economy/cog.py:717 +msgctxt "cmd:send|param:amount|desc" +msgid "Number of coins to send" +msgstr "" + +#: src/modules/economy/cog.py:718 +msgctxt "cmd:send|param:note|desc" +msgid "Optional note to add to the gift." +msgstr "" + +#: src/modules/economy/cog.py:742 +msgctxt "cmd:send|error:not_allowed" +msgid "Sorry, this server has disabled LionCoin transfers!" +msgstr "" + +#: src/modules/economy/cog.py:751 +msgctxt "cmd:send|error:sending-to-self" +msgid "" +"What is this, tax evasion?\n" +"(You can not send coins to yourself.)" +msgstr "" + +#: src/modules/economy/cog.py:761 +msgctxt "cmd:send|error:sending-to-leo" +msgid "" +"I appreciate it, but you need it more than I do!\n" +"(You cannot send coins to bots.)" +msgstr "" + +#: src/modules/economy/cog.py:771 +#, possible-python-brace-format +msgctxt "cmd:send|error:sending-to-bot" +msgid "" +"{target} appreciates the gesture, but said they don't have any use for {coin}.\n" +"(You cannot send coins to bots.)" +msgstr "" + +#: src/modules/economy/cog.py:799 +#, possible-python-brace-format +msgctxt "cmd:send|error:insufficient" +msgid "" +"You do not have enough lioncoins to do this!\n" +"`Current Balance:` {coin_emoji}{balance}" +msgstr "" + +#: src/modules/economy/cog.py:816 +msgctxt "eventlog|event:send|title" +msgid "Coins Transferred" +msgstr "" + +#: src/modules/economy/cog.py:820 +#, possible-python-brace-format +msgctxt "eventlog|event:send|desc" +msgid "{source} gifted {amount} to {target}" +msgstr "" + +#: src/modules/economy/cog.py:833 +#, possible-python-brace-format +msgctxt "cmd:send|embed:gift|title" +msgid "{user} sent you a gift!" +msgstr "{المستخدم} تم إرسال الهدية" + +#: src/modules/economy/cog.py:837 +#, possible-python-brace-format +msgctxt "cmd:send|embed:gift|desc" +msgid "{mention} sent you {coin_emoji}**{amount}**." +msgstr "" + +#: src/modules/economy/cog.py:862 +#, possible-python-brace-format +msgctxt "cmd:send|embed:ack|desc" +msgid "" +"**{coin_emoji}{amount}** has been deducted from your balance and sent to " +"{mention}!" +msgstr "" + +#: src/modules/economy/cog.py:872 +msgctxt "cmd:send|embed:ack|desc|error:unreachable" +msgid "" +"Unfortunately, I was not able to message the recipient. Perhaps they have me" +" blocked?" +msgstr "" + +#: src/modules/economy/cog.py:884 +msgctxt "cmd:configure_economy" +msgid "economy" +msgstr "" +"بنك\n" +"اقتصاد\n" +"حساب إدخار" + +#: src/modules/economy/cog.py:887 +msgctxt "cmd:configure_economy|desc" +msgid "Configure LionCoin Economy" +msgstr "" + +#: src/modules/economy/settings.py:38 +msgctxt "guildset:coins_per_xp" +msgid "coins_per_100xp" +msgstr "" + +#: src/modules/economy/settings.py:41 +msgctxt "guildset:coins_per_xp|desc" +msgid "How many LionCoins to reward members per 100 XP they earn." +msgstr "" + +#: src/modules/economy/settings.py:45 +msgctxt "guildset:coins_per_xp|long_desc" +msgid "" +"Members will be rewarded with this many LionCoins for every 100 XP they " +"earn." +msgstr "" + +#: src/modules/economy/settings.py:49 +msgctxt "guildset:coins_per_xp|long_desc" +msgid "The number of coins to reward per 100 XP." +msgstr "" + +#: src/modules/economy/settings.py:62 +#, possible-python-brace-format +msgctxt "guildset:coins_per_xp|set_response" +msgid "" +"For every **100** XP they earn, members will now be given " +"{coin}**{amount}**." +msgstr "" + +#: src/modules/economy/settings.py:74 +msgctxt "guildset:allow_transfers" +msgid "allow_transfers" +msgstr "" + +#: src/modules/economy/settings.py:77 +msgctxt "guildset:allow_transfers|desc" +msgid "Whether to allow members to transfer LionCoins to each other." +msgstr "" + +#: src/modules/economy/settings.py:81 +msgctxt "guildset:allow_transfers|long_desc" +msgid "" +"If disabled, members will not be able to transfer LionCoins to each other." +msgstr "" + +#: src/modules/economy/settings.py:89 +msgctxt "guildset:allow_transfers|outputs:true" +msgid "Enabled (Coin transfers allowed.)" +msgstr "" + +#: src/modules/economy/settings.py:90 +msgctxt "guildset:allow_transfers|outputs:false" +msgid "Disabled (Coin transfers not allowed.)" +msgstr "" + +#: src/modules/economy/settings.py:106 +#, possible-python-brace-format +msgctxt "guildset:allow_transfers|set_response|set:true" +msgid "Members will now be able to use {send_cmd} to transfer {coin}" +msgstr "" + +#: src/modules/economy/settings.py:111 +#, possible-python-brace-format +msgctxt "guildset:allow_transfers|set_response|set:false" +msgid "Members will not be able to use {send_cmd} to transfer {coin}" +msgstr "" + +#: src/modules/economy/settings.py:123 +msgctxt "guildset:starting_funds" +msgid "starting_funds" +msgstr "" + +#: src/modules/economy/settings.py:126 +msgctxt "guildset:starting_funds|desc" +msgid "How many LionCoins should a member start with." +msgstr "" + +#: src/modules/economy/settings.py:130 +msgctxt "guildset:starting_funds|long_desc" +msgid "" +"Members will be given this number of coins when they first interact with me," +" or first join the server." +msgstr "" + +#: src/modules/economy/settings.py:134 +msgctxt "guildset:starting_funds|accepts" +msgid "Number of coins to give to new members." +msgstr "" + +#: src/modules/economy/settings.py:146 +#, possible-python-brace-format +msgctxt "guildset:starting_funds|set_response" +msgid "New members will now start with {amount}" +msgstr "" diff --git a/locales/ar/LC_MESSAGES/goals-gui.po b/locales/ar/LC_MESSAGES/goals-gui.po new file mode 100644 index 000000000000..6c2095528d4e --- /dev/null +++ b/locales/ar/LC_MESSAGES/goals-gui.po @@ -0,0 +1,107 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-27 16:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Interitio, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/gui/cards/goals.py:95 +msgctxt "skin:goals|goal:tasks|name" +msgid "TASKS DONE" +msgstr "" + +#: src/gui/cards/goals.py:99 +msgctxt "skin:goals|goal:tasks|goal" +msgid "GOAL: " +msgstr "هدف:" + +#: src/gui/cards/goals.py:125 +msgctxt "skin:goals|goal:attendance|name" +msgid "" +"ATTENDANCE\n" +"RATE" +msgstr "" + +#: src/gui/cards/goals.py:139 +msgctxt "skin:goals|mode:study|goal:middle|above" +msgid "STUDIED" +msgstr "" +"دراسة\n" +"درس" + +#: src/gui/cards/goals.py:143 +msgctxt "skin:goals|mode:study|goal:middle|below" +msgid "HOURS" +msgstr "ساعات" + +#: src/gui/cards/goals.py:147 +msgctxt "skin:goals|mode:voice|goal:middle|above" +msgid "CHATTED" +msgstr "" + +#: src/gui/cards/goals.py:151 +msgctxt "skin:goals|mode:voice|goal:middle|below" +msgid "HOURS" +msgstr "ساعات" + +#: src/gui/cards/goals.py:155 +msgctxt "skin:goals|mode:text|goal:middle|above" +msgid "SENT" +msgstr "" + +#: src/gui/cards/goals.py:159 +msgctxt "skin:goals|mode:text|goal:middle|below" +msgid "MESSAGES" +msgstr "" + +#: src/gui/cards/goals.py:163 +msgctxt "skin:goals|mode:anki|goal:middle|above" +msgid "REVIEWED" +msgstr "تمت المراجعة" + +#: src/gui/cards/goals.py:167 +msgctxt "skin:goals|mode:anki|goal:middle|below" +msgid "CARDS" +msgstr "بطاقات" + +#: src/gui/cards/goals.py:228 +#, possible-python-brace-format +msgctxt "skin:goals|footer" +msgid "As of {day} {month} • {name}" +msgstr "" + +#: src/gui/cards/goals.py:240 +msgctxt "ui:goals|weekly|title" +msgid "WEEKLY STATISTICS" +msgstr "إحصاءات الاسبوع" + +#: src/gui/cards/goals.py:244 +msgctxt "ui:goals|weekly|task_header" +msgid "GOALS OF THE WEEK" +msgstr "أهداف الاسبوع" + +#: src/gui/cards/goals.py:254 +msgctxt "ui:goals|monthly|title" +msgid "MONTHLY STATISTICS" +msgstr "إحصاءات شهرية" + +#: src/gui/cards/goals.py:258 +msgctxt "ui:goals|monthly|task_header" +msgid "GOALS OF THE MONTH" +msgstr "أهداف الشهر" diff --git a/locales/ar/LC_MESSAGES/meta.po b/locales/ar/LC_MESSAGES/meta.po new file mode 100644 index 000000000000..4f1eb7ecca0d --- /dev/null +++ b/locales/ar/LC_MESSAGES/meta.po @@ -0,0 +1,337 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/meta/cog.py:40 +msgctxt "cmd:help" +msgid "help" +msgstr "" +"مساعدة\n" +"ِAT: ساعد" + +#: src/modules/meta/cog.py:43 +msgctxt "cmd:help|desc" +msgid "See a brief summary of my commands and features." +msgstr "" + +#: src/modules/meta/cog.py:65 +#, possible-python-brace-format +msgctxt "new_guild_join_message|desc" +msgid "" +"Thank you for inviting me to your community!\n" +"Get started by typing {help_cmd} to see my commands, and {dash_cmd} to view and set up my configuration options!\n" +"\n" +"If you need any help configuring me, or would like to suggest a feature, report a bug, and stay updated, make sure to join our main support server by [clicking here]({support})." +msgstr "" + +#: src/modules/meta/cog.py:89 +msgctxt "new_guild_join_message|name" +msgid "Hello everyone! My name is Leo, the LionBot!" +msgstr "" + +#: src/modules/meta/cog.py:104 +msgctxt "cmd:invite" +msgid "invite" +msgstr "" + +#: src/modules/meta/cog.py:107 +msgctxt "cmd:invite|desc" +msgid "Invite LionBot to your own server." +msgstr "" + +#: src/modules/meta/cog.py:117 +#, possible-python-brace-format +msgctxt "cmd:invite|embed|desc" +msgid "[Click here]({invite_link}) to add me to your server." +msgstr "" + +#: src/modules/meta/cog.py:125 +msgctxt "cmd:invite|embed|field:tips|name" +msgid "Setup Tips" +msgstr "" + +#: src/modules/meta/cog.py:129 +#, possible-python-brace-format +msgctxt "cmd:invite|embed|field:tips|value" +msgid "" +"Remember to check out {help_cmd} for the important command list, including the admin page which displays the hidden admin-level configuration commands like {dashboard}!\n" +"Also, if you have any issues or questions, you can join our [support server]({support_link}) to talk to our friendly support team!" +msgstr "" + +#: src/modules/meta/cog.py:144 +msgctxt "cmd:support" +msgid "support" +msgstr "" + +#: src/modules/meta/cog.py:147 +msgctxt "cmd:support|desc" +msgid "Have an issue or a question? Speak to my friendly support team here." +msgstr "" + +#: src/modules/meta/cog.py:155 +#, possible-python-brace-format +msgctxt "cmd:support|response" +msgid "" +"Speak to my friendly support team by joining this server and making a ticket in the support channel!\n" +"{support_link}" +msgstr "" + +#: src/modules/meta/cog.py:163 +msgctxt "cmd:nerd" +msgid "nerd" +msgstr "" + +#: src/modules/meta/cog.py:166 +msgctxt "cmd:nerd|desc" +msgid "View hidden details and statistics about me ('nerd statistics')" +msgstr "" + +#: src/modules/meta/cog.py:179 +msgctxt "cmd:nerd|title" +msgid "Nerd Statistics" +msgstr "" + +#: src/modules/meta/cog.py:202 +msgctxt "cmd:nerd|field:currently|name" +msgid "Currently" +msgstr "" + +#: src/modules/meta/cog.py:205 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:currently|value" +msgid "`{people}` people active in `{rooms}` rooms of `{guilds}` guilds." +msgstr "" + +#: src/modules/meta/cog.py:221 +msgctxt "cmd:nerd|field:recorded|name" +msgid "Recorded" +msgstr "" + +#: src/modules/meta/cog.py:224 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:recorded|value" +msgid "" +"`{hours}` voice hours from `{users}` people across `{sessions}` sessions." +msgstr "" + +#: src/modules/meta/cog.py:238 +msgctxt "cmd:nerd|field:registered|name" +msgid "Registered" +msgstr "" + +#: src/modules/meta/cog.py:241 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:registered|value" +msgid "`{users}` users and `{guilds}` guilds." +msgstr "" + +#: src/modules/meta/cog.py:255 +msgctxt "cmd:nerd|field:tasks|name" +msgid "Tasks" +msgstr "" + +#: src/modules/meta/cog.py:258 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:tasks|value" +msgid "`{tasks}` tasks completed out of `{total}`." +msgstr "" + +#: src/modules/meta/cog.py:271 +msgctxt "cmd:nerd|field:timers|name" +msgid "Timers" +msgstr "" + +#: src/modules/meta/cog.py:274 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:timers|value" +msgid "`{timers}` timers running across `{guilds}` guilds." +msgstr "" + +#: src/modules/meta/cog.py:283 +msgctxt "cmd:nerd|section:bot_stats|name" +msgid "Bot Stats" +msgstr "" + +#: src/modules/meta/cog.py:293 +msgctxt "cmd:nerd|field:shard|name" +msgid "Shard" +msgstr "" + +#: src/modules/meta/cog.py:296 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:shard|value" +msgid "`{shard_number}` of `{shard_count}`" +msgstr "" + +#: src/modules/meta/cog.py:302 +msgctxt "cmd:nerd|field:guilds|name" +msgid "Guilds" +msgstr "" + +#: src/modules/meta/cog.py:305 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:guilds|value" +msgid "`{guilds}` guilds with `{count}` total members." +msgstr "" + +#: src/modules/meta/cog.py:315 +msgctxt "cmd:nerd|field:version|name" +msgid "Leo Version" +msgstr "" + +#: src/modules/meta/cog.py:318 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:version|value" +msgid "`v{version}`, last updated {timestamp} from `{reason}`." +msgstr "" + +#: src/modules/meta/cog.py:330 +msgctxt "cmd:nerd|field:py_version|name" +msgid "Py Version" +msgstr "" + +#: src/modules/meta/cog.py:333 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:py_version|value" +msgid "`{py_version}` running discord.py `{dpy_version}`" +msgstr "" + +#: src/modules/meta/cog.py:341 +msgctxt "cmd:nerd|section:process_section|name" +msgid "Process" +msgstr "" + +#: src/modules/meta/cog.py:351 +msgctxt "cmd:nerd|field:handling|name" +msgid "Handling" +msgstr "" + +#: src/modules/meta/cog.py:354 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:handling|name" +msgid "`{events}` active commands and events." +msgstr "" + +#: src/modules/meta/cog.py:362 +msgctxt "cmd:nerd|field:working|name" +msgid "Working On" +msgstr "" + +#: src/modules/meta/cog.py:365 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:working|value" +msgid "`{tasks}` background tasks." +msgstr "" + +#: src/modules/meta/cog.py:371 +msgctxt "cmd:nerd|field:objects|name" +msgid "Objects" +msgstr "" + +#: src/modules/meta/cog.py:374 +#, possible-python-brace-format +msgctxt "cmd:nerd|field:objects|value" +msgid "`{objects}` loaded in memory." +msgstr "" + +#: src/modules/meta/cog.py:384 +msgctxt "cmd:nerd|field:uptime|name" +msgid "Uptime" +msgstr "" + +#: src/modules/meta/cog.py:390 +msgctxt "cmd:nerd|section:shard_section|name" +msgid "Shard Statistics" +msgstr "" + +#: src/modules/meta/help_sections.py:40 +#, possible-python-brace-format +msgctxt "helptext|level:member|mode:study" +msgid "" +"\n" +" {config_emoji} Personal Configuration\n" +" *View or adjust personal settings with the {cmd_my} command.*\n" +" {cmd_my_timezone}: Timezone used to display your stats and set reminders.\n" +" {cmd_my_language}: Your preferred language for commands and interactions.\n" +"\n" +"\n" +" {stats_emoji} Statistics\n" +" *Study in voice channels to earn activity ranks and compete on the leaderboard!*\n" +" {cmd_me}: View your personal study profile and set your profile tags.\n" +" {cmd_stats}: View study statistics for the current and past weeks or months.\n" +" {cmd_ranks}: See the list of activity ranks.\n" +" {cmd_leaderboard}: Compete with other members on the server leaderboards.\n" +"\n" +"\n" +" {coin} Economy\n" +" *Earn coins through studying, then spend them on some well deserved rewards!*\n" +" {cmd_send}: Send your {coin} to another member.\n" +" {cmd_shop}: Purchase server roles with your {coin}.\n" +" {cmd_room}: Rent a private voice channel for you and your friends.\n" +"\n" +"\n" +" {utility_emoji} Utilities\n" +" *Some other utilities to help you stay productive while studying!*\n" +" {cmd_reminders}: Ask me to remind you about that important task!\n" +" {cmd_tasklist}: Create tasks and feel the satisfaction of checking them off.\n" +" {cmd_timers}: Stay productive using the classic *pomodoro technique*!\n" +" {cmd_schedule}: Schedule a shared study session and keep yourself accountable!\n" +" " +msgstr "" + +#: src/modules/meta/help_sections.py:73 +#, possible-python-brace-format +msgctxt "helptext|page:admin" +msgid "" +"\n" +" Use {cmd_dashboard} to see an overview of the server configuration, and quickly jump to the feature configuration panels to modify settings.\n" +"\n" +" Most settings may also be directly set through the `/config` and `/admin config` commands, depending on whether the settings require moderator (manage server) or admin level permissions, respectively.\n" +"\n" +" Other relevant commands for guild configuration below:\n" +" `/editshop`: Add/Edit/Remove colour roles from the {coin} shop.\n" +" `/ranks`: Add/Edit/Refresh/Remove activity ranks.\n" +" `/pomodoro`: Add/Edit/Remove Pomodoro timers in voice channels.\n" +" `/rolemenus`: Allow members to equip roles from customisable messages.\n" +" `/economy balance`: Display and modify LionCoin balance for members and roles.\n" +" " +msgstr "" + +#: src/modules/meta/help_sections.py:112 +msgctxt "helptext|level:member|title" +msgid "Command Summary (for members)" +msgstr "" + +#: src/modules/meta/help_sections.py:140 +msgctxt "helptext|level:admin|title" +msgid "Command Summary (for server admins)" +msgstr "" + +#: src/modules/meta/helpui.py:47 +msgctxt "ui:help|button:member_page|label" +msgid "Member Page" +msgstr "صفحة العضو" + +#: src/modules/meta/helpui.py:59 +msgctxt "ui:help|button:admin_page|label" +msgid "Admin Page" +msgstr "صفحة المسؤل" diff --git a/locales/ar/LC_MESSAGES/moderation.po b/locales/ar/LC_MESSAGES/moderation.po new file mode 100644 index 000000000000..54c619efd42f --- /dev/null +++ b/locales/ar/LC_MESSAGES/moderation.po @@ -0,0 +1,716 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/moderation/settingui.py:55 +msgctxt "ui:moderation_config|menu:ticket_log|placeholder" +msgid "Select Ticket Log" +msgstr "" + +#: src/modules/moderation/settingui.py:81 +msgctxt "ui:moderation_config|menu:alert_channel|placeholder" +msgid "Select Alert Channel" +msgstr "" + +#: src/modules/moderation/settingui.py:107 +msgctxt "ui:moderation_config|menu:modrole|placeholder" +msgid "Select Moderator Role" +msgstr "" + +#: src/modules/moderation/settingui.py:133 +msgctxt "ui:moderation_config|menu:adminrole|placeholder" +msgid "Select Admin Role" +msgstr "" + +#: src/modules/moderation/settingui.py:141 +msgctxt "ui:moderation_config|embed|title" +msgid "Moderation Configuration Panel" +msgstr "" + +#: src/modules/moderation/settingui.py:182 +msgctxt "dash:moderation|title" +msgid "Moderation Settings ({commands[admin config moderation]})" +msgstr "" + +#: src/modules/moderation/settingui.py:186 +msgctxt "dash:moderation|dropdown|placeholder" +msgid "Moderation Panel" +msgstr "" + +#: src/modules/moderation/cog.py:135 +msgctxt "cmd:modnote" +msgid "modnote" +msgstr "" + +#: src/modules/moderation/cog.py:138 +msgctxt "cmd:modnote|desc" +msgid "Add a note to the target member's moderation record." +msgstr "" + +#: src/modules/moderation/cog.py:142 +msgctxt "cmd:modnote|param:target" +msgid "target" +msgstr "" + +#: src/modules/moderation/cog.py:143 +msgctxt "cmd:modnote|param:note" +msgid "note" +msgstr "" + +#: src/modules/moderation/cog.py:148 +msgctxt "cmd:modnote|param:target|desc" +msgid "Target member or user to add a note to." +msgstr "" + +#: src/modules/moderation/cog.py:152 +msgctxt "cmd:modnote|param:note|desc" +msgid "Contents of the note." +msgstr "" + +#: src/modules/moderation/cog.py:177 +msgctxt "cmd:modnote|modal:enter_note|title" +msgid "Moderation Note" +msgstr "" + +#: src/modules/moderation/cog.py:182 +msgctxt "cmd:modnote|modal:enter_note|field|label" +msgid "Note Content" +msgstr "" + +#: src/modules/moderation/cog.py:215 +#, possible-python-brace-format +msgctxt "cmd:modnote|embed:success|desc" +msgid "Moderation note created as [Ticket #{ticket}]({jump_link})" +msgstr "" + +#: src/modules/moderation/cog.py:225 +msgctxt "cmd:warning" +msgid "warning" +msgstr "" + +#: src/modules/moderation/cog.py:228 +msgctxt "cmd:warning|desc" +msgid "" +"Warn a member for a misdemeanour, and add it to their moderation record." +msgstr "" + +#: src/modules/moderation/cog.py:232 +msgctxt "cmd:warning|param:target" +msgid "target" +msgstr "" + +#: src/modules/moderation/cog.py:233 +msgctxt "cmd:warning|param:reason" +msgid "reason" +msgstr "" + +#: src/modules/moderation/cog.py:238 +msgctxt "cmd:warning|param:target|desc" +msgid "Target member to warn." +msgstr "" + +#: src/modules/moderation/cog.py:242 +msgctxt "cmd:warning|param:reason|desc" +msgid "The reason why you are warning this member." +msgstr "" + +#: src/modules/moderation/cog.py:262 +msgctxt "cmd:warning|modal:reason|title" +msgid "Moderation Warning" +msgstr "" + +#: src/modules/moderation/cog.py:267 +msgctxt "cmd:warning|modal:reason|field|label" +msgid "Reason for the warning (visible to user)." +msgstr "" + +#: src/modules/moderation/cog.py:298 +msgctxt "cmd:warning|embed:user_alert|title" +msgid "You have received a warning!" +msgstr "" + +#: src/modules/moderation/cog.py:305 +msgctxt "cmd:warning|embed:user_alert|field:note|name" +msgid "Note" +msgstr "" + +#: src/modules/moderation/cog.py:309 +msgctxt "cmd:warning|embed:user_alert|field:note|value" +msgid "" +"*Warnings appear in your moderation history. Continuing failure to comply " +"with server rules and moderator directions may result in more severe action." +msgstr "" + +#: src/modules/moderation/cog.py:327 +#, possible-python-brace-format +msgctxt "cmd:warning|embed:success|line:count" +msgid "This their first warning." +msgid_plural "They have recieved **`{count}`** warnings." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/moderation/cog.py:336 +#, possible-python-brace-format +msgctxt "cmd:warning|embed:success|desc" +msgid "[Ticket #{ticket}]({jump_link}) {user} has been warned." +msgstr "" + +#: src/modules/moderation/cog.py:347 +msgctxt "cmd:warning|embed:success|field:no_alert|name" +msgid "Note" +msgstr "" + +#: src/modules/moderation/cog.py:351 +msgctxt "cmd:warning|embed:success|field:no_alert|value" +msgid "*Could not deliver warning to the target.*" +msgstr "" + +#: src/modules/moderation/cog.py:358 +msgctxt "cmd:pardon" +msgid "pardon" +msgstr "" + +#: src/modules/moderation/cog.py:361 +msgctxt "cmd:pardon|desc" +msgid "Pardon moderation tickets to mark them as no longer in effect." +msgstr "" + +#: src/modules/moderation/cog.py:367 +msgctxt "cmd:pardon|param:ticketids" +msgid "tickets" +msgstr "" + +#: src/modules/moderation/cog.py:371 +msgctxt "cmd:pardon|param:reason" +msgid "reason" +msgstr "" + +#: src/modules/moderation/cog.py:377 +msgctxt "cmd:pardon|param:ticketids|desc" +msgid "Comma separated list of ticket numbers to pardon." +msgstr "" + +#: src/modules/moderation/cog.py:381 +msgctxt "cmd:pardon|param:reason" +msgid "Why these tickets are being pardoned." +msgstr "" + +#: src/modules/moderation/cog.py:402 +msgctxt "cmd:pardon|modal:reason|title" +msgid "Pardon Tickets" +msgstr "" + +#: src/modules/moderation/cog.py:407 +msgctxt "cmd:pardon|modal:reason|field|label" +msgid "Why are you pardoning these tickets?" +msgstr "" + +#: src/modules/moderation/cog.py:435 +msgctxt "cmd:pardon|error:parse_ticketids" +msgid "" +"Could not parse provided tickets as a list of ticket ids! Please enter " +"tickets as a comma separated list of ticket numbers, for example `1, 2, 3`." +msgstr "" + +#: src/modules/moderation/cog.py:449 +msgctxt "cmd:pardon|error:no_matching" +msgid "No matching moderation tickets found to pardon!" +msgstr "" + +#: src/modules/moderation/cog.py:469 +#, possible-python-brace-format +msgctxt "cmd:pardon|embed:success|title" +msgid "Ticket {ticketstr} has been pardoned." +msgid_plural "" +"The following tickets have been pardoned:\n" +"{ticketstr}" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/moderation/cog.py:478 +msgctxt "cmd:tickets" +msgid "tickets" +msgstr "" + +#: src/modules/moderation/cog.py:481 +msgctxt "cmd:tickets|desc" +msgid "View moderation tickets in this server." +msgstr "" + +#: src/modules/moderation/cog.py:485 +msgctxt "cmd:tickets|param:target" +msgid "target" +msgstr "" + +#: src/modules/moderation/cog.py:486 +msgctxt "cmd:tickets|param:type" +msgid "type" +msgstr "" + +#: src/modules/moderation/cog.py:487 +msgctxt "cmd:tickets|param:state" +msgid "ticket_state" +msgstr "" + +#: src/modules/moderation/cog.py:488 +msgctxt "cmd:tickets|param:pardoned" +msgid "include_pardoned" +msgstr "" + +#: src/modules/moderation/cog.py:489 +msgctxt "cmd:tickets|param:moderator" +msgid "acting_moderator" +msgstr "" + +#: src/modules/moderation/cog.py:490 +msgctxt "cmd:tickets|param:after" +msgid "after" +msgstr "" + +#: src/modules/moderation/cog.py:491 +msgctxt "cmd:tickets|param:before" +msgid "before" +msgstr "" + +#: src/modules/moderation/cog.py:496 +msgctxt "cmd:tickets|param:target|desc" +msgid "Filter by tickets acting on a given user." +msgstr "" + +#: src/modules/moderation/cog.py:500 +msgctxt "cmd:tickets|param:type|desc" +msgid "Filter by ticket type." +msgstr "" + +#: src/modules/moderation/cog.py:504 +msgctxt "cmd:tickets|param:state|desc" +msgid "Filter by ticket state." +msgstr "" + +#: src/modules/moderation/cog.py:508 +msgctxt "cmd:tickets|param:pardoned|desc" +msgid "Whether to only show active tickets, or also include pardoned." +msgstr "" + +#: src/modules/moderation/cog.py:512 +msgctxt "cmd:tickets|param:moderator|desc" +msgid "Filter by moderator responsible for the ticket." +msgstr "" + +#: src/modules/moderation/cog.py:516 +msgctxt "cmd:tickets|param:after|desc" +msgid "Only show tickets after this date (YYY-MM-DD HH:MM)" +msgstr "" + +#: src/modules/moderation/cog.py:520 +msgctxt "cmd:tickets|param:before|desc" +msgid "Only show tickets before this date (YYY-MM-DD HH:MM)" +msgstr "" + +#: src/modules/moderation/cog.py:582 +msgctxt "cmd:configure_moderation" +msgid "moderation" +msgstr "" + +#: src/modules/moderation/cog.py:585 +msgctxt "cmd:configure_moderation|desc" +msgid "Configure general moderation settings." +msgstr "" + +#: src/modules/moderation/ticketui.py:62 +msgctxt "ticketfilter|field:after|name" +msgid "Created After" +msgstr "" + +#: src/modules/moderation/ticketui.py:70 +msgctxt "ticketfilter|field:before|name" +msgid "Created Before" +msgstr "" + +#: src/modules/moderation/ticketui.py:78 +msgctxt "ticketfilter|field:targetids|name" +msgid "Targets" +msgstr "" + +#: src/modules/moderation/ticketui.py:86 +msgctxt "ticketfilter|field:moderatorids|name" +msgid "Moderators" +msgstr "" + +#: src/modules/moderation/ticketui.py:94 +msgctxt "ticketfilter|field:types|name" +msgid "Ticket Types" +msgstr "" + +#: src/modules/moderation/ticketui.py:102 +msgctxt "ticketfilter|field:states|name" +msgid "Ticket States" +msgstr "" + +#: src/modules/moderation/ticketui.py:179 +msgctxt "ui:tickets|button:edit_filter|label" +msgid "Edit Filters" +msgstr "" + +#: src/modules/moderation/ticketui.py:199 +msgctxt "ui:tickets|button:select_ticket|label" +msgid "Select Ticket" +msgstr "" + +#: src/modules/moderation/ticketui.py:215 +msgctxt "ui:tickets|button:pardon|error:no_tickets" +msgid "Not tickets matching the given criterial! Nothing to pardon." +msgstr "" + +#: src/modules/moderation/ticketui.py:221 +msgctxt "ui:tickets|button:pardon|modal:reason|title" +msgid "Pardon Tickets" +msgstr "" + +#: src/modules/moderation/ticketui.py:226 +msgctxt "ui:tickets|button:pardon|modal:reason|field|label" +msgid "Why are you pardoning these tickets?" +msgstr "" + +#: src/modules/moderation/ticketui.py:252 +msgctxt "ui:tickets|button:pardon|label" +msgid "Pardon All" +msgstr "" + +#: src/modules/moderation/ticketui.py:273 +msgctxt "ui:tickets|menu:filter_type|placeholder" +msgid "Select Ticket Types" +msgstr "" + +#: src/modules/moderation/ticketui.py:309 +msgctxt "ui:tickets|menu:filter_state|placeholder" +msgid "Select Ticket States" +msgstr "" + +#: src/modules/moderation/ticketui.py:346 +msgctxt "ui:tickets|menu:filter_target|placeholder" +msgid "Select Ticket Targets" +msgstr "" + +#: src/modules/moderation/ticketui.py:371 +msgctxt "ui:tickets|menu:tickets|placeholder" +msgid "Select Ticket" +msgstr "" + +#: src/modules/moderation/ticketui.py:402 +msgctxt "ui:tickets|button:jump|input:title" +msgid "Jump to page" +msgstr "" + +#: src/modules/moderation/ticketui.py:406 +msgctxt "ui:tickets|button:jump|input:question" +msgid "Page number to jump to" +msgstr "" + +#: src/modules/moderation/ticketui.py:417 +msgctxt "ui:tickets|button:jump|error:invalid_page" +msgid "Invalid page number, please try again!" +msgstr "" + +#: src/modules/moderation/ticketui.py:496 +#, possible-python-brace-format +msgctxt "ui:tickets|embed|title" +msgid "Moderation Tickets in {guild}" +msgstr "" + +#: src/modules/moderation/ticketui.py:506 +msgctxt "ui:tickets|embed|desc:no_tickets" +msgid "No tickets matching the given criteria!" +msgstr "" + +#: src/modules/moderation/ticketui.py:515 +msgctxt "ui:tickets|embed|field:filters|name" +msgid "Filters" +msgstr "" + +#: src/modules/moderation/ticketui.py:603 +msgctxt "ui:ticket|button:pardon|modal:reason|title" +msgid "Pardon Moderation Ticket" +msgstr "" + +#: src/modules/moderation/ticketui.py:608 +msgctxt "ui:ticket|button:pardon|modal:reason|field|label" +msgid "Why are you pardoning this ticket?" +msgstr "" + +#: src/modules/moderation/ticketui.py:632 +msgctxt "ui:ticket|button:pardon|label" +msgid "Pardon" +msgstr "" + +#: src/modules/moderation/ticket.py:148 +#, possible-python-brace-format +msgctxt "ticket|title:auto" +msgid "Ticket #{ticketid} | {state} | {type}[Auto] | {name}" +msgstr "" + +#: src/modules/moderation/ticket.py:153 +#, possible-python-brace-format +msgctxt "ticket|title:manual" +msgid "Ticket #{ticketid} | {state} | {type} | {name}" +msgstr "" + +#: src/modules/moderation/ticket.py:169 +msgctxt "ticket|field:target|name" +msgid "Target" +msgstr "" + +#: src/modules/moderation/ticket.py:174 +msgctxt "ticket|field:moderator|name" +msgid "Moderator" +msgstr "مدير" + +#: src/modules/moderation/ticket.py:181 +msgctxt "ticket|field:expiry|mode:expiring|name" +msgid "Expires At" +msgstr "سينتهى صلاحيته فى" + +#: src/modules/moderation/ticket.py:184 +#, possible-python-brace-format +msgctxt "ticket|field:expiry|mode:expiring|value" +msgid "" +"{timestamp}\n" +"Duration: `{duration}`" +msgstr "" + +#: src/modules/moderation/ticket.py:192 +msgctxt "ticket|field:expiry|mode:expired|name" +msgid "Expired" +msgstr "منتهى الصلاحية" + +#: src/modules/moderation/ticket.py:195 +#, possible-python-brace-format +msgctxt "ticket|field:expiry|mode:expired|value" +msgid "{timestamp}" +msgstr "" + +#: src/modules/moderation/ticket.py:202 +msgctxt "ticket|field:expiry|mode:open|name" +msgid "Expiry" +msgstr "" + +#: src/modules/moderation/ticket.py:205 +#, possible-python-brace-format +msgctxt "ticket|field:expiry|mode:open|value" +msgid "{timestamp}" +msgstr "" + +#: src/modules/moderation/ticket.py:213 +msgctxt "ticket|field:context|name" +msgid "Context" +msgstr "" + +#: src/modules/moderation/ticket.py:220 +msgctxt "ticket|field:notes|name" +msgid "Notes" +msgstr "" + +#: src/modules/moderation/ticket.py:227 +msgctxt "ticket|field:pardoned|name" +msgid "Pardoned" +msgstr "" + +#: src/modules/moderation/ticket.py:230 +#, possible-python-brace-format +msgctxt "ticket|field:pardoned|value" +msgid "" +"Pardoned by <@{moderator}> at {timestamp}.\n" +"{reason}" +msgstr "" + +#: src/modules/moderation/settings.py:22 +msgctxt "guildset:ticket_log" +msgid "ticket_log" +msgstr "" + +#: src/modules/moderation/settings.py:25 +msgctxt "guildset:ticket_log|desc" +msgid "Private moderation log to send tickets and moderation events." +msgstr "" + +#: src/modules/moderation/settings.py:29 +msgctxt "guildset:ticket_log|long_desc" +msgid "" +"Warnings, notes, video blacklists, and other moderation events will be " +"posted as numbered tickets with context to this log." +msgstr "" + +#: src/modules/moderation/settings.py:34 +msgctxt "guildset:ticket_log|accepts" +msgid "Ticket channel name or id." +msgstr "" + +#: src/modules/moderation/settings.py:48 +#, possible-python-brace-format +msgctxt "guildset:ticket_log|set_response:set" +msgid "Moderation tickets will be sent to {channel}" +msgstr "" + +#: src/modules/moderation/settings.py:53 +msgctxt "guildset:ticket_log|set_response:unset" +msgid "Moderation tickets will not be logged to a channel." +msgstr "" + +#: src/modules/moderation/settings.py:65 +msgctxt "guildset:ticket_log|formatted:unset" +msgid "Not Set." +msgstr "" + +#: src/modules/moderation/settings.py:73 +msgctxt "guildset:alert_channel" +msgid "alert_channel" +msgstr "" + +#: src/modules/moderation/settings.py:76 +msgctxt "guildset:alert_channel|desc" +msgid "Moderation notification channel for members with DMs disabled." +msgstr "" + +#: src/modules/moderation/settings.py:80 +msgctxt "guildset:alert_channel|long_desc" +msgid "" +"When I need to send a member a moderation-related notification (e.g. asking " +"them to enable their video in a video channel) from this server, I will try " +"to send it via direct messages. If this fails, I will instead mention the " +"user in this channel." +msgstr "" + +#: src/modules/moderation/settings.py:87 +msgctxt "guildset:alert_channel|accepts" +msgid "Alert channel name or id." +msgstr "" + +#: src/modules/moderation/settings.py:102 +#, possible-python-brace-format +msgctxt "guildset:alert_channel|set_response:set" +msgid "Moderation alerts will be sent to {channel}" +msgstr "" + +#: src/modules/moderation/settings.py:107 +msgctxt "guildset:alert_channel|set_response:unset" +msgid "Moderation alerts will be ignored if the member cannot be reached." +msgstr "" + +#: src/modules/moderation/settings.py:119 +msgctxt "guildset:alert_channel|formatted:unset" +msgid "Not Set (Only alert via direct message.)" +msgstr "" + +#: src/modules/moderation/settings.py:127 +msgctxt "guildset:mod_role" +msgid "mod_role" +msgstr "" + +#: src/modules/moderation/settings.py:130 +msgctxt "guildset:mod_role|desc" +msgid "" +"Server role permitted to perform moderation and minor bot configuration." +msgstr "" + +#: src/modules/moderation/settings.py:134 +msgctxt "guildset:mod_role|long_desc" +msgid "" +"Members with the moderator role are considered moderators, and are permitted to use moderator commands, such as viewing and pardoning moderation tickets, creating moderation notes, and performing minor reconfiguration through the `/config` command.\n" +"Moderators are never permitted to perform actions (such as giving roles) that they do not already have the Discord permissions for.\n" +"Members with the 'Manage Guild' permission are always considered moderators." +msgstr "" + +#: src/modules/moderation/settings.py:145 +msgctxt "guildset:mod_role|accepts" +msgid "Moderation role name or id." +msgstr "" + +#: src/modules/moderation/settings.py:159 +#, possible-python-brace-format +msgctxt "guildset:mod_role|set_response:set" +msgid "" +"Members with {role} will be considered moderators. You may need to grant " +"them access to view moderation commands via the server integration settings." +msgstr "" + +#: src/modules/moderation/settings.py:166 +msgctxt "guildset:mod_role|set_response:unset" +msgid "" +"Only members with the 'Manage Guild' permission will be considered " +"moderators." +msgstr "" + +#: src/modules/moderation/settings.py:178 +msgctxt "guildset:mod_role|formatted:unset" +msgid "Not Set." +msgstr "" + +#: src/modules/moderation/settings.py:186 +msgctxt "guildset:admin_role" +msgid "admin_role" +msgstr "" + +#: src/modules/moderation/settings.py:189 +msgctxt "guildset:admin_role|desc" +msgid "" +"Server role allowing access to all administrator level functionality in Leo." +msgstr "" + +#: src/modules/moderation/settings.py:193 +msgctxt "guildset:admin_role|long_desc" +msgid "" +"Members with this role are considered to be server administrators, allowing " +"them to use all of my interfaces and commands, except for managing roles " +"that are above them in the role hierachy. This setting allows giving members" +" administrator-level permissions over my systems, without actually giving " +"the members admin server permissions. Note that the role will also need to " +"be given permission to see the commands through the Discord server " +"integrations interface." +msgstr "" + +#: src/modules/moderation/settings.py:203 +msgctxt "guildset:admin_role|accepts" +msgid "Admin role name or id." +msgstr "" + +#: src/modules/moderation/settings.py:216 +#, possible-python-brace-format +msgctxt "guildset:admin_role|set_response:set" +msgid "" +"Members with {role} will now be considered admins, and have access to my " +"full interface." +msgstr "" + +#: src/modules/moderation/settings.py:221 +msgctxt "guildset:admin_role|set_response:unset" +msgid "" +"The admin role has been unset. Only members with administrator permissions " +"will be considered admins." +msgstr "" diff --git a/locales/ar/LC_MESSAGES/monthly-gui.po b/locales/ar/LC_MESSAGES/monthly-gui.po new file mode 100644 index 000000000000..bfb2428d64cf --- /dev/null +++ b/locales/ar/LC_MESSAGES/monthly-gui.po @@ -0,0 +1,187 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-01 16:01+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/gui/cards/monthly.py:40 +msgctxt "skin:monthlystats|mode:study|title" +msgid "STUDY HOURS" +msgstr "ساعات الدراسة" + +#: src/gui/cards/monthly.py:44 +msgctxt "skin:monthlystats|mode:voice|title" +msgid "VOICE CHANNEL ACTIVITY" +msgstr "" + +#: src/gui/cards/monthly.py:48 +msgctxt "skin:monthlystats|mode:text|title" +msgid "MESSAGE ACTIVITY" +msgstr "" + +#: src/gui/cards/monthly.py:52 +msgctxt "skin::monthlystats|mode:anki|title" +msgid "CARDS REVIEWED" +msgstr "" + +#: src/gui/cards/monthly.py:119 +#, possible-python-brace-format +msgctxt "ui:monthlystats|mode:study|bar_value" +msgid "{value} H" +msgstr "" + +#: src/gui/cards/monthly.py:123 +#, possible-python-brace-format +msgctxt "ui:monthlystats|mode:voice|bar_value" +msgid "{value} H" +msgstr "" + +#: src/gui/cards/monthly.py:127 +#, possible-python-brace-format +msgctxt "ui:monthlystats|mode:text|bar_value" +msgid "{value} M" +msgstr "" + +#: src/gui/cards/monthly.py:131 +#, possible-python-brace-format +msgctxt "ui:monthlystats|mode:anki|bar_value" +msgid "{value} C" +msgstr "" + +#: src/gui/cards/monthly.py:153 +msgctxt "skin:monthlystats|weekdays" +msgid "M,T,W,T,F,S,S" +msgstr "" + +#: src/gui/cards/monthly.py:163 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:study|summary:this_month" +msgid "THIS MONTH: {amount} HOURS" +msgstr "" + +#: src/gui/cards/monthly.py:167 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:voice|summary:this_month" +msgid "THIS MONTH: {amount} HOURS" +msgstr "" + +#: src/gui/cards/monthly.py:171 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:text|summary:this_month" +msgid "THIS MONTH: {amount} MESSAGES" +msgstr "" + +#: src/gui/cards/monthly.py:175 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:text|summary:this_month" +msgid "THIS MONTH: {amount} CARDS" +msgstr "" + +#: src/gui/cards/monthly.py:197 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:study|summary:last_month" +msgid "LAST MONTH: {amount} HOURS" +msgstr "" + +#: src/gui/cards/monthly.py:201 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:voice|summary:last_month" +msgid "LAST MONTH: {amount} HOURS" +msgstr "" + +#: src/gui/cards/monthly.py:205 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:text|summary:last_month" +msgid "LAST MONTH: {amount} MESSAGES" +msgstr "" + +#: src/gui/cards/monthly.py:209 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:text|summary:last_month" +msgid "LAST MONTH: {amount} CARDS" +msgstr "" + +#: src/gui/cards/monthly.py:300 +msgctxt "ui:monthlystats|stats:current_streak|key" +msgid "Current Streak:" +msgstr "" + +#: src/gui/cards/monthly.py:304 +#, possible-python-brace-format +msgctxt "ui:monthlystats|stats:current_streak|value" +msgid "{count} days" +msgstr "" + +#: src/gui/cards/monthly.py:308 +msgctxt "ui:monthlystats|stats:longest_streak|key" +msgid "Longest Streak:" +msgstr "" + +#: src/gui/cards/monthly.py:312 +#, possible-python-brace-format +msgctxt "ui:monthlystats|stats:longest_streak|value" +msgid "{count} days" +msgstr "" + +#: src/gui/cards/monthly.py:316 +msgctxt "ui:monthlystats|stats:daily_average|key" +msgid "Daily Average:" +msgstr "المتوسط اليومى:" + +#: src/gui/cards/monthly.py:320 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:study|stats:daily_average|value" +msgid "{count} hours" +msgstr "" + +#: src/gui/cards/monthly.py:324 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:voice|stats:daily_average|value" +msgid "{count} hours" +msgstr "" + +#: src/gui/cards/monthly.py:328 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:text|stats:daily_average|value" +msgid "{count} msgs" +msgstr "" + +#: src/gui/cards/monthly.py:332 +#, possible-python-brace-format +msgctxt "skin:monthlystats|mode:anki|stats:daily_average|value" +msgid "{count} cards" +msgstr "" + +#: src/gui/cards/monthly.py:342 +msgctxt "ui:monthlystats|stats:days_active|key" +msgid "Days Active:" +msgstr "" + +#: src/gui/cards/monthly.py:346 +#, possible-python-brace-format +msgctxt "ui:monthlystats|stats:days_active|value" +msgid "{count} days" +msgstr "أيام {count} " + +#: src/gui/cards/monthly.py:359 +#, possible-python-brace-format +msgctxt "skin:monthlystats|footer" +msgid "Monthly Statistics • As of {day} {month} • {name} {discrim}" +msgstr "إحصائيات الشهر بال {day} {month} • {name} {discrim}" diff --git a/locales/ar/LC_MESSAGES/profile-gui.po b/locales/ar/LC_MESSAGES/profile-gui.po new file mode 100644 index 000000000000..d32280189f3a --- /dev/null +++ b/locales/ar/LC_MESSAGES/profile-gui.po @@ -0,0 +1,53 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/gui/cards/profile.py:79 +msgctxt "skin:profile|header:profile" +msgid "PROFILE" +msgstr "الملف الشخصى" + +#: src/gui/cards/profile.py:83 +msgctxt "skin:profile|header:achievements" +msgid "ACHIEVEMENTS" +msgstr "الإنجازات" + +#: src/gui/cards/profile.py:134 +msgctxt "skin:profile|field:rank_unranked_text" +msgid "UNRANKED" +msgstr "غير مصنف" + +#: src/gui/cards/profile.py:138 +#, possible-python-brace-format +msgctxt "skin:profile|field:rank_nextrank_text" +msgid "NEXT RANK: {name} {rangestr}" +msgstr "المرتبة التالية: {name} {rangestr}" + +#: src/gui/cards/profile.py:142 +msgctxt "skin:profile|field:rank_noranks_text" +msgid "NO RANKS AVAILABLE" +msgstr "لايوجد رتب متوفرة" + +#: src/gui/cards/profile.py:146 +msgctxt "skin:profile|field:rank_maxrank_text" +msgid "YOU HAVE REACHED THE MAXIMUM RANK" +msgstr "لقد وصلت إلى أقصى مرتبة" diff --git a/locales/ar/LC_MESSAGES/reminders.po b/locales/ar/LC_MESSAGES/reminders.po new file mode 100644 index 000000000000..146f8679f299 --- /dev/null +++ b/locales/ar/LC_MESSAGES/reminders.po @@ -0,0 +1,405 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/reminders/cog.py:114 +#, possible-python-brace-format +msgctxt "create_reminder|error:past" +msgid "The provided reminder time {timestamp} is in the past!" +msgstr "" + +#: 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] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/reminders/ui.py:57 +msgctxt "ui:reminderlist|button:clear|confirm|button:yes" +msgid "Yes, clear my reminders" +msgstr "" + +#: src/modules/reminders/ui.py:68 +msgctxt "ui:reminderlist|button:clear|success|desc" +msgid "Your reminders have been cleared!" +msgstr "" + +#: src/modules/reminders/ui.py:77 +msgctxt "ui:reminderlist|button:clear|confirm|button:cancel" +msgid "Cancel" +msgstr "" + +#: src/modules/reminders/ui.py:89 +msgctxt "ui:reminderlist|button:clear|label" +msgid "Clear Reminders" +msgstr "" + +#: src/modules/reminders/ui.py:110 +msgctxt "ui:reminderlist|button:new|modal|field:time|label" +msgid "When would you like to be reminded?" +msgstr "" + +#: src/modules/reminders/ui.py:120 +msgctxt "ui:reminderlist|button:new|modal|field:repeat|label" +msgid "How often should the reminder repeat?" +msgstr "" + +#: src/modules/reminders/ui.py:124 +msgctxt "ui:reminderlist|button:new|modal|field:repeat|placeholder" +msgid "1 day 10 hours 5 minutes (Leave empty for no repeat.)" +msgstr "" + +#: src/modules/reminders/ui.py:133 +msgctxt "ui:reminderlist|button:new|modal|field:content|label" +msgid "What should I remind you?" +msgstr "" + +#: src/modules/reminders/ui.py:144 +msgctxt "ui:reminderlist|button:new|modal|title" +msgid "Set a Reminder" +msgstr "" + +#: src/modules/reminders/ui.py:157 +#, possible-python-brace-format +msgctxt "ui:reminderlist|button:new|modal|parse|error:interval" +msgid "Cannot parse '{value}' as a duration." +msgstr "" + +#: src/modules/reminders/ui.py:180 +msgctxt "ui:reminderlist|button:new|label" +msgid "New Reminder" +msgstr "" + +#: src/modules/reminders/ui.py:208 +msgctxt "ui:reminderlist|select:remove|placeholder" +msgid "Select to cancel" +msgstr "" + +#: src/modules/reminders/ui.py:264 +msgctxt "ui:reminderlist|embed:list|author" +msgid "Your reminders" +msgstr "" + +#: src/modules/reminders/ui.py:270 +msgctxt "ui:reminderlist|embed:list|footer" +msgid "Click a reminder to jump back to the context!" +msgstr "" + +#: src/modules/reminders/ui.py:277 +msgctxt "ui:reminderlist|embed:no_reminders|title" +msgid "You have no reminders set!" +msgstr "" + +#: src/modules/reminders/ui.py:286 +msgctxt "ui:reminderlist|embed|tips:name" +msgid "Reminder Tips" +msgstr "" + +#: src/modules/reminders/ui.py:290 +#, possible-python-brace-format +msgctxt "ui:reminderlist|embed|tips:value" +msgid "" +"- Use {at_cmd} to set a reminder at a known time (e.g. `at 10 am`).\n" +"- Use {in_cmd} to set a reminder in a certain time (e.g. `in 2 hours`).\n" +"- Both commands support repeating reminders using the `every` parameter.\n" +"- Remember to tell me your timezone with {timezone_cmd} if you haven't already!" +msgstr "" + +#: src/modules/reminders/data.py:63 +msgctxt "reminder_set|title" +msgid "Reminder Set!" +msgstr "" + +#: src/modules/reminders/data.py:67 +#, possible-python-brace-format +msgctxt "reminder_set|desc" +msgid "" +"At {timestamp} I will remind you about:\n" +"> {content}" +msgstr "" + +#: src/modules/reminders/data.py:79 +msgctxt "reminder_set|field:repeat|name" +msgid "Repeats" +msgstr "" + +#: src/modules/reminders/data.py:83 +#, possible-python-brace-format +msgctxt "reminder_set|field:repeat|value" +msgid "" +"This reminder will repeat every `{interval}` (after the first reminder)." +msgstr "" + +#: src/modules/reminders/data.py:94 +msgctxt "reminder|embed" +msgid "You asked me to remind you!" +msgstr "" + +#: src/modules/reminders/data.py:102 +msgctxt "reminder|embed" +msgid "Context?" +msgstr "" + +#: src/modules/reminders/data.py:104 +msgctxt "reminder|embed" +msgid "Click Here" +msgstr "اضغط هنا" + +#: src/modules/reminders/data.py:111 +msgctxt "reminder|embed" +msgid "Next reminder" +msgstr "موعد التذكير التالى" + +#: src/modules/reminders/data.py:135 +#, possible-python-brace-format +msgctxt "reminder|formatted|interval" +msgid "Every day" +msgid_plural "Every `{days}` days" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/reminders/data.py:144 +#, possible-python-brace-format +msgctxt "reminder|formatted|interval" +msgid "Every hour" +msgid_plural "Every `{hours}` hours" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/reminders/data.py:153 +#, possible-python-brace-format +msgctxt "reminder|formatted|interval" +msgid "Every `{duration}`" +msgstr "" diff --git a/locales/ar/LC_MESSAGES/rolemenus.po b/locales/ar/LC_MESSAGES/rolemenus.po new file mode 100644 index 000000000000..219d5deed24f --- /dev/null +++ b/locales/ar/LC_MESSAGES/rolemenus.po @@ -0,0 +1,1590 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-15 15:58+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/rolemenus/cog.py:43 +msgctxt "argtype:menu_style|opt:reaction" +msgid "Reaction Roles" +msgstr "" + +#: src/modules/rolemenus/cog.py:47 +msgctxt "argtype:menu_style|opt:button" +msgid "Button Menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:51 +msgctxt "argtype:menu_style|opt:dropdown" +msgid "Dropdown Menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:70 +msgctxt "ctxcmd:rolemenu" +msgid "Role Menu Editor" +msgstr "" + +#: src/modules/rolemenus/cog.py:83 +msgctxt "ctxcmd:rolemenu|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:90 +msgctxt "ctxcmd:rolemenus|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission required to offer roles from role " +"menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:333 +msgctxt "eventlog|event:rolemenu_role_expire|error:remove_failed" +msgid "Removed the role, but the member still has the role!!" +msgstr "" + +#: src/modules/rolemenus/cog.py:344 +msgctxt "eventlog|event:rolemenu_role_expire|error:member_gone" +msgid "Member could not be found.. role has been removed from saved roles." +msgstr "" + +#: src/modules/rolemenus/cog.py:350 +#, possible-python-brace-format +msgctxt "eventlog|event:rolemenu_role_expire|error:no_role" +msgid "Role {role} no longer exists." +msgstr "" + +#: src/modules/rolemenus/cog.py:356 +msgctxt "eventlog|event:rolemenu_role_expire|title" +msgid "Equipped role has expired" +msgstr "" + +#: src/modules/rolemenus/cog.py:360 +#, possible-python-brace-format +msgctxt "eventlog|event:rolemenu_role_expire|desc" +msgid "{member}'s role {role} has now expired." +msgstr "" + +#: src/modules/rolemenus/cog.py:368 +msgctxt "eventlog|event:rolemenu_role_expire|field:menu" +msgid "Obtained From" +msgstr "" + +#: src/modules/rolemenus/cog.py:377 +msgctxt "eventlog|event:rolemenu_role_expire|field:menu" +msgid "Obtained At" +msgstr "" + +#: src/modules/rolemenus/cog.py:384 +msgctxt "eventlog|event:rolemenu_role_expire|field:expiry" +msgid "Expiry" +msgstr "" + +#: src/modules/rolemenus/cog.py:419 +msgctxt "parse:message_link|suberror:message_dne" +msgid "Could not find the linked message, has it been deleted?" +msgstr "" + +#: src/modules/rolemenus/cog.py:424 +#, possible-python-brace-format +msgctxt "parse:message_link|suberror:no_perms" +msgid "" +"Insufficient permissions! I need the `MESSAGE_HISTORY` permission in " +"{channel}." +msgstr "" + +#: src/modules/rolemenus/cog.py:429 +#, possible-python-brace-format +msgctxt "parse:message_link|suberror:channel_dne" +msgid "The channel `{channelid}` could not be found in this server." +msgstr "" + +#: src/modules/rolemenus/cog.py:434 +msgctxt "parse:message_link|suberror:malformed_link" +msgid "" +"Malformed message link. Please copy the link by right clicking the target " +"message." +msgstr "" + +#: src/modules/rolemenus/cog.py:441 +#, possible-python-brace-format +msgctxt "parse:message_link|error" +msgid "" +"Failed to resolve the provided message link.\n" +"**ERROR:** {error}" +msgstr "" + +#: src/modules/rolemenus/cog.py:553 +msgctxt "cmd:rolemenus" +msgid "rolemenus" +msgstr "" + +#: src/modules/rolemenus/cog.py:556 +msgctxt "cmd:rolemenus|desc" +msgid "View and configure the role menus in this server." +msgstr "" + +#: src/modules/rolemenus/cog.py:573 +msgctxt "cmd:rolemenus|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:580 +msgctxt "cmd:rolemenus|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission required to offer roles from role " +"menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:615 +#, possible-python-brace-format +msgctxt "acmpl:menus|choice:no_choices|name" +msgid "No role menus matching '{partial}'" +msgstr "" + +#: src/modules/rolemenus/cog.py:634 +msgctxt "acmpl:menuroles|param:menu|keyname" +msgid "menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:640 +msgctxt "acmpl:menuroles|choice:no_menu|name" +msgid "Please select a menu first" +msgstr "" + +#: src/modules/rolemenus/cog.py:664 +#, possible-python-brace-format +msgctxt "acmpl:menuroles|choice:invalid_menu|name" +msgid "Menu '{name}' does not exist!" +msgstr "" + +#: src/modules/rolemenus/cog.py:693 +#, possible-python-brace-format +msgctxt "acmpl:menuroles|choice:no_matching|name" +msgid "No roles in this menu matching '{partial}'" +msgstr "" + +#: src/modules/rolemenus/cog.py:700 +msgctxt "group:rolemenu" +msgid "rolemenu" +msgstr "" + +#: src/modules/rolemenus/cog.py:703 +msgctxt "group:rolemenu|desc" +msgid "Base command group for role menu configuration." +msgstr "" + +#: src/modules/rolemenus/cog.py:712 +msgctxt "cmd:rolemenu_create" +msgid "newmenu" +msgstr "" + +#: src/modules/rolemenus/cog.py:715 +msgctxt "cmd:rolemenu_create|desc" +msgid "Create a new role menu (optionally using an existing message)" +msgstr "" + +#: src/modules/rolemenus/cog.py:729 +msgctxt "cmd:rolemenu_create|param:message" +msgid "message_link" +msgstr "" + +#: src/modules/rolemenus/cog.py:730 +msgctxt "cmd:rolemenu_create|param:menu_style" +msgid "menu_style" +msgstr "" + +#: src/modules/rolemenus/cog.py:731 +msgctxt "cmd:rolemenu_create|param:remplate" +msgid "template" +msgstr "قالب" + +#: src/modules/rolemenus/cog.py:732 +msgctxt "cmd:rolemenu_create|param:rawmessage" +msgid "custom_message" +msgstr "" + +#: src/modules/rolemenus/cog.py:742 +msgctxt "cmd:rolemenu_create|param:message|desc" +msgid "Link to an existing message to turn it into a (reaction) role menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:746 +msgctxt "cmd:rolemenu_create|param:menu_style" +msgid "Selection style for this menu (using buttons, dropdowns, or reactions)" +msgstr "" + +#: src/modules/rolemenus/cog.py:750 +msgctxt "cmd:rolemenu_create|param:template" +msgid "Template to use for the menu message body" +msgstr "" + +#: src/modules/rolemenus/cog.py:754 +msgctxt "cmd:rolemenu_create|param:rawmessage" +msgid "Attach a custom menu message to use" +msgstr "" + +#: src/modules/rolemenus/cog.py:783 +msgctxt "cmd:rolemenu_create|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to create new role menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:790 +msgctxt "cmd:rolemenu_create|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission needed to offer roles from role menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:809 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:message_exists" +msgid "The message {link} already has a role menu! Use {edit_cmd} to edit it." +msgstr "" + +#: src/modules/rolemenus/cog.py:830 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:style_notmine" +msgid "" +"I cannot create a `{style}` style menu on a message I didn't send! (Discord " +"restriction)." +msgstr "" + +#: src/modules/rolemenus/cog.py:837 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:rawmessage_notmine" +msgid "" +"Cannot apply a custom menu message to {message} because I do not own this " +"message!" +msgstr "" + +#: src/modules/rolemenus/cog.py:846 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:template_notmine" +msgid "" +"Cannot apply a menu message template to {message} because I do not own this " +"message!" +msgstr "" + +#: src/modules/rolemenus/cog.py:859 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_create|error:name_exists" +msgid "A rolemenu called `{name}` already exists! Use {edit_cmd} to edit it." +msgstr "" + +#: src/modules/rolemenus/cog.py:907 +msgctxt "cmd:rolemenu_edit" +msgid "editmenu" +msgstr "" + +#: src/modules/rolemenus/cog.py:910 +msgctxt "cmd:rolemenu_edit|desc" +msgid "Edit an existing role menu." +msgstr "" + +#: src/modules/rolemenus/cog.py:919 +msgctxt "cmd:rolemenu_edit|param:name" +msgid "name" +msgstr "" + +#: src/modules/rolemenus/cog.py:920 +msgctxt "cmd:rolemenu_edit|param:new_name" +msgid "new_name" +msgstr "" + +#: src/modules/rolemenus/cog.py:921 +msgctxt "cmd:rolemenu_edit|param:channel" +msgid "new_channel" +msgstr "" + +#: src/modules/rolemenus/cog.py:926 +msgctxt "cmd:rolemenu_edit|param:menu_style" +msgid "menu_style" +msgstr "" + +#: src/modules/rolemenus/cog.py:927 +msgctxt "cmd:rolemenu_edit|param:remplate" +msgid "template" +msgstr "" + +#: src/modules/rolemenus/cog.py:928 +msgctxt "cmd:rolemenu_edit|param:rawmessage" +msgid "custom_message" +msgstr "" + +#: src/modules/rolemenus/cog.py:933 +msgctxt "cmd:rolemenu_edit|param:name|desc" +msgid "Name of the menu to edit" +msgstr "" + +#: src/modules/rolemenus/cog.py:937 +msgctxt "cmd:rolemenu_edit|param:channel|desc" +msgid "Server channel to move the menu to" +msgstr "" + +#: src/modules/rolemenus/cog.py:946 +msgctxt "cmd:rolemenu_edit|param:menu_style" +msgid "Selection style for this menu (using buttons, dropdowns, or reactions)" +msgstr "" + +#: src/modules/rolemenus/cog.py:950 +msgctxt "cmd:rolemenu_edit|param:template" +msgid "Template to use for the menu message body" +msgstr "" + +#: src/modules/rolemenus/cog.py:954 +msgctxt "cmd:rolemenu_edit|param:rawmessage" +msgid "Attach a custom menu message to use" +msgstr "" + +#: src/modules/rolemenus/cog.py:983 +msgctxt "cmd:rolemenu_edit|error:author_perms" +msgid "You need the `MANAGE_ROLES` permission in order to edit role menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:990 +msgctxt "cmd:rolemenu_edit|error:my_perms" +msgid "" +"I lack the `MANAGE_ROLES` permission needed to offer roles from role menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:1013 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|error:menu_not_found" +msgid "This server does not have a role menu called `{name}`!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1034 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|parse:new_name|error:name_exists" +msgid "A role menu with the name **{new_name}** already exists!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1071 +msgctxt "cmd:rolemenu_edit|parse:template|error:not_managed" +msgid "" +"Cannot set a template message for a role menu attached to a message I did " +"not send." +msgstr "" + +#: src/modules/rolemenus/cog.py:1082 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|parse:template|success:template" +msgid "Now using the `{name}` menu message template." +msgstr "" + +#: src/modules/rolemenus/cog.py:1089 +msgctxt "cmd:rolemenu_edit|parse:template|success:custom" +msgid "Now using a custom menu message." +msgstr "" + +#: src/modules/rolemenus/cog.py:1099 +msgctxt "cmd:rolemenu_edit|parse:style|error:not_managed" +msgid "" +"Cannot change the style of a role menu attached to a message I did not send." +msgstr "" + +#: src/modules/rolemenus/cog.py:1109 +msgctxt "cmd:rolemenu_edit|parse:style|error:too_many_reactions" +msgid "Too many roles! Reaction role menus can have at most `20` roles." +msgstr "" + +#: src/modules/rolemenus/cog.py:1119 +msgctxt "cmd:rolemenu_edit|parse:style|error:incomplete_emojis" +msgid "" +"Cannot switch to the reaction role style! Every role needs a distinct emoji " +"first." +msgstr "" + +#: src/modules/rolemenus/cog.py:1126 +msgctxt "cmd:rolemenu_edit|parse:style|success" +msgid "Updated role menu style." +msgstr "" + +#: src/modules/rolemenus/cog.py:1140 +msgctxt "cmd:rolemenu_edit|parse:custom_message|success" +msgid "Custom menu message updated." +msgstr "" + +#: src/modules/rolemenus/cog.py:1155 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|repost|success" +msgid "The role menu is now available at {message}" +msgstr "" + +#: src/modules/rolemenus/cog.py:1166 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|repost|error:forbidden" +msgid "" +"Cannot update channel! I lack the `EMBED_LINKS` or `SEND_MESSAGES` " +"permission in {channel}." +msgstr "" + +#: src/modules/rolemenus/cog.py:1171 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_edit|repost|error:unknown" +msgid "" +"An unknown error occurred trying to repost the menu to {channel}.\n" +"**Error:** `{exception}`" +msgstr "" + +#: src/modules/rolemenus/cog.py:1210 +msgctxt "cmd:rolemenu_delete" +msgid "delmenu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1213 +msgctxt "cmd:rolemenu_delete|desc" +msgid "Delete a role menu." +msgstr "" + +#: src/modules/rolemenus/cog.py:1217 +msgctxt "cmd:rolemenu_delete|param:name" +msgid "menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1222 +msgctxt "cmd:rolemenu_delete|param:name|desc" +msgid "Name of the rolemenu to delete." +msgstr "" + +#: src/modules/rolemenus/cog.py:1237 +msgctxt "cmd:rolemenu_delete|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:1260 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delete|error:menu_not_found" +msgid "This server does not have a role menu called `{name}`!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1268 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delete|confirm|title" +msgid "" +"Are you sure you want to delete the role menu **{name}**? This is not " +"reversible!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1273 +msgctxt "cmd:rolemenu_delete|confirm|button:yes" +msgid "Yes, Delete Now" +msgstr "" + +#: src/modules/rolemenus/cog.py:1278 +msgctxt "cmd:rolemenu_delete|confirm|button:no" +msgid "No, Cancel" +msgstr "" + +#: src/modules/rolemenus/cog.py:1303 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delete|success|desc" +msgid "Successfully deleted the menu **{name}**" +msgstr "" + +#: src/modules/rolemenus/cog.py:1311 +msgctxt "cmd:rolemenu_addrole" +msgid "addrole" +msgstr "" + +#: src/modules/rolemenus/cog.py:1314 +msgctxt "cmd:rolemenu_addrole|desc" +msgid "Add a new role to an existing role menu." +msgstr "" + +#: src/modules/rolemenus/cog.py:1319 +msgctxt "cmd:rolemenu_addrole|param:menu" +msgid "menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1322 +msgctxt "cmd:rolemenu_addrole|param:role" +msgid "role" +msgstr "" + +#: src/modules/rolemenus/cog.py:1333 +msgctxt "cmd:rolemenu_addrole|param:menu|desc" +msgid "Name of the menu to add a role to" +msgstr "" + +#: src/modules/rolemenus/cog.py:1337 +msgctxt "cmd:rolemenu_addrole|param:role|desc" +msgid "Role to add to the menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1345 +msgctxt "cmd:rolemenu_addrole|param:duration|desc" +msgid "Lifetime of the role after selection in minutes." +msgstr "" + +#: src/modules/rolemenus/cog.py:1393 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_addrole|error:menu_not_found" +msgid "This server does not have a role menu called `{name}`!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1478 +msgctxt "cmd:rolemenu_addrole|success:create|title" +msgid "Added Menu Role" +msgstr "" + +#: src/modules/rolemenus/cog.py:1482 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_addrole|success:create|desc" +msgid "Add the role {role} to the menu **{menu}**." +msgstr "" + +#: src/modules/rolemenus/cog.py:1500 +msgctxt "cmd:rolemenu_addrole|success:edit|title" +msgid "Menu Role updated" +msgstr "" + +#: src/modules/rolemenus/cog.py:1512 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_addrole|error:role_exists" +msgid "The role {role} is already selectable from the menu **{menu}**" +msgstr "" + +#: src/modules/rolemenus/cog.py:1530 +msgctxt "cmd:rolemenu_addrole|success|error:reaction|name" +msgid "Note" +msgstr "" + +#: src/modules/rolemenus/cog.py:1542 +msgctxt "cmd:rolemenu_addrole|success|button:editor|label" +msgid "Edit Menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1559 +msgctxt "cmd:rolemenu_editrole" +msgid "editrole" +msgstr "" + +#: src/modules/rolemenus/cog.py:1562 +msgctxt "cmd:rolemenu_editrole|desc" +msgid "Edit role options in an existing role menu." +msgstr "" + +#: src/modules/rolemenus/cog.py:1567 +msgctxt "cmd:rolemenu_editrole|param:menu" +msgid "menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1570 +msgctxt "cmd:rolemenu_editrole|param:menu_role" +msgid "menu_role" +msgstr "" + +#: src/modules/rolemenus/cog.py:1573 +msgctxt "cmd:rolemenu_editrole|param:role" +msgid "new_role" +msgstr "" + +#: src/modules/rolemenus/cog.py:1584 +msgctxt "cmd:rolemenu_editrole|param:menu|desc" +msgid "Name of the menu to edit the role for" +msgstr "" + +#: src/modules/rolemenus/cog.py:1588 +msgctxt "cmd:rolemenu_editrole|param:menu_role|desc" +msgid "Label, name, or mention of the menu role to edit." +msgstr "" + +#: src/modules/rolemenus/cog.py:1592 +msgctxt "cmd:rolemenu_editrole|param:role|desc" +msgid "New server role this menu role should give." +msgstr "" + +#: src/modules/rolemenus/cog.py:1600 +msgctxt "cmd:rolemenu_editrole|param:duration|desc" +msgid "Lifetime of the role after selection in minutes." +msgstr "" + +#: src/modules/rolemenus/cog.py:1641 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_editrole|error:menu_not_found" +msgid "This server does not have a role menu called `{name}`!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1669 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_editrole|error:role_not_found" +msgid "The menu **{menu}** does not have the role **{name}**" +msgstr "" + +#: src/modules/rolemenus/cog.py:1735 +msgctxt "cmd:rolemenu_editrole|success|title" +msgid "Role menu role updated" +msgstr "" + +#: src/modules/rolemenus/cog.py:1750 +msgctxt "cmd:rolemenu_editrole|success|error:reaction|name" +msgid "Warning!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1775 +msgctxt "cmd:rolemenu_delrole" +msgid "delrole" +msgstr "" + +#: src/modules/rolemenus/cog.py:1778 +msgctxt "cmd:rolemenu_delrole|desc" +msgid "Remove a role from a role menu." +msgstr "" + +#: src/modules/rolemenus/cog.py:1782 +msgctxt "cmd:rolemenu_delrole|param:menu" +msgid "menu" +msgstr "" + +#: src/modules/rolemenus/cog.py:1783 +msgctxt "cmd:rolemenu_delrole|param:menu_role" +msgid "menu_role" +msgstr "" + +#: src/modules/rolemenus/cog.py:1788 +msgctxt "cmd:rolemenu_delrole|param:menu|desc" +msgid "Name of the menu to delete the role from." +msgstr "" + +#: src/modules/rolemenus/cog.py:1792 +msgctxt "cmd:rolemenu_delrole|param:menu_role|desc" +msgid "Name, label, or mention of the role to delete." +msgstr "" + +#: src/modules/rolemenus/cog.py:1810 +msgctxt "cmd:rolemenu_delrole|error:author_perms" +msgid "" +"You need the `MANAGE_ROLES` permission in order to manage the server role " +"menus." +msgstr "" + +#: src/modules/rolemenus/cog.py:1834 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delrole|error:menu_not_found" +msgid "This server does not have a role menu called `{name}`!" +msgstr "" + +#: src/modules/rolemenus/cog.py:1862 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delrole|error:role_not_found" +msgid "The menu **{menu}** does not have the role **{name}**" +msgstr "" + +#: src/modules/rolemenus/cog.py:1879 +#, possible-python-brace-format +msgctxt "cmd:rolemenu_delrole|success" +msgid "The role **{name}** was successfully removed from the menu **{menu}**." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:57 +msgctxt "roleset:role" +msgid "role" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:60 +msgctxt "roleset:role|desc" +msgid "The role associated to this menu item." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:64 +msgctxt "roleset:role|long_desc" +msgid "The role given when this menu item is selected in the role menu." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:77 +#, possible-python-brace-format +msgctxt "roleset:role|set_response:set" +msgid "This menu item will now give the role {role}." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:88 +msgctxt "roleset:label" +msgid "label" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:91 +msgctxt "roleset:label|desc" +msgid "A short button label for this role." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:96 +msgctxt "roleset:label|long_desc" +msgid "" +"A short name for this role, to be displayed in button labels, dropdown " +"titles, and some menu layouts. By default uses the Discord role name." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:110 +#, possible-python-brace-format +msgctxt "roleset:role|set_response" +msgid "This menu role is now called `{value}`." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:118 +msgctxt "roleset:emoji" +msgid "emoji" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:121 +msgctxt "roleset:emoji|desc" +msgid "The emoji associated with this role." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:125 +msgctxt "roleset:emoji|long_desc" +msgid "" +"The role emoji is used for the reaction (in reaction role menus), and " +"otherwise appears next to the role label in the button and dropdown styles. " +"The emoji is also displayed next to the role in most menu templates." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:165 +#, possible-python-brace-format +msgctxt "roleset:emoji|error:test_emoji" +msgid "The selected emoji `{emoji}` is invalid or has been deleted." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:176 +#, possible-python-brace-format +msgctxt "roleset:emoji|set_response:set" +msgid "The menu role emoji is now {emoji}." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:181 +msgctxt "roleset:emoji|set_response:unset" +msgid "The menu role emoji has been removed." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:189 +msgctxt "roleset:description" +msgid "description" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:192 +msgctxt "roleset:description|desc" +msgid "A longer description of this role." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:197 +msgctxt "roleset:description|long_desc" +msgid "" +"The description is displayed under the role label in dropdown style menus. " +"It may also be used as a substitution key in custom role selection " +"responses." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:213 +msgctxt "roleset:description|set_response:set" +msgid "The role description has been set." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:218 +msgctxt "roleset:description|set_response:unset" +msgid "The role description has been removed." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:226 +msgctxt "roleset:price" +msgid "price" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:229 +msgctxt "roleset:price|desc" +msgid "Price of the role, in LionCoins. May be negative." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:233 +msgctxt "roleset:price|long_desc" +msgid "" +"How many LionCoins should be deducted from a member's account when they equip this role through this menu.\n" +"The price may be negative, in which case the member will instead be rewarded coins when they equip the role." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:240 +msgctxt "roleset:price|accepts" +msgid "Amount of coins that the role costs when equipped." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:254 +#, possible-python-brace-format +msgctxt "roleset:price|set_response:positive" +msgid "Equipping this role will now cost {coin}**{price}**." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:259 +msgctxt "roleset:price|set_response:zero" +msgid "Equipping this role is now free." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:264 +#, possible-python-brace-format +msgctxt "roleset:price|set_response:negative" +msgid "Equipping this role will now reward {coin}**{price}**." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:272 +msgctxt "roleset:duration" +msgid "duration" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:275 +msgctxt "roleset:duration|desc" +msgid "Lifetime of the role after selection" +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:279 +msgctxt "roleset:duration|long_desc" +msgid "" +"Allows creation of 'temporary roles' which expire a given time after being " +"equipped. Refunds will not be given upon expiry." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:284 +msgctxt "roleset:duration|notset" +msgid "Forever." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:297 +#, possible-python-brace-format +msgctxt "roleset:duration|set_response:set" +msgid "This role will now expire after {duration}." +msgstr "" + +#: src/modules/rolemenus/roleoptions.py:302 +msgctxt "roleset:duration|set_response:unset" +msgid "This role will no longer expire after being selected." +msgstr "" + +#: src/modules/rolemenus/templates.py:53 +msgctxt "template:simple|name" +msgid "Simple Menu" +msgstr "" + +#: src/modules/rolemenus/templates.py:57 +msgctxt "template:simple|desc" +msgid "A simple embedded list of roles in the menu" +msgstr "" + +#: src/modules/rolemenus/templates.py:96 +msgctxt "template:two_column|name" +msgid "Two Column" +msgstr "عمودين" + +#: src/modules/rolemenus/templates.py:100 +msgctxt "template:two_column|desc" +msgid "A compact two column role layout. Excludes prices and durations." +msgstr "" + +#: src/modules/rolemenus/templates.py:131 +msgctxt "template:three_column|name" +msgid "Three Column" +msgstr "ثلاتة أعمدة" + +#: src/modules/rolemenus/templates.py:135 +msgctxt "template:three_column|desc" +msgid "" +"A compact three column layout using emojis and labels, excluding prices and " +"durations." +msgstr "" + +#: src/modules/rolemenus/templates.py:168 +msgctxt "template:shop|name" +msgid "Role Shop" +msgstr "" + +#: src/modules/rolemenus/templates.py:172 +msgctxt "template:shop|desc" +msgid "A single column display suitable for simple role shops" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:294 +msgctxt "rolemenu|menu_message|error|title" +msgid "ROLE MENU DISPLAY ERROR" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:298 +#, possible-python-brace-format +msgctxt "rolemenu|menu_message|error|desc" +msgid "" +"A critical error occurred trying to display this role menu.\n" +"Error: `{error}`." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:350 +#, possible-python-brace-format +msgctxt "rolemenu|update_reactions|error" +msgid "" +"Could not add the {emoji} reaction, perhaps I do not have access to this " +"emoji! Reactions will need to be added manually." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:395 +msgctxt "ui:rolemenu_dropdown|placeholder" +msgid "Select Roles" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:506 +#, possible-python-brace-format +msgctxt "rolemenu|select|error:max_obtainable" +msgid "You can own at most one role from this menu! You currently own:" +msgid_plural "" +"You can own at most **{count}** roles from this menu! You currently own:" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/rolemenus/rolemenu.py:523 +#, possible-python-brace-format +msgctxt "rolemenu|select|error:insufficient_funds" +msgid "" +"The role **{role}** costs {coin}**{cost}**,but you only have " +"{coin}**{balance}**!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:539 +msgctxt "rolemenu|select|error:perms" +msgid "I don't have enough permissions to give you this role!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:546 +msgctxt "rolemenu|select|error:discord" +msgid "" +"An unknown error occurred while assigning your role! Please try again later." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:588 +msgctxt "rolemenu|select|success|title" +msgid "Role equipped" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:594 +#, possible-python-brace-format +msgctxt "rolemenu|select|success:purchase|desc" +msgid "You have purchased the role **{role}** for {coin}**{amount}**" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:599 +#, possible-python-brace-format +msgctxt "rolemenu|select|success:nopurchase|desc" +msgid "You have equipped **{role}**" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:605 +#, possible-python-brace-format +msgctxt "rolemenu|select|expires_at" +msgid "The role will expire at {timestamp}." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:616 +msgctxt "rolemenu|eventlog|event:role_equipped|title" +msgid "Member equipped role from role menu" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:620 +#, possible-python-brace-format +msgctxt "rolemenu|eventlog|event:role_equipped|desc" +msgid "{member} equipped {role} from {menu}" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:644 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|error:sticky" +msgid "**{role}** is a sticky role, you cannot remove it with this menu!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:655 +msgctxt "rolemenu|deselect|error:perms" +msgid "I don't have enough permissions to remove this role from you!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:662 +msgctxt "rolemenu|deselect|error:discord" +msgid "An unknown error occurred removing your role! Please try again later." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:691 +msgctxt "rolemenu|deslect|success|title" +msgid "Role removed" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:697 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|success:refund|desc" +msgid "You have removed **{role}**, and been refunded {coin} **{amount}**." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:703 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|success:negrefund|desc" +msgid "You have removed **{role}**, and have lost {coin} **{amount}**." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:708 +#, possible-python-brace-format +msgctxt "rolemenu|deselect|success:norefund|desc" +msgid "You have unequipped **{role}**." +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:715 +msgctxt "rolemenu|eventlog|event:role_unequipped|title" +msgid "Member unequipped role from role menu" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:719 +#, possible-python-brace-format +msgctxt "rolemenu|eventlog|event:role_unequipped|desc" +msgid "{member} unequipped {role} from {menu}" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:747 +#, possible-python-brace-format +msgctxt "rolemenu|error:role_gone" +msgid "The role **{name}** no longer exists!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:760 +#, possible-python-brace-format +msgctxt "rolemenu|select|error:required_role" +msgid "You need to have the role **{role}** required to use this menu!" +msgstr "" + +#: src/modules/rolemenus/rolemenu.py:818 +#, possible-python-brace-format +msgctxt "rolemenu|content:reactions" +msgid "[Click here]({jump_link}) to jump back." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:56 +msgctxt "menuset:name" +msgid "name" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:59 +msgctxt "menuset:name|desc" +msgid "Brief name for this role menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:64 +msgctxt "menuset:name|long_desc" +msgid "" +"The role menu name is displayed when selecting the menu in commands, and as " +"the title of most default menu layouts." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:78 +#, possible-python-brace-format +msgctxt "menuset:name|set_response" +msgid "This role menu will now be called **{new_name}**." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:86 +msgctxt "menuset:sticky" +msgid "sticky_roles" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:89 +msgctxt "menuset:sticky|desc" +msgid "Whether the menu can be used to unequip roles." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:94 +msgctxt "menuset:sticky|long_desc" +msgid "" +"When enabled, members will not be able to remove equipped roles by selecting" +" them in this menu. Note that when disabled, members will be able to unequip" +" the menu roles even if they were not obtained from the menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:110 +msgctxt "menuset:sticky|set_response:true" +msgid "Members will no longer be able to remove roles with this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:115 +msgctxt "menuset:sticky|set_response:false" +msgid "Members will now be able to remove roles with this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:123 +msgctxt "menuset:refunds" +msgid "refunds" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:126 +msgctxt "menuset:refunds|desc" +msgid "Whether removing a role will refund the purchase price for that role." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:131 +msgctxt "menuset:refunds|long_desc" +msgid "" +"When enabled, members who *purchased a role through this role menu* will obtain a full refund when they remove the role through the menu.\n" +"**Refunds will only be given for roles purchased through the same menu.**\n" +"**The `sticky` option must be disabled to allow members to remove roles.**" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:148 +msgctxt "menuset:refunds|set_response:true" +msgid "Members will now be refunded when removing a role with this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:153 +msgctxt "menuset:refunds|set_response:false" +msgid "" +"Members will no longer be refunded when removing a role with this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:161 +msgctxt "menuset:obtainable" +msgid "obtainable" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:164 +msgctxt "menuset:obtainable|desc" +msgid "The maximum number of roles equippable from this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:169 +msgctxt "menuset:obtainable|long_desc" +msgid "" +"Members will not be able to obtain more than this number of roles from this " +"menu. This counts roles that were not obtained through the rolemenu system." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:174 +msgctxt "menuset:obtainable|notset" +msgid "Unlimited." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:188 +#, possible-python-brace-format +msgctxt "menuset:obtainable|set_response:set" +msgid "" +"Members will be able to select a maximum of **{value}** roles from this " +"menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:193 +msgctxt "menuset:obtainable|set_response:unset" +msgid "Members will be able to select any number of roles from this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:201 +msgctxt "menuset:required_role" +msgid "required_role" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:204 +msgctxt "menuset:required_role|desc" +msgid "Initial role required to use this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:209 +msgctxt "menuset:required_role|long_desc" +msgid "" +"If set, only members who have the `required_role` will be able to obtain or " +"remove roles using this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:223 +#, possible-python-brace-format +msgctxt "menuset:required_role|set_response:set" +msgid "Members will need to have the {role} role to use this menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:228 +msgctxt "menuset:required_role|set_response:unset" +msgid "Any member who can see the menu may use it." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:236 +msgctxt "menuset:message" +msgid "custom_message" +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:239 +msgctxt "menuset:message|desc" +msgid "Custom message data used to display the menu." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:243 +msgctxt "menuset:message|long_desc" +msgid "" +"This setting determines the body of the menu message, including the message " +"content and the message embed(s). While most easily modifiable through the " +"`Edit Message` button, raw JSON-formatted message data may also be uploaded " +"via command." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:260 +msgctxt "menuset:message|set_response:set" +msgid "The role menu message has been set. Edit through the menu editor." +msgstr "" + +#: src/modules/rolemenus/menuoptions.py:265 +msgctxt "menuset:message|set_response:unset" +msgid "" +"The role menu message has been unset. Select a template through the menu " +"editor." +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:105 +msgctxt "ui:menu_list|menu:editmenu|placeholder" +msgid "Select Menu to Edit" +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:129 +#, possible-python-brace-format +msgctxt "ui:menu_list|menu_line:attached" +msgid "[`{name}`]({jump_url}) with `{count}` roles." +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:138 +#, possible-python-brace-format +msgctxt "ui:menu_list|menu_line:unattached" +msgid "`{name}` with `{count}` roles." +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:163 +#, possible-python-brace-format +msgctxt "ui:menu_list|embed|title" +msgid "Role Menus in {guild}" +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:172 +msgctxt "ui:menu_list|embed|field:tips|name" +msgid "Tips" +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:176 +msgctxt "ui:menu_list|embed|field:tips|value" +msgid "" +"Right click an existing message or use the `newmenu` command to create a new" +" menu." +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:189 +msgctxt "ui:menu_list|embed|field:unattached|name" +msgid "Unattached Menus" +msgstr "" + +#: src/modules/rolemenus/ui/menus.py:201 +msgctxt "ui:menu_list|embed|footer:text" +msgid "Click a menu name to jump to the message." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:93 +msgctxt "ui:menu_editor|preview|error:title" +msgid "Display Error!" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:97 +#, possible-python-brace-format +msgctxt "ui:menu_editor|preview|error:desc" +msgid "" +"Failed to display preview!\n" +"**Error:** `{exception}`" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:151 +msgctxt "ui:menu_editor|button:options|label" +msgid "Menu Options" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:179 +msgctxt "ui:menu_editor|button:bulk_edit|modal|title" +msgid "Menu Options" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:218 +msgctxt "ui:menu_editor|button:bulk_edit|label" +msgid "Bulk Edit" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:238 +msgctxt "ui:menu_editor|button:sticky|label" +msgid "Toggle Sticky" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:262 +msgctxt "ui:menu_editor|button:refunds|label" +msgid "Toggle Refunds" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:292 +msgctxt "ui:menu_editor|menu:reqroles|placeholder" +msgid "Select Required Role" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:311 +msgctxt "ui:menu_editor|button:modify_roles|label" +msgid "Modify Roles" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:340 +msgctxt "ui:menu_editor|role_editor|modal|title" +msgid "Edit Menu Role" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:416 +msgctxt "ui:menu_editor|menu:add_roles|error:too_many_reactions" +msgid "Too many roles! Reaction role menus cannot exceed `20` roles." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:421 +msgctxt "ui:menu_editor|menu:add_roles|error:too_many_roles" +msgid "Too many roles! Role menus cannot have more than `25` roles." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:460 +msgctxt "ui:menu_editor|menu:add_roles|placeholder" +msgid "Add Roles" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:486 +msgctxt "ui:menu_editor|menu:edit_roles|placeholder" +msgid "Edit Roles" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:524 +msgctxt "ui:menu_editor|menu:del_role|placeholder" +msgid "Remove Roles" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:548 +msgctxt "ui:menu_editor|button:style|error:non-managed" +msgid "" +"Cannot change the style of a menu attached to a message I did not send! " +"Please repost first." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:561 +msgctxt "ui:menu_editor|button:style|label" +msgid "Menu Style" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:586 +msgctxt "ui:menu_editor|menu:style|error:too_many_reactions" +msgid "" +"Too many roles! The Reaction style is limited to `20` roles (Discord " +"limitation)." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:596 +msgctxt "ui:menu_editor|menu:style|error:incomplete_emojis" +msgid "" +"Cannot switch to the Reaction Role Style! Every role needs to have a " +"distinct emoji first." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:614 +msgctxt "ui:menu_editor|menu:style|placeholder" +msgid "Select Menu Style" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:618 +msgctxt "ui:menu_editor|menu:style|option:reaction|label" +msgid "Reaction Roles" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:621 +msgctxt "ui:menu_editor|menu:style|option:reaction|desc" +msgid "Roles are represented compactly as clickable reactions on a message." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:627 +msgctxt "ui:menu_editor|menu:style|option:button|label" +msgid "Button Menu" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:630 +msgctxt "ui:menu_editor|menu:style|option:button|desc" +msgid "" +"Roles are represented in 5 rows of 5 buttons, each with an emoji and label." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:636 +msgctxt "ui:menu_editor|menu:style|option:dropdown|label" +msgid "Dropdown Menu" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:639 +msgctxt "ui:menu_editor|menu:style|option:dropdown|desc" +msgid "Roles are selectable from a dropdown menu below the message." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:709 +msgctxt "ui:menu_editor|menu:template|placeholder" +msgid "Select Message Template" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:719 +msgctxt "ui:menu_editor|menu:template|option:custom|label" +msgid "Custom Message" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:724 +msgctxt "ui:menu_editor|menu:template|option:custom|description" +msgid "Entirely custom menu message (opens an interactive editor)." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:741 +msgctxt "ui:menu_editor|button:delete|confirm|title" +msgid "Are you sure you want to delete this menu? This is not reversible!" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:746 +msgctxt "ui:menu_editor|button:delete|confirm|button:yes" +msgid "Yes, Delete Now" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:751 +msgctxt "ui:menu_editor|button:delete|confirm|button:no" +msgid "No, Go Back" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:768 +msgctxt "ui:menu_editor|button:delete|label" +msgid "Delete Menu" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:825 +msgctxt "ui:menu_editor|button:edit_msg|label" +msgid "Edit Message" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:851 +msgctxt "ui:menu_editor|button:preview|label" +msgid "Preview" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:867 +msgctxt "ui:menu_editor|button:repost|widget:repost|menu:channel|placeholder" +msgid "Select New Channel" +msgstr "اختر قائمة جديدة" + +#: src/modules/rolemenus/ui/menueditor.py:885 +msgctxt "ui:menu_editor|button:repost|widget:repost|error:perms|title" +msgid "Insufficient Permissions!" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:889 +msgctxt "ui:menu_editor|button:repost|eidget:repost|error:perms|desc" +msgid "" +"I lack the `EMBED_LINKS` or `SEND_MESSAGES` permission in this channel." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:902 +#, possible-python-brace-format +msgctxt "ui:menu_editor|button:repost|widget:repost|error:post_failed" +msgid "" +"An unknown error ocurred while posting to {channel}!\n" +"**Error:** `{exception}`" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:915 +msgctxt "ui:menu_editor|button:repost|widget:repost|success|title" +msgid "Role Menu Moved" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:921 +#, possible-python-brace-format +msgctxt "ui:menu_editor|button:repost|widget:repost|success|desc:general" +msgid "The role menu `{name}` is now available at {message_link}." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:935 +msgctxt "ui:menu_editor|button:repost|widget:repost|success|desc:reactions" +msgid "Please check the message reactions are correct." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:948 +msgctxt "ui:menu_editor|button:repost|widget:repost|title" +msgid "Repost Role Menu" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:952 +msgctxt "ui:menu_editor|button:repost|widget:repost|description" +msgid "Please select the channel to which you want to resend this menu." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:967 +msgctxt "ui:menu_editor|button:repost|label:repost" +msgid "Repost" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:972 +msgctxt "ui:menu_editor|button:repost|label:post" +msgid "Post" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:982 +msgctxt "ui:menu_editor|embed|title" +msgid "Role Menu Editor" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:991 +#, possible-python-brace-format +msgctxt "ui:menu_editor|embed|description|jump_text:attached" +msgid "Members may use this menu from {jump_url}" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:996 +msgctxt "ui:menu_editor|embed|description|jump_text:unattached" +msgid "" +"This menu is not currently active!\n" +"Make it available by clicking `Post` below." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:1010 +msgctxt "ui:menu_editor|embed|field:tips|name" +msgid "Command Tips" +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:1014 +#, possible-python-brace-format +msgctxt "ui:menu_editor|embed|field:tips|value" +msgid "" +"Use the following commands for faster menu setup.\n" +"{menuedit} to edit the above menu options.\n" +"{addrole} to add new roles (recommended for roles with emojis).\n" +"{editrole} to edit role options." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:1054 +msgctxt "ui:menu_editor|error:invald_emoji|title" +msgid "Invalid emoji encountered." +msgstr "" + +#: src/modules/rolemenus/ui/menueditor.py:1058 +#, possible-python-brace-format +msgctxt "ui:menu_editor|error:invalid_emoji|desc" +msgid "" +"The emoji `{emoji}` for menu role `{label}` no longer exists, unsetting." +msgstr "" diff --git a/locales/ar/LC_MESSAGES/rooms.po b/locales/ar/LC_MESSAGES/rooms.po new file mode 100644 index 000000000000..de0c66a6434e --- /dev/null +++ b/locales/ar/LC_MESSAGES/rooms.po @@ -0,0 +1,844 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/rooms/settingui.py:39 +msgctxt "ui:room_config|menu:category|placeholder" +msgid "Select Private Room Category" +msgstr "" + +#: src/modules/rooms/settingui.py:54 +msgctxt "ui:room_config|button:visible|label" +msgid "Toggle Room Visibility" +msgstr "" + +#: src/modules/rooms/settingui.py:64 +msgctxt "ui:rooms_config|embed|title" +msgid "Private Room System Configuration Panel" +msgstr "" + +#: src/modules/rooms/settingui.py:100 +msgctxt "dash:rooms|title" +msgid "Private Room Configuration ({commands[admin config rooms]})" +msgstr "" + +#: src/modules/rooms/settingui.py:104 +msgctxt "dash:economy|dropdown|placeholder" +msgid "Private Room Panel" +msgstr "لوحة الغرف الخاصة" + +#: src/modules/rooms/roomui.py:56 +msgctxt "ui:room_status|error:owner_required" +msgid "You must be the private room owner to do this!" +msgstr "يجب أن تكون مالك تلك الغرفة للقيام بذلك" + +#: src/modules/rooms/roomui.py:72 +msgctxt "ui:room_status|error:member_required" +msgid "You need to be a member of the private room to do this!" +msgstr "يجب أن تكون عضو للقيام بذلك" + +#: src/modules/rooms/roomui.py:90 +msgctxt "ui:room_status|button:deposit|modal:deposit|title" +msgid "Room Deposit" +msgstr "" + +#: src/modules/rooms/roomui.py:94 +msgctxt "ui:room_status|button:deposit|modal:deposit|field:question|label" +msgid "How many LionCoins do you want to deposit?" +msgstr "" + +#: src/modules/rooms/roomui.py:112 +#, possible-python-brace-format +msgctxt "ui:room_status|button:deposit|error:invalid_number" +msgid "Cannot deposit `{inputted}` coins. Please enter a positive integer." +msgstr "" + +#: src/modules/rooms/roomui.py:144 +#, possible-python-brace-format +msgctxt "ui:room_status|button:deposit|error:insufficient_funds" +msgid "" +"You cannot deposit {coin}**{amount}**! You only have {coin}**{balance}**." +msgstr "" + +#: src/modules/rooms/roomui.py:160 +msgctxt "ui:room_status|button:deposit|label" +msgid "Deposit" +msgstr "" + +#: src/modules/rooms/roomui.py:171 +msgctxt "ui:room_status|button:edit|label" +msgid "Edit Room" +msgstr "" +"تعديل الغرفة\n" +"AT: تعديل القناة" + +#: src/modules/rooms/roomui.py:204 +msgctxt "ui:room_status|button:timer|modal:add_timer|title" +msgid "Create Room Timer" +msgstr "انشئ مؤقت للغرفة" + +#: src/modules/rooms/roomui.py:236 +#, possible-python-brace-format +msgctxt "ui:room_status|button:timer|timer_created" +msgid "Timer created successfully! Use {edit_cmd} to configure further." +msgstr "" + +#: src/modules/rooms/roomui.py:254 +msgctxt "ui:room_status|button:timer|label:edit_timer" +msgid "Edit Timer" +msgstr "" + +#: src/modules/rooms/roomui.py:261 +msgctxt "ui:room_status|button:timer|label:add_timer" +msgid "Add Timer" +msgstr "" + +#: src/modules/rooms/roomui.py:304 +#, possible-python-brace-format +msgctxt "ui:room_status|menu:invite|error:too_many_members" +msgid "" +"Too many members! You are inviting `{count}` new members to your room, but " +"you already have `{current}` members! The member cap is `{cap}`." +msgstr "" + +#: src/modules/rooms/roomui.py:330 +msgctxt "ui:room_status|menu:invite_menu|placeholder:capped" +msgid "Room member cap reached!" +msgstr "" + +#: src/modules/rooms/roomui.py:336 +msgctxt "ui:room_status|menu:invite_menu|placeholder:notcapped" +msgid "Add Members" +msgstr "" + +#: src/modules/rooms/roomui.py:359 +msgctxt "ui:room_status|menu:kick_menu|placeholder" +msgid "Remove Members" +msgstr "" + +#: src/modules/rooms/roomui.py:367 +msgctxt "ui:room_status|embed|title" +msgid "Room Control Panel" +msgstr "" + +#: src/modules/rooms/roomui.py:375 +msgctxt "ui:room_status|embed|field:channel|name" +msgid "Channel" +msgstr "" + +#: src/modules/rooms/roomui.py:380 +msgctxt "ui:room_status|embed|field:owner|name" +msgid "Owner" +msgstr "" + +#: src/modules/rooms/roomui.py:385 +msgctxt "ui:room_status|embed|field:created|name" +msgid "Created At" +msgstr "" + +#: src/modules/rooms/roomui.py:395 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:bank|value:expiring" +msgid "" +"**Warning:** Insufficient room balance to pay next rent ({coin} **{rent}**).\n" +"The room will expire {expiry}.\n" +"Use {room_deposit_cmd} to increase balance." +msgstr "" + +#: src/modules/rooms/roomui.py:407 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:bank|value:notexpiring" +msgid "Next rent due {time} (- {coin}**{rent}**)" +msgstr "" + +#: src/modules/rooms/roomui.py:416 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:bank|name" +msgid "Room Balance: {coin}**{amount}**" +msgstr "" + +#: src/modules/rooms/roomui.py:428 +#, possible-python-brace-format +msgctxt "ui:room_status|embed|field:members|name" +msgid "Members ({count}/{cap})" +msgstr "" + +#: src/modules/rooms/cog.py:175 src/modules/rooms/room.py:364 +msgctxt "room|eventlog|event:room_deleted|title" +msgid "Private Room Deleted" +msgstr "" + +#: src/modules/rooms/cog.py:179 src/modules/rooms/room.py:368 +#, possible-python-brace-format +msgctxt "room|eventlog|event:room_deleted|desc" +msgid "{owner}'s private room was deleted." +msgstr "" + +#: src/modules/rooms/cog.py:270 +#, possible-python-brace-format +msgctxt "create_room|create_channel|audit_reason" +msgid "Creating Private Room for {ownerid}" +msgstr "" + +#: src/modules/rooms/cog.py:279 +msgctxt "eventlog|event:private_room_create_error|name" +msgid "Private Room Creation Failed" +msgstr "" + +#: src/modules/rooms/cog.py:283 +#, possible-python-brace-format +msgctxt "eventlog|event:private_room_create_error|desc" +msgid "" +"{owner} attempted to rent a new private room, but I could not create it!\n" +"They were not charged." +msgstr "" + +#: src/modules/rooms/cog.py:329 +msgctxt "eventlog|event:private_room_create|name" +msgid "Private Room Rented" +msgstr "" + +#: src/modules/rooms/cog.py:333 +#, possible-python-brace-format +msgctxt "eventlog|event:private_room_create|desc" +msgid "{owner} has rented a new private room {channel}!" +msgstr "" + +#: src/modules/rooms/cog.py:368 +msgctxt "cmd:room" +msgid "room" +msgstr "" + +#: src/modules/rooms/cog.py:369 +msgctxt "cmd:room|desc" +msgid "Base command group for private room configuration." +msgstr "" + +#: src/modules/rooms/cog.py:376 +msgctxt "cmd:room_rent" +msgid "rent" +msgstr "" + +#: src/modules/rooms/cog.py:379 +msgctxt "cmd:room_rent|desc" +msgid "Rent a private voice channel with LionCoins." +msgstr "" + +#: src/modules/rooms/cog.py:383 +msgctxt "cmd:room_rent|param:days" +msgid "days" +msgstr "" + +#: src/modules/rooms/cog.py:384 +msgctxt "cmd:room_rent|param:members" +msgid "members" +msgstr "" + +#: src/modules/rooms/cog.py:385 +msgctxt "cmd:room_rent|param:name" +msgid "name" +msgstr "" + +#: src/modules/rooms/cog.py:390 +msgctxt "cmd:room_rent|param:days|desc" +msgid "Number of days to pre-purchase. (Default: 1)" +msgstr "" + +#: src/modules/rooms/cog.py:394 +msgctxt "cmd:room_rent|param:members|desc" +msgid "Mention the members you want to add to your private room." +msgstr "" + +#: src/modules/rooms/cog.py:398 +msgctxt "cmd:room_rent|param:name|desc" +msgid "Name of your private voice channel." +msgstr "" + +#: src/modules/rooms/cog.py:416 +msgctxt "cmd:room_rent|error:not_setup" +msgid "" +"The private room system has not been set up! A private room category needs " +"to be set first with `/admin config rooms`." +msgstr "" + +#: src/modules/rooms/cog.py:427 +msgctxt "cmd:room_rent|error:insufficient_perms" +msgid "" +"I do not have enough permissions to create a new channel under the " +"configured private room category!" +msgstr "" + +#: src/modules/rooms/cog.py:441 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:room_exists" +msgid "You already own a private room! Click to visit: {channel}" +msgstr "" + +#: src/modules/rooms/cog.py:461 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:member_not_found" +msgid "Could not find the requested member {mention} in this server!" +msgstr "" + +#: src/modules/rooms/cog.py:475 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:too_many_members" +msgid "" +"Too many members! You have requested to add `{count}` members to your room, " +"but the maximum private room size is `{cap}`!" +msgstr "" + +#: src/modules/rooms/cog.py:489 +#, possible-python-brace-format +msgctxt "cmd:room_rent|confirm:purchase" +msgid "" +"Are you sure you want to spend {coin}**{required}** to rent a private room " +"for `one` day?" +msgid_plural "" +"Are you sure you want to spend {coin}**{required}** to rent a private room " +"for `{days}` days?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/rooms/cog.py:514 +#, possible-python-brace-format +msgctxt "cmd:room_rent|success" +msgid "Successfully created your private room {channel}!" +msgstr "" + +#: src/modules/rooms/cog.py:519 +msgctxt "cmd:room_rent|success|title" +msgid "Private Room Created!" +msgstr "" + +#: src/modules/rooms/cog.py:572 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:insufficient_funds" +msgid "" +"Renting a private room for `one` day costs {coin}**{required}**, but you " +"only have {coin}**{balance}**!" +msgid_plural "" +"Renting a private room for `{days}` days costs {coin}**{required}**, but you" +" only have {coin}**{balance}**!" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/rooms/cog.py:606 +msgctxt "cmd:room_rent|error:my_permissions" +msgid "" +"Could not create your private room! You were not charged.\n" +"I have insufficient permissions to create a private room channel." +msgstr "" + +#: src/modules/rooms/cog.py:617 +#, possible-python-brace-format +msgctxt "cmd:room_rent|error:unknown" +msgid "" +"Could not create your private room! You were not charged.\n" +"An unknown error occurred while creating your private room.\n" +"`{error}`" +msgstr "" + +#: src/modules/rooms/cog.py:626 +msgctxt "cmd:room_status" +msgid "status" +msgstr "" + +#: src/modules/rooms/cog.py:629 +msgctxt "cmd:room_status|desc" +msgid "Display the status of your current room." +msgstr "" + +#: src/modules/rooms/cog.py:646 +msgctxt "cmd:room_status|error:no_target" +msgid "" +"Could not identify target private room! Please re-run the command in the " +"private room you wish to view the status of." +msgstr "" + +#: src/modules/rooms/cog.py:661 +msgctxt "cmd:room_invite" +msgid "invite" +msgstr "" + +#: src/modules/rooms/cog.py:664 +msgctxt "cmd:room_invite|desc" +msgid "Add members to your private room." +msgstr "" + +#: src/modules/rooms/cog.py:668 +msgctxt "cmd:room_invite|param:members" +msgid "members" +msgstr "" + +#: src/modules/rooms/cog.py:673 +msgctxt "cmd:room_invite|param:members|desc" +msgid "Mention the members you want to add." +msgstr "" + +#: src/modules/rooms/cog.py:687 +#, possible-python-brace-format +msgctxt "cmd:room_invite|error:no_room" +msgid "" +"You do not own a private room! Use `/room rent` to rent one with {coin}!" +msgstr "" + +#: src/modules/rooms/cog.py:708 +#, possible-python-brace-format +msgctxt "cmd:room_invite|error:member_not_found" +msgid "Could not find the invited member {mention} in this server!" +msgstr "" + +#: src/modules/rooms/cog.py:719 +msgctxt "cmd:room_invite|error:no_new_members" +msgid "All members mentioned are already in the room!" +msgstr "" + +#: src/modules/rooms/cog.py:733 +#, possible-python-brace-format +msgctxt "cmd:room_invite|error:too_many_members" +msgid "" +"Too many members! You have invited `{count}` new members to your room, but " +"you already have `{current}`, and the member cap is `{cap}`!" +msgstr "" + +#: src/modules/rooms/cog.py:757 +msgctxt "cmd:room_invite|success|ack" +msgid "Members Invited successfully." +msgstr "" + +#: src/modules/rooms/cog.py:765 +msgctxt "cmd:room_kick" +msgid "kick" +msgstr "" + +#: src/modules/rooms/cog.py:768 +msgctxt "cmd:room_kick|desc" +msgid "Remove a members from your private room." +msgstr "" + +#: src/modules/rooms/cog.py:772 +msgctxt "cmd:room_kick|param:members" +msgid "members" +msgstr "" + +#: src/modules/rooms/cog.py:777 +msgctxt "cmd:room_kick|param:members|desc" +msgid "" +"Mention the members you want to remove. Also accepts space-separated user " +"ids." +msgstr "" + +#: src/modules/rooms/cog.py:791 +#, possible-python-brace-format +msgctxt "cmd:room_kick|error:no_room" +msgid "" +"You do not own a private room! Use `/room rent` to rent one with {coin}!" +msgstr "" + +#: src/modules/rooms/cog.py:808 +msgctxt "cmd:room_kick|error:no_matching_members" +msgid "None of the mentioned members are in this room!" +msgstr "" + +#: src/modules/rooms/cog.py:825 +msgctxt "cmd:room_kick|success|ack" +msgid "Members removed." +msgstr "" + +#: src/modules/rooms/cog.py:831 +msgctxt "cmd:room_transfer" +msgid "transfer" +msgstr "" + +#: src/modules/rooms/cog.py:834 +msgctxt "cmd:room_transfer|desc" +msgid "Transfer your private room to another room member. Not reversible!" +msgstr "" + +#: src/modules/rooms/cog.py:838 +msgctxt "cmd:room_transfer|param:new_owner" +msgid "new_owner" +msgstr "" + +#: src/modules/rooms/cog.py:843 +msgctxt "cmd:room_transfer|param:new_owner" +msgid "The room member you would like to transfer your room to." +msgstr "" + +#: src/modules/rooms/cog.py:857 +msgctxt "cmd:room_transfer|error:no_room" +msgid "You do not own a private room to transfer!" +msgstr "" + +#: src/modules/rooms/cog.py:869 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|error:target_not_member" +msgid "" +"{mention} is not a member of your private room! You must invite them first." +msgstr "" + +#: src/modules/rooms/cog.py:881 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|error:target_has_room" +msgid "" +"{mention} already owns a room! Members can only own one room at a time." +msgstr "" + +#: src/modules/rooms/cog.py:890 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|confirm|question" +msgid "" +"Are you sure you wish to transfer your private room {channel} to " +"{new_owner}? This action is not reversible!" +msgstr "" + +#: src/modules/rooms/cog.py:910 +#, possible-python-brace-format +msgctxt "cmd:room_transfer|success|description" +msgid "" +"You have successfully transferred ownership of {channel} to {new_owner}." +msgstr "" + +#: src/modules/rooms/cog.py:916 +msgctxt "cmd:room_deposit" +msgid "deposit" +msgstr "" + +#: src/modules/rooms/cog.py:919 +msgctxt "cmd:room_deposit|desc" +msgid "" +"Deposit LionCoins in your private room bank to add more days. (Members may " +"also deposit!)" +msgstr "" + +#: src/modules/rooms/cog.py:923 +msgctxt "cmd:room_deposit|param:coins" +msgid "coins" +msgstr "" + +#: src/modules/rooms/cog.py:928 +msgctxt "cmd:room_deposit|param:coins|desc" +msgid "Number of coins to deposit." +msgstr "" + +#: src/modules/rooms/cog.py:948 +msgctxt "cmd:room_deposit|error:no_target" +msgid "" +"Could not identify target private room! Please re-run the command in the " +"private room you wish to contribute to." +msgstr "" + +#: src/modules/rooms/cog.py:964 +#, possible-python-brace-format +msgctxt "cmd:room_deposit|error:insufficient_funds" +msgid "" +"You cannot deposit {coin}**{amount}**! You only have {coin}**{balance}**." +msgstr "" + +#: src/modules/rooms/cog.py:985 +#, possible-python-brace-format +msgctxt "cmd:room_depost|success" +msgid "" +"Success! You have contributed {coin}**{amount}** to the private room bank." +msgstr "" + +#: src/modules/rooms/cog.py:1000 +msgctxt "cmd:configure_rooms" +msgid "rooms" +msgstr "غرف" + +#: src/modules/rooms/cog.py:1001 +msgctxt "cmd:configure_rooms|desc" +msgid "Configure Rented Private Rooms" +msgstr "" + +#: src/modules/rooms/room.py:78 +msgctxt "room|eventlog|field:owner" +msgid "Owner" +msgstr "" + +#: src/modules/rooms/room.py:84 +msgctxt "room|eventlog|field:channel" +msgid "Channel" +msgstr "" + +#: src/modules/rooms/room.py:90 +msgctxt "room|eventlog|field:balance" +msgid "Room Balance" +msgstr "" + +#: src/modules/rooms/room.py:96 +msgctxt "room|eventlog|field:created" +msgid "Created At" +msgstr "" + +#: src/modules/rooms/room.py:102 +msgctxt "room|eventlog|field:tick" +msgid "Next Rent Due" +msgstr "" + +#: src/modules/rooms/room.py:108 +msgctxt "room|eventlog|field:members" +msgid "Private Room Members" +msgstr "" + +#: src/modules/rooms/room.py:123 +#, possible-python-brace-format +msgctxt "room|notify:deposit|description" +msgid "{member} has deposited {coin}**{amount}** into the room bank!" +msgstr "" + +#: src/modules/rooms/room.py:146 +msgctxt "room|notify:new_members|title" +msgid "New Members!" +msgstr "عضو جديد" + +#: src/modules/rooms/room.py:150 +#, possible-python-brace-format +msgctxt "room|notify:new_members|desc" +msgid "Welcome {members}" +msgstr "مرحبا {members}" + +#: src/modules/rooms/room.py:156 +msgctxt "room|eventlog|event:new_members|title" +msgid "Members invited to private room" +msgstr "" + +#: src/modules/rooms/room.py:160 +#, possible-python-brace-format +msgctxt "room|eventlog|event:new_members|desc" +msgid "{owner} added members to their private room: {members}" +msgstr "" + +#: src/modules/rooms/room.py:191 +msgctxt "room|eventlog|event:rm_members|title" +msgid "Members removed from private room" +msgstr "" + +#: src/modules/rooms/room.py:195 +#, possible-python-brace-format +msgctxt "room|eventlog|event:rm_members|desc" +msgid "{owner} removed members from their private room: {members}" +msgstr "" + +#: src/modules/rooms/room.py:254 +#, possible-python-brace-format +msgctxt "room|notify:transfer|description" +msgid "{old_owner} has transferred private room ownership to {new_owner}" +msgstr "" + +#: src/modules/rooms/room.py:318 +msgctxt "room|embed:expiry|title" +msgid "Private Room Expired!" +msgstr "" + +#: src/modules/rooms/room.py:322 +#, possible-python-brace-format +msgctxt "room|embed:expiry|description" +msgid "Your private room in **{guild}** has expired!" +msgstr "" + +#: src/modules/rooms/room.py:332 +msgctxt "room|eventlog|event:expired|title" +msgid "Private Room Expired" +msgstr "" + +#: src/modules/rooms/room.py:336 +#, possible-python-brace-format +msgctxt "room|eventlog|event:expired|desc" +msgid "{owner}'s private room has expired." +msgstr "" + +#: src/modules/rooms/room.py:349 +#, possible-python-brace-format +msgctxt "room|tick|rent_deducted" +msgid "Daily rent deducted from room balance. New balance: {coin}**{amount}**" +msgstr "" + +#: src/modules/rooms/settings.py:23 +msgctxt "guildset:room_category" +msgid "rooms_category" +msgstr "" + +#: src/modules/rooms/settings.py:27 +msgctxt "guildset:rooms_category|desc" +msgid "Category in which to create private voice channels." +msgstr "" + +#: src/modules/rooms/settings.py:31 +msgctxt "guildset:room_category|long_desc" +msgid "" +"When a member uses {cmds[room rent]} to rent a new private room, a private " +"voice channel will be created under this category, manageable by the member." +" I must have permission to create new channels in this category, as well as " +"to manage permissions." +msgstr "" + +#: src/modules/rooms/settings.py:39 +msgctxt "guildset:room_category|accepts" +msgid "Private room category name or id." +msgstr "" + +#: src/modules/rooms/settings.py:53 +msgctxt "guildset:rooms_category|set_response:unset" +msgid "" +"The private room category has been unset. Existing private rooms will not be" +" affected. Delete the channels manually to remove the private rooms." +msgstr "" + +#: src/modules/rooms/settings.py:59 +#, possible-python-brace-format +msgctxt "guildset:rooms_category|set_response:set" +msgid "" +"Private room category has been set to {channel}. Existing private rooms will" +" be moved." +msgstr "" + +#: src/modules/rooms/settings.py:69 +#, possible-python-brace-format +msgctxt "guildset:room_category|set_using" +msgid "{cmd} or category selector below." +msgstr "" + +#: src/modules/rooms/settings.py:79 +msgctxt "guildset:rooms_price" +msgid "room_rent" +msgstr "" + +#: src/modules/rooms/settings.py:83 +msgctxt "guildset:rooms_rent|desc" +msgid "Daily rent price for a private room." +msgstr "" + +#: src/modules/rooms/settings.py:87 +msgctxt "guildset:rooms_rent|long_desc" +msgid "" +"Members will be charged this many LionCoins for each day they rent a private" +" room." +msgstr "" + +#: src/modules/rooms/settings.py:91 +msgctxt "guildset:rooms_rent|accepts" +msgid "Number of LionCoins charged per day for a private room." +msgstr "" + +#: src/modules/rooms/settings.py:103 +#, possible-python-brace-format +msgctxt "guildset:rooms_price|set_response" +msgid "Private rooms will now cost {coin}**{amount}** per 24 hours." +msgstr "" + +#: src/modules/rooms/settings.py:116 +msgctxt "guildset:rooms_slots" +msgid "room_member_cap" +msgstr "" + +#: src/modules/rooms/settings.py:119 +msgctxt "guildset:rooms_slots|desc" +msgid "Maximum number of members in each private room." +msgstr "" + +#: src/modules/rooms/settings.py:123 +msgctxt "guildset:rooms_slots|long_desc" +msgid "" +"Private room owners may invite other members to their private room via the " +"UI, or through the {cmds[room invite]} command. This setting limits the " +"maximum number of members a private room may hold." +msgstr "" + +#: src/modules/rooms/settings.py:129 +msgctxt "guildset:rooms_slots|accepts" +msgid "Maximum number of members allowed per private room." +msgstr "" + +#: src/modules/rooms/settings.py:141 +#, possible-python-brace-format +msgctxt "guildset:rooms_slots|set_response" +msgid "Private rooms are now capped to **{amount}** members." +msgstr "" + +#: src/modules/rooms/settings.py:151 +msgctxt "guildset:rooms_visible" +msgid "room_visibility" +msgstr "" + +#: src/modules/rooms/settings.py:154 +msgctxt "guildset:rooms_visible|desc" +msgid "Whether private rented rooms are visible to non-members." +msgstr "" + +#: src/modules/rooms/settings.py:158 +msgctxt "guildset:rooms_visible|long_desc" +msgid "" +"If enabled, new private rooms will be created with the `VIEW_CHANNEL` " +"permission enabled for the `@everyone` role." +msgstr "" + +#: src/modules/rooms/settings.py:162 +msgctxt "guildset:rooms_visible|accepts" +msgid "Visible/Invisible" +msgstr "" + +#: src/modules/rooms/settings.py:164 +msgctxt "guildset:rooms_visible|output:true" +msgid "Visible" +msgstr "مرئى" + +#: src/modules/rooms/settings.py:165 +msgctxt "guildset:rooms_visible|output:false" +msgid "Invisible" +msgstr "غير مرئى" + +#: src/modules/rooms/settings.py:171 +msgctxt "guildset:rooms_visible|parse:truthy_values" +msgid "visible|enabled|yes|true|on|enable|1" +msgstr "" + +#: src/modules/rooms/settings.py:175 +msgctxt "guildset:rooms_visible|parse:falsey_values" +msgid "invisible|disabled|no|false|off|disable|0" +msgstr "" + +#: src/modules/rooms/settings.py:187 +msgctxt "guildset:rooms_visible|set_response:enabled" +msgid "Private rooms will now be visible to everyone." +msgstr "" + +#: src/modules/rooms/settings.py:192 +msgctxt "guildset:rooms_visible|set_response:disabled" +msgid "Private rooms will now only be visible to their members (and admins)." +msgstr "" + +#: src/modules/rooms/settings.py:202 +#, possible-python-brace-format +msgctxt "guildset:rooms_visible|set_using" +msgid "{cmd} or toggle below." +msgstr "" diff --git a/locales/ar/LC_MESSAGES/schedule.po b/locales/ar/LC_MESSAGES/schedule.po new file mode 100644 index 000000000000..8db375c9c931 --- /dev/null +++ b/locales/ar/LC_MESSAGES/schedule.po @@ -0,0 +1,1191 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/schedule/cog.py:493 +msgctxt "create_booking|error:no_lobby" +msgid "" +"This server has not set a `session_lobby`, so the scheduled session system " +"is disabled!" +msgstr "" + +#: src/modules/schedule/cog.py:505 +msgctxt "create_booking|error:no_member" +msgid "An unknown Discord error occurred. Please try again in a few minutes." +msgstr "" + +#: src/modules/schedule/cog.py:513 +msgctxt "create_booking|error:blacklisted" +msgid "" +"You have been blacklisted from the scheduled session system in this server." +msgstr "" + +#: src/modules/schedule/cog.py:524 +#, possible-python-brace-format +msgctxt "create_booking|error:insufficient_balance" +msgid "" +"Booking a session costs {coin}**{required}**, but you only have " +"{coin}**{balance}**." +msgid_plural "" +"Booking `{count}` sessions costs {coin}**{required}**, but you only have " +"{coin}**{balance}**." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/schedule/cog.py:538 +msgctxt "create_booking|error:already_booked" +msgid "One or more requested timeslots are already booked!" +msgstr "" + +#: src/modules/schedule/cog.py:741 +msgctxt "cmd:schedule" +msgid "schedule" +msgstr "جدول مواعيد" + +#: src/modules/schedule/cog.py:744 +msgctxt "cmd:schedule|desc" +msgid "View and manage your scheduled session." +msgstr "" + +#: src/modules/schedule/cog.py:749 +msgctxt "cmd:schedule|param:cancel" +msgid "cancel" +msgstr "" + +#: src/modules/schedule/cog.py:752 +msgctxt "cmd:schedule|param:book" +msgid "book" +msgstr "" + +#: src/modules/schedule/cog.py:758 +msgctxt "cmd:schedule|param:cancel|desc" +msgid "Select a booked timeslot to cancel." +msgstr "" + +#: src/modules/schedule/cog.py:762 +msgctxt "cmd:schedule|param:book|desc" +msgid "Select a timeslot to schedule. (Times shown in your set timezone.)" +msgstr "" + +#: src/modules/schedule/cog.py:792 +#, possible-python-brace-format +msgctxt "cmd:schedule|cancel_booking|error:parse_slot" +msgid "" +"Time slot `{provided}` not recognised. Please select a session to cancel " +"from the autocomplete options." +msgstr "" + +#: src/modules/schedule/cog.py:800 +#, possible-python-brace-format +msgctxt "cmd:schedule|cancel_booking|error:not_booked" +msgid "Could not cancel {time} booking because it is not booked!" +msgstr "" + +#: src/modules/schedule/cog.py:809 +#, possible-python-brace-format +msgctxt "cmd:schedule|cancel_booking|error:too_soon" +msgid "Cannot cancel {time} booking because it is running or starting soon!" +msgstr "" + +#: src/modules/schedule/cog.py:822 +#, possible-python-brace-format +msgctxt "cmd:schedule|cancel_booking|success" +msgid "Successfully cancelled your booking at {time}." +msgstr "" + +#: src/modules/schedule/cog.py:835 +#, possible-python-brace-format +msgctxt "cmd:schedule|create_booking|error:parse_slot" +msgid "" +"Time slot `{provided}` not recognised. Please select a session to cancel " +"from the autocomplete options." +msgstr "" + +#: src/modules/schedule/cog.py:843 +#, possible-python-brace-format +msgctxt "cmd:schedule|create_booking|error:already_booked" +msgid "You have already booked a scheduled session for {time}." +msgstr "" + +#: src/modules/schedule/cog.py:852 +#, possible-python-brace-format +msgctxt "cmd:schedule|create_booking|error:too_soon" +msgid "Cannot book session at {time} because it is running or starting soon!" +msgstr "" + +#: src/modules/schedule/cog.py:864 +#, possible-python-brace-format +msgctxt "cmd:schedule|create_booking|success" +msgid "You have successfully scheduled a session at {time}." +msgstr "" + +#: src/modules/schedule/cog.py:909 +msgctxt "cmd:schedule|acmpl:book|error:not_in_guild" +msgid "You need to be in a server to book sessions!" +msgstr "" + +#: src/modules/schedule/cog.py:922 +msgctxt "cmd:schedule|acmpl:book|error:blacklisted" +msgid "Cannot Book -- Blacklisted" +msgstr "" + +#: src/modules/schedule/cog.py:943 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:book|timezone_info" +msgid "" +"Using timezone '{timezone}' where it is '{now}'. Change with '/my timezone'" +msgstr "" + +#: src/modules/schedule/cog.py:956 src/modules/schedule/cog.py:1014 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:book|format" +msgid "{start} - {end} ({until})" +msgstr "" + +#: src/modules/schedule/cog.py:980 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:book|no_matching" +msgid "No bookable sessions matching '{partial}'" +msgstr "" + +#: src/modules/schedule/cog.py:1003 +msgctxt "cmd:schedule|acmpl:cancel|error:empty_schedule" +msgid "You do not have any upcoming sessions to cancel!" +msgstr "" + +#: src/modules/schedule/cog.py:1036 +#, possible-python-brace-format +msgctxt "cmd:schedule|acmpl:cancel|error:no_matching" +msgid "No cancellable sessions matching '{partial}'" +msgstr "" + +#: src/modules/schedule/cog.py:1081 +msgctxt "cmd:configure_schedule" +msgid "schedule" +msgstr "" + +#: src/modules/schedule/cog.py:1084 +msgctxt "cmd:configure_schedule|desc" +msgid "Configure Scheduled Session system" +msgstr "" + +#: src/modules/schedule/lib.py:86 src/modules/schedule/ui/scheduleui.py:347 +#, possible-python-brace-format +msgctxt "ui:schedule|format_until|positive" +msgid "in <1 hour" +msgid_plural "in {number} hours" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/schedule/lib.py:93 src/modules/schedule/ui/scheduleui.py:354 +msgctxt "ui:schedule|format_until|now" +msgid "right now!" +msgstr "" + +#: src/modules/schedule/settings.py:70 +msgctxt "guildset:session_lobby" +msgid "session_lobby" +msgstr "" + +#: src/modules/schedule/settings.py:73 +msgctxt "guildset:session_lobby|desc" +msgid "Channel to post scheduled session announcement and status to." +msgstr "" + +#: src/modules/schedule/settings.py:77 +msgctxt "guildset:session_lobby|long_desc" +msgid "" +"Channel in which to announce scheduled sessions and post their status. I must have the `MANAGE_WEBHOOKS` permission in this channel.\n" +"**This must be configured in order for the scheduled session system to function.**" +msgstr "" + +#: src/modules/schedule/settings.py:83 +msgctxt "guildset:session_lobby|accepts" +msgid "Name or id of the session lobby channel." +msgstr "" + +#: src/modules/schedule/settings.py:97 +#, possible-python-brace-format +msgctxt "guildset:session_lobby|set_response|set" +msgid "Scheduled sessions will now be announced in {channel}" +msgstr "" + +#: src/modules/schedule/settings.py:102 +msgctxt "guildset:session_lobby|set_response|unset" +msgid "" +"The schedule session lobby has been unset. Shutting down scheduled session " +"system." +msgstr "" + +#: src/modules/schedule/settings.py:112 +msgctxt "guildset:session_lobby|formatted|unset" +msgid "`Not Set` (The scheduled session system is disabled.)" +msgstr "" + +#: src/modules/schedule/settings.py:117 +#, possible-python-brace-format +msgctxt "guildset:session_lobby|formatted|set" +msgid "<#{channelid}>" +msgstr "" + +#: src/modules/schedule/settings.py:127 +msgctxt "guildset:session_room" +msgid "session_room" +msgstr "" + +#: src/modules/schedule/settings.py:130 +msgctxt "guildset:session_room|desc" +msgid "Special voice channel open to scheduled session members." +msgstr "" + +#: src/modules/schedule/settings.py:134 +msgctxt "guildset:session_room|long_desc" +msgid "" +"If set, this voice channel serves as a dedicated room for scheduled session " +"members. During (and slightly before) each scheduled session, all members " +"who have booked the session will be given permission to join the voice " +"channel (via permission overwrites). I require the `MANAGE_CHANNEL`, " +"`MANAGE_PERMISSIONS`, `CONNECT`, and `VIEW_CHANNEL` permissions in this " +"channel, and my highest role must be higher than all permission overwrites " +"set in the channel. Furthermore, if this is set to a *category* channel, " +"then the permission overwrites will apply to all *synced* channels under the" +" category, as usual." +msgstr "" + +#: src/modules/schedule/settings.py:144 +msgctxt "guildset:session_room|accepts" +msgid "Name or id of the session room voice channel." +msgstr "" + +#: src/modules/schedule/settings.py:158 +#, possible-python-brace-format +msgctxt "guildset:session_room|set_response|set" +msgid "Schedule session members will now be given access to {channel}" +msgstr "" + +#: src/modules/schedule/settings.py:163 +msgctxt "guildset:session_room|set_response|unset" +msgid "The dedicated schedule session room has been removed." +msgstr "" + +#: src/modules/schedule/settings.py:171 +msgctxt "guildset:session_channels" +msgid "session_channels" +msgstr "" + +#: src/modules/schedule/settings.py:174 +msgctxt "guildset:session_channels|desc" +msgid "Voice channels in which to track activity for scheduled sessions." +msgstr "" + +#: src/modules/schedule/settings.py:178 +msgctxt "guildset:session_channels|long_desc" +msgid "" +"Only activity in these channels (and in `session_room` if set) will count " +"towards scheduled session attendance. If a category is selected, then all " +"channels under the category will also be included. Activity tracking also " +"respects the `untracked_voice_channels` setting." +msgstr "" + +#: src/modules/schedule/settings.py:185 +msgctxt "guildset:session_channels|accepts" +msgid "Comma separated list of session channel names or ids." +msgstr "" + +#: src/modules/schedule/settings.py:202 +#, possible-python-brace-format +msgctxt "guildset:session_channels|set_response|set" +msgid "" +"Activity in the following sessions will now count towards scheduled session " +"attendance: {channels}" +msgstr "" + +#: src/modules/schedule/settings.py:207 +msgctxt "guildset:session_channels|set_response|unset" +msgid "" +"Activity in all (tracked) voice channels will now count towards session " +"attendance." +msgstr "" + +#: src/modules/schedule/settings.py:217 +msgctxt "guildset:session_channels|formatted|unset" +msgid "All Channels (excluding `untracked_channels`)" +msgstr "" + +#: src/modules/schedule/settings.py:248 +msgctxt "guildset:schedule_cost" +msgid "schedule_cost" +msgstr "" + +#: src/modules/schedule/settings.py:251 +msgctxt "guildset:schedule_cost|desc" +msgid "Booking cost for each scheduled session." +msgstr "" + +#: src/modules/schedule/settings.py:255 +msgctxt "guildset:schedule_cost|long_desc" +msgid "" +"Members will be charged this many LionCoins for each scheduled session they " +"book." +msgstr "" + +#: src/modules/schedule/settings.py:259 +msgctxt "guildset:schedule_cost|accepts" +msgid "Price of each session booking (non-negative integer)." +msgstr "" + +#: src/modules/schedule/settings.py:271 +#, possible-python-brace-format +msgctxt "guildset:schedule_cost|set_response" +msgid "" +"Schedule session bookings will now cost {coin} **{amount}** per timeslot." +msgstr "" + +#: src/modules/schedule/settings.py:284 +#, possible-python-brace-format +msgctxt "guildset:schedule_cost|formatted" +msgid "{coin}**{amount}** per booking." +msgstr "" + +#: src/modules/schedule/settings.py:294 +msgctxt "guildset:attendance_reward" +msgid "attendance_reward" +msgstr "" + +#: src/modules/schedule/settings.py:297 +msgctxt "guildset:attendance_reward|desc" +msgid "Reward for attending a booked scheduled session." +msgstr "" + +#: src/modules/schedule/settings.py:301 +msgctxt "guildset:attendance_reward|long_desc" +msgid "" +"When a member successfully attends a scheduled session they booked, they " +"will be awarded this many LionCoins. Should generally be more than the " +"`schedule_cost` setting." +msgstr "" + +#: src/modules/schedule/settings.py:307 +msgctxt "guildset:attendance_reward|accepts" +msgid "Number of coins to reward session attendance." +msgstr "" + +#: src/modules/schedule/settings.py:319 +#, possible-python-brace-format +msgctxt "guildset:attendance_reward|set_response" +msgid "" +"Members will be rewarded {coin}**{amount}** when they attend a scheduled " +"session." +msgstr "" + +#: src/modules/schedule/settings.py:329 +#, possible-python-brace-format +msgctxt "guildset:attendance_reward|formatted" +msgid "{coin}**{amount}** upon attendance." +msgstr "" + +#: src/modules/schedule/settings.py:339 +msgctxt "guildset:attendance_bonus" +msgid "group_attendance_bonus" +msgstr "" + +#: src/modules/schedule/settings.py:342 +msgctxt "guildset:attendance_bonus|desc" +msgid "Bonus reward given when all members attend a scheduled session." +msgstr "" + +#: src/modules/schedule/settings.py:346 +msgctxt "guildset:attendance_bonus|long_desc" +msgid "" +"When all members who have booked a session successfully attend the session, " +"they will be given this bonus in *addition* to the `attendance_reward`." +msgstr "" + +#: src/modules/schedule/settings.py:351 +msgctxt "guildset:attendance_bonus|accepts" +msgid "Bonus coins rewarded when everyone attends a session." +msgstr "" + +#: src/modules/schedule/settings.py:363 +#, possible-python-brace-format +msgctxt "guildset:attendance_bonus|set_response" +msgid "" +"Session members will be rewarded an additional {coin}**{amount}** when " +"everyone attends." +msgstr "" + +#: src/modules/schedule/settings.py:373 +#, possible-python-brace-format +msgctxt "guildset:attendance_bonus|formatted" +msgid "{coin}**{amount}** bonus when all booked members attend." +msgstr "" + +#: src/modules/schedule/settings.py:383 +msgctxt "guildset:min_attendance" +msgid "min_attendance" +msgstr "" + +#: src/modules/schedule/settings.py:386 +msgctxt "guildset:min_attendance|desc" +msgid "Minimum attendance before reward eligability." +msgstr "" + +#: src/modules/schedule/settings.py:390 +msgctxt "guildset:min_attendance|long_desc" +msgid "" +"Scheduled session members will need to attend the session for at least this " +"number of minutes before they are marked as having attended (and hence are " +"rewarded)." +msgstr "" + +#: src/modules/schedule/settings.py:395 +msgctxt "guildset:min_attendance|accepts" +msgid "Number of minutes (1-60) before attendance is counted." +msgstr "" + +#: src/modules/schedule/settings.py:409 +#, possible-python-brace-format +msgctxt "guildset:min_attendance|set_response" +msgid "" +"Members will be rewarded after they have attended booked sessions for at " +"least **`{amount}`** minutes." +msgstr "" + +#: src/modules/schedule/settings.py:419 +#, possible-python-brace-format +msgctxt "guildset:min_attendance|formatted" +msgid "**`{amount}`** minutes" +msgstr "" + +#: src/modules/schedule/settings.py:440 +msgctxt "guildset:min_attendance|parse|error" +msgid "" +"Minimum attendance must be an integer number of minutes between `1` and " +"`60`." +msgstr "" + +#: src/modules/schedule/settings.py:452 +msgctxt "guildset:schedule_blacklist_role" +msgid "schedule_blacklist_role" +msgstr "" + +#: src/modules/schedule/settings.py:455 +msgctxt "guildset:schedule_blacklist_role|desc" +msgid "Role which disables scheduled session booking." +msgstr "" + +#: src/modules/schedule/settings.py:459 +msgctxt "guildset:schedule_blacklist_role|long_desc" +msgid "" +"Members with this role will not be allowed to book scheduled sessions in " +"this server. If the role is manually added, all future scheduled sessions " +"for the user are cancelled. This provides a way to stop repeatedly " +"unreliable members from blocking the group bonus for all members. " +"Alternatively, consider setting the booking cost (and reward) very high to " +"provide a strong disincentive for not attending a session." +msgstr "" + +#: src/modules/schedule/settings.py:467 +msgctxt "guildset:schedule_blacklist_role|accepts" +msgid "Blacklist role name or id." +msgstr "" + +#: src/modules/schedule/settings.py:480 +#, possible-python-brace-format +msgctxt "guildset:schedule_blacklist_role|set_response|set" +msgid "Members with {role} will be unable to book scheduled sessions." +msgstr "" + +#: src/modules/schedule/settings.py:485 +msgctxt "guildset:schedule_blacklist_role|set_response|unset" +msgid "The schedule blacklist role has been unset." +msgstr "" + +#: src/modules/schedule/settings.py:495 +#, possible-python-brace-format +msgctxt "guildset:schedule_blacklist_role|formatted|set" +msgid "{role} members will not be able to book scheduled sessions." +msgstr "" + +#: src/modules/schedule/settings.py:500 +msgctxt "guildset:schedule_blacklist_role|formatted|unset" +msgid "Not Set" +msgstr "" + +#: src/modules/schedule/settings.py:510 +msgctxt "guildset:schedule_blacklist_after" +msgid "schedule_blacklist_after" +msgstr "" + +#: src/modules/schedule/settings.py:513 +msgctxt "guildset:schedule_blacklist_after|desc" +msgid "Number of missed sessions within 24h before blacklisting." +msgstr "" + +#: src/modules/schedule/settings.py:517 +msgctxt "guildset:schedule_blacklist_after|long_desc" +msgid "" +"Members who miss more than this number of booked sessions in a single 24 " +"hour period will be automatically given the `blacklist_role`. Has no effect " +"if the `blacklist_role` is not set or if I do not have sufficient " +"permissions to assign the blacklist role." +msgstr "" + +#: src/modules/schedule/settings.py:524 +msgctxt "guildset:schedule_blacklist_after|accepts" +msgid "A number of missed sessions (1-24) before blacklisting." +msgstr "" + +#: src/modules/schedule/settings.py:539 +#, possible-python-brace-format +msgctxt "guildset:schedule_blacklist_after|set_response|set" +msgid "" +"Members will be blacklisted after **`{amount}`** missed sessions within " +"`24h`." +msgstr "" + +#: src/modules/schedule/settings.py:544 +msgctxt "guildset:schedule_blacklist_after|set_response|unset" +msgid "" +"Members will not be automatically blacklisted from booking scheduled " +"sessions." +msgstr "" + +#: src/modules/schedule/settings.py:554 +#, possible-python-brace-format +msgctxt "guildset:schedule_blacklist_after|formatted|set" +msgid "Blacklist after **`{amount}`** missed sessions within `24h`." +msgstr "" + +#: src/modules/schedule/settings.py:559 +msgctxt "guildset:schedule_blacklist_after|formatted|unset" +msgid "Do not automatically blacklist." +msgstr "" + +#: src/modules/schedule/settings.py:571 +msgctxt "guildset:schedule_blacklist_role|parse|error" +msgid "Blacklist threshold must be a number between `1` and `24`." +msgstr "" + +#: src/modules/schedule/ui/settingui.py:69 +msgctxt "ui:schedule_config|button:page0|label" +msgid "Page 1" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:89 +msgctxt "ui:schedule_config|menu:lobby|placeholder" +msgid "Select Lobby Channel" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:107 +msgctxt "ui:schedule_config|menu:room|placeholder" +msgid "Select Session Room" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:126 +msgctxt "ui:schedule_config|menu:channels|placeholder" +msgid "Select Session Channels" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:140 +msgctxt "ui:schedule_config|button:page1|label" +msgid "Page 2" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:155 +msgctxt "ui:schedule_config|button:page2|label" +msgid "Page 3" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:173 +msgctxt "ui:schedule_config|menu:blacklist_role|placeholder" +msgid "Select Blacklist Role" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:181 +msgctxt "ui:schedule_config|embed|title" +msgid "Scheduled Session Configuration Panel" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:234 +msgctxt "dash:schedule|title" +msgid "Scheduled Session Configuration ({commands[admin config schedule]})" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:238 +msgctxt "dash:schedule|dropdown|placeholder" +msgid "Scheduled Sessions Panel" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:255 +msgctxt "dash:schedule|section:schedule_channels|name" +msgid "Scheduled Session Channels ({commands[admin config schedule]})" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:265 +msgctxt "dash:schedule|section:schedule_rewards|name" +msgid "Scheduled Session Rewards ({commands[admin config schedule]})" +msgstr "" + +#: src/modules/schedule/ui/settingui.py:275 +msgctxt "dash:schedule|section:schedule_blacklist|name" +msgid "Scheduled Session Blacklist ({commands[admin config schedule]})" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:31 +msgctxt "ui:schedule|about" +msgid "" +"**Do you think you can commit to a schedule and stick to it?**\n" +"**Schedule voice sessions here and get rewarded for keeping yourself accountable!**\n" +"\n" +"Use the menu below to book timeslots using LionCoins. If you are active (in the dedicated voice channels) during these times, you will be rewarded, along with a large bonus if everyone who scheduled that slot made it!\n" +"Beware though, if you fail to make it, all your booked sessions will be cancelled with no refund! And if you keep failing to attend your scheduled sessions, you may be forbidden from booking them in future.\n" +"\n" +"When your scheduled session starts, you will recieve a ping from the schedule channel, which will have more information about how to attend your session.\n" +"If you discover you can't make your scheduled session, please be responsible and use this command to cancel or clear your schedule!\n" +"\n" +"**Note:** *Make sure your timezone is set correctly (with `/my timezone`), or the times I tell might not make sense!*" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:130 +msgctxt "ui:schedule|button:clear|error:nothing" +msgid "No upcoming sessions to cancel! Your schedule is already clear." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:143 +msgctxt "ui:schedule|button:clear|success" +msgid "Successfully cancelled and refunded your upcoming scheduled sessions." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:156 +msgctxt "ui:schedule|button:clear|label" +msgid "Clear Schedule" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:172 +msgctxt "ui:schedule|button:about|label" +msgid "About Schedule" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:198 +msgctxt "ui:schedule|menu:booking|error:current_slot" +msgid "You cannot schedule a currently running session!" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:205 +msgctxt "ui:schedule|menu:booking|error:next_slot" +msgid "Too late! You cannot schedule a session starting in the next minute." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:212 +msgctxt "ui:schedule|menu:booking|error:already_booked" +msgid "You have already booked one or more of the requested sessions!" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:225 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:booking|error:insufficient_balance" +msgid "" +"Booking `{count}` scheduled sessions requires {coin}**{required}**, but you " +"only have {coin}**{balance}**!" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:241 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:booking|success" +msgid "Successfully booked your scheduled session at {times}." +msgid_plural "" +"Successfully booked the following scheduled sessions.\n" +"{times}" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/schedule/ui/scheduleui.py:264 +msgctxt "ui:schedule|menu:booking|placeholder:blacklisted" +msgid "Book Sessions (Cannot book - Blacklisted)" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:272 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:booking|placeholder:regular" +msgid "Book Sessions ({amount} LC)" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:317 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:slots|option|format" +msgid "{day} {time} ({until})" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:321 +msgctxt "ui:schedule|menu:slots|option|day:today" +msgid "Today" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:325 +msgctxt "ui:schedule|menu:slots|option|day:tomorrow" +msgid "Tomorrow" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:376 +msgctxt "ui:schedule|menu:cancel|error:current_slot" +msgid "" +"You cannot cancel a currently running *scheduled* session! Please attend it " +"if possible." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:382 +msgctxt "ui:schedule|menu:cancel|error:too_late" +msgid "" +"Too late! You cannot cancel a scheduled session within a minute of it " +"starting. Please attend it if possible." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:399 +msgctxt "ui:schedule|menu:cancel|error:already_cancelled" +msgid "The selected bookings no longer exist! Nothing to cancel." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:409 +#, possible-python-brace-format +msgctxt "ui:schedule|menu:cancel|success" +msgid "" +"Successfully cancelled and refunded your scheduled session booking for " +"{times}." +msgid_plural "" +"Successfully cancelled and refunded your scheduled session bookings:\n" +"{times}." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/schedule/ui/scheduleui.py:430 +msgctxt "ui:schedule|menu:cancel|placeholder" +msgid "Cancel booked sessions" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:452 +msgctxt "ui:schedule|embed|author" +msgid "Your Scheduled Sessions and Past Statistics" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:464 +msgctxt "ui:schedule|embed|field:stats|field:recent" +msgid "Recent" +msgstr "حديثاً" + +#: src/modules/schedule/ui/scheduleui.py:471 +msgctxt "ui:schedule|embed|field:stats|field:alltime" +msgid "All Time" +msgstr "كل الوقت" + +#: src/modules/schedule/ui/scheduleui.py:477 +msgctxt "ui:schedule|embed|field:stats|field:streak" +msgid "Streak" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:482 +#, possible-python-brace-format +msgctxt "ui:schedule|embed|field:stats|field:streak|value:zero" +msgid "One session attended! Keep it up!" +msgid_plural "**{streak}** sessions attended in a row! Good job!" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/schedule/ui/scheduleui.py:489 +msgctxt "ui:schedule|embed|field:stats|field:streak|value:positive" +msgid "No streak yet!" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:497 +msgctxt "ui:schedule|embed|field:stats|name" +msgid "Session Statistics" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:516 +msgctxt "ui:schedule|embed|field:upcoming|name" +msgid "Upcoming Sessions" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:520 +msgctxt "ui:schedule|embed|field:upcoming|value:empty" +msgid "No sessions scheduled yet!" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:534 +#, possible-python-brace-format +msgctxt "ui:schedule|embed|stats_format" +msgid "" +"**{attended}** attended out of **{total}** booked.\r\n" +"**{percent}%** attendance rate.\r\n" +"**{average}** average attendance time." +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:548 +#, possible-python-brace-format +msgctxt "ui:schedule|booking_format:short" +msgid "`{until}` | {start} - {end}" +msgstr "" + +#: src/modules/schedule/ui/scheduleui.py:552 +#, possible-python-brace-format +msgctxt "ui:schedule|booking_format:long" +msgid "> `{until}` | {start} - {end}" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:52 +msgctxt "ui:sessionui|button:book|label" +msgid "Book" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:56 +msgctxt "ui:sessionui|button:cancel|label" +msgid "Cancel" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:60 +msgctxt "ui:sessionui|button:schedule|label" +msgid "Open Schedule" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:64 +msgctxt "ui:sessionui|button:help|label" +msgid "How to Attend" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:92 +msgctxt "ui:session|button:book|error:starting_soon" +msgid "Too late! This session has started or is starting shortly." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:99 +msgctxt "ui:session|button:book|error:already_booked" +msgid "You are already a member of this session!" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:106 +msgctxt "ui:session|button:book|success" +msgid "Successfully booked this session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:120 +msgctxt "ui:session|button:book|error|title" +msgid "Could not book session" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:138 +msgctxt "ui:session|button:cancel|error:starting_soon" +msgid "Too late! This session has started or is starting shortly." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:145 +msgctxt "ui:session|button:cancel|error:not_booked" +msgid "You are not a member of this session!" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:155 +msgctxt "ui:session|button:cancel|success" +msgid "Successfully cancelled this session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:169 +msgctxt "ui:session|button:cancel|error|title" +msgid "Could not cancel session" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:202 +msgctxt "ui:session|button:help|embed:unbooked|title" +msgid "You have not booked this session!" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:206 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:unbooked|description" +msgid "" +"You need to book this scheduled session before you can attend it! Press the " +"**{book_label}** button to book the session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:215 +msgctxt "ui:session|button:help|embed:help|title" +msgid "How to attend your scheduled session" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:224 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|minimum_attendance" +msgid "at least one minute" +msgid_plural "at least `{duration}` minutes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/schedule/ui/sessionui.py:237 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|room_line:category" +msgid "" +"The exclusive scheduled session category **{category}** will also be open to" +" you during your scheduled session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:243 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|room_line:voice" +msgid "" +"The exclusive scheduled session room {room} will also be open to you during " +"your scheduled session." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:262 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:only_room_category" +msgid "" +"To attend your scheduled session, join a voice channel in **{room}** for " +"**{minimum}** between {start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:272 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:only_room_channel" +msgid "" +"To attend your scheduled session, join {room} for **{minimum}** between " +"{start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:282 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:with_channels" +msgid "" +"To attend your scheduled session, join a valid session voice channel for " +"**{minimum}** between {start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:292 +msgctxt "ui:session|button:help|embed:help|field:channels|name" +msgid "Valid session channels" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:300 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|attend_line:all_channels" +msgid "" +"To attend your scheduled session, join any tracked voice channel for " +"**{minimum}** between {start} and {end}." +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:308 +msgctxt "ui:session|button:help|embed:help|field:rewards|name" +msgid "Rewards" +msgstr "" + +#: src/modules/schedule/ui/sessionui.py:312 +#, possible-python-brace-format +msgctxt "ui:session|button:help|embed:help|field:rewards|value" +msgid "" +"Everyone who attends the session will be rewarded with {coin}**{reward}**.\n" +"If *everyone* successfully attends, you will also be awarded a bonus of {coin}**{bonus}**.\n" +"Anyone who does *not* attend their booked session will have the rest of their schedule cancelled **without refund**, so beware!" +msgstr "" + +#: src/modules/schedule/core/session.py:197 +msgctxt "session|error:lobby_webhook_perms" +msgid "" +"Insufficient permissions to create a webhook in this channel. I require the " +"`MANAGE_WEBHOOKS` permission." +msgstr "" + +#: src/modules/schedule/core/session.py:281 +#, possible-python-brace-format +msgctxt "session|prepare|error:room_permissions" +msgid "" +"Could not prepare the configured session room {room} for the next scheduled " +"session! I require the `MANAGE_CHANNEL`, `MANAGE_ROLES`, `CONNECT` and " +"`VIEW_CHANNEL` permissions." +msgstr "" + +#: src/modules/schedule/core/session.py:325 +msgctxt "session|open|update_perms|audit_reason" +msgid "Opening configured scheduled session room." +msgstr "" + +#: src/modules/schedule/core/session.py:347 +msgctxt "session|open|clean_room|audit_reason" +msgid "Removing extra member from scheduled session room." +msgstr "" + +#: src/modules/schedule/core/session.py:354 +#, possible-python-brace-format +msgctxt "session|open|error:room_permissions" +msgid "" +"Could not set up the configured session room {room} for this scheduled " +"session! I require the `MANAGE_CHANNEL`, `MANAGE_ROLES`, `CONNECT` and " +"`VIEW_CHANNEL` permissions." +msgstr "" + +#: src/modules/schedule/core/session.py:411 +#, possible-python-brace-format +msgctxt "session|notify|dm|join_line:room_category" +msgid "" +"Please attend your session by joining a voice channel under **{room}**!" +msgstr "" + +#: src/modules/schedule/core/session.py:416 +#, possible-python-brace-format +msgctxt "session|notify|dm|join_line:room_voice" +msgid "Please attend your session by joining {room}" +msgstr "" + +#: src/modules/schedule/core/session.py:421 +msgctxt "session|notify|dm|join_line:all_channels" +msgid "Please attend your session by joining a tracked voice channel!" +msgstr "" + +#: src/modules/schedule/core/session.py:443 +msgctxt "session|notify|dm|join_line:channels" +msgid "Please attend your session by joining one of the following:" +msgstr "" + +#: src/modules/schedule/core/session.py:453 +msgctxt "session|notify|dm|title" +msgid "Your Scheduled Session has started!" +msgstr "" + +#: src/modules/schedule/core/session.py:457 +#, possible-python-brace-format +msgctxt "session|notify|dm|description" +msgid "Your scheduled session in {dest} has now begun!" +msgstr "" + +#: src/modules/schedule/core/session.py:482 +#, possible-python-brace-format +msgctxt "session|status|title" +msgid "Session {start} - {end}" +msgstr "" + +#: src/modules/schedule/core/session.py:493 +msgctxt "session|status|desc:cancelled" +msgid "" +"I cancelled this scheduled session because I was unavailable. All members " +"who booked the session have been refunded." +msgstr "" + +#: src/modules/schedule/core/session.py:500 +msgctxt "session|status|desc:no_members" +msgid "*No members scheduled this session.*" +msgstr "" + +#: src/modules/schedule/core/session.py:506 +#, possible-python-brace-format +msgctxt "session|status:preparing|desc:has_members" +msgid "Starting {start}" +msgstr "" + +#: src/modules/schedule/core/session.py:509 +msgctxt "session|status:preparing|field:members" +msgid "Members" +msgstr "" + +#: src/modules/schedule/core/session.py:516 +#, possible-python-brace-format +msgctxt "session|status:running|desc:has_members" +msgid "Finishing {start}" +msgstr "" + +#: src/modules/schedule/core/session.py:550 +msgctxt "session|status:running|field:waiting" +msgid "Waiting For" +msgstr "" + +#: src/modules/schedule/core/session.py:556 +msgctxt "session|status:running|field:attending" +msgid "Attending" +msgstr "" + +#: src/modules/schedule/core/session.py:562 +msgctxt "session|status:running|field:attended" +msgid "Attended" +msgstr "" + +#: src/modules/schedule/core/session.py:587 +#, possible-python-brace-format +msgctxt "session|status:finished|desc:everyone_att" +msgid "" +"Everyone attended the session! All members were rewarded with {coin} " +"**{reward} + {bonus}**!" +msgstr "" + +#: src/modules/schedule/core/session.py:598 +#, possible-python-brace-format +msgctxt "session|status:finished|desc:some_att" +msgid "" +"Everyone who attended was rewarded with {coin} **{reward}**! Some members did not attend so everyone missed out on the bonus {coin} **{bonus}**.\n" +"**Members who missed their session have all future sessions cancelled without refund!*" +msgstr "" + +#: src/modules/schedule/core/session.py:610 +msgctxt "session|status:finished|desc:some_att" +msgid "" +"No-one attended this session! No-one received rewards.\n" +"**Members who missed their session have all future sessions cancelled without refund!*" +msgstr "" + +#: src/modules/schedule/core/session.py:616 +msgctxt "session|status:finished|field:attended" +msgid "Attended" +msgstr "" + +#: src/modules/schedule/core/session.py:621 +msgctxt "session|status:finished|field:missing" +msgid "Missing" +msgstr "" + +#: src/modules/schedule/core/timeslot.py:487 +msgctxt "session|closing|audit_reason" +msgid "Removing previous scheduled session member permissions." +msgstr "" + +#: src/modules/schedule/core/timeslot.py:506 +msgctxt "session|closing|disconnecting|audit_reason" +msgid "Disconnecting previous scheduled session members." +msgstr "" diff --git a/locales/ar/LC_MESSAGES/settings_base.po b/locales/ar/LC_MESSAGES/settings_base.po new file mode 100644 index 000000000000..1251ccfe8832 --- /dev/null +++ b/locales/ar/LC_MESSAGES/settings_base.po @@ -0,0 +1,232 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/settings/ui.py:180 +msgctxt "setting|formatted|notset" +msgid "Not Set" +msgstr "" + +#: src/settings/ui.py:324 +msgctxt "setting|embed_field|too_long" +msgid "Too long to display here!" +msgstr "" + +#: src/settings/ui.py:358 +#, possible-python-brace-format +msgctxt "setting|summary_embed|title" +msgid "Configuration options for `{name}`" +msgstr "" + +#: src/settings/ui.py:370 +msgctxt "setting|summary_table|field:currently|key" +msgid "Currently" +msgstr "حاليا" + +#: src/settings/ui.py:377 +msgctxt "setting|summary_table|field:default|key" +msgid "By Default" +msgstr "" + +#: src/settings/ui.py:384 +msgctxt "setting|summary_table|field:set|key" +msgid "Set Using" +msgstr "" + +#: src/settings/ui.py:502 +msgctxt "setting|interaction_check|error" +msgid "You do not have sufficient permissions to do this!" +msgstr "" + +#: src/settings/setting_types.py:48 +msgctxt "settype:string|accepts" +msgid "Any Text" +msgstr "اى نص" + +#: src/settings/setting_types.py:89 +#, possible-python-brace-format +msgctxt "settype:string|error" +msgid "Provided string is too long! Maximum length: {maxlen} characters." +msgstr "" + +#: src/settings/setting_types.py:114 +msgctxt "settype:emoji|accepts" +msgid "Paste a builtin emoji, custom emoji, or emoji id." +msgstr "" + +#: src/settings/setting_types.py:167 +#, possible-python-brace-format +msgctxt "settype:emoji|error:parse" +msgid "" +"Could not parse `{provided}` as a Discord emoji. Supported formats are " +"builtin emojis (e.g. `{builtin}`), custom emojis (e.g. {custom}), or custom " +"emoji ids (e.g. `{custom_id}`)." +msgstr "" + +#: src/settings/setting_types.py:236 +msgctxt "settype:channel|accepts" +msgid "A channel name or id" +msgstr "" + +#: src/settings/setting_types.py:282 +#, possible-python-brace-format +msgctxt "settype:channel|parse|error:not_found" +msgid "Channel `{string}` could not be found in this guild!" +msgstr "" + +#: src/settings/setting_types.py:368 +msgctxt "settype:role|accepts" +msgid "A role name or id" +msgstr "" + +#: src/settings/setting_types.py:430 +#, possible-python-brace-format +msgctxt "settype:role|parse|error:not_found" +msgid "Role `{string}` could not be found in this guild!" +msgstr "" + +#: src/settings/setting_types.py:495 +msgctxt "settype:bool|accepts" +msgid "Enabled/Disabled" +msgstr "" + +#: src/settings/setting_types.py:500 +msgctxt "settype:bool|parse:truthy_values" +msgid "enabled|yes|true|on|enable|1" +msgstr "" + +#: src/settings/setting_types.py:504 +msgctxt "settype:bool|parse:falsey_values" +msgid "disabled|no|false|off|disable|0" +msgstr "" + +#: src/settings/setting_types.py:509 +msgctxt "settype:bool|output:true" +msgid "On" +msgstr "" + +#: src/settings/setting_types.py:510 +msgctxt "settype:bool|output:false" +msgid "Off" +msgstr "" + +#: src/settings/setting_types.py:511 +msgctxt "settype:bool|output:none" +msgid "Not Set" +msgstr "" + +#: src/settings/setting_types.py:622 +msgctxt "settype:integer|accepts" +msgid "An integer" +msgstr "" + +#: src/settings/setting_types.py:685 +msgctxt "settype:emoji|desc" +msgid "Unicode or custom emoji" +msgstr "" + +#: src/settings/setting_types.py:757 +msgctxt "settype:guildid|accepts" +msgid "Any Snowflake ID" +msgstr "" + +#: src/settings/setting_types.py:826 +msgctxt "settype:timezone|accepts" +msgid "A timezone name from the 'tz database' (e.g. 'Europe/London')" +msgstr "" + +#: src/settings/setting_types.py:896 +msgctxt "settype:timezone|summary_table|field:supported|key" +msgid "Supported" +msgstr "" + +#: src/settings/setting_types.py:900 +#, possible-python-brace-format +msgctxt "settype:timezone|summary_table|field:supported|value" +msgid "Any timezone from the [tz database]({link})." +msgstr "" + +#: src/settings/setting_types.py:917 +#, possible-python-brace-format +msgctxt "set_type:timezone|acmpl|no_matching" +msgid "No timezones matching '{input}'!" +msgstr "" + +#: src/settings/setting_types.py:930 +#, possible-python-brace-format +msgctxt "set_type:timezone|acmpl|choice" +msgid "{tz} (Currently {now})" +msgstr "" + +#: src/settings/setting_types.py:960 +msgctxt "settype:timestamp|accepts" +msgid "A timestamp in the form YYYY-MM-DD HH:MM" +msgstr "" + +#: src/settings/setting_types.py:989 +#, possible-python-brace-format +msgctxt "settype:timestamp|parse|error:invalid" +msgid "" +"Could not parse `{provided}` as a timestamp. Please use `YYYY-MM-DD HH:MM` " +"format." +msgstr "" + +#: src/settings/setting_types.py:1020 +msgctxt "settype:raw|accepts" +msgid "Anything" +msgstr "" + +#: src/settings/setting_types.py:1073 +msgctxt "settype:enum|accepts" +msgid "A valid option." +msgstr "" + +#: src/settings/setting_types.py:1123 +#, possible-python-brace-format +msgctxt "settype:enum|parse|error:not_found" +msgid "`{provided}` is not a valid option!" +msgstr "" + +#: src/settings/setting_types.py:1171 +msgctxt "settype:duration|accepts" +msgid "A number of days, hours, minutes, and seconds, e.g. `2d 4h 10s`." +msgstr "" + +#: src/settings/setting_types.py:1352 +msgctxt "settype:channel_list|accepts" +msgid "Comma separated list of channel ids." +msgstr "" + +#: src/settings/setting_types.py:1363 +msgctxt "settype:role_list|accepts" +msgid "Comma separated list of role ids." +msgstr "" + +#: src/settings/setting_types.py:1379 +msgctxt "settype:stringlist|accepts" +msgid "Comma separated strings." +msgstr "" + +#: src/settings/setting_types.py:1390 +msgctxt "settype:guildidlist|accepts" +msgid "Comma separated list of guild ids." +msgstr "" diff --git a/locales/ar/LC_MESSAGES/shop.po b/locales/ar/LC_MESSAGES/shop.po new file mode 100644 index 000000000000..6fedd18e60b6 --- /dev/null +++ b/locales/ar/LC_MESSAGES/shop.po @@ -0,0 +1,611 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-15 15:58+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/shop/cog.py:108 +msgctxt "group:editshop" +msgid "editshop" +msgstr "تعديل المتجر" + +#: src/modules/shop/cog.py:117 +msgctxt "cmd:shop" +msgid "shop" +msgstr "" + +#: 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:125 +msgctxt "cmd:shop_open" +msgid "open" +msgstr "افتح" + +#: src/modules/shop/cog.py:126 +msgctxt "cmd:shop_open|desc" +msgid "Open the server shop." +msgstr "" + +#: src/modules/shop/cog.py:153 +msgctxt "cmd:shop_open|error:no_shops" +msgid "There is nothing to buy!" +msgstr "لايوجد شئ لشراءه" + +#: src/modules/shop/cog.py:215 +msgctxt "ui:stores|button:close|label" +msgid "Close" +msgstr "اغلق" + +#: src/modules/shop/cog.py:222 +msgctxt "ui:stores|button:close|response|title" +msgid "Shop Closed" +msgstr "المتجر مغلق" + +#: 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:110 +#, possible-python-brace-format +msgctxt "ui:colourstore|menu:buycolours|label" +msgid "{name} (This is your colour!)" +msgstr "" + +#: 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:120 +msgctxt "ui:colourstore|menu:buycolours|desc" +msgid "Colour: Unknown" +msgstr "اللون : غير معروف" + +#: src/modules/shop/shops/colours.py:134 +msgctxt "shop:colours|name" +msgid "Colour Shop" +msgstr "متجر الالوان" + +#: 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:186 +msgctxt "shop:colour|purchase|error:no_guild" +msgid "Could not retrieve the server from Discord!" +msgstr "" + +#: 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: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:215 +#, possible-python-brace-format +msgctxt "shop:colour|purchase|error:low_balance" +msgid "" +"This item costs {coin}{amount}!\n" +"Your balance is {coin}{balance}" +msgstr "" + +#: 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:264 +msgctxt "shop:colour|purchase|error:failed_no_role" +msgid "This colour role no longer exists!" +msgstr "" + +#: 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: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:306 +msgctxt "eventlog|event:purchase_colour|title" +msgid "Member Purchased Colour Role" +msgstr "" + +#: src/modules/shop/shops/colours.py:310 +#, possible-python-brace-format +msgctxt "eventlog|event:purchase_colour|desc" +msgid "{member} purchased {role} from the colour shop." +msgstr "" + +#: src/modules/shop/shops/colours.py:365 +msgctxt "grp:editshop_colours" +msgid "colours" +msgstr "" + +#: src/modules/shop/shops/colours.py:370 +msgctxt "cmd:editshop_colours_create" +msgid "create" +msgstr "" + +#: src/modules/shop/shops/colours.py:373 +msgctxt "cmd:editshop_colours_create|desc" +msgid "Create a new colour role with the given colour." +msgstr "" + +#: src/modules/shop/shops/colours.py:377 +msgctxt "cmd:editshop_colours_create|param:colour" +msgid "colour" +msgstr "" + +#: src/modules/shop/shops/colours.py:378 +msgctxt "cmd:editshop_colours_create|param:name" +msgid "name" +msgstr "" + +#: src/modules/shop/shops/colours.py:379 +msgctxt "cmd:editshop_colours_create|param:price" +msgid "price" +msgstr "" + +#: src/modules/shop/shops/colours.py:384 +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:388 +msgctxt "cmd:editshop_colours_create|param:name|desc" +msgid "What should the colour role be called?" +msgstr "" + +#: src/modules/shop/shops/colours.py:392 +msgctxt "cmd:editshop_colours_create|param:price|desc" +msgid "How much should the colour role cost?" +msgstr "" + +#: src/modules/shop/shops/colours.py:414 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_create|error:parse_colour" +msgid "" +"I could not extract a colour value from `{colour}`!\n" +"Please enter the colour as a hex string, e.g. `#FA0BC1`" +msgstr "" + +#: src/modules/shop/shops/colours.py:424 +msgctxt "cmd:editshop_colours_create|error:perms" +msgid "" +"I do not have permission to create server roles!\n" +"Please either give me this permission, or create the role manually and use `/editshop colours add` instead." +msgstr "" + +#: src/modules/shop/shops/colours.py:441 +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:460 +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:515 +msgctxt "cmd:editshop_colours_create|resp:done|title" +msgid "Colour Role Created" +msgstr "" + +#: src/modules/shop/shops/colours.py:519 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_create|resp:done|desc" +msgid "" +"You have created the role {mention}, and added it to the colour shop for " +"{coin}**{price}**!" +msgstr "" + +#: src/modules/shop/shops/colours.py:526 +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:530 +msgctxt "cmd:editshop_colours_create|resp:done|field:position_note|name" +msgid "Note" +msgstr "" + +#: src/modules/shop/shops/colours.py:539 +msgctxt "cmd:editshop_colours_edit" +msgid "edit" +msgstr "" + +#: src/modules/shop/shops/colours.py:542 +msgctxt "cmd:editshop_colours_edit|desc" +msgid "Edit the name, colour, or price of a colour role." +msgstr "" + +#: src/modules/shop/shops/colours.py:546 +msgctxt "cmd:editshop_colours_edit|param:role" +msgid "role" +msgstr "" + +#: src/modules/shop/shops/colours.py:547 +msgctxt "cmd:editshop_colours_edit|param:name" +msgid "name" +msgstr "" + +#: src/modules/shop/shops/colours.py:548 +msgctxt "cmd:editshop_colours_edit|param:colour" +msgid "colour" +msgstr "" + +#: src/modules/shop/shops/colours.py:549 +msgctxt "cmd:editshop_colours_edit|param:price" +msgid "price" +msgstr "" + +#: src/modules/shop/shops/colours.py:554 +msgctxt "cmd:editshop_colours_edit|param:role|desc" +msgid "Select a colour role to edit." +msgstr "" + +#: src/modules/shop/shops/colours.py:558 +msgctxt "cmd:editshop_colours_edit|param:name|desc" +msgid "New name to give the colour role." +msgstr "" + +#: src/modules/shop/shops/colours.py:562 +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:566 +msgctxt "cmd:editshop_colours_edit|param:price|desc" +msgid "New price for the colour role." +msgstr "" + +#: src/modules/shop/shops/colours.py:595 +#, 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:609 +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:625 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_edit|error:parse_colour" +msgid "" +"I could not extract a colour value from `{colour}`!\n" +"Please enter the colour as a hex string, e.g. `#FA0BC1`" +msgstr "" + +#: src/modules/shop/shops/colours.py:640 +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:656 +#, 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:673 +#, 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:683 +msgctxt "cmd:editshop_colours_edit|resp:done|embed:title" +msgid "Colour Role Updated" +msgstr "" + +#: src/modules/shop/shops/colours.py:689 +msgctxt "cmd:editshop_colours_auto" +msgid "auto" +msgstr "" + +#: src/modules/shop/shops/colours.py:690 +msgctxt "cmd:editshop_colours_auto|desc" +msgid "Automatically create a set of colour roles." +msgstr "" + +#: src/modules/shop/shops/colours.py:699 +msgctxt "cmd:editshop_colours_add" +msgid "add" +msgstr "" + +#: src/modules/shop/shops/colours.py:702 +msgctxt "cmd:editshop_colours_add|desc" +msgid "Add an existing role to the colour shop." +msgstr "" + +#: src/modules/shop/shops/colours.py:706 +msgctxt "cmd:editshop_colours_add|param:role" +msgid "role" +msgstr "" + +#: src/modules/shop/shops/colours.py:707 +msgctxt "cmd:editshop_colours_add|param:price" +msgid "price" +msgstr "" + +#: src/modules/shop/shops/colours.py:712 +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:716 +msgctxt "cmd:editshop_colours_add|param:price|desc" +msgid "How much should this role cost?" +msgstr "" + +#: src/modules/shop/shops/colours.py:741 +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:750 +#, 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:759 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_add|error:role_perms" +msgid "" +"I do not have enough permissions to assign the role {mention}! Please ensure" +" I have the `MANAGE_ROLES` permission, and that my top role is above this " +"role." +msgstr "" + +#: src/modules/shop/shops/colours.py:770 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_add|error:caller_perms" +msgid "" +"You do not have sufficient server permissions to assign {mention} to the " +"shop! You must have `MANAGE_ROLES`, and your top role must be above this " +"role." +msgstr "" + +#: src/modules/shop/shops/colours.py:782 +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:803 +msgctxt "cmd:editshop_colours_add|resp:done|embed:title" +msgid "Colour Role Created" +msgstr "" + +#: src/modules/shop/shops/colours.py:806 +#, 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:814 +msgctxt "cmd:editshop_colours_clear" +msgid "clear" +msgstr "" + +#: src/modules/shop/shops/colours.py:817 +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:821 +msgctxt "cmd:editshop_colours_clear|param:delete" +msgid "delete_roles" +msgstr "" + +#: src/modules/shop/shops/colours.py:826 +msgctxt "cmd:editshop_colours_clear|param:delete|desc" +msgid "Also delete the associated roles." +msgstr "" + +#: src/modules/shop/shops/colours.py:868 +msgctxt "cmd:editshop_colours_clear|error:no_colours" +msgid "There are no coloured roles to remove!" +msgstr "" + +#: src/modules/shop/shops/colours.py:912 +#, 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:923 +#, 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:929 +#, 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:942 +#, 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:947 +#, 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:996 +msgctxt "cmd:editshop_colours_remove" +msgid "remove" +msgstr "" + +#: src/modules/shop/shops/colours.py:999 +msgctxt "cmd:editshop_colours_remove|desc" +msgid "Remove a specific colour role from the shop." +msgstr "" + +#: src/modules/shop/shops/colours.py:1003 +msgctxt "cmd:editshop_colours_remove|param:role" +msgid "role" +msgstr "" + +#: src/modules/shop/shops/colours.py:1004 +msgctxt "cmd:editshop_colours_remove" +msgid "delete_role" +msgstr "" + +#: src/modules/shop/shops/colours.py:1009 +msgctxt "cmd:editshop_colours_remove|param:role|desc" +msgid "Select the colour role to remove." +msgstr "" + +#: src/modules/shop/shops/colours.py:1013 +msgctxt "cmd:editshop_colours_remove|param:delete_role|desc" +msgid "Whether to delete the associated role." +msgstr "" + +#: src/modules/shop/shops/colours.py:1038 +#, 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:1056 +msgctxt "cmd:editshop_colours_remove|resp:done|line:delete" +msgid "Successfully deleted the role." +msgstr "" + +#: src/modules/shop/shops/colours.py:1061 +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:1066 +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:1071 +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:1082 +#, possible-python-brace-format +msgctxt "cmd:editshop_colours_remove|resp:done|embed:desc" +msgid "" +"Removed {mention} from the colour shop.\n" +"{delete_line}" +msgstr "" + +#: src/modules/shop/shops/colours.py:1160 +msgctxt "ui:colourstore|menu:buycolours|embed:error|title" +msgid "Purchase Failed!" +msgstr "" + +#: src/modules/shop/shops/colours.py:1171 +#, 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:1206 +msgctxt "ui:colourstore|menu:buycolours|placeholder" +msgid "There are no colour roles available to purchase!" +msgstr "" + +#: src/modules/shop/shops/colours.py:1212 +msgctxt "ui:colourstore|menu:buycolours|placeholder" +msgid "Select a colour role to purchase!" +msgstr "" + +#: src/modules/shop/shops/colours.py:1258 +#, 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:1263 +#, possible-python-brace-format +msgctxt "ui:colourstore|embed|line:item" +msgid "`[{j:02}]` | `{price} LC` | {mention}" +msgstr "" + +#: src/modules/shop/shops/colours.py:1270 +msgctxt "ui:colourstore|embed|desc" +msgid "No colour roles available for purchase!" +msgstr "" + +#: src/modules/shop/shops/colours.py:1273 +msgctxt "ui:colourstore|embed|title" +msgid "Colour Role Shop" +msgstr "" + +#: src/modules/shop/shops/colours.py:1279 +#, possible-python-brace-format +msgctxt "ui:colourstore|embed|footer:paged" +msgid "Page {current}/{total}" +msgstr "" + +#: src/modules/shop/shops/colours.py:1286 +msgctxt "ui:colourstore|embed|field:warning|name" +msgid "Note!" +msgstr "" + +#: src/modules/shop/shops/colours.py:1290 +#, 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/ar/LC_MESSAGES/statistics.po b/locales/ar/LC_MESSAGES/statistics.po new file mode 100644 index 000000000000..c9ea243c677f --- /dev/null +++ b/locales/ar/LC_MESSAGES/statistics.po @@ -0,0 +1,848 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/statistics/cog.py:47 +msgctxt "cmd:me" +msgid "me" +msgstr "أنا" + +#: src/modules/statistics/cog.py:50 +msgctxt "cmd:me|desc" +msgid "Edit your personal profile and see your statistics." +msgstr "" + +#: src/modules/statistics/cog.py:63 +msgctxt "cmd:profile" +msgid "profile" +msgstr "" + +#: src/modules/statistics/cog.py:66 +msgctxt "cmd:profile|desc" +msgid "Display the target's profile and statistics summary." +msgstr "" + +#: src/modules/statistics/cog.py:70 +msgctxt "cmd:profile|param:member" +msgid "member" +msgstr "" + +#: src/modules/statistics/cog.py:74 +msgctxt "cmd:profile|param:member|desc" +msgid "Member to display profile for." +msgstr "" + +#: src/modules/statistics/cog.py:110 +msgctxt "cmd:stats" +msgid "stats" +msgstr "" + +#: src/modules/statistics/cog.py:113 +msgctxt "cmd:stats|desc" +msgid "Weekly and monthly statistics for your recent activity." +msgstr "" + +#: src/modules/statistics/cog.py:131 +msgctxt "cmd:leaderboard" +msgid "leaderboard" +msgstr "" + +#: src/modules/statistics/cog.py:134 +msgctxt "cmd:leaderboard|desc" +msgid "Server leaderboard." +msgstr "" + +#: src/modules/statistics/cog.py:149 +#, 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:170 +msgctxt "cmd:achievements" +msgid "achievements" +msgstr "" + +#: src/modules/statistics/cog.py:173 +msgctxt "cmd:achievements|desc" +msgid "View your progress towards the activity achievement awards!" +msgstr "" + +#: src/modules/statistics/cog.py:190 +msgctxt "cmd:achievements|embed:title" +msgid "Achievements" +msgstr "" + +#: src/modules/statistics/cog.py:208 +msgctxt "cmd:configure_statistics" +msgid "statistics" +msgstr "إحصائيات" + +#: src/modules/statistics/cog.py:209 +msgctxt "cmd:configure_statistics|desc" +msgid "Statistics configuration panel" +msgstr "" + +#: src/modules/statistics/cog.py:212 +msgctxt "cmd:configure_statistics|param:season_start" +msgid "season_start" +msgstr "" + +#: src/modules/statistics/cog.py:217 +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/achievements.py:77 +msgctxt "achievement|congrats" +msgid "Congratulations! You have completed this challenge." +msgstr "" + +#: src/modules/statistics/achievements.py:146 +msgctxt "achievement:workout|name" +msgid "It's about Power" +msgstr "" + +#: src/modules/statistics/achievements.py:150 +msgctxt "achievement:workout|subtext" +msgid "Workout 50 times" +msgstr "" + +#: src/modules/statistics/achievements.py:170 +msgctxt "achievement:voicehours|name" +msgid "Dream Big" +msgstr "" + +#: src/modules/statistics/achievements.py:174 +msgctxt "achievement:voicehours|subtext" +msgid "Study a total of 1000 hours" +msgstr "" + +#: src/modules/statistics/achievements.py:196 +msgctxt "achievement:voicestreak|name" +msgid "Consistency is Key" +msgstr "" + +#: src/modules/statistics/achievements.py:200 +msgctxt "achievement:voicestreak|subtext" +msgid "Reach a 100-day voice streak" +msgstr "" + +#: src/modules/statistics/achievements.py:283 +msgctxt "achievement:voting|name" +msgid "We're a Team" +msgstr "" + +#: src/modules/statistics/achievements.py:287 +msgctxt "achievement:voting|subtext" +msgid "Vote 100 times on top.gg" +msgstr "" + +#: src/modules/statistics/achievements.py:304 +msgctxt "achievement:days|name" +msgid "Aim For The Moon" +msgstr "" + +#: src/modules/statistics/achievements.py:308 +msgctxt "achievement:days|subtext" +msgid "Join Voice on 90 different days" +msgstr "" + +#: src/modules/statistics/achievements.py:333 +msgctxt "achievement:tasks|name" +msgid "One Step at a Time" +msgstr "" + +#: src/modules/statistics/achievements.py:337 +msgctxt "achievement:tasks|subtext" +msgid "Complete 1000 tasks" +msgstr "" + +#: src/modules/statistics/achievements.py:363 +msgctxt "achievement:schedule|name" +msgid "Be Accountable" +msgstr "" + +#: src/modules/statistics/achievements.py:367 +msgctxt "achievement:schedule|subtext" +msgid "Attend 500 Scheduled Sessions" +msgstr "" + +#: src/modules/statistics/achievements.py:392 +msgctxt "achievement:monthlyhours|name" +msgid "The 30 Days Challenge" +msgstr "" + +#: src/modules/statistics/achievements.py:396 +msgctxt "achievement:monthlyhours|subtext" +msgid "Be active for 100 hours in a month" +msgstr "" + +#: src/modules/statistics/settings.py:38 +msgctxt "settype:stat|output:voice" +msgid "`Voice`" +msgstr "" + +#: src/modules/statistics/settings.py:39 +msgctxt "settype:stat|output:text" +msgid "`Text`" +msgstr "" + +#: src/modules/statistics/settings.py:40 +msgctxt "settype:stat|output:anki" +msgid "`Anki`" +msgstr "" + +#: src/modules/statistics/settings.py:43 +msgctxt "settype:stat|input_format:voice" +msgid "Voice" +msgstr "صوت" + +#: src/modules/statistics/settings.py:44 +msgctxt "settype:stat|input_format:text" +msgid "Text" +msgstr "" + +#: src/modules/statistics/settings.py:45 +msgctxt "settype:stat|input_format:anki" +msgid "Anki" +msgstr "" + +#: src/modules/statistics/settings.py:48 +msgctxt "settype:stat|input_pattern:voice" +msgid "voice|study" +msgstr "" + +#: src/modules/statistics/settings.py:49 +msgctxt "settype:stat|input_pattern:text" +msgid "text|messages" +msgstr "" + +#: src/modules/statistics/settings.py:50 +msgctxt "settype:stat|input_pattern:anki" +msgid "anki" +msgstr "" + +#: src/modules/statistics/settings.py:54 +msgctxt "settype:state|accepts" +msgid "Voice/Text/Anki" +msgstr "" + +#: src/modules/statistics/settings.py:67 +msgctxt "userset:show_global_stats" +msgid "global_stats" +msgstr "" + +#: src/modules/statistics/settings.py:70 +msgctxt "userset:show_global_stats|desc" +msgid "Whether displayed statistics include all your servers." +msgstr "" + +#: src/modules/statistics/settings.py:74 +msgctxt "userset:show_global_stats|long_desc" +msgid "" +"Whether statistics commands display combined stats for all servers or just " +"your current server." +msgstr "" + +#: src/modules/statistics/settings.py:90 +msgctxt "guildset:season_start" +msgid "season_start" +msgstr "" + +#: src/modules/statistics/settings.py:93 +msgctxt "guildset:season_start|desc" +msgid "Start of the current statistics season." +msgstr "" + +#: src/modules/statistics/settings.py:97 +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.\n" +"Provided dates and times are assumed to be in the guild `timezone`, so set this first!" +msgstr "" + +#: src/modules/statistics/settings.py:104 +msgctxt "guildset:season_start|accepts" +msgid "The season start time in the form YYYY-MM-DD HH:MM" +msgstr "" + +#: src/modules/statistics/settings.py:108 +msgctxt "guildset:season_start|notset" +msgid "Not Set (Using all-time statistics)" +msgstr "" + +#: src/modules/statistics/settings.py:127 +#, 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:139 +#, 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.\n" +"Use {rank_cmd} and press **Refresh Member Ranks** to refresh all ranks immediately." +msgstr "" + +#: src/modules/statistics/settings.py:149 +#, 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.\n" +"Use {rank_cmd} and press **Refresh Member Ranks** to refresh all ranks immediately." +msgstr "" + +#: src/modules/statistics/settings.py:162 +msgctxt "guildset:unranked_roles" +msgid "unranked_roles" +msgstr "" + +#: src/modules/statistics/settings.py:165 +msgctxt "guildset:unranked_roles|desc" +msgid "Roles to exclude from the leaderboards." +msgstr "" + +#: src/modules/statistics/settings.py:169 +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:173 +msgctxt "guildset:unranked_roles|accepts" +msgid "Comma separated list of unranked role names or ids." +msgstr "" + +#: src/modules/statistics/settings.py:189 +msgctxt "guildset:unranked_roles|set_using" +msgid "Role selector below." +msgstr "" + +#: src/modules/statistics/settings.py:199 +#, 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:206 +msgctxt "guildset:unranked_roles|set_response|unset" +msgid "You have cleared the unranked role list." +msgstr "" + +#: src/modules/statistics/settings.py:221 +msgctxt "guildset:visible_stats" +msgid "visible_stats" +msgstr "" + +#: src/modules/statistics/settings.py:224 +msgctxt "guildset:visible_stats|desc" +msgid "Which statistics will be visible in the statistics commands." +msgstr "" + +#: src/modules/statistics/settings.py:228 +msgctxt "guildset:visible_stats|desc" +msgid "" +"Choose which statistics types to display in the leaderboard and statistics " +"commands." +msgstr "" + +#: src/modules/statistics/settings.py:232 +msgctxt "guildset:visible_stats|accepts" +msgid "Voice, Text, Anki" +msgstr "" + +#: src/modules/statistics/settings.py:253 +msgctxt "guildset:visible_stats|set_using" +msgid "Option menu below." +msgstr "" + +#: src/modules/statistics/settings.py:261 +#, 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:272 +msgctxt "guildset:default_stat" +msgid "default_stat" +msgstr "" + +#: src/modules/statistics/settings.py:275 +msgctxt "guildset:default_stat|desc" +msgid "Statistic type to display by default in setting dialogues." +msgstr "" + +#: src/modules/statistics/settings.py:279 +msgctxt "guildset:default_stat|long_desc" +msgid "Which statistic type to display by default in setting dialogues." +msgstr "" + +#: src/modules/statistics/settings.py:313 +msgctxt "ui:statistics_config|menu:unranked_roles|placeholder" +msgid "Select Unranked Roles" +msgstr "" + +#: src/modules/statistics/settings.py:338 +msgctxt "ui:statistics_config|menu:visible_stats|item:voice|mode:voice" +msgid "Voice Activity" +msgstr "" + +#: src/modules/statistics/settings.py:343 +msgctxt "ui:statistics_config|menu:visible_stats|item:voice|mode:study" +msgid "Study Statistics" +msgstr "" + +#: src/modules/statistics/settings.py:353 +msgctxt "ui:statistics_config|menu:visible_stats|item:text" +msgid "Message Activity" +msgstr "" + +#: src/modules/statistics/settings.py:361 +msgctxt "ui:statistics_config|menu:visible_stats|item:anki" +msgid "Anki Reviews" +msgstr "" + +#: src/modules/statistics/settings.py:372 +msgctxt "ui:statistics_config|menu:visible_stats|placeholder" +msgid "Select Visible Statistics" +msgstr "" + +#: src/modules/statistics/settings.py:393 +msgctxt "ui:statistics_config|embed|title" +msgid "Statistics Configuration Panel" +msgstr "" + +#: src/modules/statistics/settings.py:415 +msgctxt "dash:stats|title" +msgid "" +"Activity Statistics Configuration ({commands[admin config statistics]})" +msgstr "" + +#: src/modules/statistics/settings.py:419 +msgctxt "dash:stats|dropdown|placeholder" +msgid "Activity Statistics Panel" +msgstr "" + +#: src/modules/statistics/graphics/stats.py:63 +#, possible-python-brace-format +msgctxt "gui:stats|mode:voice|month" +msgid "{hours} hours" +msgstr "" + +#: src/modules/statistics/ui/goals.py:92 +msgctxt "ui:MonthlyUI|name" +msgid "Monthly" +msgstr "" + +#: src/modules/statistics/ui/goals.py:135 +msgctxt "ui:WeeklyUI|name" +msgid "Weekly" +msgstr "" + +#: src/modules/statistics/ui/summary.py:18 +msgctxt "ui:SummaryUI|name" +msgid "Summary" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:96 +msgctxt "menu:stat_type|opt:weekly_voice|name" +msgid "Weekly Voice Statistics" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:101 +msgctxt "menu:stat_type|opt:weekly_text|name" +msgid "Weekly Text Statistics" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:106 +msgctxt "menu:stat_type|opt:weekly_anki|name" +msgid "Weekly Anki Statistics" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:112 +msgctxt "menu:stat_type|opt:monthly_voice|name" +msgid "Monthly Voice Statistics" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:117 +msgctxt "menu:stat_type|opt:monthly_text|name" +msgid "Monthly Text Statistics" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:122 +msgctxt "menu:stat_type|opt:monthly_anki|name" +msgid "Monthly Anki Statistics" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:144 +msgctxt "modal:goal_editor|field:task_goal|label" +msgid "Task goal" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:148 +msgctxt "modal:goal_editor|field:task_goal|placeholder" +msgid "Enter the number of tasklist tasks you aim to do" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:159 +#, possible-python-brace-format +msgctxt "modal:goal_editor|field:task_goal|error:NAN" +msgid "The provided task goal `{input}` is not a number! Please try again." +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:181 +msgctxt "modal:goal_editor|field:voice_goal|label" +msgid "Study time goal" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:185 +msgctxt "modal:goal_editor|field:voice_goal|placeholder" +msgid "Enter a number of hours of study to aim for." +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:190 +msgctxt "modal:goal_editor|field:text_goal|label" +msgid "Message goal" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:194 +msgctxt "modal:goal_editor|field:text_goal|placeholder" +msgid "Enter a message count to aim for." +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:199 +msgctxt "modal:goal_editor|field:anki_goal|label" +msgid "Card goal" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:203 +msgctxt "modal:goal_editor|field:anki_goal|label" +msgid "Enter a number of card revisions to aim for." +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:216 +#, possible-python-brace-format +msgctxt "modal:goal_editor|field:voice_goal|error:NAN" +msgid "" +"The provided study time goal `{input}` is not a number! Please try again." +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:223 +#, possible-python-brace-format +msgctxt "modal:goal_editor|field:text_goal|error:NAN" +msgid "The provided message goal `{input}` is not a number! Please try again." +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:230 +#, possible-python-brace-format +msgctxt "modal:goal_editor|field:anki_goal|error:NAN" +msgid "The provided card goal `{input}` is not a number! Please try again." +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:252 +msgctxt "modal:goal_editor|field:weekly_task_editor|label" +msgid "Tasks to complete this week (one per line)" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:256 +msgctxt "modal:goal_editor|field:weekly_task_editor|placeholder" +msgid "" +"[ ] Write my biology essay\n" +"[x] Complete the second maths assignment\n" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:262 +msgctxt "modal:goal_editor|field:monthly_task_editor|label" +msgid "Tasks to complete this month (one per line)" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:266 +msgctxt "modal:goal_editor|field:monthly_task_editor|placeholder" +msgid "" +"[ ] Write my biology essay\n" +"[x] Complete the second maths assignment\n" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:284 +#, possible-python-brace-format +msgctxt "modal:goal_editor||field:task_editor|error:parse_general" +msgid "" +"Malformed task!\n" +"`{input}`" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:301 +msgctxt "modal:goal_editor|title" +msgid "Weekly goal editor" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:306 +msgctxt "modal:goal_editor|monthly|title" +msgid "Monthly goal editor" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:503 +msgctxt "ui:weeklymonthly|button:edit_goals|label" +msgid "Edit Goals" +msgstr "تعديل الهدف" + +#: 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:534 +#, possible-python-brace-format +msgctxt "ui:weeklymonthly|menu:period|weekly|label" +msgid "{year} W{week}" +msgstr "" + +#: 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:616 +msgctxt "ui:weeklymonthly|button:period|close|label" +msgid "Close Selector" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:621 +msgctxt "ui:weeklymonthly|button:period|weekly|label" +msgid "Select Week" +msgstr "" +"اختر الأسبوع\n" +"AT: حدد الأسبوع" + +#: src/modules/statistics/ui/weeklymonthly.py:626 +msgctxt "ui:weeklymonthly|button:period|monthly|label" +msgid "Select Month" +msgstr "" +"اختر الشهر\n" +"AT: حدد الشهر" + +#: 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:696 +msgctxt "ui:weeklymonthly|menu:period|monthly|placeholder" +msgid "Select a month to display" +msgstr "" + +#: 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:731 +msgctxt "ui:WeeklyMonthly|button:global|mode:local" +msgid "Server Statistics" +msgstr "" + +#: src/modules/statistics/ui/weeklymonthly.py:736 +msgctxt "ui:WeeklyMonthly|button:global|mode:global" +msgid "Global Statistics" +msgstr "" + +#: src/modules/statistics/ui/profile.py:41 +msgctxt "modal:profile_editor|field:editor|label" +msgid "Profile Tags (One line per tag)" +msgstr "" + +#: src/modules/statistics/ui/profile.py:45 +msgctxt "modal:profile_editor|field:editor|placeholder" +msgid "" +"Mathematician\n" +"Loves Cats" +msgstr "" + +#: src/modules/statistics/ui/profile.py:53 +msgctxt "modal:profile_editor|title" +msgid "Profile Tag Editor" +msgstr "" + +#: src/modules/statistics/ui/profile.py:71 +#, possible-python-brace-format +msgctxt "modal:profile_editor|error:too_many_tags" +msgid "Too many tags! You can have at most `{limit}` profile tags." +msgstr "" + +#: src/modules/statistics/ui/profile.py:92 +msgctxt "menu:stat_type|opt:voice|name" +msgid "Voice Statistics" +msgstr "" + +#: src/modules/statistics/ui/profile.py:97 +msgctxt "menu:stat_type|opt:text|name" +msgid "Text Statistics" +msgstr "" + +#: src/modules/statistics/ui/profile.py:102 +msgctxt "menu:stat_type|opt:anki|name" +msgid "Anki Statistics" +msgstr "" + +#: src/modules/statistics/ui/profile.py:190 +msgctxt "modal:profile_editor|resp:success" +msgid "Your profile has been updated!" +msgstr "" + +#: src/modules/statistics/ui/profile.py:200 +msgctxt "ui:profile_card|button:edit|label" +msgid "Edit Profile Badges" +msgstr "" + +#: src/modules/statistics/ui/profile.py:219 +msgctxt "ui:profile_card|button:statistics|label:hide" +msgid "Hide Statistics" +msgstr "اخفى الإحصائيات" + +#: src/modules/statistics/ui/profile.py:224 +msgctxt "ui:profile_card|button:statistics|label:show" +msgid "Show Statistics" +msgstr "اظهر الاحصائيات" + +#: src/modules/statistics/ui/profile.py:253 +msgctxt "ui:Profile|button:global|resp:success" +msgid "" +"You will now see statistics from all you servers (where applicable)! Press " +"again to revert." +msgstr "" + +#: src/modules/statistics/ui/leaderboard.py:257 +msgctxt "ui:leaderboard|menu:stats|placeholder" +msgid "Select Activity Type" +msgstr "حدد نوع النشاط" + +#: src/modules/statistics/ui/leaderboard.py:266 +msgctxt "ui:leaderboard|menu:stats|item:voice" +msgid "Voice Activity" +msgstr "" + +#: src/modules/statistics/ui/leaderboard.py:277 +msgctxt "ui:leaderboard|menu:stats|item:study" +msgid "Study Statistics" +msgstr "إحصائيات الدراسة" + +#: src/modules/statistics/ui/leaderboard.py:288 +msgctxt "ui:leaderboard|menu:stats|item:message" +msgid "Message Activity" +msgstr "" + +#: src/modules/statistics/ui/leaderboard.py:299 +msgctxt "ui:leaderboard|menu;stats|item:anki" +msgid "Anki Cards Reviewed" +msgstr "" + +#: src/modules/statistics/ui/leaderboard.py:353 +msgctxt "ui:leaderboard|button:season|label" +msgid "This Season" +msgstr "هذا الموسم" + +#: src/modules/statistics/ui/leaderboard.py:357 +msgctxt "ui:leaderboard|button:day|label" +msgid "Today" +msgstr "اليوم" + +#: src/modules/statistics/ui/leaderboard.py:361 +msgctxt "ui:leaderboard|button:week|label" +msgid "This Week" +msgstr "هذا الاسبوع" + +#: src/modules/statistics/ui/leaderboard.py:365 +msgctxt "ui:leaderboard|button:month|label" +msgid "This Month" +msgstr "هذا الشهر" + +#: src/modules/statistics/ui/leaderboard.py:369 +msgctxt "ui:leaderboard|button:alltime|label" +msgid "All Time" +msgstr "الوقت الكلى" + +#: src/modules/statistics/ui/leaderboard.py:373 +msgctxt "ui:leaderboard|button:jump|label" +msgid "Jump" +msgstr "اذهب إلى" + +#: src/modules/statistics/ui/leaderboard.py:388 +msgctxt "ui:leaderboard|button:jump|input:title" +msgid "Jump to page" +msgstr "اذهب إلى الصفحة" + +#: src/modules/statistics/ui/leaderboard.py:392 +msgctxt "ui:leaderboard|button:jump|input:question" +msgid "Page number to jump to" +msgstr "" + +#: src/modules/statistics/ui/leaderboard.py:403 +msgctxt "ui:leaderboard|button:jump|error:invalid_page" +msgid "Invalid page number, please try again!" +msgstr "رقم الصفحة غير صحيح , الرجاء حاول مرة أخرى" + +#: src/modules/statistics/ui/leaderboard.py:447 +msgctxt "ui:leaderboard|chunk_warning" +msgid "" +"**Note:** Could not retrieve member list from Discord, so some members may " +"be missing. Try again in a minute!" +msgstr "" + +#: src/modules/statistics/ui/leaderboard.py:454 +#, possible-python-brace-format +msgctxt "ui:leaderboard|since" +msgid "Counting statistics since {timestamp}" +msgstr "" + +#: src/modules/statistics/ui/leaderboard.py:467 +#, possible-python-brace-format +msgctxt "ui:leaderboard|mode:voice|message:empty|desc" +msgid "There has been no voice activity since {timestamp}" +msgstr "" + +#: src/modules/statistics/ui/leaderboard.py:472 +#, possible-python-brace-format +msgctxt "ui:leaderboard|mode:text|message:empty|desc" +msgid "There has been no message activity since {timestamp}" +msgstr "" + +#: src/modules/statistics/ui/leaderboard.py:477 +#, possible-python-brace-format +msgctxt "ui:leaderboard|mode:anki|message:empty|desc" +msgid "There have been no Anki cards reviewed since {timestamp}" +msgstr "" + +#: src/modules/statistics/ui/leaderboard.py:486 +msgctxt "ui:leaderboard|message:empty|title" +msgid "Leaderboard Empty!" +msgstr "" diff --git a/locales/ar/LC_MESSAGES/stats-gui.po b/locales/ar/LC_MESSAGES/stats-gui.po new file mode 100644 index 000000000000..c179c026d28e --- /dev/null +++ b/locales/ar/LC_MESSAGES/stats-gui.po @@ -0,0 +1,143 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. First column +#: src/gui/cards/stats.py:72 +msgctxt "skin:stats|header:col1" +msgid "STATISTICS" +msgstr "إحصائيات" + +#: src/gui/cards/stats.py:75 +msgctxt "skin:stats|subheader:leaderboard" +msgid "LEADERBOARD POSITION" +msgstr "" + +#: src/gui/cards/stats.py:79 +msgctxt "skin:stats|mode:study|subheader:study" +msgid "STUDY TIME" +msgstr "وقت الدراسة" + +#: src/gui/cards/stats.py:83 +msgctxt "skin:stats|mode:voice|subheader:study" +msgid "VOICE TIME" +msgstr "" + +#: src/gui/cards/stats.py:87 +msgctxt "skin:stats|mode:text|subheader:study" +msgid "MESSAGES" +msgstr "رسائل" + +#: src/gui/cards/stats.py:91 +msgctxt "skin:stats|mode:anki|subheader:study" +msgid "CARDS REVIEWED" +msgstr "" + +#: src/gui/cards/stats.py:102 +msgctxt "skin:stats|subheader:workouts" +msgid "WORKOUTS" +msgstr "تمارين رياضية" + +#: src/gui/cards/stats.py:118 +msgctxt "skin:stats|field:daily" +msgid "DAILY" +msgstr "" + +#: src/gui/cards/stats.py:122 +msgctxt "skin:stats|field:weekly" +msgid "WEEKLY" +msgstr "أسبوعيا" + +#: src/gui/cards/stats.py:126 +msgctxt "skin:stats|field:monthly" +msgid "MONTHLY" +msgstr "شهريا" + +#: src/gui/cards/stats.py:130 +msgctxt "skin:stats|field:alltime" +msgid "ALL TIME" +msgstr "" + +#: src/gui/cards/stats.py:134 +msgctxt "skin:stats|field:time" +msgid "TIME" +msgstr "وقت" + +#: src/gui/cards/stats.py:138 +msgctxt "skin:stats|field:anki" +msgid "ANKI: COMING SOON" +msgstr "" + +#: src/gui/cards/stats.py:155 +msgctxt "skin:stats|mode:study|header:col2" +msgid "STUDY STREAK" +msgstr "" + +#: src/gui/cards/stats.py:159 +msgctxt "skin:stats|mode:voice|header:col2" +msgid "VOICE STREAK" +msgstr "" + +#: src/gui/cards/stats.py:163 +msgctxt "skin:stats|mode:text|header:col2" +msgid "ACTIVITY STREAK" +msgstr "" + +#: src/gui/cards/stats.py:167 +msgctxt "skin:stats|mode:anki|header:col2" +msgid "ANKI REVIEW STREAK" +msgstr "" + +#: src/gui/cards/stats.py:180 +#, possible-python-brace-format +msgctxt "skin:stats|mode:study|field:col2_summary" +msgid "{amount} HRS" +msgstr "" + +#: src/gui/cards/stats.py:184 +#, possible-python-brace-format +msgctxt "skin:stats|mode:voice|field:col2_summary" +msgid "{amount} HRS" +msgstr "" + +#: src/gui/cards/stats.py:188 +#, possible-python-brace-format +msgctxt "skin:stats|mode:text|field:col2_summary" +msgid "{amount} XP" +msgstr "" + +#: src/gui/cards/stats.py:192 +#, possible-python-brace-format +msgctxt "skin:stats|mode:anki|field:col2_summary" +msgid "{amount} CARDS" +msgstr "" + +#: src/gui/cards/stats.py:223 +msgctxt "skin:stats|cal|weekdays" +msgid "S,M,T,W,T,F,S" +msgstr "" + +#: src/gui/cards/stats.py:227 +msgctxt "skin:stats|cal|months" +msgid "" +"JANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER" +msgstr "" diff --git a/locales/ar/LC_MESSAGES/tasklist.po b/locales/ar/LC_MESSAGES/tasklist.po new file mode 100644 index 000000000000..89c095f43957 --- /dev/null +++ b/locales/ar/LC_MESSAGES/tasklist.po @@ -0,0 +1,834 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/tasklist/cog.py:35 +msgctxt "argtype:Before|opt:HOUR" +msgid "The last hour" +msgstr "آخر ساعة" + +#: src/modules/tasklist/cog.py:36 +msgctxt "argtype:Before|opt:HALFDAY" +msgid "The last 12 hours" +msgstr "آخر 12 ساعة" + +#: src/modules/tasklist/cog.py:37 +msgctxt "argtype:Before|opt:DAY" +msgid "The last 24 hours" +msgstr "آخر 24 ساعة" + +#: src/modules/tasklist/cog.py:38 +msgctxt "argtype:Before|opt:TODAY" +msgid "Today" +msgstr "اليوم" + +#: src/modules/tasklist/cog.py:39 +msgctxt "argtype:Before|opt:YESTERDAY" +msgid "Yesterday" +msgstr "آمس" + +#: src/modules/tasklist/cog.py:40 +msgctxt "argtype:Before|opt:Monday" +msgid "This Monday" +msgstr "" + +#: src/modules/tasklist/cog.py:41 +msgctxt "argtype:Before|opt:THISMONTH" +msgid "This Month" +msgstr "" + +#: 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:261 +msgctxt "cmd:tasklist|desc" +msgid "Open your tasklist." +msgstr "" + +#: src/modules/tasklist/cog.py:271 +msgctxt "group:tasks" +msgid "tasks" +msgstr "" + +#: src/modules/tasklist/cog.py:272 +msgctxt "group:tasks|desc" +msgid "Base command group for tasklist commands." +msgstr "" + +#: src/modules/tasklist/cog.py:295 +msgctxt "argtype:taskid|error:no_tasks" +msgid "Tasklist empty! No matching tasks." +msgstr "" + +#: src/modules/tasklist/cog.py:332 +msgctxt "argtype:taskid|match:all" +msgid "All tasks" +msgstr "" + +#: src/modules/tasklist/cog.py:350 +#, possible-python-brace-format +msgctxt "argtype:taskid|error:parse_multi" +msgid "(Warning: {error})" +msgstr "" + +#: src/modules/tasklist/cog.py:384 +#, possible-python-brace-format +msgctxt "argtype:taskid|error:no_matching" +msgid "No tasks matching '{partial}'!" +msgstr "" + +#: src/modules/tasklist/cog.py:404 +msgctxt "cmd:tasks_new" +msgid "new" +msgstr "" + +#: src/modules/tasklist/cog.py:407 +msgctxt "cmd:tasks_new|desc" +msgid "Add a new task to your tasklist." +msgstr "" + +#: src/modules/tasklist/cog.py:411 +msgctxt "cmd:tasks_new|param:content" +msgid "task" +msgstr "" + +#: src/modules/tasklist/cog.py:412 +msgctxt "cmd:tasks_new|param:parent" +msgid "parent" +msgstr "" + +#: src/modules/tasklist/cog.py:415 +msgctxt "cmd:tasks_new|param:content|desc" +msgid "Content of your new task." +msgstr "" + +#: src/modules/tasklist/cog.py:416 +msgctxt "cmd:tasks_new|param:parent" +msgid "Parent of this task." +msgstr "" + +#: src/modules/tasklist/cog.py:436 +#, 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:451 +#, possible-python-brace-format +msgctxt "cmd:tasks_new|resp:success" +msgid "{tick} Created task `{label}`." +msgstr "" + +#: src/modules/tasklist/cog.py:463 +msgctxt "cmd:tasks_upload" +msgid "upload" +msgstr "" + +#: src/modules/tasklist/cog.py:466 +msgctxt "cmd:tasks_upload|desc" +msgid "Upload a list of tasks to append to or replace your tasklist." +msgstr "" + +#: src/modules/tasklist/cog.py:470 +msgctxt "cmd:tasks_upload|param:tasklist" +msgid "tasklist" +msgstr "" + +#: src/modules/tasklist/cog.py:471 +msgctxt "cmd:tasks_upload|param:append" +msgid "append" +msgstr "" + +#: src/modules/tasklist/cog.py:476 +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:480 +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:496 +msgctxt "cmd:tasks_upload|error:not_text" +msgid "The attached tasklist must be a text file!" +msgstr "" + +#: src/modules/tasklist/cog.py:504 +msgctxt "cmd:tasks_upload|error:too_large" +msgid "The attached tasklist was too large!" +msgstr "" + +#: src/modules/tasklist/cog.py:515 +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:521 +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:568 +#, possible-python-brace-format +msgctxt "cmd:tasks_upload|resp:success" +msgid "{tick} Updated your tasklist." +msgstr "" + +#: src/modules/tasklist/cog.py:580 +msgctxt "cmd:tasks_edit" +msgid "edit" +msgstr "" + +#: src/modules/tasklist/cog.py:583 +msgctxt "cmd:tasks_edit|desc" +msgid "Edit a task in your tasklist." +msgstr "" + +#: src/modules/tasklist/cog.py:587 +msgctxt "cmd:tasks_edit|param:taskstr" +msgid "task" +msgstr "" + +#: src/modules/tasklist/cog.py:588 +msgctxt "cmd:tasks_edit|param:new_content" +msgid "new_task" +msgstr "" + +#: src/modules/tasklist/cog.py:589 +msgctxt "cmd:tasks_edit|param:new_parent" +msgid "new_parent" +msgstr "" + +#: src/modules/tasklist/cog.py:592 +msgctxt "cmd:tasks_edit|param:taskstr|desc" +msgid "Which task do you want to update?" +msgstr "" + +#: src/modules/tasklist/cog.py:593 +msgctxt "cmd:tasks_edit|param:new_content|desc" +msgid "What do you want to change the task to?" +msgstr "" + +#: src/modules/tasklist/cog.py:594 +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:613 +#, 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:629 +#, 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:648 +#, possible-python-brace-format +msgctxt "cmd:tasks_edit|resp:success|desc" +msgid "{tick} Task `{label}` updated." +msgstr "" + +#: src/modules/tasklist/cog.py:670 +msgctxt "ui:tasklist_single_editor|title" +msgid "Edit Task" +msgstr "" + +#: src/modules/tasklist/cog.py:685 +msgctxt "cmd:tasks_clear" +msgid "clear" +msgstr "" + +#: src/modules/tasklist/cog.py:686 +msgctxt "cmd:tasks_clear|desc" +msgid "Clear your tasklist." +msgstr "" + +#: src/modules/tasklist/cog.py:696 +msgctxt "cmd:tasks_clear|resp:success" +msgid "Your tasklist has been cleared." +msgstr "" + +#: src/modules/tasklist/cog.py:704 +msgctxt "cmd:tasks_remove" +msgid "remove" +msgstr "" + +#: src/modules/tasklist/cog.py:707 +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:711 +msgctxt "cmd:tasks_remove|param:taskidstr" +msgid "tasks" +msgstr "" + +#: src/modules/tasklist/cog.py:712 +msgctxt "cmd:tasks_remove|param:created_before" +msgid "created_before" +msgstr "" + +#: src/modules/tasklist/cog.py:713 +msgctxt "cmd:tasks_remove|param:updated_before" +msgid "updated_before" +msgstr "" + +#: src/modules/tasklist/cog.py:714 +msgctxt "cmd:tasks_remove|param:completed" +msgid "completed" +msgstr "" + +#: src/modules/tasklist/cog.py:715 +msgctxt "cmd:tasks_remove|param:cascade" +msgid "cascade" +msgstr "" + +#: src/modules/tasklist/cog.py:720 +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-), or `-`" +" to remove all." +msgstr "" + +#: src/modules/tasklist/cog.py:724 +msgctxt "cmd:tasks_remove|param:created_before|desc" +msgid "Only delete tasks created before the selected time." +msgstr "" + +#: src/modules/tasklist/cog.py:728 +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:732 +msgctxt "cmd:tasks_remove|param:completed" +msgid "Only delete tasks which are (not) complete." +msgstr "" + +#: src/modules/tasklist/cog.py:736 +msgctxt "cmd:tasks_remove|param:cascade" +msgid "Whether to recursively remove subtasks of removed tasks." +msgstr "" + +#: src/modules/tasklist/cog.py:768 src/modules/tasklist/cog.py:863 +#: src/modules/tasklist/cog.py:938 +#, 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:792 +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:805 +#, possible-python-brace-format +msgctxt "cmd:tasks_remove|resp:success" +msgid "{tick} Deleted task `{label}`" +msgid_plural "{tick} Deleted `{count}` tasks from your tasklist." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/tasklist/cog.py:823 +msgctxt "cmd:tasks_tick" +msgid "tick" +msgstr "" + +#: src/modules/tasklist/cog.py:824 +msgctxt "cmd:tasks_tick|desc" +msgid "Mark the given tasks as completed." +msgstr "" + +#: src/modules/tasklist/cog.py:827 +msgctxt "cmd:tasks_tick|param:taskidstr" +msgid "tasks" +msgstr "" + +#: src/modules/tasklist/cog.py:828 +msgctxt "cmd:tasks_tick|param:cascade" +msgid "cascade" +msgstr "" + +#: src/modules/tasklist/cog.py:833 +msgctxt "cmd:tasks_tick|param:taskidstr|desc" +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:837 +msgctxt "cmd:tasks_tick|param:cascade|desc" +msgid "Whether to also mark all subtasks as complete." +msgstr "" + +#: src/modules/tasklist/cog.py:881 +#, possible-python-brace-format +msgctxt "cmd:tasks_tick|resp:success" +msgid "{tick} Marked `{label}` as complete." +msgid_plural "{tick} Marked `{count}` tasks as complete." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/tasklist/cog.py:899 +msgctxt "cmd:tasks_untick" +msgid "untick" +msgstr "" + +#: src/modules/tasklist/cog.py:900 +msgctxt "cmd:tasks_untick|desc" +msgid "Mark the given tasks as incomplete." +msgstr "" + +#: src/modules/tasklist/cog.py:903 +msgctxt "cmd:tasks_untick|param:taskidstr" +msgid "taskids" +msgstr "" + +#: src/modules/tasklist/cog.py:904 +msgctxt "cmd:tasks_untick|param:cascade" +msgid "cascade" +msgstr "" + +#: src/modules/tasklist/cog.py:909 +msgctxt "cmd:tasks_untick|param:taskidstr|desc" +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:913 +msgctxt "cmd:tasks_untick|param:cascade|desc" +msgid "Whether to also mark all subtasks as incomplete." +msgstr "" + +#: src/modules/tasklist/cog.py:954 +#, possible-python-brace-format +msgctxt "cmd:tasks_untick|resp:success" +msgid "{tick} Marked `{label}` as incomplete." +msgid_plural "{tick} Marked `{count}` tasks as incomplete." +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/modules/tasklist/cog.py:978 +msgctxt "cmd:configure_tasklist" +msgid "tasklist" +msgstr "قائمة المهام" + +#: src/modules/tasklist/cog.py:979 +msgctxt "cmd:configure_tasklist|desc" +msgid "Tasklist configuration panel" +msgstr "" + +#: src/modules/tasklist/cog.py:982 +msgctxt "cmd:configure_tasklist|param:reward" +msgid "reward" +msgstr "" + +#: src/modules/tasklist/cog.py:983 +msgctxt "cmd:configure_tasklist|param:reward_limit" +msgid "reward_limit" +msgstr "" + +#: src/modules/tasklist/cog.py:1018 +#, possible-python-brace-format +msgctxt "cmd:configure_tasklist|resp:success|desc" +msgid "" +"Members will now be rewarded {coin}**{amount}** for each task they complete " +"up to a maximum of `{limit}` tasks per 24h." +msgstr "" + +#: 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: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:320 +#, possible-python-brace-format +msgctxt "modal:tasklist_bulk_editor|error:parse_task" +msgid "" +"Malformed taskline!\n" +"`{input}`" +msgstr "" + +#: src/modules/tasklist/tasklist.py:332 +msgctxt "modal:tasklist_bulk_editor|error:task_too_long" +msgid "Please keep your tasks under 100 characters!" +msgstr "" + +#: src/modules/tasklist/ui.py:39 +msgctxt "ui:tasklist_caller|button:tasklist|label" +msgid "Open Tasklist" +msgstr "افتح قائمة المهام" + +#: src/modules/tasklist/ui.py:57 +msgctxt "modal:tasklist_single_editor|field:task|label" +msgid "Task content" +msgstr "محتوى المهمة" + +#: src/modules/tasklist/ui.py:69 +msgctxt "modal:tasklist_single_editor|field:parent|label" +msgid "Parent Task" +msgstr "" + +#: src/modules/tasklist/ui.py:73 +msgctxt "modal:tasklist_single_editor|field:parent|placeholder" +msgid "Enter a task number, e.g. 2.1" +msgstr "" + +#: src/modules/tasklist/ui.py:104 +msgctxt "modal:tasklist_bulk_editor|field:tasklist|label" +msgid "Tasklist" +msgstr "" + +#: src/modules/tasklist/ui.py:108 +msgctxt "modal:tasklist_bulk_editor|field:tasklist|placeholder" +msgid "" +"- [ ] This is task 1, unfinished.\n" +"- [x] This is task 2, finished.\n" +" - [ ] This is subtask 2.1." +msgstr "" + +#: src/modules/tasklist/ui.py:130 +msgctxt "modal:tasklist_bulk_editor" +msgid "Tasklist Editor" +msgstr "" + +#: src/modules/tasklist/ui.py:188 +msgctxt "ui:tasklist|menu:main|mode:toggle|placeholder" +msgid "Select to Toggle" +msgstr "" + +#: src/modules/tasklist/ui.py:192 +#, possible-python-brace-format +msgctxt "ui:tasklist|menu:sub|mode:toggle|placeholder" +msgid "Toggle from {label}.*" +msgstr "" + +#: src/modules/tasklist/ui.py:198 +msgctxt "ui:tasklist|menu:main|mode:edit|placeholder" +msgid "Select to Edit" +msgstr "" + +#: src/modules/tasklist/ui.py:202 +#, possible-python-brace-format +msgctxt "ui:tasklist|menu:sub|mode:edit|placeholder" +msgid "Edit from {label}.*" +msgstr "" + +#: src/modules/tasklist/ui.py:208 +msgctxt "ui:tasklist|menu:main|mode:delete|placeholder" +msgid "Select to Delete" +msgstr "" + +#: src/modules/tasklist/ui.py:212 +#, possible-python-brace-format +msgctxt "ui:tasklist|menu:sub|mode:delete|placeholder" +msgid "Delete from {label}.*" +msgstr "" + +#: 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:423 +#, possible-python-brace-format +msgctxt "ui:tasklist_single_editor|field:parent|error:multiple_matching" +msgid "" +"Multiple tasks matching given parent task `{input}`. Please use a task " +"number instead!" +msgstr "" + +#: 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:501 +msgctxt "ui:tasklist|menu:edit|modal:title" +msgid "Edit task" +msgstr "" + +#: src/modules/tasklist/ui.py:596 +msgctxt "ui:tasklist_single_editor|title" +msgid "Add task" +msgstr "" + +#: src/modules/tasklist/ui.py:629 +msgctxt "ui:tasklist|button:edit_mode|label" +msgid "Edit" +msgstr "" + +#: src/modules/tasklist/ui.py:645 +msgctxt "ui:tasklist|button:delete_mode|label" +msgid "Delete" +msgstr "" + +#: src/modules/tasklist/ui.py:661 +msgctxt "ui:tasklist|button:toggle_mode|label" +msgid "Toggle" +msgstr "" + +#: 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:692 +msgctxt "ui:tasklist|button:edit_bulk|label" +msgid "Bulk Edit" +msgstr "" + +#: src/modules/tasklist/ui.py:705 +msgctxt "ui:tasklist|button:clear|label" +msgid "Clear Tasklist" +msgstr "" + +#: 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: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:782 +msgctxt "ui:tasklist|error:wrong_user" +msgid "This is not your tasklist!" +msgstr "" + +#: 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:846 +msgctxt "ui:tasklist|embed|description" +msgid "" +"**You have no tasks on your tasklist!**\n" +"Add a task with {cmds[tasks new]}, or by pressing the {new_button} button below." +msgstr "" + +#: src/modules/tasklist/settings.py:35 +msgctxt "guildset:task_reward" +msgid "task_reward" +msgstr "" + +#: src/modules/tasklist/settings.py:38 +msgctxt "guildset:task_reward|desc" +msgid "Number of LionCoins given for each completed task." +msgstr "" + +#: src/modules/tasklist/settings.py:42 +msgctxt "guildset:task_reward|long_desc" +msgid "" +"The number of coins members will be rewarded each time they complete a task " +"on their tasklist." +msgstr "" + +#: src/modules/tasklist/settings.py:46 +msgctxt "guildset:task_reward|accepts" +msgid "The number of LionCoins to reward per task." +msgstr "" + +#: src/modules/tasklist/settings.py:58 +#, possible-python-brace-format +msgctxt "guildset:task_reward|response" +msgid "" +"Members will now be rewarded {coin}**{amount}** for each completed task." +msgstr "" + +#: src/modules/tasklist/settings.py:67 +#, possible-python-brace-format +msgctxt "guildset:task_reward|formatted" +msgid "{coin}**{amount}** per task." +msgstr "" + +#: src/modules/tasklist/settings.py:76 +msgctxt "guildset:task_reward_limit" +msgid "task_reward_limit" +msgstr "" + +#: src/modules/tasklist/settings.py:79 +msgctxt "guildset:task_reward_limit|desc" +msgid "Maximum number of task rewards given per 24h." +msgstr "" + +#: src/modules/tasklist/settings.py:83 +msgctxt "guildset:task_reward_limit|long_desc" +msgid "" +"Maximum number of times in each 24h period that members will be rewarded for" +" completing a task." +msgstr "" + +#: src/modules/tasklist/settings.py:88 +msgctxt "guildset:task_reward_limit|accepts" +msgid "The maximum number of tasks to reward LC for per 24h." +msgstr "" + +#: src/modules/tasklist/settings.py:100 +#, possible-python-brace-format +msgctxt "guildset:task_reward_limit|response" +msgid "" +"Members will now be rewarded for task completion at most **{amount}** times " +"per 24h." +msgstr "" + +#: src/modules/tasklist/settings.py:109 +#, possible-python-brace-format +msgctxt "guildset:task_reward_limit|formatted" +msgid "`{number}` per 24 hours." +msgstr "" + +#: src/modules/tasklist/settings.py:117 +msgctxt "guildset:tasklist_channels" +msgid "tasklist_channels" +msgstr "" + +#: src/modules/tasklist/settings.py:120 +msgctxt "guildset:tasklist_channels|desc" +msgid "Channels in which to publicly display member tasklists." +msgstr "" + +#: src/modules/tasklist/settings.py:124 +#, possible-python-brace-format +msgctxt "guildset:tasklist_channels|long_desc" +msgid "" +"A member's tasklist (from {cmds[tasklist]}) is usually only visible to the " +"member themselves. If set, tasklists opened in `tasklist_channels` will be " +"visible to all members, and the interface will have a much longer expiry " +"period. If a category is provided, this will apply to all channels under the" +" category." +msgstr "" + +#: src/modules/tasklist/settings.py:131 +msgctxt "guildset:tasklist_channels|accepts" +msgid "Comma separated list of tasklist channel names or ids." +msgstr "" + +#: src/modules/tasklist/settings.py:148 +#, possible-python-brace-format +msgctxt "guildset:tasklist_channels|set_response|set" +msgid "" +"Tasklists will now be publicly displayed in the following channels: " +"{channels}" +msgstr "" + +#: src/modules/tasklist/settings.py:153 +msgctxt "guildset:tasklist_channels|set_response|unset" +msgid "Member tasklists will never be publicly displayed." +msgstr "" + +#: src/modules/tasklist/settings.py:162 +msgctxt "guildset:tasklist_channels|set_using" +msgid "Channel selector below." +msgstr "" + +#: src/modules/tasklist/settings.py:293 +msgctxt "ui:tasklist_config|button:close|label" +msgid "Close" +msgstr "" + +#: src/modules/tasklist/settings.py:294 +msgctxt "ui:tasklist_config|button:reset|label" +msgid "Reset" +msgstr "" + +#: src/modules/tasklist/settings.py:297 +msgctxt "ui:tasklist_config|menu:channels|placeholder" +msgid "Set Tasklist Channels" +msgstr "" + +#: src/modules/tasklist/settings.py:315 +msgctxt "ui:tasklist_config|embed|title" +msgid "Tasklist Configuration Panel" +msgstr "" + +#: src/modules/tasklist/settings.py:324 +msgctxt "dash:tasklist|name" +msgid "Tasklist Configuration ({commands[config tasklist]})" +msgstr "" + +#: src/modules/tasklist/settings.py:327 +msgctxt "dash:tasklist|dropdown|placeholder" +msgid "Tasklist Options Panel" +msgstr "" diff --git a/locales/ar/LC_MESSAGES/test.po b/locales/ar/LC_MESSAGES/test.po new file mode 100644 index 000000000000..e99bfbff53cb --- /dev/null +++ b/locales/ar/LC_MESSAGES/test.po @@ -0,0 +1,88 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 08:47+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/test/test.py:59 src/modules/test/test.py:66 +msgid "test" +msgstr "اختبار" + +#: src/modules/test/test.py:67 +msgid "Test" +msgstr "اختبار" + +#: src/modules/test/test.py:74 +msgid "editor" +msgstr "" +"مؤلف\n" +"AT: محرر" + +#: src/modules/test/test.py:75 +msgid "Test message editor" +msgstr "" + +#: src/modules/test/test.py:101 +msgid "test_ephemeral" +msgstr "" + +#: src/modules/test/test.py:102 +msgid "Test ephemeral delete and edit" +msgstr "" + +#: src/modules/test/test.py:114 +msgid "colours" +msgstr "الوان" + +#: src/modules/test/test.py:115 +msgid "Test Ansi colours" +msgstr "" + +#: src/modules/test/test.py:135 +msgid "fail" +msgstr "فشل" + +#: src/modules/test/test.py:143 +msgid "failui" +msgstr "" + +#: src/modules/test/test.py:150 +msgid "pager" +msgstr "" + +#: src/modules/test/test.py:178 +msgid "pager2" +msgstr "" + +#: src/modules/test/test.py:209 +msgid "prettyusers" +msgstr "" + +#: src/modules/test/test.py:259 +msgid "dmview" +msgstr "" + +#: src/modules/test/test.py:270 +msgid "multiview" +msgstr "" + +#: src/modules/test/test.py:287 +msgid "stats-card" +msgstr "" diff --git a/locales/ar/LC_MESSAGES/timer-gui.po b/locales/ar/LC_MESSAGES/timer-gui.po new file mode 100644 index 000000000000..f034249c7531 --- /dev/null +++ b/locales/ar/LC_MESSAGES/timer-gui.po @@ -0,0 +1,37 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/gui/cards/timer.py:73 +msgctxt "skin:timer|field:date_text" +msgid "Use /now to show what you are working on!" +msgstr "استخدم /now لعرض ماتعمل عليه الآن!" + +#: src/gui/cards/timer.py:89 +msgctxt "skin:timer|stage:focus|field:stage_text" +msgid "FOCUS" +msgstr "ركز" + +#: src/gui/cards/timer.py:103 +msgctxt "skin:timer|stage:break|field:stage_text" +msgid "BREAK" +msgstr "استراحة" diff --git a/locales/ar/LC_MESSAGES/user_config.po b/locales/ar/LC_MESSAGES/user_config.po new file mode 100644 index 000000000000..55a2ca041c26 --- /dev/null +++ b/locales/ar/LC_MESSAGES/user_config.po @@ -0,0 +1,103 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-28 22:43+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/user_config/cog.py:38 +msgctxt "userset:timezone" +msgid "timezone" +msgstr "منطقة زمنية" + +#: src/modules/user_config/cog.py:41 +msgctxt "userset:timezone|desc" +msgid "Timezone in which to display statistics." +msgstr "" + +#: src/modules/user_config/cog.py:45 +msgctxt "userset:timezone|long_desc" +msgid "" +"All personal time-related features of StudyLion will use this timezone for " +"you, including personal statistics. Note that leaderboards will still be " +"shown in the server's own timezone." +msgstr "" + +#: src/modules/user_config/cog.py:60 +#, possible-python-brace-format +msgctxt "userset:timezone|response:set" +msgid "Your personal timezone has been set to `{timezone}`." +msgstr "تم وضع المنطقة الزمنية الخاصة بك و هى `{timezone}`" + +#: src/modules/user_config/cog.py:65 +msgctxt "userset:timezone|response:unset" +msgid "" +"You have unset your timezone. Statistics will be displayed in the server " +"timezone." +msgstr "" + +#: src/modules/user_config/cog.py:81 +msgctxt "cmd:userconfig" +msgid "my" +msgstr "" +"خاصتى\n" +"AT: لى" + +#: src/modules/user_config/cog.py:82 +msgctxt "cmd:userconfig|desc" +msgid "User configuration commands." +msgstr "" + +#: src/modules/user_config/cog.py:89 +msgctxt "cmd:userconfig_timezone" +msgid "timezone" +msgstr "منطقة زمنية" + +#: src/modules/user_config/cog.py:92 +msgctxt "cmd:userconfig_timezone|desc" +msgid "" +"Set your personal timezone, used for displaying stats and setting reminders." +msgstr "" + +#: src/modules/user_config/cog.py:96 +msgctxt "cmd:userconfig_timezone|param:timezone" +msgid "timezone" +msgstr "منطقة زمنية" + +#: src/modules/user_config/cog.py:101 +msgctxt "cmd:userconfig_timezone|param:timezone|desc" +msgid "What timezone are you in? Try typing your country or continent." +msgstr "ما هى منطقتك الزمنية ؟ حاول كتابة اسم الدولة أو القارة" + +#: src/modules/user_config/cog.py:117 +#, possible-python-brace-format +msgctxt "cmd:userconfig_timezone|response:set" +msgid "Your timezone is currently set to {timezone}" +msgstr "تم وضع منطقتك الزمنية حاليا على {timezone}" + +#: src/modules/user_config/cog.py:121 +msgctxt "cmd:userconfig_timezone|button:reset|label" +msgid "Reset" +msgstr "إعادة ضبط" + +#: src/modules/user_config/cog.py:133 +#, possible-python-brace-format +msgctxt "cmd:userconfig_timezone|response:unset" +msgid "Your timezone is not set. Using the server timezone `{timezone}`." +msgstr "" diff --git a/locales/ar/LC_MESSAGES/utils.po b/locales/ar/LC_MESSAGES/utils.po new file mode 100644 index 000000000000..97ffc96fb01f --- /dev/null +++ b/locales/ar/LC_MESSAGES/utils.po @@ -0,0 +1,547 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/utils/cog.py:18 +msgctxt "cmd:page" +msgid "page" +msgstr "صفحة" + +#: src/utils/cog.py:21 +msgctxt "cmd:page|desc" +msgid "" +"Jump to a given page of the ouput of a previous command in this channel." +msgstr "" + +#: src/utils/cog.py:35 +msgctxt "cmd:page|error:no_pager" +msgid "No pager listening in this channel!" +msgstr "" + +#: src/utils/cog.py:46 +msgctxt "cmd:page_next" +msgid "next" +msgstr "التالى" + +#: src/utils/cog.py:47 +msgctxt "cmd:page_next|desc" +msgid "Jump to the next page of output." +msgstr "" + +#: src/utils/cog.py:53 +msgctxt "cmd:page_prev" +msgid "prev" +msgstr "السابق" + +#: src/utils/cog.py:54 +msgctxt "cmd:page_prev|desc" +msgid "Jump to the previous page of output." +msgstr "" + +#: src/utils/cog.py:60 +msgctxt "cmd:page_first" +msgid "first" +msgstr "" + +#: src/utils/cog.py:61 +msgctxt "cmd:page_first|desc" +msgid "Jump to the first page of output." +msgstr "" + +#: src/utils/cog.py:67 +msgctxt "cmd:page_last" +msgid "last" +msgstr "" + +#: src/utils/cog.py:68 +msgctxt "cmd:page_last|desc" +msgid "Jump to the last page of output." +msgstr "" + +#: src/utils/cog.py:74 +msgctxt "cmd:page_select" +msgid "select" +msgstr "اختر" + +#: src/utils/cog.py:75 +msgctxt "cmd:page_select|desc" +msgid "Select a page of the output to jump to." +msgstr "" + +#: src/utils/cog.py:78 +msgctxt "cmd:page_select|param:page" +msgid "page" +msgstr "صفحة" + +#: src/utils/cog.py:81 +msgctxt "cmd:page_select|param:page|desc" +msgid "The page name or number to jump to." +msgstr "اسم الصفحة أو رقمها للذهاب إليها" + +#: src/utils/cog.py:87 +msgctxt "cmd:page_select|error:no_pager" +msgid "No pager listening in this channel!" +msgstr "" + +#: src/utils/cog.py:98 +msgctxt "cmd:page_select|acmpl|error:no_pager" +msgid "No active pagers in this channel!" +msgstr "" + +#: 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:71 +#, possible-python-brace-format +msgctxt "util:Duration|acmpl|error" +msgid "Cannot extract duration from \"{partial}\"" +msgstr "" + +#: src/utils/lib.py:683 +msgctxt "util:parse_dur|regex:day" +msgid "(?P\\d+)\\s*(?:(d)|(day))" +msgstr "" + +#: src/utils/lib.py:690 +msgctxt "util:parse_dur|regex:hour" +msgid "(?P\\d+)\\s*(?:(h)|(hour))" +msgstr "" + +#: src/utils/lib.py:697 +msgctxt "util:parse_dur|regex:minute" +msgid "(?P\\d+)\\s*(?:(m)|(min))" +msgstr "" + +#: src/utils/lib.py:704 +msgctxt "util:parse_dur|regex:second" +msgid "(?P\\d+)\\s*(?:(s)|(sec))" +msgstr "" + +#: src/utils/lib.py:907 +#, 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/utils/ui/config.py:35 +msgctxt "ui:configui|modal:edit|title" +msgid "Setting Editor" +msgstr "" + +#: src/utils/ui/config.py:75 +msgctxt "ui:configui|check|not_permitted" +msgid "You have insufficient server permissions to use this UI!" +msgstr "" + +#: src/utils/ui/config.py:157 +msgctxt "ui:configui|button:edit|label" +msgid "Edit" +msgstr "" + +#: src/utils/ui/config.py:196 +msgctxt "ui:guild_config_base|button:reset|label" +msgid "Reset" +msgstr "" + +#: src/utils/ui/config.py:331 +msgctxt "ui:dashboard|error:section_too_long" +msgid "" +"Oops, the settings in this configuration section are too large, and I can " +"not display them here! Please view the settings in the linked configuration " +"panel instead." +msgstr "" + +#. List of valid keys indicating movement to the next page +#: src/utils/ui/pagers.py:50 +msgctxt "cmd:page|pager:Pager|options:next" +msgid "n, nxt, next, forward, +" +msgstr "" + +#. List of valid keys indicating movement to the previous page +#: src/utils/ui/pagers.py:53 +msgctxt "cmd:page|pager:Pager|options:prev" +msgid "p, prev, back, -" +msgstr "" + +#. List of valid keys indicating movement to the first page +#: src/utils/ui/pagers.py:56 +msgctxt "cmd:page|pager:Pager|options:first" +msgid "f, first, one, start" +msgstr "" + +#. List of valid keys indicating movement to the last page +#: src/utils/ui/pagers.py:59 +msgctxt "cmd:page|pager:Pager|options:last" +msgid "l, last, end" +msgstr "" + +#: src/utils/ui/pagers.py:273 +#, possible-python-brace-format +msgctxt "cmd:page|pager:Pager|error:parse" +msgid "Could not understand page specification `{value}`." +msgstr "" + +#: src/utils/ui/pagers.py:302 +#, possible-python-brace-format +msgctxt "cmd:page|acmpl|pager:Pager|choice:last" +msgid "Last: Page {page}/{total}" +msgstr "" + +#: src/utils/ui/pagers.py:307 +#, possible-python-brace-format +msgctxt "cmd:page|acmpl|pager:Pager|choice:current" +msgid "Current: Page {page}/{total}" +msgstr "" + +#: src/utils/ui/pagers.py:319 +#, possible-python-brace-format +msgctxt "cmd:page|acmpl|pager:Pager|choice:general" +msgid "Page {page}" +msgstr "" + +#: src/utils/ui/pagers.py:353 +#, possible-python-brace-format +msgctxt "cmd:page|acmpl|pager:Page|choice:select" +msgid "Selected: Page {page}/{total}" +msgstr "" + +#: src/utils/ui/pagers.py:363 +msgctxt "cmd:page|acmpl|pager:Page|error:parse" +msgid "No matching pages!" +msgstr "" + +#: src/utils/ui/msgeditor.py:75 +msgctxt "ui:msg_editor|error:empty" +msgid "Rendering failed! The message content and embed cannot both be empty." +msgstr "" + +#: src/utils/ui/msgeditor.py:86 +#, possible-python-brace-format +msgctxt "ui:msg_editor|error:embed_failed" +msgid "" +"Rendering failed! Could not parse the embed.\n" +"Error: {error}" +msgstr "" + +#: src/utils/ui/msgeditor.py:104 +#, possible-python-brace-format +msgctxt "ui:msg_editor|error:invalid_change" +msgid "" +"Rendering failed! The message was not modified.\n" +"Error: `{text}`" +msgstr "" + +#: src/utils/ui/msgeditor.py:123 +msgctxt "ui:msg_editor|modal:content|field:content|label" +msgid "Message Content" +msgstr "" + +#: src/utils/ui/msgeditor.py:132 +msgctxt "ui:msg_editor|modal:content|title" +msgid "Content Editor" +msgstr "" + +#: src/utils/ui/msgeditor.py:150 +msgctxt "ui:msg_editor|button:edit|label" +msgid "Edit Content" +msgstr "" + +#: src/utils/ui/msgeditor.py:162 +msgctxt "ui:msg_editor|button:add_embed|sample_embed|title" +msgid "Title Placeholder" +msgstr "" + +#: src/utils/ui/msgeditor.py:163 +msgctxt "ui:msg_editor|button:add_embed|sample_embed|description" +msgid "Description Placeholder" +msgstr "" + +#: src/utils/ui/msgeditor.py:174 +msgctxt "ui:msg_editor|button:add_embed|label" +msgid "Add Embed" +msgstr "" + +#: src/utils/ui/msgeditor.py:190 +msgctxt "ui:msg_editor|button:rm_embed|sample_content" +msgid "Content Placeholder" +msgstr "" + +#: src/utils/ui/msgeditor.py:199 +msgctxt "ui:msg_editor|button:rm_embed|label" +msgid "Remove Embed" +msgstr "" + +#: src/utils/ui/msgeditor.py:217 +msgctxt "ui:msg_editor|modal:body|field:content|label" +msgid "Message Content" +msgstr "" + +#: src/utils/ui/msgeditor.py:228 +msgctxt "ui:msg_editor|modal:body|field:desc|label" +msgid "Embed Description" +msgstr "" + +#: src/utils/ui/msgeditor.py:239 +msgctxt "ui:msg_editor|modal:body|field:title|label" +msgid "Embed Title" +msgstr "" + +#: src/utils/ui/msgeditor.py:250 +msgctxt "ui:msg_editor|modal:body|field:colour|label" +msgid "Embed Colour" +msgstr "" + +#: src/utils/ui/msgeditor.py:265 +msgctxt "ui:msg_editor|modal:body|title" +msgid "Message Body Editor" +msgstr "" + +#: src/utils/ui/msgeditor.py:290 +msgctxt "ui:msg_editor|button:body|error:invalid_colour" +msgid "" +"Invalid colour format! Please enter colours as hex codes, e.g. `#E67E22`" +msgstr "" + +#: src/utils/ui/msgeditor.py:310 +msgctxt "ui:msg_editor|button:body|label" +msgid "Body" +msgstr "" + +#: src/utils/ui/msgeditor.py:327 +msgctxt "ui:msg_editor|modal:author|field:name|label" +msgid "Author Name" +msgstr "" + +#: src/utils/ui/msgeditor.py:338 +msgctxt "ui:msg_editor|modal:author|field:link|label" +msgid "Author URL" +msgstr "" + +#: src/utils/ui/msgeditor.py:348 +msgctxt "ui:msg_editor|modal:author|field:image|label" +msgid "Author Image URL" +msgstr "" + +#: src/utils/ui/msgeditor.py:359 +msgctxt "ui:msg_editor|modal:author|title" +msgid "Embed Author Editor" +msgstr "" + +#: src/utils/ui/msgeditor.py:385 +msgctxt "ui:msg_editor|button:author|label" +msgid "Author" +msgstr "" +"مؤلف\n" +"At: كاتب" + +#: src/utils/ui/msgeditor.py:402 +msgctxt "ui:msg_editor|modal:footer|field:text|label" +msgid "Footer Text" +msgstr "" + +#: src/utils/ui/msgeditor.py:413 +msgctxt "ui:msg_editor|modal:footer|field:image|label" +msgid "Footer Image URL" +msgstr "" + +#: src/utils/ui/msgeditor.py:423 +msgctxt "ui:msg_editor|modal:footer|field:timestamp|label" +msgid "Embed Timestamp (in ISO format)" +msgstr "" + +#: src/utils/ui/msgeditor.py:435 +msgctxt "ui:msg_editor|modal:footer|title" +msgid "Embed Footer Editor" +msgstr "" + +#: src/utils/ui/msgeditor.py:454 +msgctxt "ui:msg_editor|button:footer|error:invalid_timestamp" +msgid "Invalid timestamp! Please enter the timestamp in ISO format." +msgstr "" + +#: src/utils/ui/msgeditor.py:474 +msgctxt "ui:msg_editor|button:footer|label" +msgid "Footer" +msgstr "" + +#: src/utils/ui/msgeditor.py:492 +msgctxt "ui:msg_editor|modal:images|field:thumb|label" +msgid "Thumbnail Image URL" +msgstr "" + +#: src/utils/ui/msgeditor.py:502 +msgctxt "ui:msg_editor|modal:images|field:image|label" +msgid "Embed Image URL" +msgstr "" + +#: src/utils/ui/msgeditor.py:512 +msgctxt "ui:msg_editor|modal:images|title" +msgid "Embed images Editor" +msgstr "" + +#: src/utils/ui/msgeditor.py:542 +msgctxt "ui:msg_editor|button:images|label" +msgid "Images" +msgstr "" + +#: src/utils/ui/msgeditor.py:560 +msgctxt "ui:msg_editor|modal:add_field|field:position|label" +msgid "Field number to insert at" +msgstr "" + +#: src/utils/ui/msgeditor.py:570 +msgctxt "ui:msg_editor|modal:add_field|field:name|label" +msgid "Field name" +msgstr "" + +#: src/utils/ui/msgeditor.py:580 +msgctxt "ui:msg_editor|modal:add_field|field:value|label" +msgid "Field value" +msgstr "" + +#: src/utils/ui/msgeditor.py:590 +msgctxt "ui:msg_editor|modal:add_field|field:inline|label" +msgid "Whether the field is inline" +msgstr "" + +#: src/utils/ui/msgeditor.py:594 +msgctxt "ui:msg_editor|modal:add_field|field:inline|placeholder" +msgid "True/False" +msgstr "" + +#: src/utils/ui/msgeditor.py:607 +msgctxt "ui:msg_editor|modal:add_field|title" +msgid "Add Embed Field" +msgstr "" + +#: src/utils/ui/msgeditor.py:627 +msgctxt "ui:msg_editor|modal:add_field|error:position_not_int" +msgid "The field position must be an integer!" +msgstr "" + +#: src/utils/ui/msgeditor.py:646 +msgctxt "ui:msg_editor|button:add_field|label" +msgid "Add Field" +msgstr "" +"اضف مجال\n" +"AT: اضف حقل" + +#: src/utils/ui/msgeditor.py:662 +msgctxt "ui:msg_editor|format_field|name_placeholder" +msgid "-" +msgstr "" + +#: src/utils/ui/msgeditor.py:691 +msgctxt "ui:msg_editor|modal:edit_field|field:name|label" +msgid "Field name" +msgstr "" +"اسم المجال\n" +"AT: اسم الحقل" + +#: src/utils/ui/msgeditor.py:702 +msgctxt "ui:msg_editor|modal:edit_field|field:value|label" +msgid "Field value" +msgstr "" + +#: src/utils/ui/msgeditor.py:713 +msgctxt "ui:msg_editor|modal:edit_field|field:inline|label" +msgid "Whether the field is inline" +msgstr "" + +#: src/utils/ui/msgeditor.py:717 +msgctxt "ui:msg_editor|modal:edit_field|field:inline|placeholder" +msgid "True/False" +msgstr "" + +#: src/utils/ui/msgeditor.py:729 +msgctxt "ui:msg_editor|modal:edit_field|title" +msgid "Edit Embed Field" +msgstr "" + +#: src/utils/ui/msgeditor.py:758 +msgctxt "ui:msg_editor|menu:edit_field|placeholder" +msgid "Edit Embed Field" +msgstr "" + +#: src/utils/ui/msgeditor.py:797 +msgctxt "ui:msg_deleteor|menu:delete_field|placeholder" +msgid "Remove Embed Field" +msgstr "" + +#: src/utils/ui/msgeditor.py:833 +msgctxt "ui:msg_editor|button:save|label" +msgid "Save" +msgstr "حفظ" + +#: src/utils/ui/msgeditor.py:858 +msgctxt "ui:msg_editor|button:download|label" +msgid "Download" +msgstr "تحميل" + +#: src/utils/ui/msgeditor.py:877 +msgctxt "ui:msg_editor|button:undo|label" +msgid "Undo" +msgstr "" + +#: src/utils/ui/msgeditor.py:897 +msgctxt "ui:msg_editor|button:redo|label" +msgid "Redo" +msgstr "" + +#: src/utils/ui/msgeditor.py:916 +msgctxt "ui:msg_editor|button:quit|confirm" +msgid "You have unsaved changes! Are you sure you want to quit?" +msgstr "" + +#: src/utils/ui/msgeditor.py:921 +msgctxt "ui:msg_editor|button:quit|confirm|button:yes" +msgid "Yes, Quit Now" +msgstr "" + +#: src/utils/ui/msgeditor.py:927 +msgctxt "ui:msg_editor|button:quit|confirm|button:no" +msgid "No, Go Back" +msgstr "" + +#: src/utils/ui/msgeditor.py:1025 +msgctxt "ui:msg_editor|timeout_warning|title" +msgid "Warning!" +msgstr "تحذير!" + +#: src/utils/ui/msgeditor.py:1029 +#, possible-python-brace-format +msgctxt "ui:msg_editor|timeout_warning|desc" +msgid "" +"This interface will time out {timestamp}. Press 'Continue' below to keep " +"editing." +msgstr "" + +#: src/utils/ui/msgeditor.py:1038 +msgctxt "ui:msg_editor|timeout_warning|continue" +msgid "Continue" +msgstr "استمر" diff --git a/locales/ar/LC_MESSAGES/video.po b/locales/ar/LC_MESSAGES/video.po new file mode 100644 index 000000000000..afd554d7f68c --- /dev/null +++ b/locales/ar/LC_MESSAGES/video.po @@ -0,0 +1,340 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Interitio, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/modules/video_channels/settingui.py:58 +msgctxt "ui:video_config|menu:channels|placeholder" +msgid "Select Video Channels" +msgstr "من فضلك قم بإختيار قنوات الفيديو" + +#: src/modules/video_channels/settingui.py:84 +msgctxt "ui:video_config|menu:exempt|placeholder" +msgid "Select Exempt Roles" +msgstr "" + +#: src/modules/video_channels/settingui.py:112 +msgctxt "ui:video_config|menu:video_blacklist|placeholder" +msgid "Select Blacklist Role" +msgstr "" + +#: src/modules/video_channels/settingui.py:120 +msgctxt "ui:video_config|embed|title" +msgid "Video Channel Configuration Panel" +msgstr "لوحة إعدادت قنوات الفيديو" + +#: src/modules/video_channels/settingui.py:159 +msgctxt "dash:video|title" +msgid "Video Channel Settings ({commands[admin config video_channels]})" +msgstr "" + +#: src/modules/video_channels/settingui.py:163 +msgctxt "dash:video|option|name" +msgid "Video Channel Panel" +msgstr "لوحة قنوات الفيديو" + +#: src/modules/video_channels/cog.py:229 +msgctxt "video_watchdog|kick_blacklisted_member|audit_reason" +msgid "Removing video blacklisted member from a video channel." +msgstr "" + +#: src/modules/video_channels/cog.py:246 +msgctxt "video_watchdog|kick_blacklisted_member|notification|title" +msgid "You have been disconnected." +msgstr "" + +#: src/modules/video_channels/cog.py:250 +#, possible-python-brace-format +msgctxt "video_watchdog|kick_blacklisted_member|notification|desc" +msgid "" +"You were disconnected from the video channel {channel} because you are " +"blacklisted from video channels in **{server}**." +msgstr "" + +#: src/modules/video_channels/cog.py:290 +#, possible-python-brace-format +msgctxt "video_watchdog|join_task|jump_field" +msgid "[Click to jump back]({link})" +msgstr "" + +#: src/modules/video_channels/cog.py:297 +msgctxt "video_watchdog|join_task|initial_request:title" +msgid "Please enable your video!" +msgstr "" + +#: src/modules/video_channels/cog.py:301 +#, possible-python-brace-format +msgctxt "video_watchdog|join_task|initial_request:description" +msgid "" +"**You have joined the video channel {channel}!**\n" +"Please **enable your video** or **leave the channel** or you will be disconnected {timestamp} and potentially **blacklisted**." +msgstr "" + +#: src/modules/video_channels/cog.py:316 +msgctxt "video_watchdog|join_task|thanks:title" +msgid "Thanks for enabling your video!" +msgstr "" + +#: src/modules/video_channels/cog.py:323 +msgctxt "video_watchdog|join_task|bye:title" +msgid "Thanks for leaving the channel promptly!" +msgstr "شكرا لمغاردتك القناة على الفور" + +#: src/modules/video_channels/cog.py:367 +msgctxt "video_watchdog|join_task|kick_after_grace|audit_reason" +msgid "Member never enabled their video in video channel." +msgstr "" + +#: src/modules/video_channels/cog.py:385 +#, possible-python-brace-format +msgctxt "video_watchdog|join_task|kick_after_grace|ticket_reason" +msgid "Failed to enable their video in time in the video channel {channel}" +msgstr "" + +#: src/modules/video_channels/cog.py:403 +msgctxt "video_watchdog|join_task|kick_after_grace|warning|title" +msgid "You have received a warning!" +msgstr "لقد حصلت على إنذار!" + +#: src/modules/video_channels/cog.py:407 +#, possible-python-brace-format +msgctxt "video_watchdog|join_task|kick_after_grace|warning|desc" +msgid "" +"**You must enable your camera in camera-only rooms.**\n" +"You have been disconnected from the video {channel} for not enabling your camera." +msgstr "" + +#: src/modules/video_channels/cog.py:422 +msgctxt "video_watchdog|join_task|kick_after_grace|blacklist|title" +msgid "You have been blacklisted!" +msgstr "" + +#: src/modules/video_channels/cog.py:426 +msgctxt "video_watchdog|join_task|kick_after_grace|blacklist|desc" +msgid "You have been blacklisted from the video channels in this server." +msgstr "" + +#: src/modules/video_channels/cog.py:459 +#, possible-python-brace-format +msgctxt "video_watchdog|disabled_video_kick|audit_reason" +msgid "" +"Disconnected for disabling video for more than {number} seconds in video " +"channel." +msgstr "" + +#: src/modules/video_channels/cog.py:474 +msgctxt "video_watchdog|disabled_video_kick|notification|title" +msgid "You have been disconnected." +msgstr "" + +#: src/modules/video_channels/cog.py:478 +#, possible-python-brace-format +msgctxt "video_watchdog|disabled_video_kick|notification|desc" +msgid "" +"You were disconnected from the video channel {channel} because you disabled your video.\n" +"Please keep your video on at all times, and leave the channel if you need to disable it!" +msgstr "" + +#: src/modules/video_channels/cog.py:510 +msgctxt "cmd:configure_video" +msgid "video_channels" +msgstr "" + +#: src/modules/video_channels/cog.py:512 +msgctxt "cmd:configure_video|desc" +msgid "Configure video-only channels and blacklisting." +msgstr "" + +#: src/modules/video_channels/settings.py:31 +msgctxt "guildset:video_channels" +msgid "video_channels" +msgstr "" + +#: src/modules/video_channels/settings.py:34 +msgctxt "guildset:video_channels|desc" +msgid "List of voice channels and categories in which to enforce video." +msgstr "" + +#: src/modules/video_channels/settings.py:38 +msgctxt "guildset:video_channels|long_desc" +msgid "" +"Member will be required to turn on their video in these channels.\n" +"If they do not enable their video with `15` seconds of joining, they will be asked to enable it through a notification in direct messages or the `alert_channel`. If they still have not enabled it after the `video_grace_period` has passed, they will be kicked from the channel. Further, after the first offence (which is considered a warning), they will be given the `video_blacklist` role, if configured, which will stop them from joining video channels.\n" +"As usual, if a category is configured, this will apply to all voice channels under the category." +msgstr "" + +#: src/modules/video_channels/settings.py:52 +msgctxt "guildset:video_channels|accepts" +msgid "Comma separated channel ids or names." +msgstr "" + +#: src/modules/video_channels/settings.py:69 +#, possible-python-brace-format +msgctxt "guildset:video_channels|set_response:set" +msgid "" +"Members will be asked to turn on their video in the following channels: " +"{channels}" +msgstr "" + +#: src/modules/video_channels/settings.py:74 +msgctxt "guildset:video_channels|set_response:unset" +msgid "Members will not be asked to turn on their video in any channels." +msgstr "" + +#: src/modules/video_channels/settings.py:108 +msgctxt "guildset:video_blacklist" +msgid "video_blacklist" +msgstr "" + +#: src/modules/video_channels/settings.py:111 +msgctxt "guildset:video_blacklist|desc" +msgid "Role given when members are blacklisted from video channels." +msgstr "" + +#: src/modules/video_channels/settings.py:115 +msgctxt "guildset:video_blacklist|long_desc" +msgid "" +"This role will be automatically given after a member has failed to keep their video enabled in a video channel (see above).\n" +"Members who have this role will not be able to join configured video channels. The role permissions may be freely configured by server admins to place further restrictions on the offender.\n" +"The role may also be manually assigned, to the same effect.\n" +"If this role is not set, no video blacklist will occur, and members will only be kicked from the channel and warned." +msgstr "" + +#: src/modules/video_channels/settings.py:126 +msgctxt "guildset:video_blacklist|accepts" +msgid "Blacklist role name or id." +msgstr "" + +#: src/modules/video_channels/settings.py:141 +#, possible-python-brace-format +msgctxt "guildset:video_blacklist|set_response:set" +msgid "Members who fail to keep their video on will be given {role}" +msgstr "" + +#: src/modules/video_channels/settings.py:146 +msgctxt "guildset:video_blacklist|set_response:unset" +msgid "" +"Members will no longer be automatically blacklisted from video channels." +msgstr "" + +#: src/modules/video_channels/settings.py:158 +msgctxt "guildset:video_blacklist|formatted:unset" +msgid "Not Set. (Members will not be automatically blacklisted.)" +msgstr "" + +#: src/modules/video_channels/settings.py:166 +msgctxt "guildset:video_durations" +msgid "video_blacklist_durations" +msgstr "" + +#: src/modules/video_channels/settings.py:169 +msgctxt "guildset:video_durations|desc" +msgid "Sequence of durations for automatic video blacklists." +msgstr "" + +#: src/modules/video_channels/settings.py:173 +msgctxt "guildset:video_durations|long_desc" +msgid "" +"When `video_blacklist` is set and members fail to turn on their video within the configured `video_grace_period`, they will be automatically blacklisted (i.e. given the `video_blacklist` role).\n" +"This setting describes *how long* the member will be blacklisted for, for each offence.\n" +"E.g. if this is set to `1d, 7d, 30d`, then on the first offence the member will be blacklisted for 1 day, on the second for 7 days, and on the third for 30 days. A subsequent offence will result in an infinite blacklist." +msgstr "" + +#: src/modules/video_channels/settings.py:185 +msgctxt "guildset:video_durations|accepts" +msgid "Comma separated list of durations." +msgstr "" + +#: src/modules/video_channels/settings.py:212 +#, possible-python-brace-format +msgctxt "guildset:video_durations|set_response:set" +msgid "Members will be automatically blacklisted for: {durations}" +msgstr "" + +#: src/modules/video_channels/settings.py:217 +msgctxt "guildset:video_durations|set_response:unset" +msgid "Video blacklists are now always permanent." +msgstr "" + +#: src/modules/video_channels/settings.py:226 +msgctxt "guildset:video_grace_period" +msgid "video_grace_period" +msgstr "" + +#: src/modules/video_channels/settings.py:229 +msgctxt "guildset:video_grace_period|desc" +msgid "" +"How long to wait (in seconds) before kicking/blacklist members who don't " +"enable their video." +msgstr "" + +#: src/modules/video_channels/settings.py:233 +msgctxt "guildset:video_grace_period|long_desc" +msgid "" +"The length of time a member has to enable their video after joining a video " +"channel. After this time, if they have not enabled their video, they will be" +" kicked from the channel and potentially blacklisted from video channels." +msgstr "" + +#: src/modules/video_channels/settings.py:239 +msgctxt "guildset:video_grace_period|accepts" +msgid "How many seconds to wait for a member to enable video." +msgstr "" + +#: src/modules/video_channels/settings.py:253 +#, possible-python-brace-format +msgctxt "guildset:video_grace_period|set_response:set" +msgid "Members will now have **{duration}** to enable their video." +msgstr "" + +#: src/modules/video_channels/settings.py:262 +msgctxt "guildset:video_exempt" +msgid "video_exempt" +msgstr "" + +#: src/modules/video_channels/settings.py:265 +msgctxt "guildset:video_exempt|desc" +msgid "List of roles which are exempt from video channels." +msgstr "" + +#: src/modules/video_channels/settings.py:269 +msgctxt "guildset:video_exempt|long_desc" +msgid "" +"Members who have **any** of these roles will not be required to enable their" +" video in the `video_channels`. This also overrides the `video_blacklist` " +"role." +msgstr "" + +#: src/modules/video_channels/settings.py:275 +msgctxt "guildset:video_exempt|accepts" +msgid "List of exempt role names or ids." +msgstr "" + +#: src/modules/video_channels/settings.py:290 +#, possible-python-brace-format +msgctxt "guildset:video_exempt|set_response:set" +msgid "The following roles will now be exempt from video channels: {roles}" +msgstr "" + +#: src/modules/video_channels/settings.py:295 +msgctxt "guildset:video_exempt|set_response:unset" +msgid "No members will be exempt from video channel requirements." +msgstr "" diff --git a/locales/ar/LC_MESSAGES/voice-tracker.po b/locales/ar/LC_MESSAGES/voice-tracker.po new file mode 100644 index 000000000000..4e0819e66318 --- /dev/null +++ b/locales/ar/LC_MESSAGES/voice-tracker.po @@ -0,0 +1,445 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Nour Ibram, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Nour Ibram, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/tracking/voice/session.py:293 +msgctxt "eventlog|event:voice_session_expired|title" +msgid "Member Voice Session Expired" +msgstr "" + +#: src/tracking/voice/session.py:297 +#, possible-python-brace-format +msgctxt "eventlog|event:voice_session_expired|desc" +msgid "" +"{member}'s voice session in {channel} expired because they reached the daily" +" voice cap." +msgstr "" + +#: src/tracking/voice/session.py:336 +msgctxt "eventlog|event:voice_session_closed|title" +msgid "Member Voice Session Ended" +msgstr "" + +#: src/tracking/voice/session.py:340 +#, possible-python-brace-format +msgctxt "eventlog|event:voice_session_closed|desc" +msgid "{member} completed their voice session in {channel}." +msgstr "" + +#: src/tracking/voice/session.py:352 +msgctxt "eventlog|event:voice_session_cancelled|title" +msgid "Member Voice Session Cancelled" +msgstr "" + +#: src/tracking/voice/session.py:356 +#, possible-python-brace-format +msgctxt "eventlog|event:voice_session_cancelled|desc" +msgid "{member} left {channel} before their voice session started." +msgstr "" + +#: src/tracking/voice/cog.py:518 +msgctxt "eventlog|event:voice_session_start|title" +msgid "Member Joined Tracked Voice Channel" +msgstr "" + +#: src/tracking/voice/cog.py:522 +#, possible-python-brace-format +msgctxt "eventlog|event:voice_session_start|desc" +msgid "{member} joined {channel}." +msgstr "" + +#: src/tracking/voice/cog.py:657 +msgctxt "cmd:now" +msgid "now" +msgstr "الآن" + +#: src/tracking/voice/cog.py:660 +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:664 +msgctxt "cmd:now|param:tag" +msgid "tag" +msgstr "" + +#: src/tracking/voice/cog.py:665 +msgctxt "cmd:now|param:user" +msgid "user" +msgstr "مستخدم" + +#: src/tracking/voice/cog.py:666 +msgctxt "cmd:now|param:clear" +msgid "clear" +msgstr "" +"حذف\n" +"ِAT: مسح" + +#: src/tracking/voice/cog.py:671 +msgctxt "cmd:now|param:tag|desc" +msgid "Describe what you are working on in 10 characters or less!" +msgstr "اكتب وصف عن ماذا تعمل خلال 10 كلمات أوأقل " + +#: src/tracking/voice/cog.py:675 +msgctxt "cmd:now|param:user|desc" +msgid "Check what a friend is working on." +msgstr "" + +#: src/tracking/voice/cog.py:679 +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:706 +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:715 +#, possible-python-brace-format +msgctxt "cmd:now|target:other|error:target_inactive" +msgid "{mention} has no running session!" +msgstr "" + +#: src/tracking/voice/cog.py:730 +msgctxt "cmd:now|target:self|mode:clear|success|title" +msgid "Session Tag Cleared" +msgstr "" + +#: src/tracking/voice/cog.py:734 +msgctxt "cmd:now|target:self|mode:clear|success|desc" +msgid "Successfully unset your session tag." +msgstr "" + +#: src/tracking/voice/cog.py:743 +msgctxt "cmd:now|target:other|mode:clear|error:perms|title" +msgid "You can't do that!" +msgstr "" + +#: src/tracking/voice/cog.py:747 +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:757 +msgctxt "cmd:now|target:other|mode:clear|success|title" +msgid "Session Tag Cleared!" +msgstr "" + +#: src/tracking/voice/cog.py:761 +#, 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:773 +msgctxt "cmd:now|target:self|mode:set|success|title" +msgid "Session Tag Set!" +msgstr "" + +#: src/tracking/voice/cog.py:777 +#, 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:786 +msgctxt "cmd:now|target:other|mode:set|error:perms|title" +msgid "You can't do that!" +msgstr "" +"لا تستطيع القيام بذلك\n" +"AT: لاتستطيع فعل ذلك " + +#: src/tracking/voice/cog.py:790 +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:800 +msgctxt "cmd:now|target:other|mode:set|success|title" +msgid "Session Tag Set!" +msgstr "" + +#: src/tracking/voice/cog.py:804 +#, 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:813 +#, 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:818 +#, possible-python-brace-format +msgctxt "cmd:now|target:self|mode:show_without_tag|desc" +msgid "" +"You have been working in {channel} since {time}!\n" +"\n" +"Use `/now ` to set what you are working on." +msgstr "" + +#: src/tracking/voice/cog.py:825 +#, possible-python-brace-format +msgctxt "cmd:now|target:other|mode:show_with_tag|desc" +msgid "" +"{target} is current working in {channel}!\n" +"They have been working on **{tag}** since {time}." +msgstr "" + +#: src/tracking/voice/cog.py:831 +#, 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:854 +msgctxt "cmd:configure_voice_rates" +msgid "voice_rewards" +msgstr "" + +#: src/tracking/voice/cog.py:857 +msgctxt "cmd:configure_voice_rates|desc" +msgid "Configure Voice tracking rewards and experience" +msgstr "" + +#: src/tracking/voice/cog.py:913 +#, possible-python-brace-format +msgctxt "cmd:configure_voice_tracking|mode:voice|resp:success|desc" +msgid "" +"Members will now be rewarded {coin}**{base} (+ {bonus})** per hour they " +"spend (live) in a voice channel, up to a total of **{cap}** hours per server" +" day." +msgstr "" + +#: src/tracking/voice/cog.py:924 +#, possible-python-brace-format +msgctxt "cmd:configure_voice_tracking|mode:study|resp:success|desc" +msgid "" +"Members will now be rewarded {coin}**{base}** per hour of study in this " +"server, with a bonus of {coin}**{bonus}** if they stream of display video, " +"up to a total of **{cap}** hours per server day." +msgstr "" + +#: src/tracking/voice/settings.py:42 +msgctxt "guildset:untracked_channels" +msgid "untracked_channels" +msgstr "" + +#: src/tracking/voice/settings.py:45 +msgctxt "guildset:untracked_channels|desc" +msgid "Channels which will be ignored for statistics tracking." +msgstr "" + +#: src/tracking/voice/settings.py:49 +msgctxt "guildset:untracked_channels|long_desc" +msgid "" +"Activity in these channels will not count towards a member's statistics. If " +"a category is selected, all channels under the category will be untracked." +msgstr "" + +#: src/tracking/voice/settings.py:54 +msgctxt "guildset:untracked_channels|accepts" +msgid "Comma separated list of untracked channel name/ids." +msgstr "" + +#: src/tracking/voice/settings.py:58 +msgctxt "guildset:untracked_channels|notset" +msgid "Not Set (all voice channels will be tracked.)" +msgstr "" + +#: src/tracking/voice/settings.py:75 +msgctxt "guildset:untracked_channels|set" +msgid "Channel selector below." +msgstr "" + +#: src/tracking/voice/settings.py:84 +#, possible-python-brace-format +msgctxt "guildset:untracked_channels|set_response|set" +msgid "Activity in the following channels will now be ignored: {channels}" +msgstr "" + +#: src/tracking/voice/settings.py:91 +msgctxt "guildset:untracked_channels|set_response|unset" +msgid "All voice channels will now be tracked." +msgstr "" + +#: src/tracking/voice/settings.py:120 +msgctxt "guildset:hourly_reward" +msgid "hourly_reward" +msgstr "" + +#: src/tracking/voice/settings.py:123 +msgctxt "guildset:hourly_reward|mode:voice|desc" +msgid "LionCoins given per hour in a voice channel." +msgstr "" + +#: src/tracking/voice/settings.py:127 +msgctxt "guildset:hourly_reward|mode:voice|long_desc" +msgid "" +"Number of LionCoins to each member per hour that they stay in a tracked " +"voice channel." +msgstr "" + +#: src/tracking/voice/settings.py:131 +msgctxt "guildset:hourly_reward|accepts" +msgid "Number of coins to reward per hour in voice." +msgstr "" + +#: src/tracking/voice/settings.py:147 +#, possible-python-brace-format +msgctxt "guildset:hourly_reward|formatted" +msgid "{coin}**{amount}** per hour." +msgstr "" + +#: src/tracking/voice/settings.py:162 +#, possible-python-brace-format +msgctxt "guildset:hourly_reward|mode:voice|response" +msgid "Members will be given {coin}**{amount}** per hour in a voice channel!" +msgstr "" + +#: src/tracking/voice/settings.py:174 +msgctxt "guildset:hourly_reward|mode:study|desc" +msgid "LionCoins given per hour of study." +msgstr "" + +#: src/tracking/voice/settings.py:178 +msgctxt "guildset:hourly_reward|mode:study|long_desc" +msgid "Number of LionCoins given per hour of study, up to the daily hour cap." +msgstr "" + +#: src/tracking/voice/settings.py:186 +#, possible-python-brace-format +msgctxt "guildset:hourly_reward|mode:study|response" +msgid "Members will be given {coin}**{amount}** per hour that they study!" +msgstr "" + +#: src/tracking/voice/settings.py:201 +msgctxt "guildset:hourly_live_bonus" +msgid "hourly_live_bonus" +msgstr "" + +#: src/tracking/voice/settings.py:204 +msgctxt "guildset:hourly_live_bonus|desc" +msgid "Bonus Lioncoins given per hour when a member streams or video-chats." +msgstr "" + +#: src/tracking/voice/settings.py:209 +msgctxt "guildset:hourly_live_bonus|long_desc" +msgid "" +"When a member streams or video-chats in a channel they will be given this " +"bonus *additionally* to the `hourly_reward`." +msgstr "" + +#: src/tracking/voice/settings.py:214 +msgctxt "guildset:hourly_live_bonus|accepts" +msgid "Number of bonus coins to reward per hour when live." +msgstr "" + +#: src/tracking/voice/settings.py:230 +#, possible-python-brace-format +msgctxt "guildset:hourly_live_bonus|formatted" +msgid "{coin}**{amount}** bonus per hour when live." +msgstr "" + +#: src/tracking/voice/settings.py:241 +#, possible-python-brace-format +msgctxt "guildset:hourly_live_bonus|response" +msgid "" +"Live members will now *additionally* be given {coin}**{amount}** per hour." +msgstr "" + +#: src/tracking/voice/settings.py:253 +msgctxt "guildset:daily_voice_cap" +msgid "daily_voice_cap" +msgstr "" + +#: src/tracking/voice/settings.py:256 +msgctxt "guildset:daily_voice_cap|desc" +msgid "Maximum number of hours per day to count for each member." +msgstr "" + +#: src/tracking/voice/settings.py:260 +msgctxt "guildset:daily_voice_cap|long_desc" +msgid "" +"Time spend in voice channels over this amount will not be tracked towards " +"the member's statistics. Tracking will resume at the start of the next day. " +"The start of the day is determined by the configured guild timezone." +msgstr "" + +#: src/tracking/voice/settings.py:266 +msgctxt "guildset:daily_voice_cap|accepts" +msgid "The maximum number of voice hours to track per day." +msgstr "" + +#: src/tracking/voice/settings.py:282 +#, possible-python-brace-format +msgctxt "guildset:daily_voice_cap|response" +msgid "" +"Members will be tracked for at most {duration} per day. (**NOTE:** This will" +" not affect members currently in voice channels.)" +msgstr "" + +#: src/tracking/voice/settings.py:340 +msgctxt "ui:voice_tracker_config|button:close|label" +msgid "Close" +msgstr "" + +#: src/tracking/voice/settings.py:354 +msgctxt "ui:voice_tracker_config|button:reset|label" +msgid "Reset" +msgstr "" + +#: src/tracking/voice/settings.py:367 +msgctxt "ui:voice_tracker_config|menu:untracked_channels|placeholder" +msgid "Set Untracked Channels" +msgstr "" + +#: src/tracking/voice/settings.py:433 src/tracking/voice/settings.py:491 +msgctxt "ui:voice_tracker_config|mode:voice|embed|title" +msgid "Voice Tracker Configuration Panel" +msgstr "" + +#: src/tracking/voice/settings.py:438 src/tracking/voice/settings.py:496 +msgctxt "ui:voice_tracker_config|mode:study|embed|title" +msgid "Study Tracker Configuration Panel" +msgstr "" + +#: src/tracking/voice/settings.py:481 +msgctxt "ui:voice_tracker_config|menu:untracked_channels|placeholder" +msgid "Select Untracked Channels" +msgstr "" + +#: src/tracking/voice/settings.py:537 +msgctxt "dash:voice_tracker|title" +msgid "Voice Tracker Configuration ({commands[config voice_rewards]})" +msgstr "" + +#: src/tracking/voice/settings.py:541 +msgctxt "dash:voice_tracking|dropdown|placeholder" +msgid "Voice Activity Panel" +msgstr "" diff --git a/locales/ar/LC_MESSAGES/wards.po b/locales/ar/LC_MESSAGES/wards.po new file mode 100644 index 000000000000..267616de420a --- /dev/null +++ b/locales/ar/LC_MESSAGES/wards.po @@ -0,0 +1,96 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Interitio, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/wards.py:99 +msgctxt "ward:sys_admin|failed" +msgid "You must be a bot owner to do this!" +msgstr "يجب أن تكون مالك البرنامج الآلى لتنفيذ الامر" + +#: src/wards.py:115 +msgctxt "ward:high_management|failed" +msgid "" +"You must have the `ADMINISTRATOR` permission or the configured `admin_role` " +"to do this!" +msgstr "" + +#: src/wards.py:131 +msgctxt "ward:low_management|failed" +msgid "" +"You must have the `MANAGE_GUILD` permission or the configured `mod_role` to " +"do this!" +msgstr "" + +#: src/wards.py:143 +msgctxt "ward:moderator|failed" +msgid "" +"You must have the configured moderator role, or `MANAGE_GUILD` permissions " +"to do this." +msgstr "" + +#: src/wards.py:169 +#, possible-python-brace-format +msgctxt "ward:equippable_role|error:bot_managed" +msgid "I cannot manage {role} because it is managed by another bot!" +msgstr "" + +#: src/wards.py:176 +#, possible-python-brace-format +msgctxt "ward:equippable_role|error:integration" +msgid "I cannot manage {role} because it is managed by a server integration." +msgstr "" + +#: src/wards.py:183 +msgctxt "ward:equippable_role|error:default_role" +msgid "I cannot manage the server's default role." +msgstr "لا استطيع إدارة الدور الإفتراضى للخادم" + +#: src/wards.py:190 +msgctxt "ward:equippable_role|error:no_perms" +msgid "I need the `MANAGE_ROLES` permission before I can manage roles!" +msgstr "" +"احتاج إلى إذن `MANAGE_ROLES` لكى أستطيع إدارة الادوار\n" +"\n" +"احتاج إلى إذن \"إدارة الادوار\" لكى أستطيع التحكم فى إدارة الادوار" + +#: src/wards.py:197 +#, possible-python-brace-format +msgctxt "ward:equippable_role|error:my_top_role" +msgid "I cannot assign or remove {role} because it is above my top role!" +msgstr "" + +#: src/wards.py:204 +#, possible-python-brace-format +msgctxt "ward:equippable_role|error:not_assignable" +msgid "I don't have sufficient permissions to assign or remove {role}." +msgstr "" + +#: src/wards.py:212 +msgctxt "ward:equippable_role|error:actor_perms" +msgid "You need the `MANAGE_ROLES` permission before you can configure roles!" +msgstr "" + +#: src/wards.py:219 +#, possible-python-brace-format +msgctxt "ward:equippable_role|error:actor_top_role" +msgid "You cannot configure {role} because it is above your top role!" +msgstr "" diff --git a/locales/ar/LC_MESSAGES/weekly-gui.po b/locales/ar/LC_MESSAGES/weekly-gui.po new file mode 100644 index 000000000000..c2f23a1c4078 --- /dev/null +++ b/locales/ar/LC_MESSAGES/weekly-gui.po @@ -0,0 +1,103 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Interitio, 2023 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-27 16:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Interitio, 2023\n" +"Language-Team: Arabic (https://app.transifex.com/leobot/teams/174919/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#: src/gui/cards/weekly.py:52 +msgctxt "skin:weeklystats|mode:study|title" +msgid "STUDY HOURS" +msgstr "ساعات الدراسة" + +#: src/gui/cards/weekly.py:56 +msgctxt "skin:weeklystats|mode:voice|title" +msgid "VOICE CHANNEL ACTIVITY" +msgstr "أنشطة القناة الصوتية" + +#: src/gui/cards/weekly.py:60 +msgctxt "skin:weeklystats|mode:text|title" +msgid "MESSAGE ACTIVITY" +msgstr "" +"أنشطة الرسائل\n" +"أنشطة المحادثات" + +#: src/gui/cards/weekly.py:64 +msgctxt "skin::weeklystats|mode:anki|title" +msgid "CARDS REVIEWED" +msgstr "تمت مراجعة البطاقات" + +#: src/gui/cards/weekly.py:137 +msgctxt "skin:weeklystats|weekdays" +msgid "M,T,W,T,F,S,S" +msgstr "" + +#: src/gui/cards/weekly.py:207 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:study|summary:this_week" +msgid "THIS WEEK: {amount} HOURS" +msgstr "" + +#: src/gui/cards/weekly.py:211 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:voice|summary:this_week" +msgid "THIS WEEK: {amount} HOURS" +msgstr "" + +#: src/gui/cards/weekly.py:215 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:text|summary:this_week" +msgid "THIS WEEK: {amount} MESSAGES" +msgstr "" + +#: src/gui/cards/weekly.py:219 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:text|summary:this_week" +msgid "THIS WEEK: {amount} CARDS" +msgstr "" + +#: src/gui/cards/weekly.py:240 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:study|summary:last_week" +msgid "LAST WEEK: {amount} HOURS" +msgstr "" + +#: src/gui/cards/weekly.py:244 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:voice|summary:last_week" +msgid "LAST WEEK: {amount} HOURS" +msgstr "" + +#: src/gui/cards/weekly.py:248 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:text|summary:last_week" +msgid "LAST WEEK: {amount} MESSAGES" +msgstr "" + +#: src/gui/cards/weekly.py:252 +#, possible-python-brace-format +msgctxt "skin:weeklystats|mode:text|summary:last_week" +msgid "LAST WEEK: {amount} CARDS" +msgstr "" + +#: src/gui/cards/weekly.py:272 +#, possible-python-brace-format +msgctxt "skin:weeklystats|footer" +msgid "Weekly Statistics • As of {day} {month} • {name} {discrim}" +msgstr ""