diff --git a/locales/vi_VN/LC_MESSAGES/Pomodoro.po b/locales/vi_VN/LC_MESSAGES/Pomodoro.po new file mode 100644 index 000000000000..785e8bcf2a57 --- /dev/null +++ b/locales/vi_VN/LC_MESSAGES/Pomodoro.po @@ -0,0 +1,914 @@ +# 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: +# 01. Đỗ Tân Ngọc Anh 12C2B, 2023 +# Alan Winifred, 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: Alan Winifred, 2023\n" +"Language-Team: Vietnamese (Viet Nam) (https://app.transifex.com/leobot/teams/174919/vi_VN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/pomodoro/timer.py:52 +msgctxt "timer|stage:break|name" +msgid "BREAK" +msgstr "NGHỈ" + +#: src/modules/pomodoro/timer.py:53 +msgctxt "timer|stage:focus|name" +msgid "FOCUS" +msgstr "TẬP TRUNG" + +#: src/modules/pomodoro/timer.py:164 +#, possible-python-brace-format +msgctxt "timer|webhook|name" +msgid "{bot_name} Pomodoro" +msgstr "{bot_name} Pomodoro" + +#: src/modules/pomodoro/timer.py:168 +msgctxt "timer|webhook|audit_reason" +msgid "Pomodoro Notifications" +msgstr "Thông báo Pomodoro" + +#: 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 "Tôi cần quyền `MANAGE_WEBHOOKS` để gửi các thông báo Pomodoro ở đây!" + +#: src/modules/pomodoro/timer.py:238 +#, possible-python-brace-format +msgctxt "timer|default_base_name" +msgid "Timer {pattern}" +msgstr "Đồng hồ bấm giờ {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] "" +"{mentions} đã bị ép rời khỏi {channel} bởi vì họ không hoạt động! Hãy nhớ " +"nhấn {tick} để điểm danh qua mỗi giai đoạn nha." + +#: 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 "" +"{channel} đang ở trong trạng thái **FOCUS**! Chúc may mắn, **BREAK** sẽ bắt " +"đầu vào {timestamp}" + +#: src/modules/pomodoro/timer.py:542 +#, possible-python-brace-format +msgctxt "timer|status|stage:break|statusline" +msgid "" +"{channel} is now on **BREAK**! Take a rest, **FOCUS** starts {timestamp}" +msgstr "" +"{channel} hiện tại đang trong trạng thái **NGHỈ**! Nghỉ ngơi một chút nhé, " +"trạng thái **TẬP TRUNG** sẽ bắt đầu vào {timestamp}" + +#: src/modules/pomodoro/timer.py:574 +#, possible-python-brace-format +msgctxt "timer|status|warningline" +msgid "" +"**Warning:** {mentions}, please press {tick} to avoid being removed on the " +"next stage." +msgstr "" +"**Cảnh báo:** {mentions}, hãy nhấn {tick} để tránh bị ép rời khỏi kênh ở " +"giai đoạn tiếp theo." + +#: 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 "" +"Đồng hồ đếm giờ đã dừng! Hãy tham gia {channel} để khởi động lại đồng hồ đếm" +" giờ nhé." + +#: src/modules/pomodoro/timer.py:598 +msgctxt "timer|status|stopped:manual" +msgid "Timer stopped! Press `Start` to restart the timer." +msgstr "Đồng hồ bấm giờ đã dừng! Nhấn 'Start' để khởi động lại đồng hồ." + +#: src/modules/pomodoro/settingui.py:40 +msgctxt "ui:timer_config|menu:channels|placeholder" +msgid "Select Pomodoro Notification Channel" +msgstr "Chọn kênh thông báo Pomodoro" + +#: src/modules/pomodoro/settingui.py:48 +msgctxt "ui:timer_config|embed|title" +msgid "Timer Configuration Panel" +msgstr "Bảng cài đặt đồng hồ bấm giờ" + +#: 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 "Bảng đồng hồ bấm giờ Pomodoro" + +#: 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 "" +"Mình đang khởi động lại mất tiêu rồi! Đồng hồ Pomodoro sẽ tạm thời không " +"dùng được trong lúc này. Chờ mình chút nhé!" + +#: 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 "tạo" + +#: 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 "kênh đồng hồ bấm giờ" + +#: 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 "" +"Kênh thoại để tạo đồng hồ bấm giờ. (Mặc định là kênh hiện tại của bạn, hoặc " +"tạo một kênh thoại mới.)" + +#: 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 "" +"Đồng hồ bấm giờ đã được tạo thành công! Sử dụng bảng điều khiển dưới đây để " +"điều chỉnh lại." + +#: src/modules/pomodoro/cog.py:770 +msgctxt "cmd:pomodoro_destroy" +msgid "destroy" +msgstr "phá huỷ" + +#: 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 "kênh đồng hồ bấm giờ" + +#: 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 "Kênh này không có một đồng hồ bấm giờ Pomodoro!" + +#: 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 "" +"Bạn cần là một quản trị viên hoặc sở hữu kênh này để có thể xoá bỏ đồng hồ " +"bấm giờ!" + +#: 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 "Đồng hồ bấm giờ đã được xoá bỏ thành công khỏi {channel}" + +#: src/modules/pomodoro/cog.py:837 +msgctxt "cmd:pomodoro_edit" +msgid "edit" +msgstr "chỉnh sửa" + +#: 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 "kênh đồng hồ bấm giờ" + +#: 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 "Kênh này không có một đồng hồ bấm giờ Pomodoro để có thể chỉnh sửa!" + +#: 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 "" +"Bạn không có đủ quyền để chỉnh sửa đồng hồ bấm giờ này!\n" +"Bạn cần là một quản trị viên máy chủ, sở hữu kênh này, hoặc có vai trò quản lí đồng hồ." + +#: 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 "" +"Bạn cần là một quản trị viên máy chủ để có thể chỉnh sửa tuỳ chọn này!" + +#: 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 "" +"Bạn cần sở hữu kênh này hoặc là một quản trị viên máy chủ để có thể sửa tuỳ " +"chọn này!" + +#: 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 "" +"Bạn cần là một quản trị viên máy chủ hoặc có vai trò quản lí đồng hồ để có " +"thể chỉnh sửa tuỳ chọn này!" + +#: src/modules/pomodoro/cog.py:971 +msgctxt "cmd:configure_pomodoro" +msgid "pomodoro" +msgstr "pomodoro" + +#: src/modules/pomodoro/cog.py:972 +msgctxt "cmd:configure_pomodoro|desc" +msgid "Configure Pomodoro Timer System" +msgstr "Điều chỉnh hệ thống đồng hồ Pomodoro" + +#: src/modules/pomodoro/lib.py:19 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:remaining" +msgid "{remaining}" +msgstr "{remaining}" + +#: src/modules/pomodoro/lib.py:20 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:stage" +msgid "{stage}" +msgstr "{stage}" + +#: src/modules/pomodoro/lib.py:21 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:members" +msgid "{members}" +msgstr "{members}" + +#: src/modules/pomodoro/lib.py:22 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:name" +msgid "{name}" +msgstr "{name}" + +#: src/modules/pomodoro/lib.py:23 +#, possible-python-brace-format +msgctxt "formatstring:channel_name|key:pattern" +msgid "{pattern}" +msgstr "{pattern}" + +#: src/modules/pomodoro/options.py:33 +msgctxt "timerset:voice_channel" +msgid "channel" +msgstr "kênh" + +#: src/modules/pomodoro/options.py:36 +msgctxt "timerset:voice_channel|desc" +msgid "Channel in which to track timer members and send alerts." +msgstr "" +"Kênh để theo dõi thời gian hoạt động của các thành viên và gửi thông báo." + +#: src/modules/pomodoro/options.py:48 +msgctxt "timerset:notification_channel" +msgid "notification_channel" +msgstr "kênh thông báo" + +#: 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 "Số chu kì Pomodoro trước khi kick những thành viên không hoạt động." + +#: 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 "Tên đồng hồ bấm giờ hiển thị trên thẻ." + +#: 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 "Hãy nhập số phút là một số nguyên dương." + +#: 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 "Không thể khởi động đồng hồ đang chạy!" + +#: 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 "Không đủ quyền!" + +#: 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 "" +"Cần quyền `MANAGE_CHANNEL` để có thể dừng đồng hồ trong kênh này, hoặc " +"`manager_role` đã được chỉnh sửa!" + +#: src/modules/pomodoro/ui/status.py:204 +msgctxt "ui:timer_status|button:stop|label" +msgid "Stop" +msgstr "Dừng Lại" + +#: 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 "Chỉnh Sửa" + +#: src/modules/pomodoro/ui/config.py:84 +msgctxt "ui:timer_options|button:voice_alerts|label" +msgid "Voice Alerts" +msgstr "Thông Báo Bằng Giọng Nói" + +#: src/modules/pomodoro/ui/config.py:105 +msgctxt "ui:timer_options|button:delete|success|title" +msgid "Timer Deleted" +msgstr "Đồng Hồ Đã Bị Xoá" + +#: 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 "Đồng hồ trong {channel} đã bị xoá." + +#: src/modules/pomodoro/ui/config.py:117 +msgctxt "ui:timer_options|button:delete|label" +msgid "Delete" +msgstr "Xoá" + +#: src/modules/pomodoro/ui/config.py:136 +msgctxt "ui:timer_options|menu:voice_channel|placeholder" +msgid "Set Voice Channel" +msgstr "Chọn Kênh Thoại" + +#: src/modules/pomodoro/ui/config.py:157 +msgctxt "ui:timer_options|menu:notification_channel|placeholder" +msgid "Set Notification Channel" +msgstr "Chọn Kênh Thông Báo" + +#: src/modules/pomodoro/ui/config.py:172 +msgctxt "ui:timer_options|menu:manager_role|placeholder" +msgid "Set Manager Role" +msgstr "Chọn Vai Trò Quản Lí" + +#: src/modules/pomodoro/ui/config.py:181 +#, possible-python-brace-format +msgctxt "ui:timer_options|embed|title" +msgid "Timer Control Panel for {channel}" +msgstr "Bảng Điều Khiển Đồng Hồ cho {channel}" + +#: src/modules/pomodoro/ui/config.py:188 +msgctxt "ui:timer_options|embed|footer" +msgid "Hover over the option names to view descriptions." +msgstr "Bạn hãy di chuột qua các tên của tuỳ chọn để xem mô tả nhé." + +#: src/modules/pomodoro/ui/config.py:200 +msgctxt "ui:timer_options|embed|field:pattern|name" +msgid "Pattern" +msgstr "Mô hình" + +#: 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 "" +"**`{focus_len} phút`** tập trung\n" +"**`{break_len} phút`** nghỉ" + +#: src/modules/pomodoro/ui/config.py:214 +msgctxt "ui:timer_options|embed|field:channel_name|name" +msgid "Channel Name Preview" +msgstr "Xem Trước Tên Kênh" + +#: 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 "" +"**`{name}`**\n" +"(Tên kênh thật sẽ không đúng bởi vì giới hạn thao tác của Discord.)" + +#: src/modules/pomodoro/ui/config.py:228 +msgctxt "ui:timer_options|embed|field:issues|name" +msgid "Issues" +msgstr "Vấn đề" + +#: 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 "" +"Kênh thông báo đã được chỉnh sửa không tồn tại! Hãy cập nhật lại ở phía dưới" +" nhé!" + +#: 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 "" +"Thông báo bằng giọng nói đã bật, nhưng mình lại không có quyền đề nói trong " +"{channel}" + +#: 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 "" +"Mình không thể cập nhật tên của {channel}! (Cần quyền `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 "Kênh thông báo đã được chỉnh sửa không tồn tại!" + +#: 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 "" +"Mình không thể đính kèm tập tin (`ATTACH_FILES`) hoặc nhúng liên kết " +"(`EMBED_LINKS`) trong {channel}" + +#: 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 "" +"Mình không thể tạo webhook thông báo vì thiếu quyền (`MANAGE_WEBHOOKS`) " +"trong kênh {channel}" diff --git a/locales/vi_VN/LC_MESSAGES/babel.po b/locales/vi_VN/LC_MESSAGES/babel.po new file mode 100644 index 000000000000..59d08f851be3 --- /dev/null +++ b/locales/vi_VN/LC_MESSAGES/babel.po @@ -0,0 +1,407 @@ +# 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: +# 01. Đỗ Tân Ngọc Anh 12C2B, 2023 +# Ba Cong Nguyen, 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: Ba Cong Nguyen, 2023\n" +"Language-Team: Vietnamese (Viet Nam) (https://app.transifex.com/leobot/teams/174919/vi_VN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/babel/settingui.py:41 +msgctxt "ui:locale_config|button:force|label" +msgid "Toggle Force" +msgstr "Toggle Force" + +#: src/babel/settingui.py:50 +msgctxt "ui:locale_config|embed|title" +msgid "Language Configuration Panel" +msgstr "Bảng điều chỉnh ngôn ngữ" + +#: 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 "Bảng ngôn ngữ máy chủ" + +#: src/babel/cog.py:99 +msgctxt "cmd:configure_language" +msgid "language" +msgstr "ngôn ngữ" + +#: src/babel/cog.py:101 +msgctxt "cmd:configure_language|desc" +msgid "Configure the default language I will use in this server." +msgstr "Điều chỉnh ngôn ngữ mặc định mà mình sẽ dùng trong máy chủ." + +#: 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 "" +"Bạn không được bật `{force_setting}` khi chưa cài đặt ngôn ngữ của mình." + +#: src/babel/cog.py:165 +msgctxt "cmd:configure_language|success" +msgid "Language settings updated!" +msgstr "Cài đặt ngôn ngữ đã được cập nhật thành công!" + +#: src/babel/cog.py:181 +msgctxt "cmd:userconfig_language" +msgid "language" +msgstr "ngôn ngữ" + +#: src/babel/cog.py:184 +msgctxt "cmd:userconfig_language|desc" +msgid "Set your preferred interaction language." +msgstr "Đặt ngôn ngữ ưa dùng của bạn." + +#: src/babel/cog.py:188 +msgctxt "cmd:userconfig_language|param:language" +msgid "language" +msgstr "ngôn ngữ" + +#: src/babel/cog.py:193 +msgctxt "cmd:userconfig_language|param:language|desc" +msgid "Which language do you want me to respond in?" +msgstr "Bạn muốn tôi trả lời bằng ngôn ngữ nào nhỉ?" + +#: src/babel/cog.py:209 +msgctxt "cmd:userconfig_language|button:reset|label" +msgid "Reset" +msgstr "Đặt lại" + +#: src/babel/cog.py:250 +#, possible-python-brace-format +msgctxt "acmpl:language|no_match" +msgid "No supported languages matching {partial}" +msgstr "Không có ngôn ngữ nào khớp với {partial}" + +#: src/babel/utils.py:9 +msgctxt "utils|months" +msgid "" +"January,February,March,April,May,June,July,August,September,October,November,December" +msgstr "" +"tháng 1,tháng 2,tháng 3,tháng 4,tháng 5,tháng 6,tháng 7,tháng 8,tháng " +"9,tháng 10, tháng 11,tháng 12 " + +#: src/babel/utils.py:14 +msgctxt "utils|short_months" +msgid "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec" +msgstr "" +"tháng 1,tháng 2,tháng 3,tháng 4,tháng 5,tháng 6,tháng 7,tháng 8,tháng " +"9,tháng 10, tháng 11,tháng 12 " + +#: src/babel/settings.py:25 +msgctxt "settype:locale|accepts" +msgid "Enter a supported language (e.g. 'en-GB')." +msgstr "Nhập một ngôn ngữ được hỗ trợ (ví dụ: 'en-GB')." + +#: src/babel/settings.py:36 +msgctxt "settype:locale|summary_table|field:supported|key" +msgid "Supported" +msgstr "Được hỗ trợ" + +#: src/babel/settings.py:46 +msgctxt "settype:locale|formatted:unset" +msgid "Unset" +msgstr "Chưa cài đặt" + +#: 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 "Xin lỗi, hiện chúng mình chưa hỗ trợ `{lang}`." + +#: src/babel/settings.py:77 +msgctxt "userset:locale" +msgid "language" +msgstr "ngôn ngữ" + +#: src/babel/settings.py:78 +msgctxt "userset:locale|desc" +msgid "Your preferred language for interacting with me." +msgstr "Ngôn ngữ bạn muốn sử dụng để giao tiếp với mình." + +#: 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 "" +"Ngôn ngữ bạn muốn tôi dùng để trả lời bạn. Các máy chủ có thể được đặt để bỏ" +" qua ngôn ngữ của bạn và dùng ngôn ngữ họ đã chọn." + +#: src/babel/settings.py:92 +msgctxt "userset:locale|response" +msgid "You have unset your language." +msgstr "Bạn chưa đặt ngôn ngữ của mình." + +#: src/babel/settings.py:94 +#, possible-python-brace-format +msgctxt "userset:locale|response" +msgid "You have set your language to {lang}." +msgstr "Bạn đã chỉnh ngôn ngữ của mình là {lang}." + +#: src/babel/settings.py:113 +msgctxt "guildset:force_locale" +msgid "force_language" +msgstr "force_language" + +#: src/babel/settings.py:115 +msgctxt "guildset:force_locale|desc" +msgid "" +"Whether to force all members to use the configured guild language when " +"interacting with me." +msgstr "" +"Có hay không bắt buộc thành viên sử dụng ngôn ngữ chung để tương tác với " +"mình." + +#: 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 "" +"Nếu được bật, mọi câu lệnh trong hội đều phải dùng ngôn ngữ chung đã đặt, kể" +" cả khi thành viên đã chọn ngôn ngữ riêng." + +#: src/babel/settings.py:122 +msgctxt "guildset:force_locale|output" +msgid "Enabled (members will be forced to use the server language)" +msgstr "Đã bật (thành viên phải dùng ngôn ngữ của máy chủ)" + +#: src/babel/settings.py:123 +msgctxt "guildset:force_locale|output" +msgid "Disabled (members may set their own language)" +msgstr "Đã tắt (các thành viên có thể tự chỉnh ngôn ngữ của họ)" + +#: src/babel/settings.py:137 +msgctxt "guildset:force_locale|response" +msgid "I will always use the set language in this server." +msgstr "Tôi sẽ luôn sử dụng ngôn ngữ bạn đã chọn trong máy chủ này." + +#: src/babel/settings.py:142 +msgctxt "guildset:force_locale|response" +msgid "I will now allow the members to set their own language here." +msgstr "Tôi sẽ cho phép các thành viên chọn ngôn ngữ riêng của họ." + +#: src/babel/settings.py:160 +msgctxt "guildset:locale" +msgid "language" +msgstr "ngôn ngữ" + +#: src/babel/settings.py:161 +msgctxt "guildset:locale|desc" +msgid "Your preferred language for interacting with me." +msgstr "Ngôn ngữ bạn muốn dùng để tương tác với tôi." + +#: 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 "" +"Ngôn ngữ mặc định để tương tác trong máy chủ này. Ngôn ngữ riêng của thành " +"viên sẽ bị ghi đè lên, trừ khi bạn bật `force_language`." + +#: src/babel/settings.py:176 +msgctxt "guildset:locale|response" +msgid "You have unset the guild language." +msgstr "Bạn chưa đặt ngôn ngữ của hội." + +#: src/babel/settings.py:178 +#, possible-python-brace-format +msgctxt "guildset:locale|response" +msgid "You have set the guild language to {lang}." +msgstr "Bạn đã đặt ngôn ngữ của Hội là {lang}." + +#: src/babel/enums.py:43 +msgctxt "localenames|locale:id" +msgid "Indonesian" +msgstr "Tiếng Indonesia" + +#: src/babel/enums.py:44 +msgctxt "localenames|locale:da" +msgid "Danish" +msgstr "Tiếng Đan Mạch" + +#: src/babel/enums.py:45 +msgctxt "localenames|locale:de" +msgid "German" +msgstr "Tiếng Đức" + +#: src/babel/enums.py:46 +msgctxt "localenames|locale:en-GB" +msgid "English, UK" +msgstr "Tiếng Anh, Anh" + +#: src/babel/enums.py:47 +msgctxt "localenames|locale:en-US" +msgid "English, US" +msgstr "Tiếng Anh, Mỹ" + +#: src/babel/enums.py:48 +msgctxt "localenames|locale:es-ES" +msgid "Spanish" +msgstr "Tiếng Tây Ban Nha" + +#: src/babel/enums.py:49 +msgctxt "localenames|locale:fr" +msgid "French" +msgstr "Tiếng Pháp" + +#: src/babel/enums.py:50 +msgctxt "localenames|locale:hr" +msgid "Croatian" +msgstr "Tiếng Croatia" + +#: src/babel/enums.py:51 +msgctxt "localenames|locale:it" +msgid "Italian" +msgstr "Tiếng Ý" + +#: src/babel/enums.py:52 +msgctxt "localenames|locale:lt" +msgid "Lithuanian" +msgstr "Tiếng Lithuania" + +#: src/babel/enums.py:53 +msgctxt "localenames|locale:hu" +msgid "Hungarian" +msgstr "Tiếng Hungary" + +#: src/babel/enums.py:54 +msgctxt "localenames|locale:nl" +msgid "Dutch" +msgstr "Tiếng Hà Lan" + +#: src/babel/enums.py:55 +msgctxt "localenames|locale:no" +msgid "Norwegian" +msgstr "Tiếng Na Uy" + +#: src/babel/enums.py:56 +msgctxt "localenames|locale:pl" +msgid "Polish" +msgstr "Tiếng Ba Lan" + +#: src/babel/enums.py:57 +msgctxt "localenames|locale:pt-BR" +msgid "Portuguese, Brazilian" +msgstr "Tiếng Bồ Đào Nha, Brazil" + +#: src/babel/enums.py:58 +msgctxt "localenames|locale:ro" +msgid "Romanian, Romania" +msgstr "Tiếng Romania, Romania" + +#: src/babel/enums.py:59 +msgctxt "localenames|locale:fi" +msgid "Finnish" +msgstr "Tiếng Phần Lan" + +#: src/babel/enums.py:60 +msgctxt "localenames|locale:sv-SE" +msgid "Swedish" +msgstr "Tiếng Thuỵ Điển" + +#: src/babel/enums.py:61 +msgctxt "localenames|locale:vi" +msgid "Vietnamese" +msgstr "Tiếng Việt" + +#: src/babel/enums.py:62 +msgctxt "localenames|locale:tr" +msgid "Turkish" +msgstr "Tiếng Thổ Nhĩ Kỳ" + +#: src/babel/enums.py:63 +msgctxt "localenames|locale:cs" +msgid "Czech" +msgstr "Tiếng Séc" + +#: src/babel/enums.py:64 +msgctxt "localenames|locale:el" +msgid "Greek" +msgstr "Tiếng Hy Lạp" + +#: src/babel/enums.py:65 +msgctxt "localenames|locale:bg" +msgid "Bulgarian" +msgstr "Tiếng Bulgaria" + +#: src/babel/enums.py:66 +msgctxt "localenames|locale:ru" +msgid "Russian" +msgstr "Tiếng Nga" + +#: src/babel/enums.py:67 +msgctxt "localenames|locale:uk" +msgid "Ukrainian" +msgstr "Tiếng Ukraine" + +#: src/babel/enums.py:68 +msgctxt "localenames|locale:hi" +msgid "Hindi" +msgstr "Tiếng Hindi" + +#: src/babel/enums.py:69 +msgctxt "localenames|locale:th" +msgid "Thai" +msgstr "Tiếng Thái" + +#: src/babel/enums.py:70 +msgctxt "localenames|locale:zh-CN" +msgid "Chinese, China" +msgstr "Tiếng Trung, Trung Quốc" + +#: src/babel/enums.py:71 +msgctxt "localenames|locale:ja" +msgid "Japanese" +msgstr "Tiếng Nhật" + +#: src/babel/enums.py:72 +msgctxt "localenames|locale:zh-TW" +msgid "Chinese, Taiwan" +msgstr "Tiếng Trung, Đài Loan" + +#: src/babel/enums.py:73 +msgctxt "localenames|locale:ko" +msgid "Korean" +msgstr "Tiếng Hàn" + +#: src/babel/enums.py:78 +msgctxt "localenames|locale:he" +msgid "Hebrew" +msgstr "Tiếng Do Thái" + +#: src/babel/enums.py:79 +msgctxt "localenames|locale:he-IL" +msgid "Hebrew" +msgstr "Tiếng Do Thái" + +#: src/babel/enums.py:80 +msgctxt "localenames|locale:test" +msgid "Test Language" +msgstr "Ngôn ngữ thử nghiệm" diff --git a/locales/vi_VN/LC_MESSAGES/base.po b/locales/vi_VN/LC_MESSAGES/base.po new file mode 100644 index 000000000000..b06da17b394e --- /dev/null +++ b/locales/vi_VN/LC_MESSAGES/base.po @@ -0,0 +1,38 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# Ba Cong Nguyen, 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: Ba Cong Nguyen, 2023\n" +"Language-Team: Vietnamese (Viet Nam) (https://app.transifex.com/leobot/teams/174919/vi_VN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: bot/modules/sysadmin/exec_cog.py:70 +msgid "You cannot use this interface!" +msgstr "Bạn không được dùng mục này." + +#: bot/modules/sysadmin/exec_cog.py:252 bot/modules/sysadmin/exec_cog.py:254 +msgid "async" +msgstr "async" + +#: bot/modules/sysadmin/exec_cog.py:253 bot/modules/sysadmin/exec_cog.py:255 +msgid "Execute arbitrary code with Exec" +msgstr "Thực thi câu lệnh tuỳ chọn với Exec" + +#: bot/modules/sysadmin/exec_cog.py:265 +msgid "eval" +msgstr "eval" diff --git a/locales/vi_VN/LC_MESSAGES/config.po b/locales/vi_VN/LC_MESSAGES/config.po new file mode 100644 index 000000000000..9cc03c9e4948 --- /dev/null +++ b/locales/vi_VN/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: +# Ba Cong Nguyen, 2024 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-10-24 14:37+0300\n" +"PO-Revision-Date: 2023-08-28 13:43+0000\n" +"Last-Translator: Ba Cong Nguyen, 2024\n" +"Language-Team: Vietnamese (Viet Nam) (https://app.transifex.com/leobot/teams/174919/vi_VN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/config/settingui.py:56 +msgctxt "ui:general_config|menu:event_log|placeholder" +msgid "Select Event Log" +msgstr "" + +#: src/modules/config/settingui.py:64 +msgctxt "ui:general_config|embed:title" +msgid "General Configuration" +msgstr "Cài đặt Tổng quan" + +#: src/modules/config/settingui.py:99 +msgctxt "dash:general|title" +msgid "General Configuration ({commands[config general]})" +msgstr "Cài đặt Tổng quan ({commands[config general]})" + +#: src/modules/config/settingui.py:103 +msgctxt "dash:general|option|name" +msgid "General Configuration Panel" +msgstr "Bảng Cài đặt Tổng quan" + +#: src/modules/config/cog.py:56 src/modules/config/general.py:52 +msgctxt "cmd:configure_general" +msgid "general" +msgstr "tổng quan" + +#: 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 "Không thể chọn múi giờ." + +#: src/modules/config/general.py:112 +msgctxt "cmd:configure_general|success" +msgid "Settings Updated!" +msgstr "Đã cập nhật cài đặt." + +#: src/modules/config/general.py:127 +msgctxt "cmd:configure_general|panel|title" +msgid "General Configuration Panel" +msgstr "Bảng Cài đặt Tổng quan" + +#: 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 "múi giờ" + +#: src/modules/config/settings.py:36 +msgctxt "guildset:timezone|desc" +msgid "Guild timezone for statistics display." +msgstr "Múi giờ của Hội để trình bày số liệu" + +#: 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 "Múi giờ của Hội đã được chọn là `{timezone}`." + +#: src/modules/config/settings.py:66 +msgctxt "guildset:eventlog" +msgid "event_log" +msgstr "event_log" + +#: 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 "Sự kiện sẽ được đăng tại {channel}" + +#: src/modules/config/settings.py:111 +msgctxt "guildset:eventlog|response|unset" +msgid "Guild events will no longer be logged." +msgstr "" diff --git a/locales/vi_VN/LC_MESSAGES/core_config.po b/locales/vi_VN/LC_MESSAGES/core_config.po new file mode 100644 index 000000000000..b5d71314067f --- /dev/null +++ b/locales/vi_VN/LC_MESSAGES/core_config.po @@ -0,0 +1,52 @@ +# 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: +# Ba Cong Nguyen, 2026 +# +#, 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: Ba Cong Nguyen, 2026\n" +"Language-Team: Vietnamese (Viet Nam) (https://app.transifex.com/leobot/teams/174919/vi_VN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/core/config.py:28 +msgctxt "group:config" +msgid "config" +msgstr "thiết lập" + +#: src/core/config.py:29 +msgctxt "group:config|desc" +msgid "View and adjust moderation-level configuration." +msgstr "Xem và chỉnh sửa thiết lập của điều phối viên" + +#: src/core/config.py:40 +msgctxt "group:admin" +msgid "admin" +msgstr "quản trị viên" + +#: src/core/config.py:41 +msgctxt "group:admin|desc" +msgid "Administrative commands." +msgstr "Lệnh quản trị" + +#: src/core/config.py:52 +msgctxt "group:admin_config" +msgid "config" +msgstr "thiết lập" + +#: src/core/config.py:53 +msgctxt "group:admin_config|desc" +msgid "View and adjust admin-level configuration." +msgstr "Xem và chỉnh sửa thiết lập của quản trị viên" diff --git a/locales/vi_VN/LC_MESSAGES/moderation.po b/locales/vi_VN/LC_MESSAGES/moderation.po new file mode 100644 index 000000000000..488101a308c8 --- /dev/null +++ b/locales/vi_VN/LC_MESSAGES/moderation.po @@ -0,0 +1,706 @@ +# 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: +# Ba Cong Nguyen, 2026 +# +#, 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: Ba Cong Nguyen, 2026\n" +"Language-Team: Vietnamese (Viet Nam) (https://app.transifex.com/leobot/teams/174919/vi_VN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" +"Plural-Forms: nplurals=1; plural=0;\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 "Bảng kiểm soát" + +#: 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 "Bạn đã bị cảnh báo!" + +#: 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] "" + +#: 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 "kháng nghị" + +#: 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 "vé" + +#: src/modules/moderation/cog.py:371 +msgctxt "cmd:pardon|param:reason" +msgid "reason" +msgstr "lý do" + +#: 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 "Tại sao bạn kháng nghị vé này?" + +#: 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] "" + +#: 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 "mục tiêu" + +#: src/modules/moderation/cog.py:486 +msgctxt "cmd:tickets|param:type" +msgid "type" +msgstr "loại" + +#: 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 "sau" + +#: src/modules/moderation/cog.py:491 +msgctxt "cmd:tickets|param:before" +msgid "before" +msgstr "trước" + +#: 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 "Được tạo sau" + +#: src/modules/moderation/ticketui.py:70 +msgctxt "ticketfilter|field:before|name" +msgid "Created Before" +msgstr "Được tạo trước" + +#: 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/vi_VN/LC_MESSAGES/sysadmin.po b/locales/vi_VN/LC_MESSAGES/sysadmin.po new file mode 100644 index 000000000000..f243533ddc41 --- /dev/null +++ b/locales/vi_VN/LC_MESSAGES/sysadmin.po @@ -0,0 +1,203 @@ +# 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: +# Ba Cong Nguyen, 2026 +# +#, 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: Ba Cong Nguyen, 2026\n" +"Language-Team: Vietnamese (Viet Nam) (https://app.transifex.com/leobot/teams/174919/vi_VN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi_VN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: src/modules/sysadmin/presence.py:116 +msgctxt "botset:presence_status" +msgid "online_status" +msgstr "" + +#: src/modules/sysadmin/presence.py:117 +msgctxt "botset:presence_status|desc" +msgid "Bot status indicator" +msgstr "" + +#: src/modules/sysadmin/presence.py:120 +msgctxt "botset:presence_status|long_desc" +msgid "Whether the bot account displays as online, idle, dnd, or offline." +msgstr "" + +#: src/modules/sysadmin/presence.py:124 +msgctxt "botset:presence_status|accepts" +msgid "Online/Idle/Dnd/Offline" +msgstr "" + +#: src/modules/sysadmin/presence.py:133 +msgctxt "botset:presence_status|output:online" +msgid "**Online**" +msgstr "" + +#: src/modules/sysadmin/presence.py:134 +msgctxt "botset:presence_status|output:idle" +msgid "**Idle**" +msgstr "" + +#: src/modules/sysadmin/presence.py:135 +msgctxt "botset:presence_status|output:dnd" +msgid "**Do Not Disturb**" +msgstr "" + +#: src/modules/sysadmin/presence.py:136 +msgctxt "botset:presence_status|output:offline" +msgid "**Offline**" +msgstr "" + +#: src/modules/sysadmin/presence.py:139 +msgctxt "botset:presence_status|input_format:online" +msgid "Online" +msgstr "" + +#: src/modules/sysadmin/presence.py:140 +msgctxt "botset:presence_status|input_format:idle" +msgid "Idle" +msgstr "" + +#: src/modules/sysadmin/presence.py:141 +msgctxt "botset:presence_status|input_format:dnd" +msgid "DND" +msgstr "" + +#: src/modules/sysadmin/presence.py:142 +msgctxt "botset:presence_status|input_format:offline" +msgid "Offline" +msgstr "" + +#: src/modules/sysadmin/presence.py:145 +msgctxt "botset:presence_status|input_pattern:online" +msgid "on|online" +msgstr "" + +#: src/modules/sysadmin/presence.py:146 +msgctxt "botset:presence_status|input_pattern:idle" +msgid "idle" +msgstr "" + +#: src/modules/sysadmin/presence.py:147 +msgctxt "botset:presence_status|input_pattern:dnd" +msgid "do not disturb|dnd" +msgstr "" + +#: src/modules/sysadmin/presence.py:148 +msgctxt "botset:presence_status|input_pattern:offline" +msgid "off|offline|invisible" +msgstr "" + +#: src/modules/sysadmin/presence.py:155 +msgctxt "botset:presence_type" +msgid "activity_type" +msgstr "" + +#: src/modules/sysadmin/presence.py:156 +msgctxt "botset:presence_type|desc" +msgid "Type of presence activity" +msgstr "" + +#: src/modules/sysadmin/presence.py:159 +msgctxt "botset:presence_type|long_desc" +msgid "" +"Whether the bot activity is shown as 'Listening', 'Playing', or 'Watching'." +msgstr "" + +#: src/modules/sysadmin/presence.py:163 +msgctxt "botset:presence_type|accepts" +msgid "Listening/Playing/Watching/Streaming" +msgstr "" + +#: src/modules/sysadmin/presence.py:172 +msgctxt "botset:presence_type|output:watching" +msgid "**Watching**" +msgstr "" + +#: src/modules/sysadmin/presence.py:173 +msgctxt "botset:presence_type|output:listening" +msgid "**Listening**" +msgstr "" + +#: src/modules/sysadmin/presence.py:174 +msgctxt "botset:presence_type|output:playing" +msgid "**Playing**" +msgstr "" + +#: src/modules/sysadmin/presence.py:175 +msgctxt "botset:presence_type|output:streaming" +msgid "**Streaming**" +msgstr "" + +#: src/modules/sysadmin/presence.py:178 +msgctxt "botset:presence_type|input_format:watching" +msgid "Watching" +msgstr "" + +#: src/modules/sysadmin/presence.py:179 +msgctxt "botset:presence_type|input_format:listening" +msgid "Listening" +msgstr "" + +#: src/modules/sysadmin/presence.py:180 +msgctxt "botset:presence_type|input_format:playing" +msgid "Playing" +msgstr "" + +#: src/modules/sysadmin/presence.py:181 +msgctxt "botset:presence_type|input_format:streaming" +msgid "Streaming" +msgstr "" + +#: src/modules/sysadmin/presence.py:184 +msgctxt "botset:presence_type|input_pattern:watching" +msgid "watching" +msgstr "đang xem" + +#: src/modules/sysadmin/presence.py:185 +msgctxt "botset:presence_type|input_pattern:listening" +msgid "listening" +msgstr "" + +#: src/modules/sysadmin/presence.py:186 +msgctxt "botset:presence_type|input_pattern:playing" +msgid "playing" +msgstr "" + +#: src/modules/sysadmin/presence.py:187 +msgctxt "botset:presence_type|input_pattern:streaming" +msgid "streaming" +msgstr "" + +#: src/modules/sysadmin/presence.py:194 +msgctxt "botset:presence_name" +msgid "activity_name" +msgstr "" + +#: src/modules/sysadmin/presence.py:195 +msgctxt "botset:presence_name|desc" +msgid "Name of the presence activity" +msgstr "" + +#: src/modules/sysadmin/presence.py:196 +msgctxt "botset:presence_name|long_desc" +msgid "Presence activity name." +msgstr "" + +#: src/modules/sysadmin/presence.py:197 +msgctxt "botset:presence_name|accepts" +msgid "The name of the activity to show." +msgstr ""