diff --git a/locale/be/LC_MESSAGES/django.po b/locale/be/LC_MESSAGES/django.po index 368280c391..018f111d72 100644 --- a/locale/be/LC_MESSAGES/django.po +++ b/locale/be/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-13 19:19+0000\n" +"POT-Creation-Date: 2023-07-26 03:33+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,7 +19,8 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " "(n%100>=11 && n%100<=14)? 2 : 3);\n" -#: analytics/views/stats.py:110 zerver/decorator.py:623 zerver/decorator.py:641 + +#: analytics/views/stats.py:110 zerver/decorator.py:628 zerver/decorator.py:646 msgid "Not allowed for guest users" msgstr "" @@ -44,7 +45,8 @@ msgid "Group direct messages" msgstr "" #: analytics/views/stats.py:318 -msgid "Unknown chart name: {}" +#, python-brace-format +msgid "Unknown chart name: {chart_name}" msgstr "" #: analytics/views/stats.py:328 @@ -56,8 +58,8 @@ msgstr "" msgid "No analytics data available. Please contact your server administrator." msgstr "" -#: analytics/views/support.py:189 zerver/views/streams.py:304 -#: zerver/views/streams.py:308 zerver/views/streams.py:316 +#: analytics/views/support.py:189 zerver/views/streams.py:306 +#: zerver/views/streams.py:310 zerver/views/streams.py:318 msgid "Invalid parameters" msgstr "" @@ -114,30 +116,32 @@ msgid "" "{num_invites} users." msgstr "" -#: corporate/lib/stripe.py:112 -msgid "You must invoice for at least {} users." +#: corporate/lib/stripe.py:113 +#, python-brace-format +msgid "You must invoice for at least {min_licenses} users." msgstr "" -#: corporate/lib/stripe.py:117 +#: corporate/lib/stripe.py:120 +#, python-brace-format msgid "" -"Invoices with more than {} licenses can't be processed from this page. To " -"complete the upgrade, please contact {}." +"Invoices with more than {max_licenses} licenses can't be processed from this " +"page. To complete the upgrade, please contact {email}." msgstr "" -#: corporate/lib/stripe.py:225 +#: corporate/lib/stripe.py:228 #, python-brace-format msgid "Something went wrong. Please contact {email}." msgstr "" -#: corporate/lib/stripe.py:226 +#: corporate/lib/stripe.py:229 msgid "Something went wrong. Please reload the page." msgstr "" -#: corporate/lib/stripe.py:300 +#: corporate/lib/stripe.py:303 msgid "Something went wrong. Please wait a few seconds and try again." msgstr "" -#: corporate/lib/stripe.py:1020 +#: corporate/lib/stripe.py:1023 #, python-brace-format msgid "" "Your organization's request for sponsored hosting has been approved! You " @@ -171,7 +175,7 @@ msgstr "" msgid "Unable to update the plan. The plan has ended." msgstr "" -#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:253 +#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:251 msgid "" "Unable to update licenses manually. Your plan is on automatic license " "management." @@ -187,14 +191,14 @@ msgstr "" msgid "You cannot decrease the licenses in the current billing period." msgstr "" -#: corporate/views/billing_page.py:259 +#: corporate/views/billing_page.py:257 #, python-brace-format msgid "" "Your plan is already scheduled to renew with {licenses_at_next_renewal} " "licenses." msgstr "" -#: corporate/views/billing_page.py:273 +#: corporate/views/billing_page.py:271 msgid "Nothing to change." msgstr "" @@ -206,7 +210,7 @@ msgstr "" msgid "Session not found" msgstr "" -#: corporate/views/event_status.py:37 zerver/decorator.py:196 +#: corporate/views/event_status.py:37 zerver/decorator.py:197 msgid "Must be a billing administrator or an organization owner" msgstr "" @@ -257,7 +261,7 @@ msgid "" msgstr "" #: templates/500.html:4 templates/500.html:21 -#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:433 +#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:410 msgid "Internal server error" msgstr "" @@ -567,7 +571,7 @@ msgstr "" #: templates/corporate/for/events.html:34 #: templates/corporate/for/events.html:288 #: templates/corporate/for/open-source.html:36 -#: templates/corporate/for/open-source.html:720 +#: templates/corporate/for/open-source.html:727 #: templates/corporate/for/research.html:36 #: templates/corporate/for/research.html:402 #: templates/corporate/for/use-cases.html:23 @@ -587,7 +591,7 @@ msgstr "" #: templates/corporate/for/events.html:40 #: templates/corporate/for/events.html:294 #: templates/corporate/for/open-source.html:42 -#: templates/corporate/for/open-source.html:726 +#: templates/corporate/for/open-source.html:733 #: templates/corporate/for/research.html:42 #: templates/corporate/for/research.html:408 #: templates/corporate/for/use-cases.html:29 @@ -599,7 +603,7 @@ msgstr "" #: templates/corporate/for/events.html:37 #: templates/corporate/for/events.html:291 #: templates/corporate/for/open-source.html:39 -#: templates/corporate/for/open-source.html:723 +#: templates/corporate/for/open-source.html:730 #: templates/corporate/for/research.html:39 #: templates/corporate/for/research.html:405 msgid "Request sponsorship" @@ -865,52 +869,52 @@ msgid "Sign up with %(identity_provider)s" msgstr "" #: templates/zerver/accounts_send_confirm.html:5 -msgid "Confirm your email address" -msgstr "" - #: templates/zerver/accounts_send_confirm.html:17 -msgid "Thanks for signing up!" +msgid "Confirm your email address" msgstr "" #: templates/zerver/accounts_send_confirm.html:21 #, python-format msgid "" -"Check your email (%(email)s) so " -"we can get started." +"To complete your registration, check your email account (%(email)s) for a confirmation email " +"from Zulip." msgstr "" #: templates/zerver/accounts_send_confirm.html:25 msgid "" -"Still no email? We can resend it." +"If you don't see a confirmation email in your Inbox or Spam folder, we can " +"resend it." msgstr "" -#: templates/zerver/accounts_send_confirm.html:26 -msgid "Just in case, take a look at your Spam folder." -msgstr "" - -#: templates/zerver/app/index.html:121 +#: templates/zerver/app/index.html:128 msgid "" -"If this message does not go away, try reloading the " -"page." +"If this message does not go away, try reloading " +"the page." msgstr "" -#: templates/zerver/app/index.html:164 +#: templates/zerver/app/index.html:131 +msgid "" +"Error loading Zulip. Try reloading the page." +msgstr "" + +#: templates/zerver/app/index.html:174 msgid "Unable to connect to Zulip." msgstr "" -#: templates/zerver/app/index.html:165 +#: templates/zerver/app/index.html:175 msgid "Updates may be delayed." msgstr "" -#: templates/zerver/app/index.html:166 +#: templates/zerver/app/index.html:176 msgid "Retrying soon…" msgstr "" -#: templates/zerver/app/index.html:167 +#: templates/zerver/app/index.html:177 msgid "Try now." msgstr "" -#: templates/zerver/app/index.html:241 templates/zerver/app/index.html:243 +#: templates/zerver/app/index.html:251 templates/zerver/app/index.html:253 msgid "Messages" msgstr "" @@ -939,6 +943,7 @@ msgstr "" #: templates/zerver/billing_nav.html:4 #: templates/zerver/development/integrations_dev_panel.html:19 +#: templates/zerver/emails/compiled/followup_day2.html:28 #: templates/zerver/portico-header.html:5 #: templates/zerver/portico-header.html:9 msgid "Zulip" @@ -1169,6 +1174,8 @@ msgstr "" msgid "Digest" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:9 +#: templates/zerver/emails/compiled/notify_change_in_email.html:9 #: templates/zerver/emails/confirm_new_email.html:8 #: templates/zerver/emails/confirm_new_email.txt:1 #: templates/zerver/emails/notify_change_in_email.html:8 @@ -1176,6 +1183,7 @@ msgstr "" msgid "Hi," msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:11 #: templates/zerver/emails/confirm_new_email.html:10 #: templates/zerver/emails/confirm_new_email.txt:4 #, python-format @@ -1185,10 +1193,12 @@ msgid "" "please click below:" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:12 #: templates/zerver/emails/confirm_new_email.html:11 msgid "Confirm email change" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:14 #: templates/zerver/emails/confirm_new_email.html:13 #, python-format msgid "" @@ -1196,6 +1206,623 @@ msgid "" "%(support_email)s." msgstr "" +#: templates/zerver/emails/compiled/confirm_registration.html:11 +#: templates/zerver/emails/confirm_registration.html:10 +#: templates/zerver/emails/confirm_registration.txt:2 +msgid "You have requested a new Zulip organization. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:13 +#: templates/zerver/emails/confirm_registration.html:12 +#: templates/zerver/emails/confirm_registration.txt:4 +msgid "You recently signed up for Zulip. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:18 +#: templates/zerver/emails/confirm_registration.html:17 +msgid "" +"Click the button below to create the organization and register your account." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:20 +#: templates/zerver/emails/confirm_registration.html:19 +msgid "Click the button below to complete registration." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:22 +#: templates/zerver/emails/compiled/invitation.html:17 +#: templates/zerver/emails/compiled/invitation_reminder.html:15 +#: templates/zerver/emails/confirm_registration.html:21 +#: templates/zerver/emails/invitation.html:16 +#: templates/zerver/emails/invitation_reminder.html:14 +msgid "Complete registration" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:24 +#: templates/zerver/emails/compiled/invitation.html:20 +#: templates/zerver/emails/compiled/realm_reactivation.html:20 +#, python-format +msgid "" +"Contact us any time at %(support_email)s if you run into trouble, have any " +"feedback, or just want to chat!" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:8 +#, python-format +msgid "" +"\n" +"Your Zulip account on %(realm_uri)s has been deactivated, and you will " +"no longer be able to log in.\n" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:15 +#: templates/zerver/emails/deactivate.html:15 +#: templates/zerver/emails/deactivate.txt:6 +msgid "The administrators provided the following comment:" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:28 +#: templates/zerver/emails/digest.html:27 +msgid "New streams" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:35 +#: templates/zerver/emails/digest.html:34 +msgid "Click here to log in to Zulip and catch up." +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:40 +#: templates/zerver/emails/compiled/followup_day2.html:34 +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/custom_email_base.pre.html:18 +#: templates/zerver/emails/digest.html:39 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Manage email preferences" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:41 +#: templates/zerver/emails/digest.html:40 +msgid "Unsubscribe from digest emails" +msgstr "" + +#: templates/zerver/emails/compiled/email_base_default.html:95 +#: templates/zerver/emails/compiled/email_base_marketing.html:95 +#: templates/zerver/emails/email_base_default.html:33 +#: templates/zerver/emails/email_base_marketing.html:33 +msgid "Swimming fish" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:9 +#: templates/zerver/emails/find_team.html:8 +#: templates/zerver/emails/find_team.txt:1 +msgid "Thanks for your request!" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:11 +#, python-format +msgid "" +"Your email address %(email)s has accounts with the following Zulip " +"organizations hosted by %(external_host)s:" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:19 +#: templates/zerver/emails/find_team.html:18 +#: templates/zerver/emails/find_team.txt:10 +msgid "" +"If you have trouble logging in, please contact Zulip support by replying to " +"this email." +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:21 +#: templates/zerver/emails/find_team.html:20 +#: templates/zerver/emails/find_team.txt:13 +msgid "Thanks for using Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:9 +#: templates/zerver/emails/followup_day1.html:24 +#: templates/zerver/emails/followup_day1.txt:1 +msgid "Welcome to Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:14 +msgid "" +"You've created a demo Zulip organization. Note that this organization will " +"be automatically deleted in 30 days. Learn more about demo organizations here!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:16 +#, python-format +msgid "You've created the new Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:19 +#, python-format +msgid "You've joined the Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:24 +msgid "Your account details:" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:27 +#: templates/zerver/emails/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.txt:16 +#, python-format +msgid "Organization URL: %(organization_url)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:31 +#, python-format +msgid "Username: %(ldap_username)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.html:39 +#: templates/zerver/emails/followup_day1.txt:22 +msgid "Use your LDAP account to log in" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:38 +#, python-format +msgid "Email: %(email)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:42 +#, python-format +msgid "" +"(you'll need these to sign in to the mobile and desktop " +"apps)" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:47 +#, python-format +msgid "" +"Check out our guide for admins, become a Zulip pro with a " +"few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:49 +#, python-format +msgid "" +"Learn more about Zulip, become a pro with a few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:54 +msgid "Cheers," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:55 +#: templates/zerver/emails/compiled/notify_change_in_email.html:15 +#: templates/zerver/emails/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.txt:7 +msgid "Team Zulip" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:59 +msgid "" +"PS: Follow us on Twitter, star us on GitHub, or chat with us live on the Zulip community server!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:9 +msgid "Hey," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:11 +msgid "" +"I wanted to share one last thing with you: a few tips about topics, since " +"mastering topics is a key part of being a Zulip power user." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:13 +#: templates/zerver/emails/followup_day2.html:22 +msgid "Examples of short topics" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:15 +msgid "" +"Topics are like email subject lines. The big difference, though, is that " +"they're really short and lightweight. Two or three words will do it. Don't " +"overthink 'em—you can always edit the message later!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:18 +msgid "Good topics: design mockup, Bug 345, acme burgers" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:19 +msgid "" +"Not recommended: \"What do people think of this new design mockup?\", \"I'm " +"looking at Bug 345\", \"Is Acme Burgers open for lunch?\"" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:22 +msgid "Example of a topic that is too long" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:24 +msgid "" +"Why bother with topics? Well, two reasons: it makes conversations clearer " +"(imagine if email didn't have them!), and it lets you more efficiently catch " +"up on what's happened while you're away—read the topics that are relevant to " +"you, and ignore the ones that aren't!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:26 +msgid "Take it for a spin now." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:28 +#: templates/zerver/emails/compiled/notify_new_login.html:42 +#: templates/zerver/emails/notify_new_login.html:40 +#: templates/zerver/emails/notify_new_login.txt:20 +msgid "Thanks," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:35 +msgid "Unsubscribe from welcome emails" +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:10 +#: templates/zerver/emails/invitation.html:9 +#: templates/zerver/emails/invitation.txt:1 +msgid "Hi there," +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:13 +#, python-format +msgid "" +"%(referrer_name)s wants you to join them on Zulip — the team communication " +"tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:16 +#: templates/zerver/emails/compiled/invitation_reminder.html:14 +#: templates/zerver/emails/invitation.html:15 +#: templates/zerver/emails/invitation_reminder.html:13 +msgid "To get started, click the button below." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:9 +#: templates/zerver/emails/invitation_reminder.html:8 +#: templates/zerver/emails/invitation_reminder.txt:1 +msgid "Hi again," +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:11 +#, python-format +msgid "" +"This is a friendly reminder that %(referrer_name)s wants you to join them on " +"Zulip — the team communication tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:19 +#: templates/zerver/emails/invitation_reminder.html:18 +#: templates/zerver/emails/invitation_reminder.txt:8 +msgid "This is the last reminder you'll receive for this invitation." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:23 +#: templates/zerver/emails/invitation_reminder.html:22 +#, python-format +msgid "" +"\n" +" This invitation expires in two days. If the invitation expires,\n" +" you'll need to ask %(referrer_name)s for another one.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:18 +#, python-format +msgid "" +"This email does not include message content because your organization has " +"disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:20 +#, python-format +msgid "" +"This email does not include message content because you have disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:30 +#: templates/zerver/emails/missed_message.html:29 +#: templates/zerver/emails/missed_message.txt:25 +msgid "You are receiving this because you were personally mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:32 +#: templates/zerver/emails/missed_message.html:31 +#: templates/zerver/emails/missed_message.txt:27 +#, python-format +msgid "" +"You are receiving this because @%(mentioned_user_group_name)s was mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:34 +#: templates/zerver/emails/missed_message.html:39 +#: templates/zerver/emails/missed_message.txt:35 +#, python-format +msgid "" +"You are receiving this because everyone was mentioned in #%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:36 +#: templates/zerver/emails/missed_message.html:43 +#: templates/zerver/emails/missed_message.txt:39 +#, python-format +msgid "" +"You are receiving this because you have email notifications enabled for " +"#%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:39 +#, python-format +msgid "" +"Reply to this email directly, view it in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:41 +#, python-format +msgid "" +"View or reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:43 +#, python-format +msgid "" +"Reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:45 +#, python-format +msgid "" +"\n" +" Do not reply to this email. This Zulip server is not configured to " +"accept incoming emails (help).\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:11 +#: templates/zerver/emails/notify_change_in_email.html:10 +#, python-format +msgid "" +"The email associated with your Zulip account was recently changed to " +"%(new_email)s. If you did not request this change, please contact us " +"immediately at %(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.html:13 +#: templates/zerver/emails/notify_change_in_email.txt:6 +msgid "Best," +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:4 +#: templates/zerver/emails/notify_new_login.html:4 +#, python-format +msgid "" +"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:13 +#: templates/zerver/emails/notify_new_login.html:12 +#: templates/zerver/emails/notify_new_login.txt:1 +msgid "We noticed a recent login for the following Zulip account." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:18 +#: templates/zerver/emails/notify_new_login.html:16 +#, python-format +msgid "Organization: %(organization_link)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:21 +#: templates/zerver/emails/notify_new_login.html:19 +#: templates/zerver/emails/notify_new_login.txt:5 +#, python-format +msgid "Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:24 +#: templates/zerver/emails/notify_new_login.html:22 +#: templates/zerver/emails/notify_new_login.txt:7 +#, python-format +msgid "Time: %(login_time)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:27 +#: templates/zerver/emails/notify_new_login.html:25 +#: templates/zerver/emails/notify_new_login.txt:9 +#, python-format +msgid "Device: %(device_browser)s on %(device_os)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:30 +#: templates/zerver/emails/notify_new_login.html:28 +#: templates/zerver/emails/notify_new_login.txt:11 +#, python-format +msgid "IP address: %(device_ip)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:35 +#: templates/zerver/emails/notify_new_login.html:33 +#: templates/zerver/emails/notify_new_login.txt:14 +msgid "If this was you, great! There's nothing else you need to do." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:38 +#, python-format +msgid "" +"If you do not recognize this login, or think your account may have been " +"compromised, please reset your password or contact us immediately at " +"%(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:43 +#: templates/zerver/emails/notify_new_login.html:41 +#: templates/zerver/emails/notify_new_login.txt:21 +msgid "Zulip Security" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Unsubscribe from login notifications" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:10 +#: templates/zerver/emails/password_reset.html:9 +#: templates/zerver/emails/password_reset.txt:1 +#, python-format +msgid "" +"Somebody (possibly you) requested a new password for the Zulip account " +"%(email)s on %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:14 +#: templates/zerver/emails/password_reset.html:13 +msgid "Click the button below to reset your password." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:15 +#: templates/zerver/emails/password_reset.html:14 +msgid "Reset password" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:20 +#, python-format +msgid "" +"You previously had an account on %(organization_url)s, but it has been " +"deactivated. You can contact an organization administrator to reactivate your account." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:22 +#: templates/zerver/emails/password_reset.html:21 +#: templates/zerver/emails/password_reset.txt:11 +msgid "You do not have an account in that Zulip organization." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:27 +#: templates/zerver/emails/password_reset.html:26 +#: templates/zerver/emails/password_reset.txt:16 +msgid "You do have active accounts in the following organization(s)." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:34 +#: templates/zerver/emails/password_reset.html:32 +#: templates/zerver/emails/password_reset.txt:21 +msgid "" +"You can try logging in or resetting your password in the organization(s) " +"above." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:40 +#: templates/zerver/emails/password_reset.html:38 +#: templates/zerver/emails/password_reset.txt:25 +msgid "" +"If you do not recognize this activity, you can safely ignore this email." +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:8 +#: templates/zerver/emails/realm_auto_downgraded.html:8 +#, python-format +msgid "" +"\n" +" Your organization, %(organization_name_with_link)s, has been downgraded " +"to the Zulip Cloud\n" +" Free plan because of unpaid invoices. The unpaid invoices have been " +"voided.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:15 +#: templates/zerver/emails/realm_auto_downgraded.html:15 +#, python-format +msgid "" +"\n" +" To continue on the Zulip Cloud Standard plan, please upgrade again by " +"going to %(upgrade_url)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:22 +#: templates/zerver/emails/realm_auto_downgraded.html:22 +#, python-format +msgid "" +"\n" +" If you think this was a mistake or need more details, please reach out " +"to us at %(support_email)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:9 +#: templates/zerver/emails/realm_reactivation.html:8 +#: templates/zerver/emails/realm_reactivation.txt:1 +#, python-format +msgid "Dear former administrators of %(realm_name)s," +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:11 +#: templates/zerver/emails/realm_reactivation.html:10 +#: templates/zerver/emails/realm_reactivation.txt:4 +#, python-format +msgid "" +"One of your administrators requested reactivation of the previously " +"deactivated Zulip organization hosted at %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:14 +#: templates/zerver/emails/realm_reactivation.html:13 +msgid "Click the button below to reactivate your organization." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:15 +#: templates/zerver/emails/realm_reactivation.html:14 +msgid "Reactivate organization" +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:18 +#: templates/zerver/emails/realm_reactivation.html:17 +#: templates/zerver/emails/realm_reactivation.txt:10 +msgid "" +"If the request was in error, you can take no action and this link will " +"expire in 24 hours." +msgstr "" + #: templates/zerver/emails/confirm_new_email.subject.txt:1 msgid "Verify your new email address" msgstr "" @@ -1207,31 +1834,6 @@ msgid "" "<%(support_email)s>." msgstr "" -#: templates/zerver/emails/confirm_registration.html:10 -#: templates/zerver/emails/confirm_registration.txt:2 -msgid "You have requested a new Zulip organization. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:12 -#: templates/zerver/emails/confirm_registration.txt:4 -msgid "You recently signed up for Zulip. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:17 -msgid "" -"Click the button below to create the organization and register your account." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:19 -msgid "Click the button below to complete registration." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:21 -#: templates/zerver/emails/invitation.html:16 -#: templates/zerver/emails/invitation_reminder.html:14 -msgid "Complete registration" -msgstr "" - #: templates/zerver/emails/confirm_registration.subject.txt:2 msgid "Create your Zulip organization" msgstr "" @@ -1270,12 +1872,6 @@ msgid "" "at %(support_email)s." msgstr "" -#: templates/zerver/emails/custom_email_base.pre.html:18 -#: templates/zerver/emails/digest.html:39 -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Manage email preferences" -msgstr "" - #: templates/zerver/emails/custom_email_base.pre.html:18 msgid "Unsubscribe from marketing emails" msgstr "" @@ -1288,11 +1884,6 @@ msgid "" "deactivated, and you will no longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/deactivate.html:15 -#: templates/zerver/emails/deactivate.txt:6 -msgid "The administrators provided the following comment:" -msgstr "" - #: templates/zerver/emails/deactivate.subject.txt:1 #, python-format msgid "Notification of account deactivation on %(realm_name)s" @@ -1306,18 +1897,6 @@ msgid "" "longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/digest.html:27 -msgid "New streams" -msgstr "" - -#: templates/zerver/emails/digest.html:34 -msgid "Click here to log in to Zulip and catch up." -msgstr "" - -#: templates/zerver/emails/digest.html:40 -msgid "Unsubscribe from digest emails" -msgstr "" - #: templates/zerver/emails/digest.subject.txt:1 #, python-format msgid "Zulip digest for %(realm_name)s" @@ -1336,16 +1915,6 @@ msgstr "" msgid "Unsubscribe from digest emails:" msgstr "" -#: templates/zerver/emails/email_base_default.html:33 -#: templates/zerver/emails/email_base_marketing.html:33 -msgid "Swimming fish" -msgstr "" - -#: templates/zerver/emails/find_team.html:8 -#: templates/zerver/emails/find_team.txt:1 -msgid "Thanks for your request!" -msgstr "" - #: templates/zerver/emails/find_team.html:10 #, python-format msgid "" @@ -1353,18 +1922,6 @@ msgid "" "organizations hosted by %(external_host)s:" msgstr "" -#: templates/zerver/emails/find_team.html:18 -#: templates/zerver/emails/find_team.txt:10 -msgid "" -"If you have trouble logging in, please contact Zulip support by replying to " -"this email." -msgstr "" - -#: templates/zerver/emails/find_team.html:20 -#: templates/zerver/emails/find_team.txt:13 -msgid "Thanks for using Zulip!" -msgstr "" - #: templates/zerver/emails/find_team.subject.txt:1 msgid "Your Zulip accounts" msgstr "" @@ -1394,11 +1951,6 @@ msgid "" " organization: %(realm_name)s." msgstr "" -#: templates/zerver/emails/followup_day1.html:24 -#: templates/zerver/emails/followup_day1.txt:1 -msgid "Welcome to Zulip!" -msgstr "" - #: templates/zerver/emails/followup_day1.html:26 #, python-format msgid "" @@ -1413,23 +1965,12 @@ msgid "" "href=\"%(apps_page_link)s\">mobile and desktop apps:" msgstr "" -#: templates/zerver/emails/followup_day1.html:34 -#: templates/zerver/emails/followup_day1.txt:16 -#, python-format -msgid "Organization URL: %(organization_url)s" -msgstr "" - #: templates/zerver/emails/followup_day1.html:37 #: templates/zerver/emails/followup_day1.txt:20 #, python-format msgid "Your username: %(ldap_username)s" msgstr "" -#: templates/zerver/emails/followup_day1.html:39 -#: templates/zerver/emails/followup_day1.txt:22 -msgid "Use your LDAP account to log in" -msgstr "" - #: templates/zerver/emails/followup_day1.html:42 #: templates/zerver/emails/followup_day1.txt:25 #, python-format @@ -1549,10 +2090,6 @@ msgid "" "about…?”" msgstr "" -#: templates/zerver/emails/followup_day2.html:22 -msgid "Examples of short topics" -msgstr "" - #: templates/zerver/emails/followup_day2.html:25 #, python-format msgid "" @@ -1596,11 +2133,6 @@ msgid "" "(%(move_topic_to_different_stream_link)s)." msgstr "" -#: templates/zerver/emails/invitation.html:9 -#: templates/zerver/emails/invitation.txt:1 -msgid "Hi there," -msgstr "" - #: templates/zerver/emails/invitation.html:12 #, python-format msgid "" @@ -1608,11 +2140,6 @@ msgid "" "communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation.html:15 -#: templates/zerver/emails/invitation_reminder.html:13 -msgid "To get started, click the button below." -msgstr "" - #: templates/zerver/emails/invitation.subject.txt:1 #, python-format msgid "%(referrer_full_name)s has invited you to join %(referrer_realm_name)s" @@ -1630,11 +2157,6 @@ msgstr "" msgid "To get started, click the link below." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:8 -#: templates/zerver/emails/invitation_reminder.txt:1 -msgid "Hi again," -msgstr "" - #: templates/zerver/emails/invitation_reminder.html:10 #, python-format msgid "" @@ -1642,20 +2164,6 @@ msgid "" "Zulip — the team communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:18 -#: templates/zerver/emails/invitation_reminder.txt:8 -msgid "This is the last reminder you'll receive for this invitation." -msgstr "" - -#: templates/zerver/emails/invitation_reminder.html:22 -#, python-format -msgid "" -"\n" -" This invitation expires in two days. If the invitation expires,\n" -" you'll need to ask %(referrer_name)s for another one.\n" -" " -msgstr "" - #: templates/zerver/emails/invitation_reminder.subject.txt:1 #, python-format msgid "Reminder: Join %(referrer_name)s at %(referrer_realm_name)s" @@ -1706,34 +2214,31 @@ msgid "" "content appearing in email notifications." msgstr "" -#: templates/zerver/emails/missed_message.html:29 -#: templates/zerver/emails/missed_message.txt:25 -msgid "You are receiving this because you were personally mentioned." -msgstr "" - -#: templates/zerver/emails/missed_message.html:31 -#: templates/zerver/emails/missed_message.txt:27 -#, python-format -msgid "" -"You are receiving this because @%(mentioned_user_group_name)s was mentioned." -msgstr "" - #: templates/zerver/emails/missed_message.html:33 +#: templates/zerver/emails/missed_message.html:37 #: templates/zerver/emails/missed_message.txt:29 +#: templates/zerver/emails/missed_message.txt:33 #, python-format msgid "" -"You are receiving this because everyone was mentioned in #%(stream_name)s." +"You are receiving this because all topic participants were mentioned in " +"#%(stream_name)s > %(topic_name)s." msgstr "" #: templates/zerver/emails/missed_message.html:35 #: templates/zerver/emails/missed_message.txt:31 -#, python-format msgid "" -"You are receiving this because you have email notifications enabled for " -"#%(stream_name)s." +"You are receiving this because you have wildcard mention notifications " +"enabled for topics you follow." msgstr "" -#: templates/zerver/emails/missed_message.html:38 +#: templates/zerver/emails/missed_message.html:41 +#: templates/zerver/emails/missed_message.txt:37 +msgid "" +"You are receiving this because you have email notifications enabled for " +"topics you follow." +msgstr "" + +#: templates/zerver/emails/missed_message.html:46 #, python-format msgid "" "Reply to this email directly, view it in " @@ -1741,21 +2246,21 @@ msgid "" "preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:40 +#: templates/zerver/emails/missed_message.html:48 #, python-format msgid "" "View or reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:42 +#: templates/zerver/emails/missed_message.html:50 #, python-format msgid "" "Reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:44 +#: templates/zerver/emails/missed_message.html:52 #, python-format msgid "" "\n" @@ -1801,50 +2306,32 @@ msgid "" "See %(alert_notif_url)s for more details.\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:35 +#: templates/zerver/emails/missed_message.txt:43 #, python-format msgid "Reply to this email directly, or view it in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:39 +#: templates/zerver/emails/missed_message.txt:47 #, python-format msgid "View or reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:43 +#: templates/zerver/emails/missed_message.txt:51 #, python-format msgid "Reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:47 +#: templates/zerver/emails/missed_message.txt:55 msgid "" "\n" "Do not reply to this email. This Zulip server is not configured to accept\n" "incoming emails. Help:\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:54 +#: templates/zerver/emails/missed_message.txt:62 msgid "Manage email preferences: " msgstr "" -#: templates/zerver/emails/notify_change_in_email.html:10 -#, python-format -msgid "" -"The email associated with your Zulip account was recently changed to " -"%(new_email)s. If you did not request this change, please contact us " -"immediately at %(support_email)s." -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:13 -#: templates/zerver/emails/notify_change_in_email.txt:6 -msgid "Best," -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:14 -#: templates/zerver/emails/notify_change_in_email.txt:7 -msgid "Team Zulip" -msgstr "" - #: templates/zerver/emails/notify_change_in_email.subject.txt:1 #, python-format msgid "Zulip email changed for %(realm_name)s" @@ -1858,51 +2345,6 @@ msgid "" "immediately at <%(support_email)s>." msgstr "" -#: templates/zerver/emails/notify_new_login.html:4 -#, python-format -msgid "" -"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:12 -#: templates/zerver/emails/notify_new_login.txt:1 -msgid "We noticed a recent login for the following Zulip account." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:16 -#, python-format -msgid "Organization: %(organization_link)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:19 -#: templates/zerver/emails/notify_new_login.txt:5 -#, python-format -msgid "Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:22 -#: templates/zerver/emails/notify_new_login.txt:7 -#, python-format -msgid "Time: %(login_time)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:25 -#: templates/zerver/emails/notify_new_login.txt:9 -#, python-format -msgid "Device: %(device_browser)s on %(device_os)s." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:28 -#: templates/zerver/emails/notify_new_login.txt:11 -#, python-format -msgid "IP address: %(device_ip)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:33 -#: templates/zerver/emails/notify_new_login.txt:14 -msgid "If this was you, great! There's nothing else you need to do." -msgstr "" - #: templates/zerver/emails/notify_new_login.html:36 #, python-format msgid "" @@ -1911,20 +2353,6 @@ msgid "" "contact us immediately at %(support_email)s." msgstr "" -#: templates/zerver/emails/notify_new_login.html:40 -#: templates/zerver/emails/notify_new_login.txt:20 -msgid "Thanks," -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:41 -#: templates/zerver/emails/notify_new_login.txt:21 -msgid "Zulip Security" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Unsubscribe from login notifications" -msgstr "" - #: templates/zerver/emails/notify_new_login.subject.txt:1 #, python-format msgid "New login from %(device_browser)s on %(device_os)s" @@ -2015,22 +2443,6 @@ msgstr "" msgid "Zulip guide for communities" msgstr "" -#: templates/zerver/emails/password_reset.html:9 -#: templates/zerver/emails/password_reset.txt:1 -#, python-format -msgid "" -"Somebody (possibly you) requested a new password for the Zulip account " -"%(email)s on %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/password_reset.html:13 -msgid "Click the button below to reset your password." -msgstr "" - -#: templates/zerver/emails/password_reset.html:14 -msgid "Reset password" -msgstr "" - #: templates/zerver/emails/password_reset.html:19 #, python-format msgid "" @@ -2039,29 +2451,6 @@ msgid "" "href=\"%(help_link)s\">reactivate your account." msgstr "" -#: templates/zerver/emails/password_reset.html:21 -#: templates/zerver/emails/password_reset.txt:11 -msgid "You do not have an account in that Zulip organization." -msgstr "" - -#: templates/zerver/emails/password_reset.html:26 -#: templates/zerver/emails/password_reset.txt:16 -msgid "You do have active accounts in the following organization(s)." -msgstr "" - -#: templates/zerver/emails/password_reset.html:32 -#: templates/zerver/emails/password_reset.txt:21 -msgid "" -"You can try logging in or resetting your password in the organization(s) " -"above." -msgstr "" - -#: templates/zerver/emails/password_reset.html:38 -#: templates/zerver/emails/password_reset.txt:25 -msgid "" -"If you do not recognize this activity, you can safely ignore this email." -msgstr "" - #: templates/zerver/emails/password_reset.subject.txt:1 #, python-format msgid "Password reset request for %(realm_name)s" @@ -2078,64 +2467,6 @@ msgid "" "You can contact an organization administrator to reactivate your account." msgstr "" -#: templates/zerver/emails/realm_auto_downgraded.html:8 -#, python-format -msgid "" -"\n" -" Your organization, %(organization_name_with_link)s, has been downgraded " -"to the Zulip Cloud\n" -" Free plan because of unpaid invoices. The unpaid invoices have been " -"voided.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:15 -#, python-format -msgid "" -"\n" -" To continue on the Zulip Cloud Standard plan, please upgrade again by " -"going to %(upgrade_url)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:22 -#, python-format -msgid "" -"\n" -" If you think this was a mistake or need more details, please reach out " -"to us at %(support_email)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:8 -#: templates/zerver/emails/realm_reactivation.txt:1 -#, python-format -msgid "Dear former administrators of %(realm_name)s," -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:10 -#: templates/zerver/emails/realm_reactivation.txt:4 -#, python-format -msgid "" -"One of your administrators requested reactivation of the previously " -"deactivated Zulip organization hosted at %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:13 -msgid "Click the button below to reactivate your organization." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:14 -msgid "Reactivate organization" -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:17 -#: templates/zerver/emails/realm_reactivation.txt:10 -msgid "" -"If the request was in error, you can take no action and this link will " -"expire in 24 hours." -msgstr "" - #: templates/zerver/emails/realm_reactivation.subject.txt:1 msgid "Reactivate your Zulip organization" msgstr "" @@ -2920,77 +3251,79 @@ msgid "" " " msgstr "" -#: zerver/actions/create_user.py:88 +#: zerver/actions/create_user.py:93 msgid "signups" msgstr "" -#: zerver/actions/create_user.py:101 +#: zerver/actions/create_user.py:106 #, python-brace-format msgid "{user} just signed up for Zulip. (total: {user_count})" msgstr "" -#: zerver/actions/create_user.py:221 +#: zerver/actions/create_user.py:251 #, python-brace-format msgid "{user} accepted your invitation to join Zulip!" msgstr "" -#: zerver/actions/custom_profile_fields.py:129 +#: zerver/actions/custom_profile_fields.py:126 msgid "Invalid order mapping." msgstr "" -#: zerver/actions/custom_profile_fields.py:208 zerver/lib/users.py:390 +#: zerver/actions/custom_profile_fields.py:205 zerver/lib/users.py:396 #: zerver/views/custom_profile_fields.py:195 #: zerver/views/custom_profile_fields.py:216 #, python-brace-format msgid "Field id {id} not found." msgstr "" -#: zerver/actions/default_streams.py:21 -msgid "Invalid default stream group name '{}'" +#: zerver/actions/default_streams.py:25 +#, python-brace-format +msgid "Invalid default stream group name '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:24 -msgid "Default stream group name too long (limit: {} characters)" +#: zerver/actions/default_streams.py:29 +#, python-brace-format +msgid "Default stream group name too long (limit: {max_length} characters)" msgstr "" -#: zerver/actions/default_streams.py:31 -msgid "Default stream group name '{}' contains NULL (0x00) characters." +#: zerver/actions/default_streams.py:37 +#, python-brace-format +msgid "" +"Default stream group name '{group_name}' contains NULL (0x00) characters." msgstr "" -#: zerver/actions/default_streams.py:45 -msgid "Invalid default stream group {}" +#: zerver/actions/default_streams.py:53 +#, python-brace-format +msgid "Invalid default stream group {group_name}" msgstr "" -#: zerver/actions/default_streams.py:92 zerver/actions/default_streams.py:119 +#: zerver/actions/default_streams.py:101 zerver/actions/default_streams.py:128 #, python-brace-format msgid "" "'{stream_name}' is a default stream and cannot be added to '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:103 +#: zerver/actions/default_streams.py:112 zerver/actions/default_streams.py:173 #, python-brace-format msgid "Default stream group '{group_name}' already exists" msgstr "" -#: zerver/actions/default_streams.py:125 +#: zerver/actions/default_streams.py:134 #, python-brace-format msgid "" "Stream '{stream_name}' is already present in default stream group " "'{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:141 +#: zerver/actions/default_streams.py:151 #, python-brace-format msgid "" "Stream '{stream_name}' is not present in default stream group '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:155 -msgid "This default stream group is already named '{}'" -msgstr "" - -#: zerver/actions/default_streams.py:159 -msgid "Default stream group '{}' already exists" +#: zerver/actions/default_streams.py:166 +#, python-brace-format +msgid "This default stream group is already named '{group_name}'" msgstr "" #: zerver/actions/invites.py:161 @@ -3019,190 +3352,189 @@ msgid "" "invitation. We did send invitations to everyone else!" msgstr "" -#: zerver/actions/message_edit.py:92 zerver/views/scheduled_messages.py:61 +#: zerver/actions/message_edit.py:93 zerver/views/scheduled_messages.py:61 msgid "Nothing to change" msgstr "" -#: zerver/actions/message_edit.py:96 +#: zerver/actions/message_edit.py:97 msgid "Direct messages cannot be moved to streams." msgstr "" -#: zerver/actions/message_edit.py:98 +#: zerver/actions/message_edit.py:99 msgid "Direct messages cannot have topics." msgstr "" -#: zerver/actions/message_edit.py:101 +#: zerver/actions/message_edit.py:102 msgid "Invalid propagate_mode without topic edit" msgstr "" -#: zerver/actions/message_edit.py:107 +#: zerver/actions/message_edit.py:108 msgid "Cannot change message content while changing stream" msgstr "" -#: zerver/actions/message_edit.py:111 +#: zerver/actions/message_edit.py:112 msgid "Widgets cannot be edited." msgstr "" -#: zerver/actions/message_edit.py:162 +#: zerver/actions/message_edit.py:163 #, python-brace-format msgid "{user} has marked this topic as resolved." msgstr "" -#: zerver/actions/message_edit.py:164 +#: zerver/actions/message_edit.py:165 #, python-brace-format msgid "{user} has marked this topic as unresolved." msgstr "" -#: zerver/actions/message_edit.py:967 +#: zerver/actions/message_edit.py:985 #, python-brace-format msgid "This topic was moved to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:971 +#: zerver/actions/message_edit.py:989 #, python-brace-format msgid "A message was moved from this topic to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:975 +#: zerver/actions/message_edit.py:993 #, python-brace-format msgid "" "{changed_messages_count} messages were moved from this topic to " "{new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1030 +#: zerver/actions/message_edit.py:1048 #, python-brace-format msgid "This topic was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1035 +#: zerver/actions/message_edit.py:1053 #, python-brace-format msgid "" "[A message]({message_link}) was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1039 +#: zerver/actions/message_edit.py:1057 #, python-brace-format msgid "" "{changed_messages_count} messages were moved here from {old_location} by " "{user}." msgstr "" -#: zerver/actions/message_edit.py:1167 +#: zerver/actions/message_edit.py:1186 msgid "Your organization has turned off message editing" msgstr "" -#: zerver/actions/message_edit.py:1185 zerver/actions/message_edit.py:1188 +#: zerver/actions/message_edit.py:1204 zerver/actions/message_edit.py:1207 msgid "You don't have permission to edit this message" msgstr "" -#: zerver/actions/message_edit.py:1199 +#: zerver/actions/message_edit.py:1218 msgid "The time limit for editing this message has passed" msgstr "" -#: zerver/actions/message_edit.py:1214 +#: zerver/actions/message_edit.py:1233 msgid "The time limit for editing this message's topic has passed." msgstr "" -#: zerver/actions/message_edit.py:1248 zerver/actions/message_send.py:1428 +#: zerver/actions/message_edit.py:1267 zerver/actions/message_send.py:1558 msgid "You do not have permission to use wildcard mentions in this stream." msgstr "" -#: zerver/actions/message_edit.py:1257 +#: zerver/actions/message_edit.py:1280 msgid "You don't have permission to move this message" msgstr "" -#: zerver/actions/message_edit.py:1263 +#: zerver/actions/message_edit.py:1286 msgid "" "You don't have permission to move this message due to missing access to its " "stream" msgstr "" -#: zerver/actions/message_edit.py:1280 +#: zerver/actions/message_edit.py:1303 msgid "The time limit for editing this message's stream has passed" msgstr "" #: zerver/actions/message_flags.py:257 -msgid "Invalid flag: '{}'" +#, python-brace-format +msgid "Invalid flag: '{flag}'" msgstr "" #: zerver/actions/message_flags.py:259 -msgid "Flag not editable: '{}'" +#, python-brace-format +msgid "Flag not editable: '{flag}'" msgstr "" -#: zerver/actions/message_flags.py:261 -msgid "Invalid message flag operation: '{}'" +#: zerver/actions/message_flags.py:262 +#, python-brace-format +msgid "Invalid message flag operation: '{operation}'" msgstr "" -#: zerver/actions/message_flags.py:333 zerver/lib/message.py:758 -#: zerver/lib/message.py:764 +#: zerver/actions/message_flags.py:335 zerver/lib/message.py:786 +#: zerver/lib/message.py:792 msgid "Invalid message(s)" msgstr "" -#: zerver/actions/message_send.py:156 +#: zerver/actions/message_send.py:161 msgid "Unable to render message" msgstr "" -#: zerver/actions/message_send.py:997 +#: zerver/actions/message_send.py:1127 msgid "Expected exactly one stream" msgstr "" -#: zerver/actions/message_send.py:1008 +#: zerver/actions/message_send.py:1138 msgid "Invalid data type for stream" msgstr "" -#: zerver/actions/message_send.py:1024 zerver/actions/message_send.py:1034 +#: zerver/actions/message_send.py:1154 zerver/actions/message_send.py:1164 #: zerver/actions/scheduled_messages.py:53 msgid "Invalid data type for recipients" msgstr "" -#: zerver/actions/message_send.py:1042 zerver/actions/message_send.py:1050 +#: zerver/actions/message_send.py:1172 zerver/actions/message_send.py:1180 msgid "Recipient lists may contain emails or user IDs, but not both." msgstr "" -#: zerver/actions/message_send.py:1195 +#: zerver/actions/message_send.py:1325 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream ID {stream_id}, " "but there is no stream with that ID." msgstr "" -#: zerver/actions/message_send.py:1206 +#: zerver/actions/message_send.py:1336 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}, but " "that stream does not exist. Click [here]({new_stream_link}) to create it." msgstr "" -#: zerver/actions/message_send.py:1218 +#: zerver/actions/message_send.py:1348 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}. The " "stream exists but does not have any subscribers." msgstr "" -#: zerver/actions/message_send.py:1265 +#: zerver/actions/message_send.py:1395 msgid "Direct messages are disabled in this organization." msgstr "" -#: zerver/actions/message_send.py:1342 +#: zerver/actions/message_send.py:1472 msgid "Topics are required in this organization" msgstr "" -#: zerver/actions/message_send.py:1398 +#: zerver/actions/message_send.py:1528 msgid "Widgets: API programmer sent invalid JSON content" msgstr "" -#: zerver/actions/message_send.py:1404 +#: zerver/actions/message_send.py:1534 #, python-brace-format msgid "Widgets: {error_msg}" msgstr "" -#: zerver/actions/reactions.py:116 -msgid "Reaction already exists." -msgstr "" - -#: zerver/actions/realm_emoji.py:32 zerver/views/realm_emoji.py:36 +#: zerver/actions/realm_emoji.py:40 zerver/views/realm_emoji.py:38 msgid "A custom emoji with this name already exists." msgstr "" @@ -3238,18 +3570,32 @@ msgstr "" msgid "[View scheduled messages](#scheduled)" msgstr "" -#: zerver/actions/streams.py:76 +#: zerver/actions/streams.py:73 msgid "Stream is already deactivated" msgstr "" -#: zerver/actions/streams.py:841 +#: zerver/actions/streams.py:165 +msgid "Stream is not currently deactivated" +msgstr "" + +#: zerver/actions/streams.py:168 +#, python-brace-format +msgid "Stream named {stream_name} already exists" +msgstr "" + +#: zerver/actions/streams.py:230 +#, python-brace-format +msgid "Stream {stream_name} un-archived." +msgstr "" + +#: zerver/actions/streams.py:932 #, python-brace-format msgid "" "{user} changed the [access permissions](/help/stream-permissions) for this " "stream from **{old_policy}** to **{new_policy}**." msgstr "" -#: zerver/actions/streams.py:1025 +#: zerver/actions/streams.py:1118 #, python-brace-format msgid "" "{user} changed the [posting permissions](/help/stream-sending-policy) for " @@ -3259,38 +3605,38 @@ msgid "" "* **New permissions**: {new_policy}.\n" msgstr "" -#: zerver/actions/streams.py:1160 +#: zerver/actions/streams.py:1246 #, python-brace-format msgid "{user_name} renamed stream {old_stream_name} to {new_stream_name}." msgstr "" -#: zerver/actions/streams.py:1179 zerver/actions/streams.py:1181 -#: zerver/views/streams.py:793 +#: zerver/actions/streams.py:1265 zerver/actions/streams.py:1267 +#: zerver/views/streams.py:802 msgid "No description." msgstr "" -#: zerver/actions/streams.py:1184 +#: zerver/actions/streams.py:1270 #, python-brace-format msgid "{user} changed the description for this stream." msgstr "" -#: zerver/actions/streams.py:1186 +#: zerver/actions/streams.py:1272 msgid "Old description" msgstr "" -#: zerver/actions/streams.py:1190 +#: zerver/actions/streams.py:1276 msgid "New description" msgstr "" -#: zerver/actions/streams.py:1258 zerver/actions/streams.py:1263 +#: zerver/actions/streams.py:1344 zerver/actions/streams.py:1349 msgid "Forever" msgstr "" -#: zerver/actions/streams.py:1264 +#: zerver/actions/streams.py:1350 msgid "Messages in this stream will now be retained forever." msgstr "" -#: zerver/actions/streams.py:1270 +#: zerver/actions/streams.py:1356 #, python-brace-format msgid "" "{user} has changed the [message retention period](/help/message-retention-" @@ -3301,56 +3647,58 @@ msgid "" "{summary_line}" msgstr "" -#: zerver/actions/submessage.py:30 +#: zerver/actions/submessage.py:29 msgid "You cannot attach a submessage to this message." msgstr "" #: zerver/actions/typing.py:55 zerver/lib/addressee.py:33 -msgid "Invalid user ID {}" +#, python-brace-format +msgid "Invalid user ID {user_id}" msgstr "" -#: zerver/actions/user_groups.py:153 zerver/actions/user_groups.py:168 -msgid "User group '{}' already exists." +#: zerver/actions/user_groups.py:213 zerver/actions/user_groups.py:245 +#, python-brace-format +msgid "User group '{group_name}' already exists." msgstr "" -#: zerver/decorator.py:250 +#: zerver/decorator.py:251 msgid "This API is not available to incoming webhook bots." msgstr "" -#: zerver/decorator.py:277 +#: zerver/decorator.py:278 msgid "Account is not associated with this subdomain" msgstr "" -#: zerver/decorator.py:506 zerver/decorator.py:643 +#: zerver/decorator.py:511 zerver/decorator.py:648 msgid "This endpoint does not accept bot requests." msgstr "" -#: zerver/decorator.py:605 +#: zerver/decorator.py:610 msgid "Must be an server administrator" msgstr "" -#: zerver/decorator.py:662 zerver/lib/streams.py:699 zerver/lib/streams.py:725 -#: zerver/lib/streams.py:727 zerver/lib/streams.py:742 -#: zerver/lib/user_groups.py:35 zerver/lib/user_groups.py:42 -#: zerver/lib/users.py:249 zerver/lib/users.py:278 zerver/views/invite.py:60 -#: zerver/views/realm_emoji.py:31 zerver/views/streams.py:336 -#: zerver/views/streams.py:630 +#: zerver/decorator.py:667 zerver/lib/streams.py:703 zerver/lib/streams.py:729 +#: zerver/lib/streams.py:731 zerver/lib/streams.py:748 +#: zerver/lib/user_groups.py:45 zerver/lib/user_groups.py:52 +#: zerver/lib/users.py:255 zerver/lib/users.py:284 zerver/views/invite.py:60 +#: zerver/views/realm_emoji.py:33 zerver/views/streams.py:338 +#: zerver/views/streams.py:639 msgid "Insufficient permission" msgstr "" -#: zerver/decorator.py:704 +#: zerver/decorator.py:709 msgid "This endpoint requires HTTP basic authentication." msgstr "" -#: zerver/decorator.py:711 +#: zerver/decorator.py:716 msgid "Invalid authorization header for basic auth" msgstr "" -#: zerver/decorator.py:713 +#: zerver/decorator.py:718 msgid "Missing authorization header for basic auth" msgstr "" -#: zerver/decorator.py:886 +#: zerver/decorator.py:893 msgid "Webhook bots can only access webhooks" msgstr "" @@ -3424,9 +3772,10 @@ msgid "New password confirmation" msgstr "" #: zerver/forms.py:496 +#, python-brace-format msgid "" -"You're making too many attempts to sign in. Try again in {} seconds or " -"contact your organization administrator for help." +"You're making too many attempts to sign in. Try again in {seconds} seconds " +"or contact your organization administrator for help." msgstr "" #: zerver/forms.py:508 @@ -3452,7 +3801,8 @@ msgid "We couldn't find that Zulip organization." msgstr "" #: zerver/lib/addressee.py:22 -msgid "Invalid email '{}'" +#, python-brace-format +msgid "Invalid email '{email}'" msgstr "" #: zerver/lib/addressee.py:61 zerver/lib/addressee.py:128 @@ -3537,11 +3887,11 @@ msgstr "" msgid "Draft does not exist" msgstr "" -#: zerver/lib/email_notifications.py:138 zerver/lib/email_notifications.py:160 +#: zerver/lib/email_notifications.py:140 zerver/lib/email_notifications.py:162 msgid "Open Zulip to see the spoiler content" msgstr "" -#: zerver/lib/email_notifications.py:563 +#: zerver/lib/email_notifications.py:591 msgid "Zulip notifications" msgstr "" @@ -3574,172 +3924,181 @@ msgstr "" msgid "Account has been deactivated." msgstr "" -#: zerver/lib/emoji.py:67 zerver/views/realm_emoji.py:59 -msgid "Emoji '{}' does not exist" +#: zerver/lib/emoji.py:88 zerver/views/realm_emoji.py:62 +#, python-brace-format +msgid "Emoji '{emoji_name}' does not exist" msgstr "" -#: zerver/lib/emoji.py:77 +#: zerver/lib/emoji.py:101 msgid "Invalid custom emoji." msgstr "" -#: zerver/lib/emoji.py:79 +#: zerver/lib/emoji.py:103 msgid "Invalid custom emoji name." msgstr "" -#: zerver/lib/emoji.py:81 +#: zerver/lib/emoji.py:105 msgid "This custom emoji has been deactivated." msgstr "" -#: zerver/lib/emoji.py:84 zerver/lib/emoji.py:89 +#: zerver/lib/emoji.py:108 zerver/lib/emoji.py:113 msgid "Invalid emoji code." msgstr "" -#: zerver/lib/emoji.py:86 zerver/lib/emoji.py:91 +#: zerver/lib/emoji.py:110 zerver/lib/emoji.py:115 msgid "Invalid emoji name." msgstr "" -#: zerver/lib/emoji.py:94 +#: zerver/lib/emoji.py:118 msgid "Invalid emoji type." msgstr "" -#: zerver/lib/emoji.py:109 +#: zerver/lib/emoji.py:133 msgid "Must be an organization administrator or emoji author" msgstr "" -#: zerver/lib/emoji.py:117 +#: zerver/lib/emoji.py:141 msgid "Emoji names must end with either a letter or digit." msgstr "" -#: zerver/lib/emoji.py:120 +#: zerver/lib/emoji.py:144 msgid "" "Emoji names must contain only lowercase English letters, digits, spaces, " "dashes, and underscores." msgstr "" -#: zerver/lib/emoji.py:123 +#: zerver/lib/emoji.py:147 msgid "Emoji name is missing" msgstr "" -#: zerver/lib/events.py:1539 +#: zerver/lib/events.py:1543 msgid "Could not allocate event queue" msgstr "" -#: zerver/lib/exceptions.py:137 +#: zerver/lib/exceptions.py:139 msgid "Not logged in: API authentication or user session required" msgstr "" -#: zerver/lib/exceptions.py:162 +#: zerver/lib/exceptions.py:164 #, python-brace-format msgid "Stream '{stream}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:174 +#: zerver/lib/exceptions.py:176 #, python-brace-format msgid "Stream with ID '{stream_id}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "organization owner" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "user" msgstr "" -#: zerver/lib/exceptions.py:187 +#: zerver/lib/exceptions.py:189 #, python-brace-format msgid "Cannot deactivate the only {entity}." msgstr "" -#: zerver/lib/exceptions.py:199 +#: zerver/lib/exceptions.py:201 #, python-brace-format msgid "Invalid Markdown include statement: {include_statement}" msgstr "" -#: zerver/lib/exceptions.py:211 +#: zerver/lib/exceptions.py:213 msgid "API usage exceeded rate limit" msgstr "" -#: zerver/lib/exceptions.py:234 zerver/lib/request.py:442 +#: zerver/lib/exceptions.py:236 zerver/lib/request.py:441 #: zerver/lib/validator.py:755 msgid "Malformed JSON" msgstr "" -#: zerver/lib/exceptions.py:245 +#: zerver/lib/exceptions.py:247 msgid "Must be an organization member" msgstr "" -#: zerver/lib/exceptions.py:256 zerver/views/invite.py:70 -#: zerver/views/invite.py:132 zerver/views/invite.py:178 +#: zerver/lib/exceptions.py:258 zerver/views/invite.py:70 +#: zerver/views/invite.py:134 zerver/views/invite.py:180 msgid "Must be an organization administrator" msgstr "" -#: zerver/lib/exceptions.py:267 +#: zerver/lib/exceptions.py:269 msgid "Must be an organization owner" msgstr "" -#: zerver/lib/exceptions.py:280 +#: zerver/lib/exceptions.py:282 msgid "Your username or password is incorrect" msgstr "" -#: zerver/lib/exceptions.py:288 +#: zerver/lib/exceptions.py:290 msgid "Account is deactivated" msgstr "" -#: zerver/lib/exceptions.py:296 +#: zerver/lib/exceptions.py:298 msgid "This organization has been deactivated" msgstr "" -#: zerver/lib/exceptions.py:305 +#: zerver/lib/exceptions.py:307 msgid "" "The mobile push notification service registration for your server has been " "deactivated" msgstr "" -#: zerver/lib/exceptions.py:314 +#: zerver/lib/exceptions.py:316 msgid "Password authentication is disabled in this organization" msgstr "" -#: zerver/lib/exceptions.py:322 +#: zerver/lib/exceptions.py:324 msgid "Your password has been disabled and needs to be reset" msgstr "" -#: zerver/lib/exceptions.py:338 +#: zerver/lib/exceptions.py:340 msgid "Invalid API key" msgstr "" -#: zerver/lib/exceptions.py:344 +#: zerver/lib/exceptions.py:346 msgid "Malformed API key" msgstr "" -#: zerver/lib/exceptions.py:381 +#: zerver/lib/exceptions.py:385 #, python-brace-format msgid "" "The '{event_type}' event isn't currently supported by the {webhook_name} " -"webhook" +"webhook; ignoring" msgstr "" -#: zerver/lib/exceptions.py:399 +#: zerver/lib/exceptions.py:404 #, python-brace-format msgid "Unable to parse request: Did {webhook_name} generate this event?" msgstr "" -#: zerver/lib/exceptions.py:422 zerver/views/auth.py:741 +#: zerver/lib/exceptions.py:427 zerver/views/auth.py:741 #: zerver/views/auth.py:1076 zerver/views/auth.py:1140 msgid "Invalid subdomain" msgstr "" -#: zerver/lib/exceptions.py:462 +#: zerver/lib/exceptions.py:467 msgid "Access denied" msgstr "" -#: zerver/lib/exceptions.py:501 +#: zerver/lib/exceptions.py:506 #, python-brace-format msgid "" "You only have permission to move the {total_messages_allowed_to_move}/" "{total_messages_in_topic} most recent messages in this topic." msgstr "" +#: zerver/lib/exceptions.py:518 +msgid "Reaction already exists." +msgstr "" + +#: zerver/lib/exceptions.py:529 +msgid "Reaction doesn't exist." +msgstr "" + #: zerver/lib/external_accounts.py:36 msgid "Twitter username" msgstr "" @@ -3850,207 +4209,215 @@ msgstr "" msgid "Version control" msgstr "" -#: zerver/lib/message.py:192 +#: zerver/lib/message.py:220 msgid "Message must not be empty" msgstr "" -#: zerver/lib/message.py:194 +#: zerver/lib/message.py:222 msgid "Message must not contain null bytes" msgstr "" -#: zerver/lib/narrow.py:107 -msgid "Operator {} not supported." +#: zerver/lib/message.py:1668 +#, python-brace-format +msgid "" +"You are not allowed to mention user group '{user_group_name}'. You must be a " +"member of '{can_mention_group_name}' to mention this group." msgstr "" -#: zerver/lib/narrow.py:197 +#: zerver/lib/narrow.py:108 +#, python-brace-format +msgid "Operator {operator} not supported." +msgstr "" + +#: zerver/lib/narrow.py:207 #, python-brace-format msgid "Invalid narrow operator: {desc}" msgstr "" -#: zerver/lib/narrow.py:1038 +#: zerver/lib/narrow.py:1054 msgid "Missing 'anchor' argument." msgstr "" -#: zerver/lib/narrow.py:1058 +#: zerver/lib/narrow.py:1074 msgid "Invalid anchor" msgstr "" -#: zerver/lib/onboarding.py:59 +#: zerver/lib/onboarding.py:57 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Using Zulip for a class guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:66 +#: zerver/lib/onboarding.py:64 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Getting started guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:78 +#: zerver/lib/onboarding.py:76 #, python-brace-format msgid "" "We also have a guide for [Setting up Zulip for a class]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:88 +#: zerver/lib/onboarding.py:86 #, python-brace-format msgid "" "We also have a guide for [Setting up your organization]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:98 +#: zerver/lib/onboarding.py:96 #, python-brace-format msgid "" "Note that this is a [demo organization]({demo_organization_help_url}) and " "will be **automatically deleted** in 30 days." msgstr "" -#: zerver/lib/onboarding.py:106 +#: zerver/lib/onboarding.py:104 msgid "Hello, and welcome to Zulip!" msgstr "" -#: zerver/lib/onboarding.py:107 +#: zerver/lib/onboarding.py:105 msgid "This is a direct message from me, Welcome Bot." msgstr "" -#: zerver/lib/onboarding.py:112 +#: zerver/lib/onboarding.py:110 msgid "" "I can also help you get set up! Just click anywhere on this message or press " "`r` to reply." msgstr "" -#: zerver/lib/onboarding.py:115 zerver/lib/onboarding.py:227 +#: zerver/lib/onboarding.py:113 zerver/lib/onboarding.py:225 msgid "Here are a few messages I understand:" msgstr "" -#: zerver/lib/onboarding.py:156 +#: zerver/lib/onboarding.py:154 msgid "" "You can [download](/apps/) the [mobile and desktop apps](/apps/). Zulip also " "works great in a browser." msgstr "" -#: zerver/lib/onboarding.py:161 +#: zerver/lib/onboarding.py:159 msgid "" "Go to [Profile settings](#settings/profile) to add a [profile picture](/help/" "change-your-profile-picture) and edit your [profile information](/help/edit-" "your-profile)." msgstr "" -#: zerver/lib/onboarding.py:167 +#: zerver/lib/onboarding.py:165 msgid "" -"Go to [Display settings](#settings/display-settings) to [switch between the " -"light and dark themes](/help/dark-theme), [pick your favorite emoji theme](/" -"help/emoji-and-emoticons#change-your-emoji-set), [change your language](/" -"help/change-your-language), and make other tweaks to your Zulip experience." +"Go to [Preferences](#settings/preferences) to [switch between the light and " +"dark themes](/help/dark-theme), [pick your favorite emoji theme](/help/emoji-" +"and-emoticons#change-your-emoji-set), [change your language](/help/change-" +"your-language), and make other tweaks to your Zulip experience." msgstr "" -#: zerver/lib/onboarding.py:177 +#: zerver/lib/onboarding.py:175 msgid "" "In Zulip, streams [determine who gets a message](/help/streams-and-topics). " "They are similar to channels in other chat apps." msgstr "" -#: zerver/lib/onboarding.py:181 +#: zerver/lib/onboarding.py:179 msgid "[Browse and subscribe to streams](#streams/all)." msgstr "" -#: zerver/lib/onboarding.py:188 +#: zerver/lib/onboarding.py:186 msgid "" "In Zulip, topics [tell you what a message is about](/help/streams-and-" "topics). They are light-weight subjects, very similar to the subject line of " "an email." msgstr "" -#: zerver/lib/onboarding.py:193 +#: zerver/lib/onboarding.py:191 msgid "" "Check out [Recent conversations](#recent) to see what's happening! You can " "return to this conversation by clicking \"Direct messages\" in the upper " "left." msgstr "" -#: zerver/lib/onboarding.py:202 +#: zerver/lib/onboarding.py:200 msgid "" "Zulip's [keyboard shortcuts](#keyboard-shortcuts) let you navigate the app " "quickly and efficiently." msgstr "" -#: zerver/lib/onboarding.py:206 +#: zerver/lib/onboarding.py:204 msgid "Press `?` any time to see a [cheat sheet](#keyboard-shortcuts)." msgstr "" -#: zerver/lib/onboarding.py:213 +#: zerver/lib/onboarding.py:211 msgid "" "Zulip uses [Markdown](/help/format-your-message-using-markdown), an " "intuitive format for **bold**, *italics*, bulleted lists, and more. Click " "[here](#message-formatting) for a cheat sheet." msgstr "" -#: zerver/lib/onboarding.py:219 +#: zerver/lib/onboarding.py:217 msgid "" "Check out our [messaging tips](/help/messaging-tips) to learn about emoji " "reactions, code blocks and much more!" msgstr "" -#: zerver/lib/onboarding.py:230 +#: zerver/lib/onboarding.py:228 msgid "" "Check out our [Getting started guide](/help/getting-started-with-zulip), or " "browse the [Help center](/help/) to learn more!" msgstr "" -#: zerver/lib/onboarding.py:239 +#: zerver/lib/onboarding.py:237 msgid "" "I’m sorry, I did not understand your message. Please try one of the " "following commands:" msgstr "" -#: zerver/lib/onboarding.py:271 +#: zerver/lib/onboarding.py:269 msgid "" "This is a private stream, as indicated by the lock icon next to the stream " "name." msgstr "" -#: zerver/lib/onboarding.py:273 +#: zerver/lib/onboarding.py:271 msgid "Private streams are only visible to stream members." msgstr "" -#: zerver/lib/onboarding.py:277 +#: zerver/lib/onboarding.py:275 #, python-brace-format msgid "" "To manage this stream, go to [Stream settings]({stream_settings_url}) and " "click on `{initial_private_stream_name}`." msgstr "" -#: zerver/lib/onboarding.py:287 +#: zerver/lib/onboarding.py:285 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `topic demonstration`." msgstr "" -#: zerver/lib/onboarding.py:293 +#: zerver/lib/onboarding.py:291 msgid "Topics are a lightweight tool to keep conversations organized." msgstr "" -#: zerver/lib/onboarding.py:295 +#: zerver/lib/onboarding.py:293 #, python-brace-format msgid "" "You can learn more about topics at [Streams and topics]" "({about_topics_help_url})." msgstr "" -#: zerver/lib/onboarding.py:300 +#: zerver/lib/onboarding.py:298 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `swimming turtles`." msgstr "" -#: zerver/lib/onboarding.py:309 +#: zerver/lib/onboarding.py:307 #, python-brace-format msgid "" "[Start a new topic]({start_topic_help_url}) any time you're not replying to " @@ -4066,11 +4433,12 @@ msgid "Invalid response format" msgstr "" #: zerver/lib/push_notifications.py:341 -msgid "Invalid GCM option to bouncer: priority {!r}" +msgid "Invalid GCM option to bouncer: priority {priority!r}" msgstr "" #: zerver/lib/push_notifications.py:351 -msgid "Invalid GCM options to bouncer: {}" +#, python-brace-format +msgid "Invalid GCM options to bouncer: {options}" msgstr "" #. error @@ -4078,30 +4446,43 @@ msgstr "" msgid "Token does not exist" msgstr "" -#: zerver/lib/push_notifications.py:746 +#: zerver/lib/push_notifications.py:758 msgid "" "This organization has disabled including message content in mobile push " "notifications" msgstr "" -#: zerver/lib/push_notifications.py:835 +#: zerver/lib/push_notifications.py:847 #, python-brace-format msgid "{full_name} mentioned @{user_group_name}:" msgstr "" -#: zerver/lib/push_notifications.py:839 +#: zerver/lib/push_notifications.py:851 #, python-brace-format msgid "{full_name} mentioned you:" msgstr "" -#: zerver/lib/push_notifications.py:841 +#: zerver/lib/push_notifications.py:853 +msgid "TODO - 2" +msgstr "" + +#: zerver/lib/push_notifications.py:855 +msgid "TODO" +msgstr "" + +#: zerver/lib/push_notifications.py:857 +#, python-brace-format +msgid "{full_name} mentioned all topic participants:" +msgstr "" + +#: zerver/lib/push_notifications.py:861 #, python-brace-format msgid "{full_name} mentioned everyone:" msgstr "" #: zerver/lib/recipient_users.py:29 zerver/lib/streams.py:268 -#: zerver/lib/streams.py:276 zerver/lib/streams.py:838 -#: zerver/tornado/views.py:164 zerver/views/events_register.py:94 +#: zerver/lib/streams.py:276 zerver/lib/streams.py:846 +#: zerver/tornado/views.py:164 zerver/views/events_register.py:95 #: zerver/views/message_send.py:182 zerver/views/message_send.py:203 msgid "User not authorized for this query" msgstr "" @@ -4116,31 +4497,33 @@ msgid "You can't send direct messages outside of your organization." msgstr "" #: zerver/lib/remote_server.py:93 -msgid "Push notifications bouncer error: {}" +#, python-brace-format +msgid "Push notifications bouncer error: {error}" msgstr "" -#: zerver/lib/request.py:92 +#: zerver/lib/request.py:91 #, python-brace-format msgid "Can't decide between '{var_name1}' and '{var_name2}' arguments" msgstr "" -#: zerver/lib/request.py:104 +#: zerver/lib/request.py:103 #, python-brace-format msgid "Missing '{var_name}' argument" msgstr "" -#: zerver/lib/request.py:117 +#: zerver/lib/request.py:116 #, python-brace-format msgid "Bad value for '{var_name}': {bad_value}" msgstr "" -#: zerver/lib/request.py:395 zerver/webhooks/ifttt/view.py:36 +#: zerver/lib/request.py:394 zerver/webhooks/ifttt/view.py:36 #: zerver/webhooks/slack_incoming/view.py:42 msgid "Malformed payload" msgstr "" #: zerver/lib/request.py:443 -msgid "Argument \"{}\" is not valid JSON." +#, python-brace-format +msgid "Argument \"{name}\" is not valid JSON." msgstr "" #: zerver/lib/scheduled_messages.py:20 @@ -4168,42 +4551,47 @@ msgstr "" msgid "New members cannot send to this stream." msgstr "" -#: zerver/lib/streams.py:301 -msgid "Not authorized to send to stream '{}'" +#: zerver/lib/streams.py:302 +#, python-brace-format +msgid "Not authorized to send to stream '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:306 +#: zerver/lib/streams.py:308 msgid "Please supply 'stream'." msgstr "" -#: zerver/lib/streams.py:309 +#: zerver/lib/streams.py:311 msgid "Please choose one: 'stream' or 'stream_id'." msgstr "" -#: zerver/lib/streams.py:315 zerver/lib/streams.py:334 -#: zerver/lib/streams.py:417 zerver/lib/streams.py:483 -#: zerver/views/streams.py:399 zerver/views/user_topics.py:101 +#: zerver/lib/streams.py:317 zerver/lib/streams.py:336 +#: zerver/lib/streams.py:419 zerver/lib/streams.py:487 +#: zerver/views/streams.py:401 zerver/views/user_topics.py:101 msgid "Invalid stream ID" msgstr "" -#: zerver/lib/streams.py:459 -msgid "Stream name '{}' is already taken." +#: zerver/lib/streams.py:462 +#, python-brace-format +msgid "Stream name '{stream_name}' is already taken." msgstr "" -#: zerver/lib/streams.py:467 zerver/lib/streams.py:587 -msgid "Invalid stream name '{}'" +#: zerver/lib/streams.py:471 zerver/lib/streams.py:591 +#, python-brace-format +msgid "Invalid stream name '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:731 -msgid "Stream(s) ({}) do not exist" +#: zerver/lib/streams.py:735 +#, python-brace-format +msgid "Stream(s) ({stream_names}) do not exist" msgstr "" -#: zerver/lib/streams.py:738 zerver/views/streams.py:334 +#: zerver/lib/streams.py:744 zerver/views/streams.py:336 msgid "Web-public streams are not enabled." msgstr "" -#: zerver/lib/streams.py:767 -msgid "Default stream group with id '{}' does not exist." +#: zerver/lib/streams.py:774 +#, python-brace-format +msgid "Default stream group with id '{group_id}' does not exist." msgstr "" #: zerver/lib/string_validation.py:38 @@ -4211,19 +4599,22 @@ msgid "Stream name can't be empty!" msgstr "" #: zerver/lib/string_validation.py:42 -msgid "Stream name too long (limit: {} characters)." +#, python-brace-format +msgid "Stream name too long (limit: {max_length} characters)." msgstr "" -#: zerver/lib/string_validation.py:48 -msgid "Invalid character in stream name, at position {}!" +#: zerver/lib/string_validation.py:50 +#, python-brace-format +msgid "Invalid character in stream name, at position {position}!" msgstr "" -#: zerver/lib/string_validation.py:54 +#: zerver/lib/string_validation.py:58 msgid "Topic can't be empty!" msgstr "" -#: zerver/lib/string_validation.py:59 -msgid "Invalid character in topic, at position {}!" +#: zerver/lib/string_validation.py:63 +#, python-brace-format +msgid "Invalid character in topic, at position {position}!" msgstr "" #: zerver/lib/subscription_info.py:295 @@ -4238,46 +4629,61 @@ msgstr "" msgid "Upload would exceed your organization's upload quota." msgstr "" -#: zerver/lib/upload/base.py:67 zerver/lib/upload/base.py:83 -#: zerver/lib/upload/base.py:177 +#: zerver/lib/upload/base.py:68 zerver/lib/upload/base.py:84 +#: zerver/lib/upload/base.py:178 msgid "Could not decode image; did you upload an image file?" msgstr "" -#: zerver/lib/upload/base.py:69 zerver/lib/upload/base.py:85 -#: zerver/lib/upload/base.py:179 +#: zerver/lib/upload/base.py:70 zerver/lib/upload/base.py:86 +#: zerver/lib/upload/base.py:180 msgid "Image size exceeds limit." msgstr "" -#: zerver/lib/upload/base.py:107 +#: zerver/lib/upload/base.py:108 msgid "Corrupt animated image." msgstr "" -#: zerver/lib/upload/base.py:116 +#: zerver/lib/upload/base.py:117 msgid "Unknown animated image format." msgstr "" -#: zerver/lib/user_groups.py:44 +#: zerver/lib/user_groups.py:54 msgid "Invalid user group" msgstr "" -#: zerver/lib/user_groups.py:56 -msgid "Invalid user group ID: {}" +#: zerver/lib/user_groups.py:67 +#, python-brace-format +msgid "Invalid user group ID: {group_id}" msgstr "" -#: zerver/lib/user_groups.py:74 -msgid "'{}' must be a system user group." +#: zerver/lib/user_groups.py:87 +#, python-brace-format +msgid "'{setting_name}' must be a system user group." msgstr "" -#: zerver/lib/user_groups.py:78 -msgid "'{}' setting cannot be set to '@role:internet' group." +#: zerver/lib/user_groups.py:92 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:internet' group." msgstr "" -#: zerver/lib/user_groups.py:83 -msgid "'{}' setting cannot be set to '@role:owners' group." +#: zerver/lib/user_groups.py:99 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:owners' group." msgstr "" -#: zerver/lib/user_groups.py:88 -msgid "'{}' setting cannot be set to '@role:nobody' group." +#: zerver/lib/user_groups.py:106 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:nobody' group." +msgstr "" + +#: zerver/lib/user_groups.py:117 +#, python-brace-format +msgid "User group name cannot exceed {max_length} characters." +msgstr "" + +#: zerver/lib/user_groups.py:125 +#, python-brace-format +msgid "User group name cannot start with '{prefix}'." msgstr "" #: zerver/lib/users.py:45 @@ -4305,44 +4711,48 @@ msgstr "" msgid "Bad name or username" msgstr "" -#: zerver/lib/users.py:95 -msgid "Invalid integration '{}'." +#: zerver/lib/users.py:96 +#, python-brace-format +msgid "Invalid integration '{integration_name}'." msgstr "" -#: zerver/lib/users.py:100 -msgid "Missing configuration parameters: {}" +#: zerver/lib/users.py:102 +#, python-brace-format +msgid "Missing configuration parameters: {keys}" msgstr "" -#: zerver/lib/users.py:109 -msgid "Invalid {} value {} ({})" +#: zerver/lib/users.py:112 +#, python-brace-format +msgid "Invalid {key} value {value} ({error})" msgstr "" -#: zerver/lib/users.py:124 +#: zerver/lib/users.py:130 msgid "Invalid configuration data!" msgstr "" -#: zerver/lib/users.py:158 +#: zerver/lib/users.py:164 msgid "Invalid bot type" msgstr "" -#: zerver/lib/users.py:163 +#: zerver/lib/users.py:169 msgid "Invalid interface type" msgstr "" -#: zerver/lib/users.py:232 zerver/lib/users.py:237 zerver/models.py:4669 -msgid "Invalid user ID: {}" +#: zerver/lib/users.py:238 zerver/lib/users.py:243 zerver/models.py:4729 +#, python-brace-format +msgid "Invalid user ID: {user_id}" msgstr "" -#: zerver/lib/users.py:245 zerver/lib/users.py:247 +#: zerver/lib/users.py:251 zerver/lib/users.py:253 msgid "No such bot" msgstr "" -#: zerver/lib/users.py:271 zerver/lib/users.py:298 zerver/lib/users.py:314 +#: zerver/lib/users.py:277 zerver/lib/users.py:304 zerver/lib/users.py:320 #: zerver/views/presence.py:44 msgid "No such user" msgstr "" -#: zerver/lib/users.py:273 +#: zerver/lib/users.py:279 msgid "User is deactivated" msgstr "" @@ -4432,7 +4842,8 @@ msgid "{key_name} key is missing from {var_name}" msgstr "" #: zerver/lib/validator.py:317 -msgid "Unexpected arguments: {}" +#, python-brace-format +msgid "Unexpected arguments: {keys}" msgstr "" #: zerver/lib/validator.py:350 @@ -4494,8 +4905,9 @@ msgstr "" msgid "Missing the HTTP event header '{header}'" msgstr "" -#: zerver/lib/webhooks/common.py:231 -msgid "The {} webhook expects time in milliseconds." +#: zerver/lib/webhooks/common.py:232 +#, python-brace-format +msgid "The {webhook} webhook expects time in milliseconds." msgstr "" #: zerver/lib/zcommand.py:30 @@ -4503,201 +4915,218 @@ msgid "There should be a leading slash in the zcommand." msgstr "" #: zerver/lib/zcommand.py:79 -msgid "No such command: {}" +#, python-brace-format +msgid "No such command: {command}" msgstr "" -#: zerver/middleware.py:464 +#: zerver/middleware.py:441 #, python-brace-format msgid "CSRF error: {reason}" msgstr "" -#: zerver/models.py:503 +#: zerver/middleware.py:607 +#, python-brace-format +msgid "Reverse proxy misconfiguration: {proxy_reason}" +msgstr "" + +#: zerver/models.py:495 msgid "stream events" msgstr "" -#: zerver/models.py:634 +#: zerver/models.py:626 msgid "Available on Zulip Cloud Standard. Upgrade to access." msgstr "" -#: zerver/models.py:692 +#: zerver/models.py:684 msgid "GIPHY integration disabled" msgstr "" -#: zerver/models.py:697 +#: zerver/models.py:689 msgid "Allow GIFs rated Y (Very young audience)" msgstr "" -#: zerver/models.py:701 +#: zerver/models.py:693 msgid "Allow GIFs rated G (General audience)" msgstr "" -#: zerver/models.py:705 +#: zerver/models.py:697 msgid "Allow GIFs rated PG (Parental guidance)" msgstr "" -#: zerver/models.py:709 +#: zerver/models.py:701 msgid "Allow GIFs rated PG-13 (Parental guidance - under 13)" msgstr "" -#: zerver/models.py:713 +#: zerver/models.py:705 msgid "Allow GIFs rated R (Restricted)" msgstr "" -#: zerver/models.py:1139 +#: zerver/models.py:1123 msgid "Invalid characters in emoji name" msgstr "" -#: zerver/models.py:1263 zerver/models.py:1265 -msgid "Bad regular expression: {}" +#: zerver/models.py:1235 zerver/models.py:1238 +#, python-brace-format +msgid "Bad regular expression: {regex}" msgstr "" -#: zerver/models.py:1266 +#: zerver/models.py:1240 msgid "Unknown regular expression error" msgstr "" -#: zerver/models.py:1274 +#: zerver/models.py:1248 msgid "Invalid URL template." msgstr "" -#: zerver/models.py:1318 +#: zerver/models.py:1292 #, python-format msgid "Group %(name)r in URL template is not present in linkifier pattern." msgstr "" -#: zerver/models.py:1330 +#: zerver/models.py:1304 #, python-format msgid "Group %(name)r in linkifier pattern is not present in URL template." msgstr "" -#: zerver/models.py:1408 zerver/views/realm_playgrounds.py:25 +#: zerver/models.py:1382 zerver/views/realm_playgrounds.py:24 msgid "Invalid characters in pygments language" msgstr "" -#: zerver/models.py:1652 +#: zerver/models.py:1412 +msgid "Missing the required variable \"code\" in the URL template" +msgstr "" + +#: zerver/models.py:1417 +msgid "\"code\" should be the only variable present in the URL template" +msgstr "" + +#: zerver/models.py:1660 msgid "Admins, moderators, members and guests" msgstr "" -#: zerver/models.py:1653 +#: zerver/models.py:1661 msgid "Admins, moderators and members" msgstr "" -#: zerver/models.py:1654 +#: zerver/models.py:1662 msgid "Admins and moderators" msgstr "" -#: zerver/models.py:1655 +#: zerver/models.py:1663 msgid "Admins only" msgstr "" -#: zerver/models.py:1656 +#: zerver/models.py:1664 msgid "Nobody" msgstr "" -#: zerver/models.py:1960 +#: zerver/models.py:1973 msgid "Organization owner" msgstr "" -#: zerver/models.py:1961 +#: zerver/models.py:1974 msgid "Organization administrator" msgstr "" -#: zerver/models.py:1962 +#: zerver/models.py:1975 msgid "Moderator" msgstr "" -#: zerver/models.py:1963 +#: zerver/models.py:1976 msgid "Member" msgstr "" -#: zerver/models.py:1964 +#: zerver/models.py:1977 msgid "Guest" msgstr "" -#: zerver/models.py:2531 +#: zerver/models.py:2557 msgid "Web-public" msgstr "" -#: zerver/models.py:2537 +#: zerver/models.py:2563 msgid "Public" msgstr "" -#: zerver/models.py:2543 +#: zerver/models.py:2569 msgid "Private, shared history" msgstr "" -#: zerver/models.py:2549 +#: zerver/models.py:2575 msgid "Private, protected history" msgstr "" -#: zerver/models.py:2557 +#: zerver/models.py:2583 msgid "Public, protected history" msgstr "" -#: zerver/models.py:2577 +#: zerver/models.py:2603 msgid "All stream members can post" msgstr "" -#: zerver/models.py:2578 +#: zerver/models.py:2604 msgid "Only organization administrators can post" msgstr "" -#: zerver/models.py:2580 +#: zerver/models.py:2606 msgid "Only organization administrators and moderators can post" msgstr "" -#: zerver/models.py:2583 +#: zerver/models.py:2609 msgid "Only organization full members can post" msgstr "" -#: zerver/models.py:3209 +#: zerver/models.py:3222 msgid "Unicode emoji" msgstr "" -#: zerver/models.py:3210 +#: zerver/models.py:3223 msgid "Custom emoji" msgstr "" -#: zerver/models.py:3211 +#: zerver/models.py:3224 msgid "Zulip extra emoji" msgstr "" -#: zerver/models.py:4672 -msgid "User with ID {} is deactivated" +#: zerver/models.py:4733 +#, python-brace-format +msgid "User with ID {user_id} is deactivated" msgstr "" -#: zerver/models.py:4675 -msgid "User with ID {} is a bot" +#: zerver/models.py:4737 +#, python-brace-format +msgid "User with ID {user_id} is a bot" msgstr "" -#: zerver/models.py:4715 +#: zerver/models.py:4777 msgid "List of options" msgstr "" -#: zerver/models.py:4718 +#: zerver/models.py:4780 msgid "Person picker" msgstr "" -#: zerver/models.py:4730 +#: zerver/models.py:4792 msgid "Short text" msgstr "" -#: zerver/models.py:4731 +#: zerver/models.py:4793 msgid "Long text" msgstr "" -#: zerver/models.py:4732 +#: zerver/models.py:4794 msgid "Date picker" msgstr "" -#: zerver/models.py:4733 +#: zerver/models.py:4795 msgid "Link" msgstr "" -#: zerver/models.py:4736 +#: zerver/models.py:4798 msgid "External account" msgstr "" -#: zerver/models.py:4741 +#: zerver/models.py:4803 msgid "Pronouns" msgstr "" @@ -4713,20 +5142,20 @@ msgstr "" msgid "An unknown browser" msgstr "" -#: zerver/tornado/event_queue.py:673 +#: zerver/tornado/event_queue.py:678 msgid "Missing 'queue_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:676 +#: zerver/tornado/event_queue.py:681 msgid "Missing 'last_event_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:683 +#: zerver/tornado/event_queue.py:688 #, python-brace-format msgid "An event newer than {event_id} has already been pruned!" msgstr "" -#: zerver/tornado/event_queue.py:693 +#: zerver/tornado/event_queue.py:698 #, python-brace-format msgid "Event {event_id} was not in this queue" msgstr "" @@ -4794,20 +5223,22 @@ msgstr "" msgid "Default custom field cannot be updated." msgstr "" -#: zerver/views/development/dev_login.py:98 +#: zerver/views/development/dev_login.py:100 msgid "Endpoint not available in production." msgstr "" -#: zerver/views/development/dev_login.py:100 +#: zerver/views/development/dev_login.py:102 msgid "DevAuthBackend not enabled." msgstr "" -#: zerver/views/events_register.py:107 zerver/views/events_register.py:111 -msgid "Invalid '{}' parameter for anonymous request" +#: zerver/views/events_register.py:108 zerver/views/events_register.py:112 +#, python-brace-format +msgid "Invalid '{key}' parameter for anonymous request" msgstr "" #: zerver/views/hotspots.py:19 -msgid "Unknown hotspot: {}" +#, python-brace-format +msgid "Unknown hotspot: {hotspot}" msgstr "" #: zerver/views/invite.py:72 @@ -4815,25 +5246,27 @@ msgid "You must specify at least one email address." msgstr "" #: zerver/views/invite.py:82 -msgid "Stream does not exist with id: {}. No invites were sent." +#, python-brace-format +msgid "Stream does not exist with id: {stream_id}. No invites were sent." msgstr "" -#: zerver/views/invite.py:87 +#: zerver/views/invite.py:89 msgid "You do not have permission to subscribe other users to streams." msgstr "" -#: zerver/views/invite.py:124 zerver/views/invite.py:127 -#: zerver/views/invite.py:146 zerver/views/invite.py:149 -#: zerver/views/invite.py:168 zerver/views/invite.py:173 +#: zerver/views/invite.py:126 zerver/views/invite.py:129 +#: zerver/views/invite.py:148 zerver/views/invite.py:151 +#: zerver/views/invite.py:170 zerver/views/invite.py:175 msgid "No such invitation" msgstr "" -#: zerver/views/invite.py:154 +#: zerver/views/invite.py:156 msgid "Invitation has already been revoked" msgstr "" -#: zerver/views/invite.py:207 -msgid "Invalid stream ID {}. No invites were sent." +#: zerver/views/invite.py:210 +#, python-brace-format +msgid "Invalid stream ID {stream_id}. No invites were sent." msgstr "" #: zerver/views/message_edit.py:98 @@ -4853,7 +5286,8 @@ msgid "Message already deleted" msgstr "" #: zerver/views/message_fetch.py:99 -msgid "Too many messages requested (maximum {})." +#, python-brace-format +msgid "Too many messages requested (maximum {max_messages})." msgstr "" #: zerver/views/message_fetch.py:104 zerver/views/message_flags.py:85 @@ -4861,7 +5295,8 @@ msgid "The anchor can only be excluded at an end of the range" msgstr "" #: zerver/views/message_flags.py:169 -msgid "No such topic '{}'" +#, python-brace-format +msgid "No such topic '{topic}'" msgstr "" #: zerver/views/message_send.py:201 @@ -4905,13 +5340,14 @@ msgstr "" msgid "Client did not pass any new values." msgstr "" -#: zerver/views/presence.py:106 +#: zerver/views/presence.py:108 msgid "" "Client must pass emoji_name if they pass either emoji_code or reaction_type." msgstr "" -#: zerver/views/presence.py:144 -msgid "Invalid status: {}" +#: zerver/views/presence.py:146 +#, python-brace-format +msgid "Invalid status: {status}" msgstr "" #: zerver/views/push_notifications.py:19 @@ -4928,36 +5364,36 @@ msgid "" "emoji_code" msgstr "" -#: zerver/views/reactions.py:68 -msgid "Reaction doesn't exist." -msgstr "" - #: zerver/views/read_receipts.py:22 msgid "Read receipts are disabled in this organization." msgstr "" #: zerver/views/realm.py:160 -msgid "Invalid language '{}'" +#, python-brace-format +msgid "Invalid language '{language}'" msgstr "" #: zerver/views/realm.py:165 msgid "At least one authentication method must be enabled." msgstr "" -#: zerver/views/realm.py:169 -msgid "Invalid video_chat_provider {}" +#: zerver/views/realm.py:170 +#, python-brace-format +msgid "Invalid video_chat_provider {video_chat_provider}" msgstr "" -#: zerver/views/realm.py:173 -msgid "Invalid giphy_rating {}" +#: zerver/views/realm.py:178 +#, python-brace-format +msgid "Invalid giphy_rating {giphy_rating}" msgstr "" -#: zerver/views/realm.py:336 +#: zerver/views/realm.py:335 msgid "Must be a demo organization." msgstr "" #: zerver/views/realm_domains.py:36 -msgid "Invalid domain: {}" +#, python-brace-format +msgid "Invalid domain: {error}" msgstr "" #: zerver/views/realm_domains.py:39 @@ -4970,18 +5406,19 @@ msgstr "" msgid "No entry found for domain {domain}." msgstr "" -#: zerver/views/realm_emoji.py:38 +#: zerver/views/realm_emoji.py:40 msgid "You must upload exactly one file." msgstr "" -#: zerver/views/realm_emoji.py:40 +#: zerver/views/realm_emoji.py:42 msgid "Only administrators can override default emoji." msgstr "" -#: zerver/views/realm_emoji.py:46 zerver/views/realm_icon.py:27 +#: zerver/views/realm_emoji.py:48 zerver/views/realm_icon.py:27 #: zerver/views/realm_logo.py:33 zerver/views/upload.py:278 -#: zerver/views/user_settings.py:352 -msgid "Uploaded file is larger than the allowed limit of {} MiB" +#: zerver/views/user_settings.py:371 +#, python-brace-format +msgid "Uploaded file is larger than the allowed limit of {max_size} MiB" msgstr "" #: zerver/views/realm_export.py:45 @@ -5021,7 +5458,7 @@ msgstr "" msgid "You must upload exactly one logo." msgstr "" -#: zerver/views/realm_playgrounds.py:33 +#: zerver/views/realm_playgrounds.py:32 msgid "Invalid playground" msgstr "" @@ -5058,63 +5495,65 @@ msgstr "" msgid "Invalid value for \"op\". Specify one of \"add\" or \"remove\"." msgstr "" -#: zerver/views/streams.py:322 +#: zerver/views/streams.py:324 msgid "Default streams cannot be made private." msgstr "" -#: zerver/views/streams.py:370 +#: zerver/views/streams.py:372 msgid "Stream already has that name!" msgstr "" -#: zerver/views/streams.py:452 zerver/views/user_groups.py:108 -#: zerver/views/user_groups.py:285 +#: zerver/views/streams.py:454 zerver/views/user_groups.py:168 +#: zerver/views/user_groups.py:347 msgid "Nothing to do. Specify at least one of \"add\" or \"delete\"." msgstr "" -#: zerver/views/streams.py:536 +#: zerver/views/streams.py:538 #, python-brace-format msgid "{user_full_name} subscribed you to the stream {stream_name}." msgstr "" -#: zerver/views/streams.py:542 +#: zerver/views/streams.py:544 #, python-brace-format msgid "{user_full_name} subscribed you to the following streams:" msgstr "" -#: zerver/views/streams.py:646 +#: zerver/views/streams.py:655 #, python-brace-format msgid "Unable to access stream ({stream_name})." msgstr "" -#: zerver/views/streams.py:659 +#: zerver/views/streams.py:668 msgid "You can only invite other Zephyr mirroring users to private streams." msgstr "" -#: zerver/views/streams.py:767 +#: zerver/views/streams.py:776 #, python-brace-format msgid "{user_name} created the following streams: {stream_str}." msgstr "" -#: zerver/views/streams.py:769 +#: zerver/views/streams.py:778 #, python-brace-format msgid "{user_name} created a new stream {stream_str}." msgstr "" -#: zerver/views/streams.py:770 +#: zerver/views/streams.py:779 msgid "new streams" msgstr "" -#: zerver/views/streams.py:802 +#: zerver/views/streams.py:811 #, python-brace-format msgid "**{policy}** stream created by {user_name}. **Description:**" msgstr "" -#: zerver/views/streams.py:1050 -msgid "Unknown subscription property: {}" +#: zerver/views/streams.py:1060 +#, python-brace-format +msgid "Unknown subscription property: {property}" msgstr "" -#: zerver/views/streams.py:1054 -msgid "Not subscribed to stream id {}" +#: zerver/views/streams.py:1066 +#, python-brace-format +msgid "Not subscribed to stream id {stream_id}" msgstr "" #: zerver/views/submessage.py:38 @@ -5138,7 +5577,7 @@ msgid "User has disabled typing notifications for direct messages" msgstr "" #: zerver/views/upload.py:183 -msgid "

File not found.

" +msgid "

This file does not exist or has been deleted.

" msgstr "" #: zerver/views/upload.py:223 @@ -5158,42 +5597,43 @@ msgstr "" msgid "You may only upload one file at a time" msgstr "" -#: zerver/views/user_groups.py:74 +#: zerver/views/user_groups.py:111 msgid "No new data supplied" msgstr "" -#: zerver/views/user_groups.py:149 +#: zerver/views/user_groups.py:209 #, python-brace-format msgid "{user_full_name} added you to the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:154 +#: zerver/views/user_groups.py:214 #, python-brace-format msgid "{user_full_name} removed you from the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:185 +#: zerver/views/user_groups.py:245 #, python-brace-format msgid "User {user_id} is already a member of this group" msgstr "" -#: zerver/views/user_groups.py:212 -msgid "There is no member '{}' in this user group" +#: zerver/views/user_groups.py:273 +#, python-brace-format +msgid "There is no member '{user_id}' in this user group" msgstr "" -#: zerver/views/user_groups.py:237 +#: zerver/views/user_groups.py:299 #, python-brace-format msgid "User group {group_id} is already a subgroup of this group." msgstr "" -#: zerver/views/user_groups.py:246 +#: zerver/views/user_groups.py:308 #, python-brace-format msgid "" "User group {user_group_id} is already a subgroup of one of the passed " "subgroups." msgstr "" -#: zerver/views/user_groups.py:266 +#: zerver/views/user_groups.py:328 #, python-brace-format msgid "User group {group_id} is not a subgroup of this group." msgstr "" @@ -5202,7 +5642,7 @@ msgstr "" msgid "Avatar changes are disabled in this organization." msgstr "" -#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:293 +#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:312 msgid "Email address changes are disabled in this organization." msgstr "" @@ -5210,31 +5650,34 @@ msgstr "" msgid "Invalid default_language" msgstr "" -#: zerver/views/user_settings.py:133 -msgid "Invalid notification sound '{}'" +#: zerver/views/user_settings.py:134 +#, python-brace-format +msgid "Invalid notification sound '{notification_sound}'" msgstr "" -#: zerver/views/user_settings.py:141 -msgid "Invalid email batching period: {} seconds" +#: zerver/views/user_settings.py:145 +#, python-brace-format +msgid "Invalid email batching period: {seconds} seconds" msgstr "" -#: zerver/views/user_settings.py:248 +#: zerver/views/user_settings.py:267 msgid "Your Zulip password is managed in LDAP" msgstr "" -#: zerver/views/user_settings.py:258 +#: zerver/views/user_settings.py:277 msgid "Wrong password!" msgstr "" -#: zerver/views/user_settings.py:263 -msgid "You're making too many attempts! Try again in {} seconds." +#: zerver/views/user_settings.py:282 +#, python-brace-format +msgid "You're making too many attempts! Try again in {seconds} seconds." msgstr "" -#: zerver/views/user_settings.py:269 +#: zerver/views/user_settings.py:288 msgid "New password is too weak!" msgstr "" -#: zerver/views/user_settings.py:342 +#: zerver/views/user_settings.py:361 msgid "You must upload exactly one avatar." msgstr "" @@ -5295,7 +5738,8 @@ msgid "Disposable email addresses are not allowed in this organization" msgstr "" #: zerver/views/users.py:712 -msgid "Email '{}' already in use" +#, python-brace-format +msgid "Email '{email}' already in use" msgstr "" #: zerver/views/video_calls.py:47 @@ -5354,7 +5798,7 @@ msgstr "" msgid "We were unable to set up mirroring for you" msgstr "" -#: zerver/webhooks/circleci/view.py:76 +#: zerver/webhooks/circleci/view.py:83 msgid "Projects using this version control system provider aren't supported" msgstr "" @@ -5363,7 +5807,7 @@ msgstr "" msgid "Invalid payload" msgstr "" -#: zerver/webhooks/front/view.py:155 +#: zerver/webhooks/front/view.py:151 msgid "Unknown webhook request" msgstr "" @@ -5411,10 +5855,11 @@ msgid "Message from Slack" msgstr "" #: zerver/webhooks/wordpress/view.py:56 -msgid "Unknown WordPress webhook action: {}" +#, python-brace-format +msgid "Unknown WordPress webhook action: {hook}" msgstr "" -#: zerver/worker/queue_processors.py:1123 +#: zerver/worker/queue_processors.py:1114 #, python-brace-format msgid "" "Your data export is complete and has been uploaded here:\n" @@ -5441,7 +5886,8 @@ msgid "Invalid token type" msgstr "" #: zilencer/views.py:109 -msgid "{} is not a valid hostname" +#, python-brace-format +msgid "{hostname} is not a valid hostname" msgstr "" #: zilencer/views.py:162 @@ -5449,7 +5895,8 @@ msgid "Missing user_id or user_uuid" msgstr "" #: zilencer/views.py:373 -msgid "Invalid property {}" +#, python-brace-format +msgid "Invalid property {property}" msgstr "" #: zilencer/views.py:375 @@ -5472,10 +5919,10 @@ msgstr "" msgid "Missing id_token parameter" msgstr "" -#: zproject/backends.py:2903 +#: zproject/backends.py:2902 msgid "Invalid OTP" msgstr "" -#: zproject/backends.py:2906 +#: zproject/backends.py:2905 msgid "Can't use both mobile_flow_otp and desktop_flow_otp together." msgstr "" diff --git a/locale/be/translations.json b/locale/be/translations.json index ea1feff276..c376c91f20 100644 --- a/locale/be/translations.json +++ b/locale/be/translations.json @@ -83,6 +83,7 @@ "Add all users": "", "Add another user...": "", "Add code playground": "", + "Add default streams": "", "Add emoji": "", "Add emoji reaction": "", "Add extra emoji for members of the {realm_name} organization.": "", @@ -90,7 +91,6 @@ "Add linkifier": "", "Add members": "", "Add member…": "", - "Add new default stream": "", "Add new user group": "", "Add one or more users": "", "Add option": "", @@ -150,6 +150,7 @@ "Archive ?": "", "Archive stream": "", "Archiving stream will immediately unsubscribe everyone. This action cannot be undone.": "", + "Archiving this stream will also disable settings that were configured to use this stream:": "", "Are you sure you want to continue?": "", "Are you sure you want to create stream ''''{stream_name}'''' and subscribe {count} users to it?": "", "Are you sure you want to deactivate this organization?": "", @@ -218,6 +219,7 @@ "Click here to reveal.": "", "Click on the pencil () icon to edit and reschedule a message.": "", "Click outside the input box to save. We'll automatically notify anyone that was added or removed.": "", + "Click to view edit history.": "", "Click to view or download.": "", "Close": "", "Close modal": "", @@ -360,7 +362,6 @@ "Display my availability to other users": "", "Display names of reacting users when few users have reacted to a message": "", "Display on user card": "", - "Display settings": "", "Do you still want to move the latest {total_messages_allowed_to_move, plural, one {message} other {# messages}}?": "", "Do you want to add everyone?": "", "Domain": "", @@ -388,7 +389,6 @@ "Edit custom profile field": "", "Edit linkfiers": "", "Edit message": "", - "Edit or reschedule message": "", "Edit selected draft": "", "Edit selected message or view source": "", "Edit status": "", @@ -398,7 +398,6 @@ "Edit your last message": "", "Edit your profile": "", "Edit {group_name}": "", - "Edited ({last_edit_timestr})": "", "Edited by {full_name}": "", "Education (for-profit)": "", "Education (non-profit)": "", @@ -461,6 +460,7 @@ "External account type": "", "External link": "", "Failed": "", + "Failed adding one or more streams.": "", "Failed to create video call.": "", "Failed to generate preview": "", "Failed to upload %'{file}'": "", @@ -500,6 +500,9 @@ "First message": "", "First time? Read our guidelines for creating and naming streams.": "", "First time? Read our guidelines for creating user groups.": "", + "Follow topic": "", + "Followed": "", + "Followed topics": "", "For example, to configure a code playground for code blocks tagged as Python, you can set:": "", "For more examples and technical details, see the help center documentation on adding code playgrounds.": "", "For more examples, see the help center documentation on adding linkifiers.": "", @@ -600,8 +603,10 @@ "Last 30 days": "", "Last 6 months": "", "Last active": "", + "Last edited {last_edit_timestr}": "", "Last message": "", "Last modified": "", + "Last moved {last_edit_timestr}": "", "Learn more": "", "Learn more about mentions here.": "", "Learn more about starring messages here.": "", @@ -624,6 +629,7 @@ "Log out": "", "Looking for our integrations or API documentation?": "", "MOVED": "", + "Main menu": "", "Manage bot": "", "Manage streams": "", "Manage this bot": "", @@ -647,7 +653,6 @@ "Mention a time-zone-aware time": "", "Mentioned in": "", "Mentions": "", - "Menu": "", "Menus": "", "Message #{stream_name}": "", "Message #{stream_name} > {topic_name}": "", @@ -682,7 +687,6 @@ "Move some messages?": "", "Move this and all following messages in this topic": "", "Move topic": "", - "Moved ({last_edit_timestr})": "", "Moved by {full_name}": "", "Moving messages": "", "Must be invited by a subscriber; new subscribers can only see messages sent after they join; hidden from non-administrator users": "", @@ -735,9 +739,11 @@ "New password is too weak": "", "New stream announcements": "", "New stream message": "", + "New stream notifications": "", "New task": "", "New topic": "", "New user announcements": "", + "New user notifications": "", "Next message": "", "Next unread direct message": "", "Next unread topic": "", @@ -760,7 +766,6 @@ "No search results": "", "No search results.": "", "No stream subscriptions.": "", - "No streams": "", "No topics are marked as resolved.": "", "No topics match your current filter.": "", "No user group subscriptions.": "", @@ -860,6 +865,7 @@ "Please specify at least one valid recipient.": "", "Political group": "", "Posted by {full_name}": "", + "Preferences": "", "Press > for list of topics": "", "Prevent users from changing their avatar": "", "Prevent users from changing their email address": "", @@ -1105,7 +1111,6 @@ "Time zone": "", "Time's up!": "", "Tip: You can also send \"/poll Some question\"": "", - "To add syntax highlighting to a multi-line code block, add the language's first Pygments short name after the first set of back-ticks. You can also make a code block by indenting each line with 4 spaces.": "", "To invite users, please increase the number of licenses or deactivate inactive users.": "", "To preserve your reading state, this view does not mark messages as read.": "", "Today": "", @@ -1127,7 +1132,6 @@ "Two factor authentication": "", "Type": "", "URL pattern": "", - "URL prefix": "", "URL template": "", "USERS": "", "Uncheck all": "", @@ -1339,13 +1343,13 @@ "Zulip Server {display_version}": "", "Zulip Server {display_version} (modified)": "", "Zulip Server {display_version} (patched)": "", + "Zulip lets you configure notifications for each topic. You can also automatically follow or unmute topics you start or participate in.": "", "Zulip lets you mute topics and streams to avoid receiving notifications messages you are not interested in. Muting a stream effectively mutes all topics in that stream. You can also manually mute a topic in an unmuted stream, or unmute a topic in a muted stream. Learn more.": "", "Zulip needs to send email to confirm users' addresses and send notifications.": "", "Zulip needs your permission to enable desktop notifications.": "", "Zulip's translations are contributed by our amazing community of volunteer translators. If you'd like to help, see the Zulip translation guidelines.": "", "[Configure]": "", "[Disable]": "", - "[More…]": "", "[Quoting…]": "", "[Unset]": "", "and {remaining_senders, plural, one {1 other} other {# others}}.": "", diff --git a/locale/bqi/LC_MESSAGES/django.po b/locale/bqi/LC_MESSAGES/django.po index 691be4f8bd..41b5bc3a5a 100644 --- a/locale/bqi/LC_MESSAGES/django.po +++ b/locale/bqi/LC_MESSAGES/django.po @@ -2174,7 +2174,7 @@ msgstr "" #: templates/zerver/footer.html:14 msgid "Integrations" -msgstr "" +msgstr "ya jur kerdênā" #: templates/zerver/footer.html:15 msgid "Desktop & mobile apps" @@ -2708,7 +2708,7 @@ msgstr "" #: templates/zerver/register.html:158 msgid "Password strength" -msgstr "" +msgstr "qoďratê razm" #: templates/zerver/register.html:167 msgid "What are you interested in?" @@ -2742,7 +2742,7 @@ msgstr "" #: templates/zerver/reset_confirm.html:52 msgid "Confirm password" -msgstr "" +msgstr "taiďê razm" #: templates/zerver/reset_confirm.html:72 msgid "Sorry, the link you provided is invalid or has already been used." @@ -3092,7 +3092,7 @@ msgstr "" #: zerver/actions/message_flags.py:333 zerver/lib/message.py:758 #: zerver/lib/message.py:764 msgid "Invalid message(s)" -msgstr "" +msgstr "payom (ā) nazêbāl" #: zerver/actions/message_send.py:156 msgid "Unable to render message" @@ -3428,7 +3428,7 @@ msgstr "" #: zerver/lib/addressee.py:145 zerver/lib/outgoing_webhook.py:215 msgid "Invalid message type" -msgstr "" +msgstr "no'ê payom zêbāl nî" #: zerver/lib/attachments.py:24 msgid "Invalid attachment" @@ -3501,11 +3501,11 @@ msgstr "" #: zerver/lib/email_validation.py:100 msgid "Invalid address." -msgstr "" +msgstr "ādrês zêbāl nî." #: zerver/lib/email_validation.py:105 msgid "Outside your domain." -msgstr "" +msgstr "dar zê dāmanê isā hêď." #: zerver/lib/email_validation.py:109 zerver/views/users.py:708 msgid "Email addresses containing + are not allowed." @@ -4032,7 +4032,7 @@ msgstr "" #. error #: zerver/lib/push_notifications.py:575 zilencer/views.py:205 msgid "Token does not exist" -msgstr "" +msgstr "nêšovêi nî" #: zerver/lib/push_notifications.py:746 msgid "" @@ -4292,12 +4292,12 @@ msgstr "" #: zerver/lib/users.py:245 zerver/lib/users.py:247 msgid "No such bot" -msgstr "" +msgstr "činow robāti nî" #: zerver/lib/users.py:271 zerver/lib/users.py:298 zerver/lib/users.py:314 #: zerver/views/presence.py:44 msgid "No such user" -msgstr "" +msgstr "činow mêntori nî" #: zerver/lib/users.py:273 msgid "User is deactivated" @@ -4823,7 +4823,7 @@ msgstr "" #: zerver/views/message_send.py:201 msgid "Missing sender" -msgstr "" +msgstr "fêšnāko pati hêď" #: zerver/views/message_send.py:208 msgid "Mirroring not allowed with recipient user IDs" @@ -5174,7 +5174,7 @@ msgstr "" #: zerver/views/user_settings.py:258 msgid "Wrong password!" -msgstr "" +msgstr "razm zêbāl nî!" #: zerver/views/user_settings.py:263 msgid "You're making too many attempts! Try again in {} seconds." diff --git a/locale/bqi/translations.json b/locale/bqi/translations.json index 086bb861a7..7e1503b431 100644 --- a/locale/bqi/translations.json +++ b/locale/bqi/translations.json @@ -558,7 +558,7 @@ "Incoming webhooks can only send messages.": "", "Initiate a search": "", "Insert new line": "", - "Integrations": "", + "Integrations": "ya jur kerdênā", "Interface": "", "Invalid URL": "", "Invalid stream ID": "", diff --git a/locale/cs/LC_MESSAGES/django.po b/locale/cs/LC_MESSAGES/django.po index 8738f0406f..1ef6f179c9 100644 --- a/locale/cs/LC_MESSAGES/django.po +++ b/locale/cs/LC_MESSAGES/django.po @@ -834,7 +834,7 @@ msgstr "Souhlasím s \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: analytics/views/stats.py:110 zerver/decorator.py:623 zerver/decorator.py:641 +#: analytics/views/stats.py:110 zerver/decorator.py:628 zerver/decorator.py:646 msgid "Not allowed for guest users" msgstr "" @@ -43,7 +43,8 @@ msgid "Group direct messages" msgstr "" #: analytics/views/stats.py:318 -msgid "Unknown chart name: {}" +#, python-brace-format +msgid "Unknown chart name: {chart_name}" msgstr "" #: analytics/views/stats.py:328 @@ -55,8 +56,8 @@ msgstr "" msgid "No analytics data available. Please contact your server administrator." msgstr "" -#: analytics/views/support.py:189 zerver/views/streams.py:304 -#: zerver/views/streams.py:308 zerver/views/streams.py:316 +#: analytics/views/support.py:189 zerver/views/streams.py:306 +#: zerver/views/streams.py:310 zerver/views/streams.py:318 msgid "Invalid parameters" msgstr "" @@ -113,30 +114,32 @@ msgid "" "{num_invites} users." msgstr "" -#: corporate/lib/stripe.py:112 -msgid "You must invoice for at least {} users." +#: corporate/lib/stripe.py:113 +#, python-brace-format +msgid "You must invoice for at least {min_licenses} users." msgstr "" -#: corporate/lib/stripe.py:117 +#: corporate/lib/stripe.py:120 +#, python-brace-format msgid "" -"Invoices with more than {} licenses can't be processed from this page. To " -"complete the upgrade, please contact {}." +"Invoices with more than {max_licenses} licenses can't be processed from this " +"page. To complete the upgrade, please contact {email}." msgstr "" -#: corporate/lib/stripe.py:225 +#: corporate/lib/stripe.py:228 #, python-brace-format msgid "Something went wrong. Please contact {email}." msgstr "" -#: corporate/lib/stripe.py:226 +#: corporate/lib/stripe.py:229 msgid "Something went wrong. Please reload the page." msgstr "" -#: corporate/lib/stripe.py:300 +#: corporate/lib/stripe.py:303 msgid "Something went wrong. Please wait a few seconds and try again." msgstr "" -#: corporate/lib/stripe.py:1020 +#: corporate/lib/stripe.py:1023 #, python-brace-format msgid "" "Your organization's request for sponsored hosting has been approved! You " @@ -170,7 +173,7 @@ msgstr "" msgid "Unable to update the plan. The plan has ended." msgstr "" -#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:253 +#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:251 msgid "" "Unable to update licenses manually. Your plan is on automatic license " "management." @@ -186,14 +189,14 @@ msgstr "" msgid "You cannot decrease the licenses in the current billing period." msgstr "" -#: corporate/views/billing_page.py:259 +#: corporate/views/billing_page.py:257 #, python-brace-format msgid "" "Your plan is already scheduled to renew with {licenses_at_next_renewal} " "licenses." msgstr "" -#: corporate/views/billing_page.py:273 +#: corporate/views/billing_page.py:271 msgid "Nothing to change." msgstr "" @@ -205,7 +208,7 @@ msgstr "" msgid "Session not found" msgstr "" -#: corporate/views/event_status.py:37 zerver/decorator.py:196 +#: corporate/views/event_status.py:37 zerver/decorator.py:197 msgid "Must be a billing administrator or an organization owner" msgstr "" @@ -256,7 +259,7 @@ msgid "" msgstr "" #: templates/500.html:4 templates/500.html:21 -#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:433 +#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:410 msgid "Internal server error" msgstr "" @@ -566,7 +569,7 @@ msgstr "" #: templates/corporate/for/events.html:34 #: templates/corporate/for/events.html:288 #: templates/corporate/for/open-source.html:36 -#: templates/corporate/for/open-source.html:720 +#: templates/corporate/for/open-source.html:727 #: templates/corporate/for/research.html:36 #: templates/corporate/for/research.html:402 #: templates/corporate/for/use-cases.html:23 @@ -586,7 +589,7 @@ msgstr "" #: templates/corporate/for/events.html:40 #: templates/corporate/for/events.html:294 #: templates/corporate/for/open-source.html:42 -#: templates/corporate/for/open-source.html:726 +#: templates/corporate/for/open-source.html:733 #: templates/corporate/for/research.html:42 #: templates/corporate/for/research.html:408 #: templates/corporate/for/use-cases.html:29 @@ -598,7 +601,7 @@ msgstr "" #: templates/corporate/for/events.html:37 #: templates/corporate/for/events.html:291 #: templates/corporate/for/open-source.html:39 -#: templates/corporate/for/open-source.html:723 +#: templates/corporate/for/open-source.html:730 #: templates/corporate/for/research.html:39 #: templates/corporate/for/research.html:405 msgid "Request sponsorship" @@ -864,52 +867,52 @@ msgid "Sign up with %(identity_provider)s" msgstr "" #: templates/zerver/accounts_send_confirm.html:5 -msgid "Confirm your email address" -msgstr "" - #: templates/zerver/accounts_send_confirm.html:17 -msgid "Thanks for signing up!" +msgid "Confirm your email address" msgstr "" #: templates/zerver/accounts_send_confirm.html:21 #, python-format msgid "" -"Check your email (%(email)s) so " -"we can get started." +"To complete your registration, check your email account (%(email)s) for a confirmation email " +"from Zulip." msgstr "" #: templates/zerver/accounts_send_confirm.html:25 msgid "" -"Still no email? We can resend it." +"If you don't see a confirmation email in your Inbox or Spam folder, we can " +"resend it." msgstr "" -#: templates/zerver/accounts_send_confirm.html:26 -msgid "Just in case, take a look at your Spam folder." -msgstr "" - -#: templates/zerver/app/index.html:121 +#: templates/zerver/app/index.html:128 msgid "" -"If this message does not go away, try reloading the " -"page." +"If this message does not go away, try reloading " +"the page." msgstr "" -#: templates/zerver/app/index.html:164 +#: templates/zerver/app/index.html:131 +msgid "" +"Error loading Zulip. Try reloading the page." +msgstr "" + +#: templates/zerver/app/index.html:174 msgid "Unable to connect to Zulip." msgstr "" -#: templates/zerver/app/index.html:165 +#: templates/zerver/app/index.html:175 msgid "Updates may be delayed." msgstr "" -#: templates/zerver/app/index.html:166 +#: templates/zerver/app/index.html:176 msgid "Retrying soon…" msgstr "" -#: templates/zerver/app/index.html:167 +#: templates/zerver/app/index.html:177 msgid "Try now." msgstr "" -#: templates/zerver/app/index.html:241 templates/zerver/app/index.html:243 +#: templates/zerver/app/index.html:251 templates/zerver/app/index.html:253 msgid "Messages" msgstr "" @@ -938,6 +941,7 @@ msgstr "" #: templates/zerver/billing_nav.html:4 #: templates/zerver/development/integrations_dev_panel.html:19 +#: templates/zerver/emails/compiled/followup_day2.html:28 #: templates/zerver/portico-header.html:5 #: templates/zerver/portico-header.html:9 msgid "Zulip" @@ -1168,6 +1172,8 @@ msgstr "" msgid "Digest" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:9 +#: templates/zerver/emails/compiled/notify_change_in_email.html:9 #: templates/zerver/emails/confirm_new_email.html:8 #: templates/zerver/emails/confirm_new_email.txt:1 #: templates/zerver/emails/notify_change_in_email.html:8 @@ -1175,6 +1181,7 @@ msgstr "" msgid "Hi," msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:11 #: templates/zerver/emails/confirm_new_email.html:10 #: templates/zerver/emails/confirm_new_email.txt:4 #, python-format @@ -1184,10 +1191,12 @@ msgid "" "please click below:" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:12 #: templates/zerver/emails/confirm_new_email.html:11 msgid "Confirm email change" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:14 #: templates/zerver/emails/confirm_new_email.html:13 #, python-format msgid "" @@ -1195,6 +1204,623 @@ msgid "" "%(support_email)s." msgstr "" +#: templates/zerver/emails/compiled/confirm_registration.html:11 +#: templates/zerver/emails/confirm_registration.html:10 +#: templates/zerver/emails/confirm_registration.txt:2 +msgid "You have requested a new Zulip organization. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:13 +#: templates/zerver/emails/confirm_registration.html:12 +#: templates/zerver/emails/confirm_registration.txt:4 +msgid "You recently signed up for Zulip. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:18 +#: templates/zerver/emails/confirm_registration.html:17 +msgid "" +"Click the button below to create the organization and register your account." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:20 +#: templates/zerver/emails/confirm_registration.html:19 +msgid "Click the button below to complete registration." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:22 +#: templates/zerver/emails/compiled/invitation.html:17 +#: templates/zerver/emails/compiled/invitation_reminder.html:15 +#: templates/zerver/emails/confirm_registration.html:21 +#: templates/zerver/emails/invitation.html:16 +#: templates/zerver/emails/invitation_reminder.html:14 +msgid "Complete registration" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:24 +#: templates/zerver/emails/compiled/invitation.html:20 +#: templates/zerver/emails/compiled/realm_reactivation.html:20 +#, python-format +msgid "" +"Contact us any time at %(support_email)s if you run into trouble, have any " +"feedback, or just want to chat!" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:8 +#, python-format +msgid "" +"\n" +"Your Zulip account on %(realm_uri)s has been deactivated, and you will " +"no longer be able to log in.\n" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:15 +#: templates/zerver/emails/deactivate.html:15 +#: templates/zerver/emails/deactivate.txt:6 +msgid "The administrators provided the following comment:" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:28 +#: templates/zerver/emails/digest.html:27 +msgid "New streams" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:35 +#: templates/zerver/emails/digest.html:34 +msgid "Click here to log in to Zulip and catch up." +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:40 +#: templates/zerver/emails/compiled/followup_day2.html:34 +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/custom_email_base.pre.html:18 +#: templates/zerver/emails/digest.html:39 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Manage email preferences" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:41 +#: templates/zerver/emails/digest.html:40 +msgid "Unsubscribe from digest emails" +msgstr "" + +#: templates/zerver/emails/compiled/email_base_default.html:95 +#: templates/zerver/emails/compiled/email_base_marketing.html:95 +#: templates/zerver/emails/email_base_default.html:33 +#: templates/zerver/emails/email_base_marketing.html:33 +msgid "Swimming fish" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:9 +#: templates/zerver/emails/find_team.html:8 +#: templates/zerver/emails/find_team.txt:1 +msgid "Thanks for your request!" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:11 +#, python-format +msgid "" +"Your email address %(email)s has accounts with the following Zulip " +"organizations hosted by %(external_host)s:" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:19 +#: templates/zerver/emails/find_team.html:18 +#: templates/zerver/emails/find_team.txt:10 +msgid "" +"If you have trouble logging in, please contact Zulip support by replying to " +"this email." +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:21 +#: templates/zerver/emails/find_team.html:20 +#: templates/zerver/emails/find_team.txt:13 +msgid "Thanks for using Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:9 +#: templates/zerver/emails/followup_day1.html:24 +#: templates/zerver/emails/followup_day1.txt:1 +msgid "Welcome to Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:14 +msgid "" +"You've created a demo Zulip organization. Note that this organization will " +"be automatically deleted in 30 days. Learn more about demo organizations here!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:16 +#, python-format +msgid "You've created the new Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:19 +#, python-format +msgid "You've joined the Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:24 +msgid "Your account details:" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:27 +#: templates/zerver/emails/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.txt:16 +#, python-format +msgid "Organization URL: %(organization_url)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:31 +#, python-format +msgid "Username: %(ldap_username)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.html:39 +#: templates/zerver/emails/followup_day1.txt:22 +msgid "Use your LDAP account to log in" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:38 +#, python-format +msgid "Email: %(email)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:42 +#, python-format +msgid "" +"(you'll need these to sign in to the mobile and desktop " +"apps)" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:47 +#, python-format +msgid "" +"Check out our guide for admins, become a Zulip pro with a " +"few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:49 +#, python-format +msgid "" +"Learn more about Zulip, become a pro with a few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:54 +msgid "Cheers," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:55 +#: templates/zerver/emails/compiled/notify_change_in_email.html:15 +#: templates/zerver/emails/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.txt:7 +msgid "Team Zulip" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:59 +msgid "" +"PS: Follow us on Twitter, star us on GitHub, or chat with us live on the Zulip community server!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:9 +msgid "Hey," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:11 +msgid "" +"I wanted to share one last thing with you: a few tips about topics, since " +"mastering topics is a key part of being a Zulip power user." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:13 +#: templates/zerver/emails/followup_day2.html:22 +msgid "Examples of short topics" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:15 +msgid "" +"Topics are like email subject lines. The big difference, though, is that " +"they're really short and lightweight. Two or three words will do it. Don't " +"overthink 'em—you can always edit the message later!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:18 +msgid "Good topics: design mockup, Bug 345, acme burgers" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:19 +msgid "" +"Not recommended: \"What do people think of this new design mockup?\", \"I'm " +"looking at Bug 345\", \"Is Acme Burgers open for lunch?\"" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:22 +msgid "Example of a topic that is too long" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:24 +msgid "" +"Why bother with topics? Well, two reasons: it makes conversations clearer " +"(imagine if email didn't have them!), and it lets you more efficiently catch " +"up on what's happened while you're away—read the topics that are relevant to " +"you, and ignore the ones that aren't!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:26 +msgid "Take it for a spin now." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:28 +#: templates/zerver/emails/compiled/notify_new_login.html:42 +#: templates/zerver/emails/notify_new_login.html:40 +#: templates/zerver/emails/notify_new_login.txt:20 +msgid "Thanks," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:35 +msgid "Unsubscribe from welcome emails" +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:10 +#: templates/zerver/emails/invitation.html:9 +#: templates/zerver/emails/invitation.txt:1 +msgid "Hi there," +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:13 +#, python-format +msgid "" +"%(referrer_name)s wants you to join them on Zulip — the team communication " +"tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:16 +#: templates/zerver/emails/compiled/invitation_reminder.html:14 +#: templates/zerver/emails/invitation.html:15 +#: templates/zerver/emails/invitation_reminder.html:13 +msgid "To get started, click the button below." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:9 +#: templates/zerver/emails/invitation_reminder.html:8 +#: templates/zerver/emails/invitation_reminder.txt:1 +msgid "Hi again," +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:11 +#, python-format +msgid "" +"This is a friendly reminder that %(referrer_name)s wants you to join them on " +"Zulip — the team communication tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:19 +#: templates/zerver/emails/invitation_reminder.html:18 +#: templates/zerver/emails/invitation_reminder.txt:8 +msgid "This is the last reminder you'll receive for this invitation." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:23 +#: templates/zerver/emails/invitation_reminder.html:22 +#, python-format +msgid "" +"\n" +" This invitation expires in two days. If the invitation expires,\n" +" you'll need to ask %(referrer_name)s for another one.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:18 +#, python-format +msgid "" +"This email does not include message content because your organization has " +"disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:20 +#, python-format +msgid "" +"This email does not include message content because you have disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:30 +#: templates/zerver/emails/missed_message.html:29 +#: templates/zerver/emails/missed_message.txt:25 +msgid "You are receiving this because you were personally mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:32 +#: templates/zerver/emails/missed_message.html:31 +#: templates/zerver/emails/missed_message.txt:27 +#, python-format +msgid "" +"You are receiving this because @%(mentioned_user_group_name)s was mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:34 +#: templates/zerver/emails/missed_message.html:39 +#: templates/zerver/emails/missed_message.txt:35 +#, python-format +msgid "" +"You are receiving this because everyone was mentioned in #%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:36 +#: templates/zerver/emails/missed_message.html:43 +#: templates/zerver/emails/missed_message.txt:39 +#, python-format +msgid "" +"You are receiving this because you have email notifications enabled for " +"#%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:39 +#, python-format +msgid "" +"Reply to this email directly, view it in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:41 +#, python-format +msgid "" +"View or reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:43 +#, python-format +msgid "" +"Reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:45 +#, python-format +msgid "" +"\n" +" Do not reply to this email. This Zulip server is not configured to " +"accept incoming emails (help).\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:11 +#: templates/zerver/emails/notify_change_in_email.html:10 +#, python-format +msgid "" +"The email associated with your Zulip account was recently changed to " +"%(new_email)s. If you did not request this change, please contact us " +"immediately at %(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.html:13 +#: templates/zerver/emails/notify_change_in_email.txt:6 +msgid "Best," +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:4 +#: templates/zerver/emails/notify_new_login.html:4 +#, python-format +msgid "" +"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:13 +#: templates/zerver/emails/notify_new_login.html:12 +#: templates/zerver/emails/notify_new_login.txt:1 +msgid "We noticed a recent login for the following Zulip account." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:18 +#: templates/zerver/emails/notify_new_login.html:16 +#, python-format +msgid "Organization: %(organization_link)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:21 +#: templates/zerver/emails/notify_new_login.html:19 +#: templates/zerver/emails/notify_new_login.txt:5 +#, python-format +msgid "Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:24 +#: templates/zerver/emails/notify_new_login.html:22 +#: templates/zerver/emails/notify_new_login.txt:7 +#, python-format +msgid "Time: %(login_time)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:27 +#: templates/zerver/emails/notify_new_login.html:25 +#: templates/zerver/emails/notify_new_login.txt:9 +#, python-format +msgid "Device: %(device_browser)s on %(device_os)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:30 +#: templates/zerver/emails/notify_new_login.html:28 +#: templates/zerver/emails/notify_new_login.txt:11 +#, python-format +msgid "IP address: %(device_ip)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:35 +#: templates/zerver/emails/notify_new_login.html:33 +#: templates/zerver/emails/notify_new_login.txt:14 +msgid "If this was you, great! There's nothing else you need to do." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:38 +#, python-format +msgid "" +"If you do not recognize this login, or think your account may have been " +"compromised, please reset your password or contact us immediately at " +"%(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:43 +#: templates/zerver/emails/notify_new_login.html:41 +#: templates/zerver/emails/notify_new_login.txt:21 +msgid "Zulip Security" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Unsubscribe from login notifications" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:10 +#: templates/zerver/emails/password_reset.html:9 +#: templates/zerver/emails/password_reset.txt:1 +#, python-format +msgid "" +"Somebody (possibly you) requested a new password for the Zulip account " +"%(email)s on %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:14 +#: templates/zerver/emails/password_reset.html:13 +msgid "Click the button below to reset your password." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:15 +#: templates/zerver/emails/password_reset.html:14 +msgid "Reset password" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:20 +#, python-format +msgid "" +"You previously had an account on %(organization_url)s, but it has been " +"deactivated. You can contact an organization administrator to reactivate your account." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:22 +#: templates/zerver/emails/password_reset.html:21 +#: templates/zerver/emails/password_reset.txt:11 +msgid "You do not have an account in that Zulip organization." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:27 +#: templates/zerver/emails/password_reset.html:26 +#: templates/zerver/emails/password_reset.txt:16 +msgid "You do have active accounts in the following organization(s)." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:34 +#: templates/zerver/emails/password_reset.html:32 +#: templates/zerver/emails/password_reset.txt:21 +msgid "" +"You can try logging in or resetting your password in the organization(s) " +"above." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:40 +#: templates/zerver/emails/password_reset.html:38 +#: templates/zerver/emails/password_reset.txt:25 +msgid "" +"If you do not recognize this activity, you can safely ignore this email." +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:8 +#: templates/zerver/emails/realm_auto_downgraded.html:8 +#, python-format +msgid "" +"\n" +" Your organization, %(organization_name_with_link)s, has been downgraded " +"to the Zulip Cloud\n" +" Free plan because of unpaid invoices. The unpaid invoices have been " +"voided.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:15 +#: templates/zerver/emails/realm_auto_downgraded.html:15 +#, python-format +msgid "" +"\n" +" To continue on the Zulip Cloud Standard plan, please upgrade again by " +"going to %(upgrade_url)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:22 +#: templates/zerver/emails/realm_auto_downgraded.html:22 +#, python-format +msgid "" +"\n" +" If you think this was a mistake or need more details, please reach out " +"to us at %(support_email)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:9 +#: templates/zerver/emails/realm_reactivation.html:8 +#: templates/zerver/emails/realm_reactivation.txt:1 +#, python-format +msgid "Dear former administrators of %(realm_name)s," +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:11 +#: templates/zerver/emails/realm_reactivation.html:10 +#: templates/zerver/emails/realm_reactivation.txt:4 +#, python-format +msgid "" +"One of your administrators requested reactivation of the previously " +"deactivated Zulip organization hosted at %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:14 +#: templates/zerver/emails/realm_reactivation.html:13 +msgid "Click the button below to reactivate your organization." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:15 +#: templates/zerver/emails/realm_reactivation.html:14 +msgid "Reactivate organization" +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:18 +#: templates/zerver/emails/realm_reactivation.html:17 +#: templates/zerver/emails/realm_reactivation.txt:10 +msgid "" +"If the request was in error, you can take no action and this link will " +"expire in 24 hours." +msgstr "" + #: templates/zerver/emails/confirm_new_email.subject.txt:1 msgid "Verify your new email address" msgstr "" @@ -1206,31 +1832,6 @@ msgid "" "<%(support_email)s>." msgstr "" -#: templates/zerver/emails/confirm_registration.html:10 -#: templates/zerver/emails/confirm_registration.txt:2 -msgid "You have requested a new Zulip organization. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:12 -#: templates/zerver/emails/confirm_registration.txt:4 -msgid "You recently signed up for Zulip. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:17 -msgid "" -"Click the button below to create the organization and register your account." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:19 -msgid "Click the button below to complete registration." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:21 -#: templates/zerver/emails/invitation.html:16 -#: templates/zerver/emails/invitation_reminder.html:14 -msgid "Complete registration" -msgstr "" - #: templates/zerver/emails/confirm_registration.subject.txt:2 msgid "Create your Zulip organization" msgstr "" @@ -1269,12 +1870,6 @@ msgid "" "at %(support_email)s." msgstr "" -#: templates/zerver/emails/custom_email_base.pre.html:18 -#: templates/zerver/emails/digest.html:39 -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Manage email preferences" -msgstr "" - #: templates/zerver/emails/custom_email_base.pre.html:18 msgid "Unsubscribe from marketing emails" msgstr "" @@ -1287,11 +1882,6 @@ msgid "" "deactivated, and you will no longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/deactivate.html:15 -#: templates/zerver/emails/deactivate.txt:6 -msgid "The administrators provided the following comment:" -msgstr "" - #: templates/zerver/emails/deactivate.subject.txt:1 #, python-format msgid "Notification of account deactivation on %(realm_name)s" @@ -1305,18 +1895,6 @@ msgid "" "longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/digest.html:27 -msgid "New streams" -msgstr "" - -#: templates/zerver/emails/digest.html:34 -msgid "Click here to log in to Zulip and catch up." -msgstr "" - -#: templates/zerver/emails/digest.html:40 -msgid "Unsubscribe from digest emails" -msgstr "" - #: templates/zerver/emails/digest.subject.txt:1 #, python-format msgid "Zulip digest for %(realm_name)s" @@ -1335,16 +1913,6 @@ msgstr "" msgid "Unsubscribe from digest emails:" msgstr "" -#: templates/zerver/emails/email_base_default.html:33 -#: templates/zerver/emails/email_base_marketing.html:33 -msgid "Swimming fish" -msgstr "" - -#: templates/zerver/emails/find_team.html:8 -#: templates/zerver/emails/find_team.txt:1 -msgid "Thanks for your request!" -msgstr "" - #: templates/zerver/emails/find_team.html:10 #, python-format msgid "" @@ -1352,18 +1920,6 @@ msgid "" "organizations hosted by %(external_host)s:" msgstr "" -#: templates/zerver/emails/find_team.html:18 -#: templates/zerver/emails/find_team.txt:10 -msgid "" -"If you have trouble logging in, please contact Zulip support by replying to " -"this email." -msgstr "" - -#: templates/zerver/emails/find_team.html:20 -#: templates/zerver/emails/find_team.txt:13 -msgid "Thanks for using Zulip!" -msgstr "" - #: templates/zerver/emails/find_team.subject.txt:1 msgid "Your Zulip accounts" msgstr "" @@ -1393,11 +1949,6 @@ msgid "" " organization: %(realm_name)s." msgstr "" -#: templates/zerver/emails/followup_day1.html:24 -#: templates/zerver/emails/followup_day1.txt:1 -msgid "Welcome to Zulip!" -msgstr "" - #: templates/zerver/emails/followup_day1.html:26 #, python-format msgid "" @@ -1412,23 +1963,12 @@ msgid "" "href=\"%(apps_page_link)s\">mobile and desktop apps:" msgstr "" -#: templates/zerver/emails/followup_day1.html:34 -#: templates/zerver/emails/followup_day1.txt:16 -#, python-format -msgid "Organization URL: %(organization_url)s" -msgstr "" - #: templates/zerver/emails/followup_day1.html:37 #: templates/zerver/emails/followup_day1.txt:20 #, python-format msgid "Your username: %(ldap_username)s" msgstr "" -#: templates/zerver/emails/followup_day1.html:39 -#: templates/zerver/emails/followup_day1.txt:22 -msgid "Use your LDAP account to log in" -msgstr "" - #: templates/zerver/emails/followup_day1.html:42 #: templates/zerver/emails/followup_day1.txt:25 #, python-format @@ -1548,10 +2088,6 @@ msgid "" "about…?”" msgstr "" -#: templates/zerver/emails/followup_day2.html:22 -msgid "Examples of short topics" -msgstr "" - #: templates/zerver/emails/followup_day2.html:25 #, python-format msgid "" @@ -1595,11 +2131,6 @@ msgid "" "(%(move_topic_to_different_stream_link)s)." msgstr "" -#: templates/zerver/emails/invitation.html:9 -#: templates/zerver/emails/invitation.txt:1 -msgid "Hi there," -msgstr "" - #: templates/zerver/emails/invitation.html:12 #, python-format msgid "" @@ -1607,11 +2138,6 @@ msgid "" "communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation.html:15 -#: templates/zerver/emails/invitation_reminder.html:13 -msgid "To get started, click the button below." -msgstr "" - #: templates/zerver/emails/invitation.subject.txt:1 #, python-format msgid "%(referrer_full_name)s has invited you to join %(referrer_realm_name)s" @@ -1629,11 +2155,6 @@ msgstr "" msgid "To get started, click the link below." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:8 -#: templates/zerver/emails/invitation_reminder.txt:1 -msgid "Hi again," -msgstr "" - #: templates/zerver/emails/invitation_reminder.html:10 #, python-format msgid "" @@ -1641,20 +2162,6 @@ msgid "" "Zulip — the team communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:18 -#: templates/zerver/emails/invitation_reminder.txt:8 -msgid "This is the last reminder you'll receive for this invitation." -msgstr "" - -#: templates/zerver/emails/invitation_reminder.html:22 -#, python-format -msgid "" -"\n" -" This invitation expires in two days. If the invitation expires,\n" -" you'll need to ask %(referrer_name)s for another one.\n" -" " -msgstr "" - #: templates/zerver/emails/invitation_reminder.subject.txt:1 #, python-format msgid "Reminder: Join %(referrer_name)s at %(referrer_realm_name)s" @@ -1705,34 +2212,31 @@ msgid "" "content appearing in email notifications." msgstr "" -#: templates/zerver/emails/missed_message.html:29 -#: templates/zerver/emails/missed_message.txt:25 -msgid "You are receiving this because you were personally mentioned." -msgstr "" - -#: templates/zerver/emails/missed_message.html:31 -#: templates/zerver/emails/missed_message.txt:27 -#, python-format -msgid "" -"You are receiving this because @%(mentioned_user_group_name)s was mentioned." -msgstr "" - #: templates/zerver/emails/missed_message.html:33 +#: templates/zerver/emails/missed_message.html:37 #: templates/zerver/emails/missed_message.txt:29 +#: templates/zerver/emails/missed_message.txt:33 #, python-format msgid "" -"You are receiving this because everyone was mentioned in #%(stream_name)s." +"You are receiving this because all topic participants were mentioned in " +"#%(stream_name)s > %(topic_name)s." msgstr "" #: templates/zerver/emails/missed_message.html:35 #: templates/zerver/emails/missed_message.txt:31 -#, python-format msgid "" -"You are receiving this because you have email notifications enabled for " -"#%(stream_name)s." +"You are receiving this because you have wildcard mention notifications " +"enabled for topics you follow." msgstr "" -#: templates/zerver/emails/missed_message.html:38 +#: templates/zerver/emails/missed_message.html:41 +#: templates/zerver/emails/missed_message.txt:37 +msgid "" +"You are receiving this because you have email notifications enabled for " +"topics you follow." +msgstr "" + +#: templates/zerver/emails/missed_message.html:46 #, python-format msgid "" "Reply to this email directly, view it in " @@ -1740,21 +2244,21 @@ msgid "" "preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:40 +#: templates/zerver/emails/missed_message.html:48 #, python-format msgid "" "View or reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:42 +#: templates/zerver/emails/missed_message.html:50 #, python-format msgid "" "Reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:44 +#: templates/zerver/emails/missed_message.html:52 #, python-format msgid "" "\n" @@ -1800,50 +2304,32 @@ msgid "" "See %(alert_notif_url)s for more details.\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:35 +#: templates/zerver/emails/missed_message.txt:43 #, python-format msgid "Reply to this email directly, or view it in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:39 +#: templates/zerver/emails/missed_message.txt:47 #, python-format msgid "View or reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:43 +#: templates/zerver/emails/missed_message.txt:51 #, python-format msgid "Reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:47 +#: templates/zerver/emails/missed_message.txt:55 msgid "" "\n" "Do not reply to this email. This Zulip server is not configured to accept\n" "incoming emails. Help:\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:54 +#: templates/zerver/emails/missed_message.txt:62 msgid "Manage email preferences: " msgstr "" -#: templates/zerver/emails/notify_change_in_email.html:10 -#, python-format -msgid "" -"The email associated with your Zulip account was recently changed to " -"%(new_email)s. If you did not request this change, please contact us " -"immediately at %(support_email)s." -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:13 -#: templates/zerver/emails/notify_change_in_email.txt:6 -msgid "Best," -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:14 -#: templates/zerver/emails/notify_change_in_email.txt:7 -msgid "Team Zulip" -msgstr "" - #: templates/zerver/emails/notify_change_in_email.subject.txt:1 #, python-format msgid "Zulip email changed for %(realm_name)s" @@ -1857,51 +2343,6 @@ msgid "" "immediately at <%(support_email)s>." msgstr "" -#: templates/zerver/emails/notify_new_login.html:4 -#, python-format -msgid "" -"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:12 -#: templates/zerver/emails/notify_new_login.txt:1 -msgid "We noticed a recent login for the following Zulip account." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:16 -#, python-format -msgid "Organization: %(organization_link)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:19 -#: templates/zerver/emails/notify_new_login.txt:5 -#, python-format -msgid "Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:22 -#: templates/zerver/emails/notify_new_login.txt:7 -#, python-format -msgid "Time: %(login_time)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:25 -#: templates/zerver/emails/notify_new_login.txt:9 -#, python-format -msgid "Device: %(device_browser)s on %(device_os)s." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:28 -#: templates/zerver/emails/notify_new_login.txt:11 -#, python-format -msgid "IP address: %(device_ip)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:33 -#: templates/zerver/emails/notify_new_login.txt:14 -msgid "If this was you, great! There's nothing else you need to do." -msgstr "" - #: templates/zerver/emails/notify_new_login.html:36 #, python-format msgid "" @@ -1910,20 +2351,6 @@ msgid "" "contact us immediately at %(support_email)s." msgstr "" -#: templates/zerver/emails/notify_new_login.html:40 -#: templates/zerver/emails/notify_new_login.txt:20 -msgid "Thanks," -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:41 -#: templates/zerver/emails/notify_new_login.txt:21 -msgid "Zulip Security" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Unsubscribe from login notifications" -msgstr "" - #: templates/zerver/emails/notify_new_login.subject.txt:1 #, python-format msgid "New login from %(device_browser)s on %(device_os)s" @@ -2014,22 +2441,6 @@ msgstr "" msgid "Zulip guide for communities" msgstr "" -#: templates/zerver/emails/password_reset.html:9 -#: templates/zerver/emails/password_reset.txt:1 -#, python-format -msgid "" -"Somebody (possibly you) requested a new password for the Zulip account " -"%(email)s on %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/password_reset.html:13 -msgid "Click the button below to reset your password." -msgstr "" - -#: templates/zerver/emails/password_reset.html:14 -msgid "Reset password" -msgstr "" - #: templates/zerver/emails/password_reset.html:19 #, python-format msgid "" @@ -2038,29 +2449,6 @@ msgid "" "href=\"%(help_link)s\">reactivate your account." msgstr "" -#: templates/zerver/emails/password_reset.html:21 -#: templates/zerver/emails/password_reset.txt:11 -msgid "You do not have an account in that Zulip organization." -msgstr "" - -#: templates/zerver/emails/password_reset.html:26 -#: templates/zerver/emails/password_reset.txt:16 -msgid "You do have active accounts in the following organization(s)." -msgstr "" - -#: templates/zerver/emails/password_reset.html:32 -#: templates/zerver/emails/password_reset.txt:21 -msgid "" -"You can try logging in or resetting your password in the organization(s) " -"above." -msgstr "" - -#: templates/zerver/emails/password_reset.html:38 -#: templates/zerver/emails/password_reset.txt:25 -msgid "" -"If you do not recognize this activity, you can safely ignore this email." -msgstr "" - #: templates/zerver/emails/password_reset.subject.txt:1 #, python-format msgid "Password reset request for %(realm_name)s" @@ -2077,64 +2465,6 @@ msgid "" "You can contact an organization administrator to reactivate your account." msgstr "" -#: templates/zerver/emails/realm_auto_downgraded.html:8 -#, python-format -msgid "" -"\n" -" Your organization, %(organization_name_with_link)s, has been downgraded " -"to the Zulip Cloud\n" -" Free plan because of unpaid invoices. The unpaid invoices have been " -"voided.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:15 -#, python-format -msgid "" -"\n" -" To continue on the Zulip Cloud Standard plan, please upgrade again by " -"going to %(upgrade_url)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:22 -#, python-format -msgid "" -"\n" -" If you think this was a mistake or need more details, please reach out " -"to us at %(support_email)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:8 -#: templates/zerver/emails/realm_reactivation.txt:1 -#, python-format -msgid "Dear former administrators of %(realm_name)s," -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:10 -#: templates/zerver/emails/realm_reactivation.txt:4 -#, python-format -msgid "" -"One of your administrators requested reactivation of the previously " -"deactivated Zulip organization hosted at %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:13 -msgid "Click the button below to reactivate your organization." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:14 -msgid "Reactivate organization" -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:17 -#: templates/zerver/emails/realm_reactivation.txt:10 -msgid "" -"If the request was in error, you can take no action and this link will " -"expire in 24 hours." -msgstr "" - #: templates/zerver/emails/realm_reactivation.subject.txt:1 msgid "Reactivate your Zulip organization" msgstr "" @@ -2919,77 +3249,79 @@ msgid "" " " msgstr "" -#: zerver/actions/create_user.py:88 +#: zerver/actions/create_user.py:93 msgid "signups" msgstr "" -#: zerver/actions/create_user.py:101 +#: zerver/actions/create_user.py:106 #, python-brace-format msgid "{user} just signed up for Zulip. (total: {user_count})" msgstr "" -#: zerver/actions/create_user.py:221 +#: zerver/actions/create_user.py:251 #, python-brace-format msgid "{user} accepted your invitation to join Zulip!" msgstr "" -#: zerver/actions/custom_profile_fields.py:129 +#: zerver/actions/custom_profile_fields.py:126 msgid "Invalid order mapping." msgstr "" -#: zerver/actions/custom_profile_fields.py:208 zerver/lib/users.py:390 +#: zerver/actions/custom_profile_fields.py:205 zerver/lib/users.py:396 #: zerver/views/custom_profile_fields.py:195 #: zerver/views/custom_profile_fields.py:216 #, python-brace-format msgid "Field id {id} not found." msgstr "" -#: zerver/actions/default_streams.py:21 -msgid "Invalid default stream group name '{}'" +#: zerver/actions/default_streams.py:25 +#, python-brace-format +msgid "Invalid default stream group name '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:24 -msgid "Default stream group name too long (limit: {} characters)" +#: zerver/actions/default_streams.py:29 +#, python-brace-format +msgid "Default stream group name too long (limit: {max_length} characters)" msgstr "" -#: zerver/actions/default_streams.py:31 -msgid "Default stream group name '{}' contains NULL (0x00) characters." +#: zerver/actions/default_streams.py:37 +#, python-brace-format +msgid "" +"Default stream group name '{group_name}' contains NULL (0x00) characters." msgstr "" -#: zerver/actions/default_streams.py:45 -msgid "Invalid default stream group {}" +#: zerver/actions/default_streams.py:53 +#, python-brace-format +msgid "Invalid default stream group {group_name}" msgstr "" -#: zerver/actions/default_streams.py:92 zerver/actions/default_streams.py:119 +#: zerver/actions/default_streams.py:101 zerver/actions/default_streams.py:128 #, python-brace-format msgid "" "'{stream_name}' is a default stream and cannot be added to '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:103 +#: zerver/actions/default_streams.py:112 zerver/actions/default_streams.py:173 #, python-brace-format msgid "Default stream group '{group_name}' already exists" msgstr "" -#: zerver/actions/default_streams.py:125 +#: zerver/actions/default_streams.py:134 #, python-brace-format msgid "" "Stream '{stream_name}' is already present in default stream group " "'{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:141 +#: zerver/actions/default_streams.py:151 #, python-brace-format msgid "" "Stream '{stream_name}' is not present in default stream group '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:155 -msgid "This default stream group is already named '{}'" -msgstr "" - -#: zerver/actions/default_streams.py:159 -msgid "Default stream group '{}' already exists" +#: zerver/actions/default_streams.py:166 +#, python-brace-format +msgid "This default stream group is already named '{group_name}'" msgstr "" #: zerver/actions/invites.py:161 @@ -3018,190 +3350,189 @@ msgid "" "invitation. We did send invitations to everyone else!" msgstr "" -#: zerver/actions/message_edit.py:92 zerver/views/scheduled_messages.py:61 +#: zerver/actions/message_edit.py:93 zerver/views/scheduled_messages.py:61 msgid "Nothing to change" msgstr "" -#: zerver/actions/message_edit.py:96 +#: zerver/actions/message_edit.py:97 msgid "Direct messages cannot be moved to streams." msgstr "" -#: zerver/actions/message_edit.py:98 +#: zerver/actions/message_edit.py:99 msgid "Direct messages cannot have topics." msgstr "" -#: zerver/actions/message_edit.py:101 +#: zerver/actions/message_edit.py:102 msgid "Invalid propagate_mode without topic edit" msgstr "" -#: zerver/actions/message_edit.py:107 +#: zerver/actions/message_edit.py:108 msgid "Cannot change message content while changing stream" msgstr "" -#: zerver/actions/message_edit.py:111 +#: zerver/actions/message_edit.py:112 msgid "Widgets cannot be edited." msgstr "" -#: zerver/actions/message_edit.py:162 +#: zerver/actions/message_edit.py:163 #, python-brace-format msgid "{user} has marked this topic as resolved." msgstr "" -#: zerver/actions/message_edit.py:164 +#: zerver/actions/message_edit.py:165 #, python-brace-format msgid "{user} has marked this topic as unresolved." msgstr "" -#: zerver/actions/message_edit.py:967 +#: zerver/actions/message_edit.py:985 #, python-brace-format msgid "This topic was moved to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:971 +#: zerver/actions/message_edit.py:989 #, python-brace-format msgid "A message was moved from this topic to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:975 +#: zerver/actions/message_edit.py:993 #, python-brace-format msgid "" "{changed_messages_count} messages were moved from this topic to " "{new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1030 +#: zerver/actions/message_edit.py:1048 #, python-brace-format msgid "This topic was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1035 +#: zerver/actions/message_edit.py:1053 #, python-brace-format msgid "" "[A message]({message_link}) was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1039 +#: zerver/actions/message_edit.py:1057 #, python-brace-format msgid "" "{changed_messages_count} messages were moved here from {old_location} by " "{user}." msgstr "" -#: zerver/actions/message_edit.py:1167 +#: zerver/actions/message_edit.py:1186 msgid "Your organization has turned off message editing" msgstr "" -#: zerver/actions/message_edit.py:1185 zerver/actions/message_edit.py:1188 +#: zerver/actions/message_edit.py:1204 zerver/actions/message_edit.py:1207 msgid "You don't have permission to edit this message" msgstr "" -#: zerver/actions/message_edit.py:1199 +#: zerver/actions/message_edit.py:1218 msgid "The time limit for editing this message has passed" msgstr "" -#: zerver/actions/message_edit.py:1214 +#: zerver/actions/message_edit.py:1233 msgid "The time limit for editing this message's topic has passed." msgstr "" -#: zerver/actions/message_edit.py:1248 zerver/actions/message_send.py:1428 +#: zerver/actions/message_edit.py:1267 zerver/actions/message_send.py:1558 msgid "You do not have permission to use wildcard mentions in this stream." msgstr "" -#: zerver/actions/message_edit.py:1257 +#: zerver/actions/message_edit.py:1280 msgid "You don't have permission to move this message" msgstr "" -#: zerver/actions/message_edit.py:1263 +#: zerver/actions/message_edit.py:1286 msgid "" "You don't have permission to move this message due to missing access to its " "stream" msgstr "" -#: zerver/actions/message_edit.py:1280 +#: zerver/actions/message_edit.py:1303 msgid "The time limit for editing this message's stream has passed" msgstr "" #: zerver/actions/message_flags.py:257 -msgid "Invalid flag: '{}'" +#, python-brace-format +msgid "Invalid flag: '{flag}'" msgstr "" #: zerver/actions/message_flags.py:259 -msgid "Flag not editable: '{}'" +#, python-brace-format +msgid "Flag not editable: '{flag}'" msgstr "" -#: zerver/actions/message_flags.py:261 -msgid "Invalid message flag operation: '{}'" +#: zerver/actions/message_flags.py:262 +#, python-brace-format +msgid "Invalid message flag operation: '{operation}'" msgstr "" -#: zerver/actions/message_flags.py:333 zerver/lib/message.py:758 -#: zerver/lib/message.py:764 +#: zerver/actions/message_flags.py:335 zerver/lib/message.py:786 +#: zerver/lib/message.py:792 msgid "Invalid message(s)" msgstr "" -#: zerver/actions/message_send.py:156 +#: zerver/actions/message_send.py:161 msgid "Unable to render message" msgstr "" -#: zerver/actions/message_send.py:997 +#: zerver/actions/message_send.py:1127 msgid "Expected exactly one stream" msgstr "" -#: zerver/actions/message_send.py:1008 +#: zerver/actions/message_send.py:1138 msgid "Invalid data type for stream" msgstr "" -#: zerver/actions/message_send.py:1024 zerver/actions/message_send.py:1034 +#: zerver/actions/message_send.py:1154 zerver/actions/message_send.py:1164 #: zerver/actions/scheduled_messages.py:53 msgid "Invalid data type for recipients" msgstr "" -#: zerver/actions/message_send.py:1042 zerver/actions/message_send.py:1050 +#: zerver/actions/message_send.py:1172 zerver/actions/message_send.py:1180 msgid "Recipient lists may contain emails or user IDs, but not both." msgstr "" -#: zerver/actions/message_send.py:1195 +#: zerver/actions/message_send.py:1325 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream ID {stream_id}, " "but there is no stream with that ID." msgstr "" -#: zerver/actions/message_send.py:1206 +#: zerver/actions/message_send.py:1336 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}, but " "that stream does not exist. Click [here]({new_stream_link}) to create it." msgstr "" -#: zerver/actions/message_send.py:1218 +#: zerver/actions/message_send.py:1348 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}. The " "stream exists but does not have any subscribers." msgstr "" -#: zerver/actions/message_send.py:1265 +#: zerver/actions/message_send.py:1395 msgid "Direct messages are disabled in this organization." msgstr "" -#: zerver/actions/message_send.py:1342 +#: zerver/actions/message_send.py:1472 msgid "Topics are required in this organization" msgstr "" -#: zerver/actions/message_send.py:1398 +#: zerver/actions/message_send.py:1528 msgid "Widgets: API programmer sent invalid JSON content" msgstr "" -#: zerver/actions/message_send.py:1404 +#: zerver/actions/message_send.py:1534 #, python-brace-format msgid "Widgets: {error_msg}" msgstr "" -#: zerver/actions/reactions.py:116 -msgid "Reaction already exists." -msgstr "" - -#: zerver/actions/realm_emoji.py:32 zerver/views/realm_emoji.py:36 +#: zerver/actions/realm_emoji.py:40 zerver/views/realm_emoji.py:38 msgid "A custom emoji with this name already exists." msgstr "" @@ -3237,18 +3568,32 @@ msgstr "" msgid "[View scheduled messages](#scheduled)" msgstr "" -#: zerver/actions/streams.py:76 +#: zerver/actions/streams.py:73 msgid "Stream is already deactivated" msgstr "" -#: zerver/actions/streams.py:841 +#: zerver/actions/streams.py:165 +msgid "Stream is not currently deactivated" +msgstr "" + +#: zerver/actions/streams.py:168 +#, python-brace-format +msgid "Stream named {stream_name} already exists" +msgstr "" + +#: zerver/actions/streams.py:230 +#, python-brace-format +msgid "Stream {stream_name} un-archived." +msgstr "" + +#: zerver/actions/streams.py:932 #, python-brace-format msgid "" "{user} changed the [access permissions](/help/stream-permissions) for this " "stream from **{old_policy}** to **{new_policy}**." msgstr "" -#: zerver/actions/streams.py:1025 +#: zerver/actions/streams.py:1118 #, python-brace-format msgid "" "{user} changed the [posting permissions](/help/stream-sending-policy) for " @@ -3258,38 +3603,38 @@ msgid "" "* **New permissions**: {new_policy}.\n" msgstr "" -#: zerver/actions/streams.py:1160 +#: zerver/actions/streams.py:1246 #, python-brace-format msgid "{user_name} renamed stream {old_stream_name} to {new_stream_name}." msgstr "" -#: zerver/actions/streams.py:1179 zerver/actions/streams.py:1181 -#: zerver/views/streams.py:793 +#: zerver/actions/streams.py:1265 zerver/actions/streams.py:1267 +#: zerver/views/streams.py:802 msgid "No description." msgstr "" -#: zerver/actions/streams.py:1184 +#: zerver/actions/streams.py:1270 #, python-brace-format msgid "{user} changed the description for this stream." msgstr "" -#: zerver/actions/streams.py:1186 +#: zerver/actions/streams.py:1272 msgid "Old description" msgstr "" -#: zerver/actions/streams.py:1190 +#: zerver/actions/streams.py:1276 msgid "New description" msgstr "" -#: zerver/actions/streams.py:1258 zerver/actions/streams.py:1263 +#: zerver/actions/streams.py:1344 zerver/actions/streams.py:1349 msgid "Forever" msgstr "" -#: zerver/actions/streams.py:1264 +#: zerver/actions/streams.py:1350 msgid "Messages in this stream will now be retained forever." msgstr "" -#: zerver/actions/streams.py:1270 +#: zerver/actions/streams.py:1356 #, python-brace-format msgid "" "{user} has changed the [message retention period](/help/message-retention-" @@ -3300,56 +3645,58 @@ msgid "" "{summary_line}" msgstr "" -#: zerver/actions/submessage.py:30 +#: zerver/actions/submessage.py:29 msgid "You cannot attach a submessage to this message." msgstr "" #: zerver/actions/typing.py:55 zerver/lib/addressee.py:33 -msgid "Invalid user ID {}" +#, python-brace-format +msgid "Invalid user ID {user_id}" msgstr "" -#: zerver/actions/user_groups.py:153 zerver/actions/user_groups.py:168 -msgid "User group '{}' already exists." +#: zerver/actions/user_groups.py:213 zerver/actions/user_groups.py:245 +#, python-brace-format +msgid "User group '{group_name}' already exists." msgstr "" -#: zerver/decorator.py:250 +#: zerver/decorator.py:251 msgid "This API is not available to incoming webhook bots." msgstr "" -#: zerver/decorator.py:277 +#: zerver/decorator.py:278 msgid "Account is not associated with this subdomain" msgstr "" -#: zerver/decorator.py:506 zerver/decorator.py:643 +#: zerver/decorator.py:511 zerver/decorator.py:648 msgid "This endpoint does not accept bot requests." msgstr "" -#: zerver/decorator.py:605 +#: zerver/decorator.py:610 msgid "Must be an server administrator" msgstr "" -#: zerver/decorator.py:662 zerver/lib/streams.py:699 zerver/lib/streams.py:725 -#: zerver/lib/streams.py:727 zerver/lib/streams.py:742 -#: zerver/lib/user_groups.py:35 zerver/lib/user_groups.py:42 -#: zerver/lib/users.py:249 zerver/lib/users.py:278 zerver/views/invite.py:60 -#: zerver/views/realm_emoji.py:31 zerver/views/streams.py:336 -#: zerver/views/streams.py:630 +#: zerver/decorator.py:667 zerver/lib/streams.py:703 zerver/lib/streams.py:729 +#: zerver/lib/streams.py:731 zerver/lib/streams.py:748 +#: zerver/lib/user_groups.py:45 zerver/lib/user_groups.py:52 +#: zerver/lib/users.py:255 zerver/lib/users.py:284 zerver/views/invite.py:60 +#: zerver/views/realm_emoji.py:33 zerver/views/streams.py:338 +#: zerver/views/streams.py:639 msgid "Insufficient permission" msgstr "" -#: zerver/decorator.py:704 +#: zerver/decorator.py:709 msgid "This endpoint requires HTTP basic authentication." msgstr "" -#: zerver/decorator.py:711 +#: zerver/decorator.py:716 msgid "Invalid authorization header for basic auth" msgstr "" -#: zerver/decorator.py:713 +#: zerver/decorator.py:718 msgid "Missing authorization header for basic auth" msgstr "" -#: zerver/decorator.py:886 +#: zerver/decorator.py:893 msgid "Webhook bots can only access webhooks" msgstr "" @@ -3423,9 +3770,10 @@ msgid "New password confirmation" msgstr "" #: zerver/forms.py:496 +#, python-brace-format msgid "" -"You're making too many attempts to sign in. Try again in {} seconds or " -"contact your organization administrator for help." +"You're making too many attempts to sign in. Try again in {seconds} seconds " +"or contact your organization administrator for help." msgstr "" #: zerver/forms.py:508 @@ -3451,7 +3799,8 @@ msgid "We couldn't find that Zulip organization." msgstr "" #: zerver/lib/addressee.py:22 -msgid "Invalid email '{}'" +#, python-brace-format +msgid "Invalid email '{email}'" msgstr "" #: zerver/lib/addressee.py:61 zerver/lib/addressee.py:128 @@ -3536,11 +3885,11 @@ msgstr "" msgid "Draft does not exist" msgstr "" -#: zerver/lib/email_notifications.py:138 zerver/lib/email_notifications.py:160 +#: zerver/lib/email_notifications.py:140 zerver/lib/email_notifications.py:162 msgid "Open Zulip to see the spoiler content" msgstr "" -#: zerver/lib/email_notifications.py:563 +#: zerver/lib/email_notifications.py:591 msgid "Zulip notifications" msgstr "" @@ -3573,172 +3922,181 @@ msgstr "" msgid "Account has been deactivated." msgstr "" -#: zerver/lib/emoji.py:67 zerver/views/realm_emoji.py:59 -msgid "Emoji '{}' does not exist" +#: zerver/lib/emoji.py:88 zerver/views/realm_emoji.py:62 +#, python-brace-format +msgid "Emoji '{emoji_name}' does not exist" msgstr "" -#: zerver/lib/emoji.py:77 +#: zerver/lib/emoji.py:101 msgid "Invalid custom emoji." msgstr "" -#: zerver/lib/emoji.py:79 +#: zerver/lib/emoji.py:103 msgid "Invalid custom emoji name." msgstr "" -#: zerver/lib/emoji.py:81 +#: zerver/lib/emoji.py:105 msgid "This custom emoji has been deactivated." msgstr "" -#: zerver/lib/emoji.py:84 zerver/lib/emoji.py:89 +#: zerver/lib/emoji.py:108 zerver/lib/emoji.py:113 msgid "Invalid emoji code." msgstr "" -#: zerver/lib/emoji.py:86 zerver/lib/emoji.py:91 +#: zerver/lib/emoji.py:110 zerver/lib/emoji.py:115 msgid "Invalid emoji name." msgstr "" -#: zerver/lib/emoji.py:94 +#: zerver/lib/emoji.py:118 msgid "Invalid emoji type." msgstr "" -#: zerver/lib/emoji.py:109 +#: zerver/lib/emoji.py:133 msgid "Must be an organization administrator or emoji author" msgstr "" -#: zerver/lib/emoji.py:117 +#: zerver/lib/emoji.py:141 msgid "Emoji names must end with either a letter or digit." msgstr "" -#: zerver/lib/emoji.py:120 +#: zerver/lib/emoji.py:144 msgid "" "Emoji names must contain only lowercase English letters, digits, spaces, " "dashes, and underscores." msgstr "" -#: zerver/lib/emoji.py:123 +#: zerver/lib/emoji.py:147 msgid "Emoji name is missing" msgstr "" -#: zerver/lib/events.py:1539 +#: zerver/lib/events.py:1543 msgid "Could not allocate event queue" msgstr "" -#: zerver/lib/exceptions.py:137 +#: zerver/lib/exceptions.py:139 msgid "Not logged in: API authentication or user session required" msgstr "" -#: zerver/lib/exceptions.py:162 +#: zerver/lib/exceptions.py:164 #, python-brace-format msgid "Stream '{stream}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:174 +#: zerver/lib/exceptions.py:176 #, python-brace-format msgid "Stream with ID '{stream_id}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "organization owner" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "user" msgstr "" -#: zerver/lib/exceptions.py:187 +#: zerver/lib/exceptions.py:189 #, python-brace-format msgid "Cannot deactivate the only {entity}." msgstr "" -#: zerver/lib/exceptions.py:199 +#: zerver/lib/exceptions.py:201 #, python-brace-format msgid "Invalid Markdown include statement: {include_statement}" msgstr "" -#: zerver/lib/exceptions.py:211 +#: zerver/lib/exceptions.py:213 msgid "API usage exceeded rate limit" msgstr "" -#: zerver/lib/exceptions.py:234 zerver/lib/request.py:442 +#: zerver/lib/exceptions.py:236 zerver/lib/request.py:441 #: zerver/lib/validator.py:755 msgid "Malformed JSON" msgstr "" -#: zerver/lib/exceptions.py:245 +#: zerver/lib/exceptions.py:247 msgid "Must be an organization member" msgstr "" -#: zerver/lib/exceptions.py:256 zerver/views/invite.py:70 -#: zerver/views/invite.py:132 zerver/views/invite.py:178 +#: zerver/lib/exceptions.py:258 zerver/views/invite.py:70 +#: zerver/views/invite.py:134 zerver/views/invite.py:180 msgid "Must be an organization administrator" msgstr "" -#: zerver/lib/exceptions.py:267 +#: zerver/lib/exceptions.py:269 msgid "Must be an organization owner" msgstr "" -#: zerver/lib/exceptions.py:280 +#: zerver/lib/exceptions.py:282 msgid "Your username or password is incorrect" msgstr "" -#: zerver/lib/exceptions.py:288 +#: zerver/lib/exceptions.py:290 msgid "Account is deactivated" msgstr "" -#: zerver/lib/exceptions.py:296 +#: zerver/lib/exceptions.py:298 msgid "This organization has been deactivated" msgstr "" -#: zerver/lib/exceptions.py:305 +#: zerver/lib/exceptions.py:307 msgid "" "The mobile push notification service registration for your server has been " "deactivated" msgstr "" -#: zerver/lib/exceptions.py:314 +#: zerver/lib/exceptions.py:316 msgid "Password authentication is disabled in this organization" msgstr "" -#: zerver/lib/exceptions.py:322 +#: zerver/lib/exceptions.py:324 msgid "Your password has been disabled and needs to be reset" msgstr "" -#: zerver/lib/exceptions.py:338 +#: zerver/lib/exceptions.py:340 msgid "Invalid API key" msgstr "" -#: zerver/lib/exceptions.py:344 +#: zerver/lib/exceptions.py:346 msgid "Malformed API key" msgstr "" -#: zerver/lib/exceptions.py:381 +#: zerver/lib/exceptions.py:385 #, python-brace-format msgid "" "The '{event_type}' event isn't currently supported by the {webhook_name} " -"webhook" +"webhook; ignoring" msgstr "" -#: zerver/lib/exceptions.py:399 +#: zerver/lib/exceptions.py:404 #, python-brace-format msgid "Unable to parse request: Did {webhook_name} generate this event?" msgstr "" -#: zerver/lib/exceptions.py:422 zerver/views/auth.py:741 +#: zerver/lib/exceptions.py:427 zerver/views/auth.py:741 #: zerver/views/auth.py:1076 zerver/views/auth.py:1140 msgid "Invalid subdomain" msgstr "" -#: zerver/lib/exceptions.py:462 +#: zerver/lib/exceptions.py:467 msgid "Access denied" msgstr "" -#: zerver/lib/exceptions.py:501 +#: zerver/lib/exceptions.py:506 #, python-brace-format msgid "" "You only have permission to move the {total_messages_allowed_to_move}/" "{total_messages_in_topic} most recent messages in this topic." msgstr "" +#: zerver/lib/exceptions.py:518 +msgid "Reaction already exists." +msgstr "" + +#: zerver/lib/exceptions.py:529 +msgid "Reaction doesn't exist." +msgstr "" + #: zerver/lib/external_accounts.py:36 msgid "Twitter username" msgstr "" @@ -3849,207 +4207,215 @@ msgstr "" msgid "Version control" msgstr "" -#: zerver/lib/message.py:192 +#: zerver/lib/message.py:220 msgid "Message must not be empty" msgstr "" -#: zerver/lib/message.py:194 +#: zerver/lib/message.py:222 msgid "Message must not contain null bytes" msgstr "" -#: zerver/lib/narrow.py:107 -msgid "Operator {} not supported." +#: zerver/lib/message.py:1668 +#, python-brace-format +msgid "" +"You are not allowed to mention user group '{user_group_name}'. You must be a " +"member of '{can_mention_group_name}' to mention this group." msgstr "" -#: zerver/lib/narrow.py:197 +#: zerver/lib/narrow.py:108 +#, python-brace-format +msgid "Operator {operator} not supported." +msgstr "" + +#: zerver/lib/narrow.py:207 #, python-brace-format msgid "Invalid narrow operator: {desc}" msgstr "" -#: zerver/lib/narrow.py:1038 +#: zerver/lib/narrow.py:1054 msgid "Missing 'anchor' argument." msgstr "" -#: zerver/lib/narrow.py:1058 +#: zerver/lib/narrow.py:1074 msgid "Invalid anchor" msgstr "" -#: zerver/lib/onboarding.py:59 +#: zerver/lib/onboarding.py:57 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Using Zulip for a class guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:66 +#: zerver/lib/onboarding.py:64 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Getting started guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:78 +#: zerver/lib/onboarding.py:76 #, python-brace-format msgid "" "We also have a guide for [Setting up Zulip for a class]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:88 +#: zerver/lib/onboarding.py:86 #, python-brace-format msgid "" "We also have a guide for [Setting up your organization]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:98 +#: zerver/lib/onboarding.py:96 #, python-brace-format msgid "" "Note that this is a [demo organization]({demo_organization_help_url}) and " "will be **automatically deleted** in 30 days." msgstr "" -#: zerver/lib/onboarding.py:106 +#: zerver/lib/onboarding.py:104 msgid "Hello, and welcome to Zulip!" msgstr "" -#: zerver/lib/onboarding.py:107 +#: zerver/lib/onboarding.py:105 msgid "This is a direct message from me, Welcome Bot." msgstr "" -#: zerver/lib/onboarding.py:112 +#: zerver/lib/onboarding.py:110 msgid "" "I can also help you get set up! Just click anywhere on this message or press " "`r` to reply." msgstr "" -#: zerver/lib/onboarding.py:115 zerver/lib/onboarding.py:227 +#: zerver/lib/onboarding.py:113 zerver/lib/onboarding.py:225 msgid "Here are a few messages I understand:" msgstr "" -#: zerver/lib/onboarding.py:156 +#: zerver/lib/onboarding.py:154 msgid "" "You can [download](/apps/) the [mobile and desktop apps](/apps/). Zulip also " "works great in a browser." msgstr "" -#: zerver/lib/onboarding.py:161 +#: zerver/lib/onboarding.py:159 msgid "" "Go to [Profile settings](#settings/profile) to add a [profile picture](/help/" "change-your-profile-picture) and edit your [profile information](/help/edit-" "your-profile)." msgstr "" -#: zerver/lib/onboarding.py:167 +#: zerver/lib/onboarding.py:165 msgid "" -"Go to [Display settings](#settings/display-settings) to [switch between the " -"light and dark themes](/help/dark-theme), [pick your favorite emoji theme](/" -"help/emoji-and-emoticons#change-your-emoji-set), [change your language](/" -"help/change-your-language), and make other tweaks to your Zulip experience." +"Go to [Preferences](#settings/preferences) to [switch between the light and " +"dark themes](/help/dark-theme), [pick your favorite emoji theme](/help/emoji-" +"and-emoticons#change-your-emoji-set), [change your language](/help/change-" +"your-language), and make other tweaks to your Zulip experience." msgstr "" -#: zerver/lib/onboarding.py:177 +#: zerver/lib/onboarding.py:175 msgid "" "In Zulip, streams [determine who gets a message](/help/streams-and-topics). " "They are similar to channels in other chat apps." msgstr "" -#: zerver/lib/onboarding.py:181 +#: zerver/lib/onboarding.py:179 msgid "[Browse and subscribe to streams](#streams/all)." msgstr "" -#: zerver/lib/onboarding.py:188 +#: zerver/lib/onboarding.py:186 msgid "" "In Zulip, topics [tell you what a message is about](/help/streams-and-" "topics). They are light-weight subjects, very similar to the subject line of " "an email." msgstr "" -#: zerver/lib/onboarding.py:193 +#: zerver/lib/onboarding.py:191 msgid "" "Check out [Recent conversations](#recent) to see what's happening! You can " "return to this conversation by clicking \"Direct messages\" in the upper " "left." msgstr "" -#: zerver/lib/onboarding.py:202 +#: zerver/lib/onboarding.py:200 msgid "" "Zulip's [keyboard shortcuts](#keyboard-shortcuts) let you navigate the app " "quickly and efficiently." msgstr "" -#: zerver/lib/onboarding.py:206 +#: zerver/lib/onboarding.py:204 msgid "Press `?` any time to see a [cheat sheet](#keyboard-shortcuts)." msgstr "" -#: zerver/lib/onboarding.py:213 +#: zerver/lib/onboarding.py:211 msgid "" "Zulip uses [Markdown](/help/format-your-message-using-markdown), an " "intuitive format for **bold**, *italics*, bulleted lists, and more. Click " "[here](#message-formatting) for a cheat sheet." msgstr "" -#: zerver/lib/onboarding.py:219 +#: zerver/lib/onboarding.py:217 msgid "" "Check out our [messaging tips](/help/messaging-tips) to learn about emoji " "reactions, code blocks and much more!" msgstr "" -#: zerver/lib/onboarding.py:230 +#: zerver/lib/onboarding.py:228 msgid "" "Check out our [Getting started guide](/help/getting-started-with-zulip), or " "browse the [Help center](/help/) to learn more!" msgstr "" -#: zerver/lib/onboarding.py:239 +#: zerver/lib/onboarding.py:237 msgid "" "I’m sorry, I did not understand your message. Please try one of the " "following commands:" msgstr "" -#: zerver/lib/onboarding.py:271 +#: zerver/lib/onboarding.py:269 msgid "" "This is a private stream, as indicated by the lock icon next to the stream " "name." msgstr "" -#: zerver/lib/onboarding.py:273 +#: zerver/lib/onboarding.py:271 msgid "Private streams are only visible to stream members." msgstr "" -#: zerver/lib/onboarding.py:277 +#: zerver/lib/onboarding.py:275 #, python-brace-format msgid "" "To manage this stream, go to [Stream settings]({stream_settings_url}) and " "click on `{initial_private_stream_name}`." msgstr "" -#: zerver/lib/onboarding.py:287 +#: zerver/lib/onboarding.py:285 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `topic demonstration`." msgstr "" -#: zerver/lib/onboarding.py:293 +#: zerver/lib/onboarding.py:291 msgid "Topics are a lightweight tool to keep conversations organized." msgstr "" -#: zerver/lib/onboarding.py:295 +#: zerver/lib/onboarding.py:293 #, python-brace-format msgid "" "You can learn more about topics at [Streams and topics]" "({about_topics_help_url})." msgstr "" -#: zerver/lib/onboarding.py:300 +#: zerver/lib/onboarding.py:298 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `swimming turtles`." msgstr "" -#: zerver/lib/onboarding.py:309 +#: zerver/lib/onboarding.py:307 #, python-brace-format msgid "" "[Start a new topic]({start_topic_help_url}) any time you're not replying to " @@ -4065,11 +4431,12 @@ msgid "Invalid response format" msgstr "" #: zerver/lib/push_notifications.py:341 -msgid "Invalid GCM option to bouncer: priority {!r}" +msgid "Invalid GCM option to bouncer: priority {priority!r}" msgstr "" #: zerver/lib/push_notifications.py:351 -msgid "Invalid GCM options to bouncer: {}" +#, python-brace-format +msgid "Invalid GCM options to bouncer: {options}" msgstr "" #. error @@ -4077,30 +4444,43 @@ msgstr "" msgid "Token does not exist" msgstr "" -#: zerver/lib/push_notifications.py:746 +#: zerver/lib/push_notifications.py:758 msgid "" "This organization has disabled including message content in mobile push " "notifications" msgstr "" -#: zerver/lib/push_notifications.py:835 +#: zerver/lib/push_notifications.py:847 #, python-brace-format msgid "{full_name} mentioned @{user_group_name}:" msgstr "" -#: zerver/lib/push_notifications.py:839 +#: zerver/lib/push_notifications.py:851 #, python-brace-format msgid "{full_name} mentioned you:" msgstr "" -#: zerver/lib/push_notifications.py:841 +#: zerver/lib/push_notifications.py:853 +msgid "TODO - 2" +msgstr "" + +#: zerver/lib/push_notifications.py:855 +msgid "TODO" +msgstr "" + +#: zerver/lib/push_notifications.py:857 +#, python-brace-format +msgid "{full_name} mentioned all topic participants:" +msgstr "" + +#: zerver/lib/push_notifications.py:861 #, python-brace-format msgid "{full_name} mentioned everyone:" msgstr "" #: zerver/lib/recipient_users.py:29 zerver/lib/streams.py:268 -#: zerver/lib/streams.py:276 zerver/lib/streams.py:838 -#: zerver/tornado/views.py:164 zerver/views/events_register.py:94 +#: zerver/lib/streams.py:276 zerver/lib/streams.py:846 +#: zerver/tornado/views.py:164 zerver/views/events_register.py:95 #: zerver/views/message_send.py:182 zerver/views/message_send.py:203 msgid "User not authorized for this query" msgstr "" @@ -4115,31 +4495,33 @@ msgid "You can't send direct messages outside of your organization." msgstr "" #: zerver/lib/remote_server.py:93 -msgid "Push notifications bouncer error: {}" +#, python-brace-format +msgid "Push notifications bouncer error: {error}" msgstr "" -#: zerver/lib/request.py:92 +#: zerver/lib/request.py:91 #, python-brace-format msgid "Can't decide between '{var_name1}' and '{var_name2}' arguments" msgstr "" -#: zerver/lib/request.py:104 +#: zerver/lib/request.py:103 #, python-brace-format msgid "Missing '{var_name}' argument" msgstr "" -#: zerver/lib/request.py:117 +#: zerver/lib/request.py:116 #, python-brace-format msgid "Bad value for '{var_name}': {bad_value}" msgstr "" -#: zerver/lib/request.py:395 zerver/webhooks/ifttt/view.py:36 +#: zerver/lib/request.py:394 zerver/webhooks/ifttt/view.py:36 #: zerver/webhooks/slack_incoming/view.py:42 msgid "Malformed payload" msgstr "" #: zerver/lib/request.py:443 -msgid "Argument \"{}\" is not valid JSON." +#, python-brace-format +msgid "Argument \"{name}\" is not valid JSON." msgstr "" #: zerver/lib/scheduled_messages.py:20 @@ -4167,42 +4549,47 @@ msgstr "" msgid "New members cannot send to this stream." msgstr "" -#: zerver/lib/streams.py:301 -msgid "Not authorized to send to stream '{}'" +#: zerver/lib/streams.py:302 +#, python-brace-format +msgid "Not authorized to send to stream '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:306 +#: zerver/lib/streams.py:308 msgid "Please supply 'stream'." msgstr "" -#: zerver/lib/streams.py:309 +#: zerver/lib/streams.py:311 msgid "Please choose one: 'stream' or 'stream_id'." msgstr "" -#: zerver/lib/streams.py:315 zerver/lib/streams.py:334 -#: zerver/lib/streams.py:417 zerver/lib/streams.py:483 -#: zerver/views/streams.py:399 zerver/views/user_topics.py:101 +#: zerver/lib/streams.py:317 zerver/lib/streams.py:336 +#: zerver/lib/streams.py:419 zerver/lib/streams.py:487 +#: zerver/views/streams.py:401 zerver/views/user_topics.py:101 msgid "Invalid stream ID" msgstr "" -#: zerver/lib/streams.py:459 -msgid "Stream name '{}' is already taken." +#: zerver/lib/streams.py:462 +#, python-brace-format +msgid "Stream name '{stream_name}' is already taken." msgstr "" -#: zerver/lib/streams.py:467 zerver/lib/streams.py:587 -msgid "Invalid stream name '{}'" +#: zerver/lib/streams.py:471 zerver/lib/streams.py:591 +#, python-brace-format +msgid "Invalid stream name '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:731 -msgid "Stream(s) ({}) do not exist" +#: zerver/lib/streams.py:735 +#, python-brace-format +msgid "Stream(s) ({stream_names}) do not exist" msgstr "" -#: zerver/lib/streams.py:738 zerver/views/streams.py:334 +#: zerver/lib/streams.py:744 zerver/views/streams.py:336 msgid "Web-public streams are not enabled." msgstr "" -#: zerver/lib/streams.py:767 -msgid "Default stream group with id '{}' does not exist." +#: zerver/lib/streams.py:774 +#, python-brace-format +msgid "Default stream group with id '{group_id}' does not exist." msgstr "" #: zerver/lib/string_validation.py:38 @@ -4210,19 +4597,22 @@ msgid "Stream name can't be empty!" msgstr "" #: zerver/lib/string_validation.py:42 -msgid "Stream name too long (limit: {} characters)." +#, python-brace-format +msgid "Stream name too long (limit: {max_length} characters)." msgstr "" -#: zerver/lib/string_validation.py:48 -msgid "Invalid character in stream name, at position {}!" +#: zerver/lib/string_validation.py:50 +#, python-brace-format +msgid "Invalid character in stream name, at position {position}!" msgstr "" -#: zerver/lib/string_validation.py:54 +#: zerver/lib/string_validation.py:58 msgid "Topic can't be empty!" msgstr "" -#: zerver/lib/string_validation.py:59 -msgid "Invalid character in topic, at position {}!" +#: zerver/lib/string_validation.py:63 +#, python-brace-format +msgid "Invalid character in topic, at position {position}!" msgstr "" #: zerver/lib/subscription_info.py:295 @@ -4237,46 +4627,61 @@ msgstr "" msgid "Upload would exceed your organization's upload quota." msgstr "" -#: zerver/lib/upload/base.py:67 zerver/lib/upload/base.py:83 -#: zerver/lib/upload/base.py:177 +#: zerver/lib/upload/base.py:68 zerver/lib/upload/base.py:84 +#: zerver/lib/upload/base.py:178 msgid "Could not decode image; did you upload an image file?" msgstr "" -#: zerver/lib/upload/base.py:69 zerver/lib/upload/base.py:85 -#: zerver/lib/upload/base.py:179 +#: zerver/lib/upload/base.py:70 zerver/lib/upload/base.py:86 +#: zerver/lib/upload/base.py:180 msgid "Image size exceeds limit." msgstr "" -#: zerver/lib/upload/base.py:107 +#: zerver/lib/upload/base.py:108 msgid "Corrupt animated image." msgstr "" -#: zerver/lib/upload/base.py:116 +#: zerver/lib/upload/base.py:117 msgid "Unknown animated image format." msgstr "" -#: zerver/lib/user_groups.py:44 +#: zerver/lib/user_groups.py:54 msgid "Invalid user group" msgstr "" -#: zerver/lib/user_groups.py:56 -msgid "Invalid user group ID: {}" +#: zerver/lib/user_groups.py:67 +#, python-brace-format +msgid "Invalid user group ID: {group_id}" msgstr "" -#: zerver/lib/user_groups.py:74 -msgid "'{}' must be a system user group." +#: zerver/lib/user_groups.py:87 +#, python-brace-format +msgid "'{setting_name}' must be a system user group." msgstr "" -#: zerver/lib/user_groups.py:78 -msgid "'{}' setting cannot be set to '@role:internet' group." +#: zerver/lib/user_groups.py:92 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:internet' group." msgstr "" -#: zerver/lib/user_groups.py:83 -msgid "'{}' setting cannot be set to '@role:owners' group." +#: zerver/lib/user_groups.py:99 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:owners' group." msgstr "" -#: zerver/lib/user_groups.py:88 -msgid "'{}' setting cannot be set to '@role:nobody' group." +#: zerver/lib/user_groups.py:106 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:nobody' group." +msgstr "" + +#: zerver/lib/user_groups.py:117 +#, python-brace-format +msgid "User group name cannot exceed {max_length} characters." +msgstr "" + +#: zerver/lib/user_groups.py:125 +#, python-brace-format +msgid "User group name cannot start with '{prefix}'." msgstr "" #: zerver/lib/users.py:45 @@ -4304,44 +4709,48 @@ msgstr "" msgid "Bad name or username" msgstr "" -#: zerver/lib/users.py:95 -msgid "Invalid integration '{}'." +#: zerver/lib/users.py:96 +#, python-brace-format +msgid "Invalid integration '{integration_name}'." msgstr "" -#: zerver/lib/users.py:100 -msgid "Missing configuration parameters: {}" +#: zerver/lib/users.py:102 +#, python-brace-format +msgid "Missing configuration parameters: {keys}" msgstr "" -#: zerver/lib/users.py:109 -msgid "Invalid {} value {} ({})" +#: zerver/lib/users.py:112 +#, python-brace-format +msgid "Invalid {key} value {value} ({error})" msgstr "" -#: zerver/lib/users.py:124 +#: zerver/lib/users.py:130 msgid "Invalid configuration data!" msgstr "" -#: zerver/lib/users.py:158 +#: zerver/lib/users.py:164 msgid "Invalid bot type" msgstr "" -#: zerver/lib/users.py:163 +#: zerver/lib/users.py:169 msgid "Invalid interface type" msgstr "" -#: zerver/lib/users.py:232 zerver/lib/users.py:237 zerver/models.py:4669 -msgid "Invalid user ID: {}" +#: zerver/lib/users.py:238 zerver/lib/users.py:243 zerver/models.py:4729 +#, python-brace-format +msgid "Invalid user ID: {user_id}" msgstr "" -#: zerver/lib/users.py:245 zerver/lib/users.py:247 +#: zerver/lib/users.py:251 zerver/lib/users.py:253 msgid "No such bot" msgstr "" -#: zerver/lib/users.py:271 zerver/lib/users.py:298 zerver/lib/users.py:314 +#: zerver/lib/users.py:277 zerver/lib/users.py:304 zerver/lib/users.py:320 #: zerver/views/presence.py:44 msgid "No such user" msgstr "" -#: zerver/lib/users.py:273 +#: zerver/lib/users.py:279 msgid "User is deactivated" msgstr "" @@ -4431,7 +4840,8 @@ msgid "{key_name} key is missing from {var_name}" msgstr "" #: zerver/lib/validator.py:317 -msgid "Unexpected arguments: {}" +#, python-brace-format +msgid "Unexpected arguments: {keys}" msgstr "" #: zerver/lib/validator.py:350 @@ -4493,8 +4903,9 @@ msgstr "" msgid "Missing the HTTP event header '{header}'" msgstr "" -#: zerver/lib/webhooks/common.py:231 -msgid "The {} webhook expects time in milliseconds." +#: zerver/lib/webhooks/common.py:232 +#, python-brace-format +msgid "The {webhook} webhook expects time in milliseconds." msgstr "" #: zerver/lib/zcommand.py:30 @@ -4502,201 +4913,218 @@ msgid "There should be a leading slash in the zcommand." msgstr "" #: zerver/lib/zcommand.py:79 -msgid "No such command: {}" +#, python-brace-format +msgid "No such command: {command}" msgstr "" -#: zerver/middleware.py:464 +#: zerver/middleware.py:441 #, python-brace-format msgid "CSRF error: {reason}" msgstr "" -#: zerver/models.py:503 +#: zerver/middleware.py:607 +#, python-brace-format +msgid "Reverse proxy misconfiguration: {proxy_reason}" +msgstr "" + +#: zerver/models.py:495 msgid "stream events" msgstr "" -#: zerver/models.py:634 +#: zerver/models.py:626 msgid "Available on Zulip Cloud Standard. Upgrade to access." msgstr "" -#: zerver/models.py:692 +#: zerver/models.py:684 msgid "GIPHY integration disabled" msgstr "" -#: zerver/models.py:697 +#: zerver/models.py:689 msgid "Allow GIFs rated Y (Very young audience)" msgstr "" -#: zerver/models.py:701 +#: zerver/models.py:693 msgid "Allow GIFs rated G (General audience)" msgstr "" -#: zerver/models.py:705 +#: zerver/models.py:697 msgid "Allow GIFs rated PG (Parental guidance)" msgstr "" -#: zerver/models.py:709 +#: zerver/models.py:701 msgid "Allow GIFs rated PG-13 (Parental guidance - under 13)" msgstr "" -#: zerver/models.py:713 +#: zerver/models.py:705 msgid "Allow GIFs rated R (Restricted)" msgstr "" -#: zerver/models.py:1139 +#: zerver/models.py:1123 msgid "Invalid characters in emoji name" msgstr "" -#: zerver/models.py:1263 zerver/models.py:1265 -msgid "Bad regular expression: {}" +#: zerver/models.py:1235 zerver/models.py:1238 +#, python-brace-format +msgid "Bad regular expression: {regex}" msgstr "" -#: zerver/models.py:1266 +#: zerver/models.py:1240 msgid "Unknown regular expression error" msgstr "" -#: zerver/models.py:1274 +#: zerver/models.py:1248 msgid "Invalid URL template." msgstr "" -#: zerver/models.py:1318 +#: zerver/models.py:1292 #, python-format msgid "Group %(name)r in URL template is not present in linkifier pattern." msgstr "" -#: zerver/models.py:1330 +#: zerver/models.py:1304 #, python-format msgid "Group %(name)r in linkifier pattern is not present in URL template." msgstr "" -#: zerver/models.py:1408 zerver/views/realm_playgrounds.py:25 +#: zerver/models.py:1382 zerver/views/realm_playgrounds.py:24 msgid "Invalid characters in pygments language" msgstr "" -#: zerver/models.py:1652 +#: zerver/models.py:1412 +msgid "Missing the required variable \"code\" in the URL template" +msgstr "" + +#: zerver/models.py:1417 +msgid "\"code\" should be the only variable present in the URL template" +msgstr "" + +#: zerver/models.py:1660 msgid "Admins, moderators, members and guests" msgstr "" -#: zerver/models.py:1653 +#: zerver/models.py:1661 msgid "Admins, moderators and members" msgstr "" -#: zerver/models.py:1654 +#: zerver/models.py:1662 msgid "Admins and moderators" msgstr "" -#: zerver/models.py:1655 +#: zerver/models.py:1663 msgid "Admins only" msgstr "" -#: zerver/models.py:1656 +#: zerver/models.py:1664 msgid "Nobody" msgstr "" -#: zerver/models.py:1960 +#: zerver/models.py:1973 msgid "Organization owner" msgstr "" -#: zerver/models.py:1961 +#: zerver/models.py:1974 msgid "Organization administrator" msgstr "" -#: zerver/models.py:1962 +#: zerver/models.py:1975 msgid "Moderator" msgstr "" -#: zerver/models.py:1963 +#: zerver/models.py:1976 msgid "Member" msgstr "" -#: zerver/models.py:1964 +#: zerver/models.py:1977 msgid "Guest" msgstr "" -#: zerver/models.py:2531 +#: zerver/models.py:2557 msgid "Web-public" msgstr "" -#: zerver/models.py:2537 +#: zerver/models.py:2563 msgid "Public" msgstr "" -#: zerver/models.py:2543 +#: zerver/models.py:2569 msgid "Private, shared history" msgstr "" -#: zerver/models.py:2549 +#: zerver/models.py:2575 msgid "Private, protected history" msgstr "" -#: zerver/models.py:2557 +#: zerver/models.py:2583 msgid "Public, protected history" msgstr "" -#: zerver/models.py:2577 +#: zerver/models.py:2603 msgid "All stream members can post" msgstr "" -#: zerver/models.py:2578 +#: zerver/models.py:2604 msgid "Only organization administrators can post" msgstr "" -#: zerver/models.py:2580 +#: zerver/models.py:2606 msgid "Only organization administrators and moderators can post" msgstr "" -#: zerver/models.py:2583 +#: zerver/models.py:2609 msgid "Only organization full members can post" msgstr "" -#: zerver/models.py:3209 +#: zerver/models.py:3222 msgid "Unicode emoji" msgstr "" -#: zerver/models.py:3210 +#: zerver/models.py:3223 msgid "Custom emoji" msgstr "" -#: zerver/models.py:3211 +#: zerver/models.py:3224 msgid "Zulip extra emoji" msgstr "" -#: zerver/models.py:4672 -msgid "User with ID {} is deactivated" +#: zerver/models.py:4733 +#, python-brace-format +msgid "User with ID {user_id} is deactivated" msgstr "" -#: zerver/models.py:4675 -msgid "User with ID {} is a bot" +#: zerver/models.py:4737 +#, python-brace-format +msgid "User with ID {user_id} is a bot" msgstr "" -#: zerver/models.py:4715 +#: zerver/models.py:4777 msgid "List of options" msgstr "" -#: zerver/models.py:4718 +#: zerver/models.py:4780 msgid "Person picker" msgstr "" -#: zerver/models.py:4730 +#: zerver/models.py:4792 msgid "Short text" msgstr "" -#: zerver/models.py:4731 +#: zerver/models.py:4793 msgid "Long text" msgstr "" -#: zerver/models.py:4732 +#: zerver/models.py:4794 msgid "Date picker" msgstr "" -#: zerver/models.py:4733 +#: zerver/models.py:4795 msgid "Link" msgstr "" -#: zerver/models.py:4736 +#: zerver/models.py:4798 msgid "External account" msgstr "" -#: zerver/models.py:4741 +#: zerver/models.py:4803 msgid "Pronouns" msgstr "" @@ -4712,20 +5140,20 @@ msgstr "" msgid "An unknown browser" msgstr "" -#: zerver/tornado/event_queue.py:673 +#: zerver/tornado/event_queue.py:678 msgid "Missing 'queue_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:676 +#: zerver/tornado/event_queue.py:681 msgid "Missing 'last_event_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:683 +#: zerver/tornado/event_queue.py:688 #, python-brace-format msgid "An event newer than {event_id} has already been pruned!" msgstr "" -#: zerver/tornado/event_queue.py:693 +#: zerver/tornado/event_queue.py:698 #, python-brace-format msgid "Event {event_id} was not in this queue" msgstr "" @@ -4793,20 +5221,22 @@ msgstr "" msgid "Default custom field cannot be updated." msgstr "" -#: zerver/views/development/dev_login.py:98 +#: zerver/views/development/dev_login.py:100 msgid "Endpoint not available in production." msgstr "" -#: zerver/views/development/dev_login.py:100 +#: zerver/views/development/dev_login.py:102 msgid "DevAuthBackend not enabled." msgstr "" -#: zerver/views/events_register.py:107 zerver/views/events_register.py:111 -msgid "Invalid '{}' parameter for anonymous request" +#: zerver/views/events_register.py:108 zerver/views/events_register.py:112 +#, python-brace-format +msgid "Invalid '{key}' parameter for anonymous request" msgstr "" #: zerver/views/hotspots.py:19 -msgid "Unknown hotspot: {}" +#, python-brace-format +msgid "Unknown hotspot: {hotspot}" msgstr "" #: zerver/views/invite.py:72 @@ -4814,25 +5244,27 @@ msgid "You must specify at least one email address." msgstr "" #: zerver/views/invite.py:82 -msgid "Stream does not exist with id: {}. No invites were sent." +#, python-brace-format +msgid "Stream does not exist with id: {stream_id}. No invites were sent." msgstr "" -#: zerver/views/invite.py:87 +#: zerver/views/invite.py:89 msgid "You do not have permission to subscribe other users to streams." msgstr "" -#: zerver/views/invite.py:124 zerver/views/invite.py:127 -#: zerver/views/invite.py:146 zerver/views/invite.py:149 -#: zerver/views/invite.py:168 zerver/views/invite.py:173 +#: zerver/views/invite.py:126 zerver/views/invite.py:129 +#: zerver/views/invite.py:148 zerver/views/invite.py:151 +#: zerver/views/invite.py:170 zerver/views/invite.py:175 msgid "No such invitation" msgstr "" -#: zerver/views/invite.py:154 +#: zerver/views/invite.py:156 msgid "Invitation has already been revoked" msgstr "" -#: zerver/views/invite.py:207 -msgid "Invalid stream ID {}. No invites were sent." +#: zerver/views/invite.py:210 +#, python-brace-format +msgid "Invalid stream ID {stream_id}. No invites were sent." msgstr "" #: zerver/views/message_edit.py:98 @@ -4852,7 +5284,8 @@ msgid "Message already deleted" msgstr "" #: zerver/views/message_fetch.py:99 -msgid "Too many messages requested (maximum {})." +#, python-brace-format +msgid "Too many messages requested (maximum {max_messages})." msgstr "" #: zerver/views/message_fetch.py:104 zerver/views/message_flags.py:85 @@ -4860,7 +5293,8 @@ msgid "The anchor can only be excluded at an end of the range" msgstr "" #: zerver/views/message_flags.py:169 -msgid "No such topic '{}'" +#, python-brace-format +msgid "No such topic '{topic}'" msgstr "" #: zerver/views/message_send.py:201 @@ -4904,13 +5338,14 @@ msgstr "" msgid "Client did not pass any new values." msgstr "" -#: zerver/views/presence.py:106 +#: zerver/views/presence.py:108 msgid "" "Client must pass emoji_name if they pass either emoji_code or reaction_type." msgstr "" -#: zerver/views/presence.py:144 -msgid "Invalid status: {}" +#: zerver/views/presence.py:146 +#, python-brace-format +msgid "Invalid status: {status}" msgstr "" #: zerver/views/push_notifications.py:19 @@ -4927,36 +5362,36 @@ msgid "" "emoji_code" msgstr "" -#: zerver/views/reactions.py:68 -msgid "Reaction doesn't exist." -msgstr "" - #: zerver/views/read_receipts.py:22 msgid "Read receipts are disabled in this organization." msgstr "" #: zerver/views/realm.py:160 -msgid "Invalid language '{}'" +#, python-brace-format +msgid "Invalid language '{language}'" msgstr "" #: zerver/views/realm.py:165 msgid "At least one authentication method must be enabled." msgstr "" -#: zerver/views/realm.py:169 -msgid "Invalid video_chat_provider {}" +#: zerver/views/realm.py:170 +#, python-brace-format +msgid "Invalid video_chat_provider {video_chat_provider}" msgstr "" -#: zerver/views/realm.py:173 -msgid "Invalid giphy_rating {}" +#: zerver/views/realm.py:178 +#, python-brace-format +msgid "Invalid giphy_rating {giphy_rating}" msgstr "" -#: zerver/views/realm.py:336 +#: zerver/views/realm.py:335 msgid "Must be a demo organization." msgstr "" #: zerver/views/realm_domains.py:36 -msgid "Invalid domain: {}" +#, python-brace-format +msgid "Invalid domain: {error}" msgstr "" #: zerver/views/realm_domains.py:39 @@ -4969,18 +5404,19 @@ msgstr "" msgid "No entry found for domain {domain}." msgstr "" -#: zerver/views/realm_emoji.py:38 +#: zerver/views/realm_emoji.py:40 msgid "You must upload exactly one file." msgstr "" -#: zerver/views/realm_emoji.py:40 +#: zerver/views/realm_emoji.py:42 msgid "Only administrators can override default emoji." msgstr "" -#: zerver/views/realm_emoji.py:46 zerver/views/realm_icon.py:27 +#: zerver/views/realm_emoji.py:48 zerver/views/realm_icon.py:27 #: zerver/views/realm_logo.py:33 zerver/views/upload.py:278 -#: zerver/views/user_settings.py:352 -msgid "Uploaded file is larger than the allowed limit of {} MiB" +#: zerver/views/user_settings.py:371 +#, python-brace-format +msgid "Uploaded file is larger than the allowed limit of {max_size} MiB" msgstr "" #: zerver/views/realm_export.py:45 @@ -5020,7 +5456,7 @@ msgstr "" msgid "You must upload exactly one logo." msgstr "" -#: zerver/views/realm_playgrounds.py:33 +#: zerver/views/realm_playgrounds.py:32 msgid "Invalid playground" msgstr "" @@ -5057,63 +5493,65 @@ msgstr "" msgid "Invalid value for \"op\". Specify one of \"add\" or \"remove\"." msgstr "" -#: zerver/views/streams.py:322 +#: zerver/views/streams.py:324 msgid "Default streams cannot be made private." msgstr "" -#: zerver/views/streams.py:370 +#: zerver/views/streams.py:372 msgid "Stream already has that name!" msgstr "" -#: zerver/views/streams.py:452 zerver/views/user_groups.py:108 -#: zerver/views/user_groups.py:285 +#: zerver/views/streams.py:454 zerver/views/user_groups.py:168 +#: zerver/views/user_groups.py:347 msgid "Nothing to do. Specify at least one of \"add\" or \"delete\"." msgstr "" -#: zerver/views/streams.py:536 +#: zerver/views/streams.py:538 #, python-brace-format msgid "{user_full_name} subscribed you to the stream {stream_name}." msgstr "" -#: zerver/views/streams.py:542 +#: zerver/views/streams.py:544 #, python-brace-format msgid "{user_full_name} subscribed you to the following streams:" msgstr "" -#: zerver/views/streams.py:646 +#: zerver/views/streams.py:655 #, python-brace-format msgid "Unable to access stream ({stream_name})." msgstr "" -#: zerver/views/streams.py:659 +#: zerver/views/streams.py:668 msgid "You can only invite other Zephyr mirroring users to private streams." msgstr "" -#: zerver/views/streams.py:767 +#: zerver/views/streams.py:776 #, python-brace-format msgid "{user_name} created the following streams: {stream_str}." msgstr "" -#: zerver/views/streams.py:769 +#: zerver/views/streams.py:778 #, python-brace-format msgid "{user_name} created a new stream {stream_str}." msgstr "" -#: zerver/views/streams.py:770 +#: zerver/views/streams.py:779 msgid "new streams" msgstr "" -#: zerver/views/streams.py:802 +#: zerver/views/streams.py:811 #, python-brace-format msgid "**{policy}** stream created by {user_name}. **Description:**" msgstr "" -#: zerver/views/streams.py:1050 -msgid "Unknown subscription property: {}" +#: zerver/views/streams.py:1060 +#, python-brace-format +msgid "Unknown subscription property: {property}" msgstr "" -#: zerver/views/streams.py:1054 -msgid "Not subscribed to stream id {}" +#: zerver/views/streams.py:1066 +#, python-brace-format +msgid "Not subscribed to stream id {stream_id}" msgstr "" #: zerver/views/submessage.py:38 @@ -5137,7 +5575,7 @@ msgid "User has disabled typing notifications for direct messages" msgstr "" #: zerver/views/upload.py:183 -msgid "

File not found.

" +msgid "

This file does not exist or has been deleted.

" msgstr "" #: zerver/views/upload.py:223 @@ -5157,42 +5595,43 @@ msgstr "" msgid "You may only upload one file at a time" msgstr "" -#: zerver/views/user_groups.py:74 +#: zerver/views/user_groups.py:111 msgid "No new data supplied" msgstr "" -#: zerver/views/user_groups.py:149 +#: zerver/views/user_groups.py:209 #, python-brace-format msgid "{user_full_name} added you to the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:154 +#: zerver/views/user_groups.py:214 #, python-brace-format msgid "{user_full_name} removed you from the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:185 +#: zerver/views/user_groups.py:245 #, python-brace-format msgid "User {user_id} is already a member of this group" msgstr "" -#: zerver/views/user_groups.py:212 -msgid "There is no member '{}' in this user group" +#: zerver/views/user_groups.py:273 +#, python-brace-format +msgid "There is no member '{user_id}' in this user group" msgstr "" -#: zerver/views/user_groups.py:237 +#: zerver/views/user_groups.py:299 #, python-brace-format msgid "User group {group_id} is already a subgroup of this group." msgstr "" -#: zerver/views/user_groups.py:246 +#: zerver/views/user_groups.py:308 #, python-brace-format msgid "" "User group {user_group_id} is already a subgroup of one of the passed " "subgroups." msgstr "" -#: zerver/views/user_groups.py:266 +#: zerver/views/user_groups.py:328 #, python-brace-format msgid "User group {group_id} is not a subgroup of this group." msgstr "" @@ -5201,7 +5640,7 @@ msgstr "" msgid "Avatar changes are disabled in this organization." msgstr "" -#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:293 +#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:312 msgid "Email address changes are disabled in this organization." msgstr "" @@ -5209,31 +5648,34 @@ msgstr "" msgid "Invalid default_language" msgstr "" -#: zerver/views/user_settings.py:133 -msgid "Invalid notification sound '{}'" +#: zerver/views/user_settings.py:134 +#, python-brace-format +msgid "Invalid notification sound '{notification_sound}'" msgstr "" -#: zerver/views/user_settings.py:141 -msgid "Invalid email batching period: {} seconds" +#: zerver/views/user_settings.py:145 +#, python-brace-format +msgid "Invalid email batching period: {seconds} seconds" msgstr "" -#: zerver/views/user_settings.py:248 +#: zerver/views/user_settings.py:267 msgid "Your Zulip password is managed in LDAP" msgstr "" -#: zerver/views/user_settings.py:258 +#: zerver/views/user_settings.py:277 msgid "Wrong password!" msgstr "" -#: zerver/views/user_settings.py:263 -msgid "You're making too many attempts! Try again in {} seconds." +#: zerver/views/user_settings.py:282 +#, python-brace-format +msgid "You're making too many attempts! Try again in {seconds} seconds." msgstr "" -#: zerver/views/user_settings.py:269 +#: zerver/views/user_settings.py:288 msgid "New password is too weak!" msgstr "" -#: zerver/views/user_settings.py:342 +#: zerver/views/user_settings.py:361 msgid "You must upload exactly one avatar." msgstr "" @@ -5294,7 +5736,8 @@ msgid "Disposable email addresses are not allowed in this organization" msgstr "" #: zerver/views/users.py:712 -msgid "Email '{}' already in use" +#, python-brace-format +msgid "Email '{email}' already in use" msgstr "" #: zerver/views/video_calls.py:47 @@ -5353,7 +5796,7 @@ msgstr "" msgid "We were unable to set up mirroring for you" msgstr "" -#: zerver/webhooks/circleci/view.py:76 +#: zerver/webhooks/circleci/view.py:83 msgid "Projects using this version control system provider aren't supported" msgstr "" @@ -5362,7 +5805,7 @@ msgstr "" msgid "Invalid payload" msgstr "" -#: zerver/webhooks/front/view.py:155 +#: zerver/webhooks/front/view.py:151 msgid "Unknown webhook request" msgstr "" @@ -5410,10 +5853,11 @@ msgid "Message from Slack" msgstr "" #: zerver/webhooks/wordpress/view.py:56 -msgid "Unknown WordPress webhook action: {}" +#, python-brace-format +msgid "Unknown WordPress webhook action: {hook}" msgstr "" -#: zerver/worker/queue_processors.py:1123 +#: zerver/worker/queue_processors.py:1114 #, python-brace-format msgid "" "Your data export is complete and has been uploaded here:\n" @@ -5440,7 +5884,8 @@ msgid "Invalid token type" msgstr "" #: zilencer/views.py:109 -msgid "{} is not a valid hostname" +#, python-brace-format +msgid "{hostname} is not a valid hostname" msgstr "" #: zilencer/views.py:162 @@ -5448,7 +5893,8 @@ msgid "Missing user_id or user_uuid" msgstr "" #: zilencer/views.py:373 -msgid "Invalid property {}" +#, python-brace-format +msgid "Invalid property {property}" msgstr "" #: zilencer/views.py:375 @@ -5471,10 +5917,10 @@ msgstr "" msgid "Missing id_token parameter" msgstr "" -#: zproject/backends.py:2903 +#: zproject/backends.py:2902 msgid "Invalid OTP" msgstr "" -#: zproject/backends.py:2906 +#: zproject/backends.py:2905 msgid "Can't use both mobile_flow_otp and desktop_flow_otp together." msgstr "" diff --git a/locale/da/translations.json b/locale/da/translations.json index ea1feff276..c376c91f20 100644 --- a/locale/da/translations.json +++ b/locale/da/translations.json @@ -83,6 +83,7 @@ "Add all users": "", "Add another user...": "", "Add code playground": "", + "Add default streams": "", "Add emoji": "", "Add emoji reaction": "", "Add extra emoji for members of the {realm_name} organization.": "", @@ -90,7 +91,6 @@ "Add linkifier": "", "Add members": "", "Add member…": "", - "Add new default stream": "", "Add new user group": "", "Add one or more users": "", "Add option": "", @@ -150,6 +150,7 @@ "Archive ?": "", "Archive stream": "", "Archiving stream will immediately unsubscribe everyone. This action cannot be undone.": "", + "Archiving this stream will also disable settings that were configured to use this stream:": "", "Are you sure you want to continue?": "", "Are you sure you want to create stream ''''{stream_name}'''' and subscribe {count} users to it?": "", "Are you sure you want to deactivate this organization?": "", @@ -218,6 +219,7 @@ "Click here to reveal.": "", "Click on the pencil () icon to edit and reschedule a message.": "", "Click outside the input box to save. We'll automatically notify anyone that was added or removed.": "", + "Click to view edit history.": "", "Click to view or download.": "", "Close": "", "Close modal": "", @@ -360,7 +362,6 @@ "Display my availability to other users": "", "Display names of reacting users when few users have reacted to a message": "", "Display on user card": "", - "Display settings": "", "Do you still want to move the latest {total_messages_allowed_to_move, plural, one {message} other {# messages}}?": "", "Do you want to add everyone?": "", "Domain": "", @@ -388,7 +389,6 @@ "Edit custom profile field": "", "Edit linkfiers": "", "Edit message": "", - "Edit or reschedule message": "", "Edit selected draft": "", "Edit selected message or view source": "", "Edit status": "", @@ -398,7 +398,6 @@ "Edit your last message": "", "Edit your profile": "", "Edit {group_name}": "", - "Edited ({last_edit_timestr})": "", "Edited by {full_name}": "", "Education (for-profit)": "", "Education (non-profit)": "", @@ -461,6 +460,7 @@ "External account type": "", "External link": "", "Failed": "", + "Failed adding one or more streams.": "", "Failed to create video call.": "", "Failed to generate preview": "", "Failed to upload %'{file}'": "", @@ -500,6 +500,9 @@ "First message": "", "First time? Read our guidelines for creating and naming streams.": "", "First time? Read our guidelines for creating user groups.": "", + "Follow topic": "", + "Followed": "", + "Followed topics": "", "For example, to configure a code playground for code blocks tagged as Python, you can set:": "", "For more examples and technical details, see the help center documentation on adding code playgrounds.": "", "For more examples, see the help center documentation on adding linkifiers.": "", @@ -600,8 +603,10 @@ "Last 30 days": "", "Last 6 months": "", "Last active": "", + "Last edited {last_edit_timestr}": "", "Last message": "", "Last modified": "", + "Last moved {last_edit_timestr}": "", "Learn more": "", "Learn more about mentions here.": "", "Learn more about starring messages here.": "", @@ -624,6 +629,7 @@ "Log out": "", "Looking for our integrations or API documentation?": "", "MOVED": "", + "Main menu": "", "Manage bot": "", "Manage streams": "", "Manage this bot": "", @@ -647,7 +653,6 @@ "Mention a time-zone-aware time": "", "Mentioned in": "", "Mentions": "", - "Menu": "", "Menus": "", "Message #{stream_name}": "", "Message #{stream_name} > {topic_name}": "", @@ -682,7 +687,6 @@ "Move some messages?": "", "Move this and all following messages in this topic": "", "Move topic": "", - "Moved ({last_edit_timestr})": "", "Moved by {full_name}": "", "Moving messages": "", "Must be invited by a subscriber; new subscribers can only see messages sent after they join; hidden from non-administrator users": "", @@ -735,9 +739,11 @@ "New password is too weak": "", "New stream announcements": "", "New stream message": "", + "New stream notifications": "", "New task": "", "New topic": "", "New user announcements": "", + "New user notifications": "", "Next message": "", "Next unread direct message": "", "Next unread topic": "", @@ -760,7 +766,6 @@ "No search results": "", "No search results.": "", "No stream subscriptions.": "", - "No streams": "", "No topics are marked as resolved.": "", "No topics match your current filter.": "", "No user group subscriptions.": "", @@ -860,6 +865,7 @@ "Please specify at least one valid recipient.": "", "Political group": "", "Posted by {full_name}": "", + "Preferences": "", "Press > for list of topics": "", "Prevent users from changing their avatar": "", "Prevent users from changing their email address": "", @@ -1105,7 +1111,6 @@ "Time zone": "", "Time's up!": "", "Tip: You can also send \"/poll Some question\"": "", - "To add syntax highlighting to a multi-line code block, add the language's first Pygments short name after the first set of back-ticks. You can also make a code block by indenting each line with 4 spaces.": "", "To invite users, please increase the number of licenses or deactivate inactive users.": "", "To preserve your reading state, this view does not mark messages as read.": "", "Today": "", @@ -1127,7 +1132,6 @@ "Two factor authentication": "", "Type": "", "URL pattern": "", - "URL prefix": "", "URL template": "", "USERS": "", "Uncheck all": "", @@ -1339,13 +1343,13 @@ "Zulip Server {display_version}": "", "Zulip Server {display_version} (modified)": "", "Zulip Server {display_version} (patched)": "", + "Zulip lets you configure notifications for each topic. You can also automatically follow or unmute topics you start or participate in.": "", "Zulip lets you mute topics and streams to avoid receiving notifications messages you are not interested in. Muting a stream effectively mutes all topics in that stream. You can also manually mute a topic in an unmuted stream, or unmute a topic in a muted stream. Learn more.": "", "Zulip needs to send email to confirm users' addresses and send notifications.": "", "Zulip needs your permission to enable desktop notifications.": "", "Zulip's translations are contributed by our amazing community of volunteer translators. If you'd like to help, see the Zulip translation guidelines.": "", "[Configure]": "", "[Disable]": "", - "[More…]": "", "[Quoting…]": "", "[Unset]": "", "and {remaining_senders, plural, one {1 other} other {# others}}.": "", diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index e0f3855d05..12d94d8a77 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ # Fabian Tribrunner , 2019 # Felix , 2020 # Felix , 2021 -# martinlablans , 2018 +# d82cfdcd5f95059d0c449b4c5f004c81_5845b3b , 2018 # Greg Price , 2017 # Harlan Lieberman-Berg , 2016,2018 # 93626949be8c715c052f6dc10733548d_3902a33 <09e2a0f08f39803f6bbf1b16e4ef9612_386425>, 2016 diff --git a/locale/en_GB/LC_MESSAGES/django.po b/locale/en_GB/LC_MESSAGES/django.po index c97747c114..77afc3381e 100644 --- a/locale/en_GB/LC_MESSAGES/django.po +++ b/locale/en_GB/LC_MESSAGES/django.po @@ -812,7 +812,7 @@ msgstr "Accept the Terms of Service" #: templates/zerver/accounts_accept_terms.html:18 msgid "Welcome to Zulip" -msgstr "" +msgstr "Welcome to Zulip" #: templates/zerver/accounts_accept_terms.html:25 #: templates/zerver/login.html:102 templates/zerver/register.html:79 @@ -830,7 +830,7 @@ msgstr "I agree to the demo organization and will be automatically deleted in {days_remaining} days.": "This is a demo organisation and will be automatically deleted in {days_remaining} days.", "This is not a publicly accessible conversation.": "This is not a publicly accessible conversation.", "This is what a Zulip notification looks like.": "This is what a Zulip notification looks like.", - "This message could not be sent at the scheduled time.": "", - "This message is no longer scheduled for {deliver_at}.": "", + "This message could not be sent at the scheduled time.": "This message could not be sent at the scheduled time.", + "This message is no longer scheduled for {deliver_at}.": "This message is no longer scheduled for {deliver_at}.", "This message was hidden because you have muted the sender.": "This message was hidden because you have muted the sender.", "This organization is configured so that administrators and moderators can add custom emoji.": "This organisation is configured so that administrators and moderators can add custom emoji.", "This organization is configured so that administrators and moderators can modify user groups.": "This organisation is configured so that administrators and moderators can modify user groups.", @@ -1279,14 +1279,14 @@ "You can also make tables with this Markdown-ish table syntax.": "You can also make tables with this Markdown-ish table syntax.", "You can combine search filters as needed.": "You can combine search filters as needed.", "You can fully access this community and participate in conversations by creating a Zulip account in this organization.": "You can fully access this community and participate in conversations by creating a Zulip account in this organisation.", - "You can no longer save changes to this message.": "", + "You can no longer save changes to this message.": "You can no longer save changes to this message.", "You can only view or manage invitations that you sent.": "You can only view or manage invitations that you sent.", "You can reactivate deactivated users from organization settings.": "You can reactivate deactivated users from organisation settings.", "You can use email to send messages to Zulip streams.": "You can use email to send messages to Zulip streams.", "You cannot create a stream with no subscribers!": "You cannot create a stream with no subscribers!", "You cannot create a user group with no members!": "You cannot create a user group with no members!", "You cannot send messages to deactivated users.": "You cannot send messages to deactivated users.", - "You do not have permission to add other users to streams in this organization.": "", + "You do not have permission to add other users to streams in this organization.": "You do not have permission to add other users to streams in this organisation.", "You do not have permission to move some of the messages in this topic. Contact a moderator to move all messages.": "You do not have permission to move some of the messages in this topic. Contact a moderator to move all messages.", "You do not have permission to post in this stream.": "You do not have permission to post in this stream.", "You do not have permission to resolve topics with messages older than {N, plural, one {# day} other {# days}} in this organization.": "You do not have permission to resolve topics with messages older than {N, plural, one {# day} other {# days}} in this organisation.", diff --git a/locale/eo/LC_MESSAGES/django.po b/locale/eo/LC_MESSAGES/django.po index 4a7c5f2e67..bab420a807 100644 --- a/locale/eo/LC_MESSAGES/django.po +++ b/locale/eo/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-13 19:19+0000\n" +"POT-Creation-Date: 2023-07-26 03:33+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,8 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: analytics/views/stats.py:110 zerver/decorator.py:623 zerver/decorator.py:641 + +#: analytics/views/stats.py:110 zerver/decorator.py:628 zerver/decorator.py:646 msgid "Not allowed for guest users" msgstr "" @@ -42,7 +43,8 @@ msgid "Group direct messages" msgstr "" #: analytics/views/stats.py:318 -msgid "Unknown chart name: {}" +#, python-brace-format +msgid "Unknown chart name: {chart_name}" msgstr "" #: analytics/views/stats.py:328 @@ -54,8 +56,8 @@ msgstr "" msgid "No analytics data available. Please contact your server administrator." msgstr "" -#: analytics/views/support.py:189 zerver/views/streams.py:304 -#: zerver/views/streams.py:308 zerver/views/streams.py:316 +#: analytics/views/support.py:189 zerver/views/streams.py:306 +#: zerver/views/streams.py:310 zerver/views/streams.py:318 msgid "Invalid parameters" msgstr "" @@ -112,30 +114,32 @@ msgid "" "{num_invites} users." msgstr "" -#: corporate/lib/stripe.py:112 -msgid "You must invoice for at least {} users." +#: corporate/lib/stripe.py:113 +#, python-brace-format +msgid "You must invoice for at least {min_licenses} users." msgstr "" -#: corporate/lib/stripe.py:117 +#: corporate/lib/stripe.py:120 +#, python-brace-format msgid "" -"Invoices with more than {} licenses can't be processed from this page. To " -"complete the upgrade, please contact {}." +"Invoices with more than {max_licenses} licenses can't be processed from this " +"page. To complete the upgrade, please contact {email}." msgstr "" -#: corporate/lib/stripe.py:225 +#: corporate/lib/stripe.py:228 #, python-brace-format msgid "Something went wrong. Please contact {email}." msgstr "" -#: corporate/lib/stripe.py:226 +#: corporate/lib/stripe.py:229 msgid "Something went wrong. Please reload the page." msgstr "" -#: corporate/lib/stripe.py:300 +#: corporate/lib/stripe.py:303 msgid "Something went wrong. Please wait a few seconds and try again." msgstr "" -#: corporate/lib/stripe.py:1020 +#: corporate/lib/stripe.py:1023 #, python-brace-format msgid "" "Your organization's request for sponsored hosting has been approved! You " @@ -169,7 +173,7 @@ msgstr "" msgid "Unable to update the plan. The plan has ended." msgstr "" -#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:253 +#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:251 msgid "" "Unable to update licenses manually. Your plan is on automatic license " "management." @@ -185,14 +189,14 @@ msgstr "" msgid "You cannot decrease the licenses in the current billing period." msgstr "" -#: corporate/views/billing_page.py:259 +#: corporate/views/billing_page.py:257 #, python-brace-format msgid "" "Your plan is already scheduled to renew with {licenses_at_next_renewal} " "licenses." msgstr "" -#: corporate/views/billing_page.py:273 +#: corporate/views/billing_page.py:271 msgid "Nothing to change." msgstr "" @@ -204,7 +208,7 @@ msgstr "" msgid "Session not found" msgstr "" -#: corporate/views/event_status.py:37 zerver/decorator.py:196 +#: corporate/views/event_status.py:37 zerver/decorator.py:197 msgid "Must be a billing administrator or an organization owner" msgstr "" @@ -255,7 +259,7 @@ msgid "" msgstr "" #: templates/500.html:4 templates/500.html:21 -#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:433 +#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:410 msgid "Internal server error" msgstr "" @@ -565,7 +569,7 @@ msgstr "" #: templates/corporate/for/events.html:34 #: templates/corporate/for/events.html:288 #: templates/corporate/for/open-source.html:36 -#: templates/corporate/for/open-source.html:720 +#: templates/corporate/for/open-source.html:727 #: templates/corporate/for/research.html:36 #: templates/corporate/for/research.html:402 #: templates/corporate/for/use-cases.html:23 @@ -585,7 +589,7 @@ msgstr "" #: templates/corporate/for/events.html:40 #: templates/corporate/for/events.html:294 #: templates/corporate/for/open-source.html:42 -#: templates/corporate/for/open-source.html:726 +#: templates/corporate/for/open-source.html:733 #: templates/corporate/for/research.html:42 #: templates/corporate/for/research.html:408 #: templates/corporate/for/use-cases.html:29 @@ -597,7 +601,7 @@ msgstr "" #: templates/corporate/for/events.html:37 #: templates/corporate/for/events.html:291 #: templates/corporate/for/open-source.html:39 -#: templates/corporate/for/open-source.html:723 +#: templates/corporate/for/open-source.html:730 #: templates/corporate/for/research.html:39 #: templates/corporate/for/research.html:405 msgid "Request sponsorship" @@ -863,52 +867,52 @@ msgid "Sign up with %(identity_provider)s" msgstr "" #: templates/zerver/accounts_send_confirm.html:5 -msgid "Confirm your email address" -msgstr "" - #: templates/zerver/accounts_send_confirm.html:17 -msgid "Thanks for signing up!" +msgid "Confirm your email address" msgstr "" #: templates/zerver/accounts_send_confirm.html:21 #, python-format msgid "" -"Check your email (%(email)s) so " -"we can get started." +"To complete your registration, check your email account (%(email)s) for a confirmation email " +"from Zulip." msgstr "" #: templates/zerver/accounts_send_confirm.html:25 msgid "" -"Still no email? We can resend it." +"If you don't see a confirmation email in your Inbox or Spam folder, we can " +"resend it." msgstr "" -#: templates/zerver/accounts_send_confirm.html:26 -msgid "Just in case, take a look at your Spam folder." -msgstr "" - -#: templates/zerver/app/index.html:121 +#: templates/zerver/app/index.html:128 msgid "" -"If this message does not go away, try reloading the " -"page." +"If this message does not go away, try reloading " +"the page." msgstr "" -#: templates/zerver/app/index.html:164 +#: templates/zerver/app/index.html:131 +msgid "" +"Error loading Zulip. Try reloading the page." +msgstr "" + +#: templates/zerver/app/index.html:174 msgid "Unable to connect to Zulip." msgstr "" -#: templates/zerver/app/index.html:165 +#: templates/zerver/app/index.html:175 msgid "Updates may be delayed." msgstr "" -#: templates/zerver/app/index.html:166 +#: templates/zerver/app/index.html:176 msgid "Retrying soon…" msgstr "" -#: templates/zerver/app/index.html:167 +#: templates/zerver/app/index.html:177 msgid "Try now." msgstr "" -#: templates/zerver/app/index.html:241 templates/zerver/app/index.html:243 +#: templates/zerver/app/index.html:251 templates/zerver/app/index.html:253 msgid "Messages" msgstr "" @@ -937,6 +941,7 @@ msgstr "" #: templates/zerver/billing_nav.html:4 #: templates/zerver/development/integrations_dev_panel.html:19 +#: templates/zerver/emails/compiled/followup_day2.html:28 #: templates/zerver/portico-header.html:5 #: templates/zerver/portico-header.html:9 msgid "Zulip" @@ -1167,6 +1172,8 @@ msgstr "" msgid "Digest" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:9 +#: templates/zerver/emails/compiled/notify_change_in_email.html:9 #: templates/zerver/emails/confirm_new_email.html:8 #: templates/zerver/emails/confirm_new_email.txt:1 #: templates/zerver/emails/notify_change_in_email.html:8 @@ -1174,6 +1181,7 @@ msgstr "" msgid "Hi," msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:11 #: templates/zerver/emails/confirm_new_email.html:10 #: templates/zerver/emails/confirm_new_email.txt:4 #, python-format @@ -1183,10 +1191,12 @@ msgid "" "please click below:" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:12 #: templates/zerver/emails/confirm_new_email.html:11 msgid "Confirm email change" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:14 #: templates/zerver/emails/confirm_new_email.html:13 #, python-format msgid "" @@ -1194,6 +1204,623 @@ msgid "" "%(support_email)s." msgstr "" +#: templates/zerver/emails/compiled/confirm_registration.html:11 +#: templates/zerver/emails/confirm_registration.html:10 +#: templates/zerver/emails/confirm_registration.txt:2 +msgid "You have requested a new Zulip organization. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:13 +#: templates/zerver/emails/confirm_registration.html:12 +#: templates/zerver/emails/confirm_registration.txt:4 +msgid "You recently signed up for Zulip. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:18 +#: templates/zerver/emails/confirm_registration.html:17 +msgid "" +"Click the button below to create the organization and register your account." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:20 +#: templates/zerver/emails/confirm_registration.html:19 +msgid "Click the button below to complete registration." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:22 +#: templates/zerver/emails/compiled/invitation.html:17 +#: templates/zerver/emails/compiled/invitation_reminder.html:15 +#: templates/zerver/emails/confirm_registration.html:21 +#: templates/zerver/emails/invitation.html:16 +#: templates/zerver/emails/invitation_reminder.html:14 +msgid "Complete registration" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:24 +#: templates/zerver/emails/compiled/invitation.html:20 +#: templates/zerver/emails/compiled/realm_reactivation.html:20 +#, python-format +msgid "" +"Contact us any time at %(support_email)s if you run into trouble, have any " +"feedback, or just want to chat!" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:8 +#, python-format +msgid "" +"\n" +"Your Zulip account on %(realm_uri)s has been deactivated, and you will " +"no longer be able to log in.\n" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:15 +#: templates/zerver/emails/deactivate.html:15 +#: templates/zerver/emails/deactivate.txt:6 +msgid "The administrators provided the following comment:" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:28 +#: templates/zerver/emails/digest.html:27 +msgid "New streams" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:35 +#: templates/zerver/emails/digest.html:34 +msgid "Click here to log in to Zulip and catch up." +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:40 +#: templates/zerver/emails/compiled/followup_day2.html:34 +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/custom_email_base.pre.html:18 +#: templates/zerver/emails/digest.html:39 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Manage email preferences" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:41 +#: templates/zerver/emails/digest.html:40 +msgid "Unsubscribe from digest emails" +msgstr "" + +#: templates/zerver/emails/compiled/email_base_default.html:95 +#: templates/zerver/emails/compiled/email_base_marketing.html:95 +#: templates/zerver/emails/email_base_default.html:33 +#: templates/zerver/emails/email_base_marketing.html:33 +msgid "Swimming fish" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:9 +#: templates/zerver/emails/find_team.html:8 +#: templates/zerver/emails/find_team.txt:1 +msgid "Thanks for your request!" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:11 +#, python-format +msgid "" +"Your email address %(email)s has accounts with the following Zulip " +"organizations hosted by %(external_host)s:" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:19 +#: templates/zerver/emails/find_team.html:18 +#: templates/zerver/emails/find_team.txt:10 +msgid "" +"If you have trouble logging in, please contact Zulip support by replying to " +"this email." +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:21 +#: templates/zerver/emails/find_team.html:20 +#: templates/zerver/emails/find_team.txt:13 +msgid "Thanks for using Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:9 +#: templates/zerver/emails/followup_day1.html:24 +#: templates/zerver/emails/followup_day1.txt:1 +msgid "Welcome to Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:14 +msgid "" +"You've created a demo Zulip organization. Note that this organization will " +"be automatically deleted in 30 days. Learn more about demo organizations here!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:16 +#, python-format +msgid "You've created the new Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:19 +#, python-format +msgid "You've joined the Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:24 +msgid "Your account details:" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:27 +#: templates/zerver/emails/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.txt:16 +#, python-format +msgid "Organization URL: %(organization_url)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:31 +#, python-format +msgid "Username: %(ldap_username)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.html:39 +#: templates/zerver/emails/followup_day1.txt:22 +msgid "Use your LDAP account to log in" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:38 +#, python-format +msgid "Email: %(email)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:42 +#, python-format +msgid "" +"(you'll need these to sign in to the mobile and desktop " +"apps)" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:47 +#, python-format +msgid "" +"Check out our guide for admins, become a Zulip pro with a " +"few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:49 +#, python-format +msgid "" +"Learn more about Zulip, become a pro with a few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:54 +msgid "Cheers," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:55 +#: templates/zerver/emails/compiled/notify_change_in_email.html:15 +#: templates/zerver/emails/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.txt:7 +msgid "Team Zulip" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:59 +msgid "" +"PS: Follow us on Twitter, star us on GitHub, or chat with us live on the Zulip community server!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:9 +msgid "Hey," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:11 +msgid "" +"I wanted to share one last thing with you: a few tips about topics, since " +"mastering topics is a key part of being a Zulip power user." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:13 +#: templates/zerver/emails/followup_day2.html:22 +msgid "Examples of short topics" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:15 +msgid "" +"Topics are like email subject lines. The big difference, though, is that " +"they're really short and lightweight. Two or three words will do it. Don't " +"overthink 'em—you can always edit the message later!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:18 +msgid "Good topics: design mockup, Bug 345, acme burgers" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:19 +msgid "" +"Not recommended: \"What do people think of this new design mockup?\", \"I'm " +"looking at Bug 345\", \"Is Acme Burgers open for lunch?\"" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:22 +msgid "Example of a topic that is too long" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:24 +msgid "" +"Why bother with topics? Well, two reasons: it makes conversations clearer " +"(imagine if email didn't have them!), and it lets you more efficiently catch " +"up on what's happened while you're away—read the topics that are relevant to " +"you, and ignore the ones that aren't!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:26 +msgid "Take it for a spin now." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:28 +#: templates/zerver/emails/compiled/notify_new_login.html:42 +#: templates/zerver/emails/notify_new_login.html:40 +#: templates/zerver/emails/notify_new_login.txt:20 +msgid "Thanks," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:35 +msgid "Unsubscribe from welcome emails" +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:10 +#: templates/zerver/emails/invitation.html:9 +#: templates/zerver/emails/invitation.txt:1 +msgid "Hi there," +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:13 +#, python-format +msgid "" +"%(referrer_name)s wants you to join them on Zulip — the team communication " +"tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:16 +#: templates/zerver/emails/compiled/invitation_reminder.html:14 +#: templates/zerver/emails/invitation.html:15 +#: templates/zerver/emails/invitation_reminder.html:13 +msgid "To get started, click the button below." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:9 +#: templates/zerver/emails/invitation_reminder.html:8 +#: templates/zerver/emails/invitation_reminder.txt:1 +msgid "Hi again," +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:11 +#, python-format +msgid "" +"This is a friendly reminder that %(referrer_name)s wants you to join them on " +"Zulip — the team communication tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:19 +#: templates/zerver/emails/invitation_reminder.html:18 +#: templates/zerver/emails/invitation_reminder.txt:8 +msgid "This is the last reminder you'll receive for this invitation." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:23 +#: templates/zerver/emails/invitation_reminder.html:22 +#, python-format +msgid "" +"\n" +" This invitation expires in two days. If the invitation expires,\n" +" you'll need to ask %(referrer_name)s for another one.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:18 +#, python-format +msgid "" +"This email does not include message content because your organization has " +"disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:20 +#, python-format +msgid "" +"This email does not include message content because you have disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:30 +#: templates/zerver/emails/missed_message.html:29 +#: templates/zerver/emails/missed_message.txt:25 +msgid "You are receiving this because you were personally mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:32 +#: templates/zerver/emails/missed_message.html:31 +#: templates/zerver/emails/missed_message.txt:27 +#, python-format +msgid "" +"You are receiving this because @%(mentioned_user_group_name)s was mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:34 +#: templates/zerver/emails/missed_message.html:39 +#: templates/zerver/emails/missed_message.txt:35 +#, python-format +msgid "" +"You are receiving this because everyone was mentioned in #%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:36 +#: templates/zerver/emails/missed_message.html:43 +#: templates/zerver/emails/missed_message.txt:39 +#, python-format +msgid "" +"You are receiving this because you have email notifications enabled for " +"#%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:39 +#, python-format +msgid "" +"Reply to this email directly, view it in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:41 +#, python-format +msgid "" +"View or reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:43 +#, python-format +msgid "" +"Reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:45 +#, python-format +msgid "" +"\n" +" Do not reply to this email. This Zulip server is not configured to " +"accept incoming emails (help).\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:11 +#: templates/zerver/emails/notify_change_in_email.html:10 +#, python-format +msgid "" +"The email associated with your Zulip account was recently changed to " +"%(new_email)s. If you did not request this change, please contact us " +"immediately at %(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.html:13 +#: templates/zerver/emails/notify_change_in_email.txt:6 +msgid "Best," +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:4 +#: templates/zerver/emails/notify_new_login.html:4 +#, python-format +msgid "" +"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:13 +#: templates/zerver/emails/notify_new_login.html:12 +#: templates/zerver/emails/notify_new_login.txt:1 +msgid "We noticed a recent login for the following Zulip account." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:18 +#: templates/zerver/emails/notify_new_login.html:16 +#, python-format +msgid "Organization: %(organization_link)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:21 +#: templates/zerver/emails/notify_new_login.html:19 +#: templates/zerver/emails/notify_new_login.txt:5 +#, python-format +msgid "Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:24 +#: templates/zerver/emails/notify_new_login.html:22 +#: templates/zerver/emails/notify_new_login.txt:7 +#, python-format +msgid "Time: %(login_time)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:27 +#: templates/zerver/emails/notify_new_login.html:25 +#: templates/zerver/emails/notify_new_login.txt:9 +#, python-format +msgid "Device: %(device_browser)s on %(device_os)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:30 +#: templates/zerver/emails/notify_new_login.html:28 +#: templates/zerver/emails/notify_new_login.txt:11 +#, python-format +msgid "IP address: %(device_ip)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:35 +#: templates/zerver/emails/notify_new_login.html:33 +#: templates/zerver/emails/notify_new_login.txt:14 +msgid "If this was you, great! There's nothing else you need to do." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:38 +#, python-format +msgid "" +"If you do not recognize this login, or think your account may have been " +"compromised, please reset your password or contact us immediately at " +"%(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:43 +#: templates/zerver/emails/notify_new_login.html:41 +#: templates/zerver/emails/notify_new_login.txt:21 +msgid "Zulip Security" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Unsubscribe from login notifications" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:10 +#: templates/zerver/emails/password_reset.html:9 +#: templates/zerver/emails/password_reset.txt:1 +#, python-format +msgid "" +"Somebody (possibly you) requested a new password for the Zulip account " +"%(email)s on %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:14 +#: templates/zerver/emails/password_reset.html:13 +msgid "Click the button below to reset your password." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:15 +#: templates/zerver/emails/password_reset.html:14 +msgid "Reset password" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:20 +#, python-format +msgid "" +"You previously had an account on %(organization_url)s, but it has been " +"deactivated. You can contact an organization administrator to reactivate your account." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:22 +#: templates/zerver/emails/password_reset.html:21 +#: templates/zerver/emails/password_reset.txt:11 +msgid "You do not have an account in that Zulip organization." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:27 +#: templates/zerver/emails/password_reset.html:26 +#: templates/zerver/emails/password_reset.txt:16 +msgid "You do have active accounts in the following organization(s)." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:34 +#: templates/zerver/emails/password_reset.html:32 +#: templates/zerver/emails/password_reset.txt:21 +msgid "" +"You can try logging in or resetting your password in the organization(s) " +"above." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:40 +#: templates/zerver/emails/password_reset.html:38 +#: templates/zerver/emails/password_reset.txt:25 +msgid "" +"If you do not recognize this activity, you can safely ignore this email." +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:8 +#: templates/zerver/emails/realm_auto_downgraded.html:8 +#, python-format +msgid "" +"\n" +" Your organization, %(organization_name_with_link)s, has been downgraded " +"to the Zulip Cloud\n" +" Free plan because of unpaid invoices. The unpaid invoices have been " +"voided.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:15 +#: templates/zerver/emails/realm_auto_downgraded.html:15 +#, python-format +msgid "" +"\n" +" To continue on the Zulip Cloud Standard plan, please upgrade again by " +"going to %(upgrade_url)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:22 +#: templates/zerver/emails/realm_auto_downgraded.html:22 +#, python-format +msgid "" +"\n" +" If you think this was a mistake or need more details, please reach out " +"to us at %(support_email)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:9 +#: templates/zerver/emails/realm_reactivation.html:8 +#: templates/zerver/emails/realm_reactivation.txt:1 +#, python-format +msgid "Dear former administrators of %(realm_name)s," +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:11 +#: templates/zerver/emails/realm_reactivation.html:10 +#: templates/zerver/emails/realm_reactivation.txt:4 +#, python-format +msgid "" +"One of your administrators requested reactivation of the previously " +"deactivated Zulip organization hosted at %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:14 +#: templates/zerver/emails/realm_reactivation.html:13 +msgid "Click the button below to reactivate your organization." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:15 +#: templates/zerver/emails/realm_reactivation.html:14 +msgid "Reactivate organization" +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:18 +#: templates/zerver/emails/realm_reactivation.html:17 +#: templates/zerver/emails/realm_reactivation.txt:10 +msgid "" +"If the request was in error, you can take no action and this link will " +"expire in 24 hours." +msgstr "" + #: templates/zerver/emails/confirm_new_email.subject.txt:1 msgid "Verify your new email address" msgstr "" @@ -1205,31 +1832,6 @@ msgid "" "<%(support_email)s>." msgstr "" -#: templates/zerver/emails/confirm_registration.html:10 -#: templates/zerver/emails/confirm_registration.txt:2 -msgid "You have requested a new Zulip organization. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:12 -#: templates/zerver/emails/confirm_registration.txt:4 -msgid "You recently signed up for Zulip. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:17 -msgid "" -"Click the button below to create the organization and register your account." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:19 -msgid "Click the button below to complete registration." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:21 -#: templates/zerver/emails/invitation.html:16 -#: templates/zerver/emails/invitation_reminder.html:14 -msgid "Complete registration" -msgstr "" - #: templates/zerver/emails/confirm_registration.subject.txt:2 msgid "Create your Zulip organization" msgstr "" @@ -1268,12 +1870,6 @@ msgid "" "at %(support_email)s." msgstr "" -#: templates/zerver/emails/custom_email_base.pre.html:18 -#: templates/zerver/emails/digest.html:39 -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Manage email preferences" -msgstr "" - #: templates/zerver/emails/custom_email_base.pre.html:18 msgid "Unsubscribe from marketing emails" msgstr "" @@ -1286,11 +1882,6 @@ msgid "" "deactivated, and you will no longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/deactivate.html:15 -#: templates/zerver/emails/deactivate.txt:6 -msgid "The administrators provided the following comment:" -msgstr "" - #: templates/zerver/emails/deactivate.subject.txt:1 #, python-format msgid "Notification of account deactivation on %(realm_name)s" @@ -1304,18 +1895,6 @@ msgid "" "longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/digest.html:27 -msgid "New streams" -msgstr "" - -#: templates/zerver/emails/digest.html:34 -msgid "Click here to log in to Zulip and catch up." -msgstr "" - -#: templates/zerver/emails/digest.html:40 -msgid "Unsubscribe from digest emails" -msgstr "" - #: templates/zerver/emails/digest.subject.txt:1 #, python-format msgid "Zulip digest for %(realm_name)s" @@ -1334,16 +1913,6 @@ msgstr "" msgid "Unsubscribe from digest emails:" msgstr "" -#: templates/zerver/emails/email_base_default.html:33 -#: templates/zerver/emails/email_base_marketing.html:33 -msgid "Swimming fish" -msgstr "" - -#: templates/zerver/emails/find_team.html:8 -#: templates/zerver/emails/find_team.txt:1 -msgid "Thanks for your request!" -msgstr "" - #: templates/zerver/emails/find_team.html:10 #, python-format msgid "" @@ -1351,18 +1920,6 @@ msgid "" "organizations hosted by %(external_host)s:" msgstr "" -#: templates/zerver/emails/find_team.html:18 -#: templates/zerver/emails/find_team.txt:10 -msgid "" -"If you have trouble logging in, please contact Zulip support by replying to " -"this email." -msgstr "" - -#: templates/zerver/emails/find_team.html:20 -#: templates/zerver/emails/find_team.txt:13 -msgid "Thanks for using Zulip!" -msgstr "" - #: templates/zerver/emails/find_team.subject.txt:1 msgid "Your Zulip accounts" msgstr "" @@ -1392,11 +1949,6 @@ msgid "" " organization: %(realm_name)s." msgstr "" -#: templates/zerver/emails/followup_day1.html:24 -#: templates/zerver/emails/followup_day1.txt:1 -msgid "Welcome to Zulip!" -msgstr "" - #: templates/zerver/emails/followup_day1.html:26 #, python-format msgid "" @@ -1411,23 +1963,12 @@ msgid "" "href=\"%(apps_page_link)s\">mobile and desktop apps:" msgstr "" -#: templates/zerver/emails/followup_day1.html:34 -#: templates/zerver/emails/followup_day1.txt:16 -#, python-format -msgid "Organization URL: %(organization_url)s" -msgstr "" - #: templates/zerver/emails/followup_day1.html:37 #: templates/zerver/emails/followup_day1.txt:20 #, python-format msgid "Your username: %(ldap_username)s" msgstr "" -#: templates/zerver/emails/followup_day1.html:39 -#: templates/zerver/emails/followup_day1.txt:22 -msgid "Use your LDAP account to log in" -msgstr "" - #: templates/zerver/emails/followup_day1.html:42 #: templates/zerver/emails/followup_day1.txt:25 #, python-format @@ -1547,10 +2088,6 @@ msgid "" "about…?”" msgstr "" -#: templates/zerver/emails/followup_day2.html:22 -msgid "Examples of short topics" -msgstr "" - #: templates/zerver/emails/followup_day2.html:25 #, python-format msgid "" @@ -1594,11 +2131,6 @@ msgid "" "(%(move_topic_to_different_stream_link)s)." msgstr "" -#: templates/zerver/emails/invitation.html:9 -#: templates/zerver/emails/invitation.txt:1 -msgid "Hi there," -msgstr "" - #: templates/zerver/emails/invitation.html:12 #, python-format msgid "" @@ -1606,11 +2138,6 @@ msgid "" "communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation.html:15 -#: templates/zerver/emails/invitation_reminder.html:13 -msgid "To get started, click the button below." -msgstr "" - #: templates/zerver/emails/invitation.subject.txt:1 #, python-format msgid "%(referrer_full_name)s has invited you to join %(referrer_realm_name)s" @@ -1628,11 +2155,6 @@ msgstr "" msgid "To get started, click the link below." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:8 -#: templates/zerver/emails/invitation_reminder.txt:1 -msgid "Hi again," -msgstr "" - #: templates/zerver/emails/invitation_reminder.html:10 #, python-format msgid "" @@ -1640,20 +2162,6 @@ msgid "" "Zulip — the team communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:18 -#: templates/zerver/emails/invitation_reminder.txt:8 -msgid "This is the last reminder you'll receive for this invitation." -msgstr "" - -#: templates/zerver/emails/invitation_reminder.html:22 -#, python-format -msgid "" -"\n" -" This invitation expires in two days. If the invitation expires,\n" -" you'll need to ask %(referrer_name)s for another one.\n" -" " -msgstr "" - #: templates/zerver/emails/invitation_reminder.subject.txt:1 #, python-format msgid "Reminder: Join %(referrer_name)s at %(referrer_realm_name)s" @@ -1704,34 +2212,31 @@ msgid "" "content appearing in email notifications." msgstr "" -#: templates/zerver/emails/missed_message.html:29 -#: templates/zerver/emails/missed_message.txt:25 -msgid "You are receiving this because you were personally mentioned." -msgstr "" - -#: templates/zerver/emails/missed_message.html:31 -#: templates/zerver/emails/missed_message.txt:27 -#, python-format -msgid "" -"You are receiving this because @%(mentioned_user_group_name)s was mentioned." -msgstr "" - #: templates/zerver/emails/missed_message.html:33 +#: templates/zerver/emails/missed_message.html:37 #: templates/zerver/emails/missed_message.txt:29 +#: templates/zerver/emails/missed_message.txt:33 #, python-format msgid "" -"You are receiving this because everyone was mentioned in #%(stream_name)s." +"You are receiving this because all topic participants were mentioned in " +"#%(stream_name)s > %(topic_name)s." msgstr "" #: templates/zerver/emails/missed_message.html:35 #: templates/zerver/emails/missed_message.txt:31 -#, python-format msgid "" -"You are receiving this because you have email notifications enabled for " -"#%(stream_name)s." +"You are receiving this because you have wildcard mention notifications " +"enabled for topics you follow." msgstr "" -#: templates/zerver/emails/missed_message.html:38 +#: templates/zerver/emails/missed_message.html:41 +#: templates/zerver/emails/missed_message.txt:37 +msgid "" +"You are receiving this because you have email notifications enabled for " +"topics you follow." +msgstr "" + +#: templates/zerver/emails/missed_message.html:46 #, python-format msgid "" "Reply to this email directly, view it in " @@ -1739,21 +2244,21 @@ msgid "" "preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:40 +#: templates/zerver/emails/missed_message.html:48 #, python-format msgid "" "View or reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:42 +#: templates/zerver/emails/missed_message.html:50 #, python-format msgid "" "Reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:44 +#: templates/zerver/emails/missed_message.html:52 #, python-format msgid "" "\n" @@ -1799,50 +2304,32 @@ msgid "" "See %(alert_notif_url)s for more details.\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:35 +#: templates/zerver/emails/missed_message.txt:43 #, python-format msgid "Reply to this email directly, or view it in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:39 +#: templates/zerver/emails/missed_message.txt:47 #, python-format msgid "View or reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:43 +#: templates/zerver/emails/missed_message.txt:51 #, python-format msgid "Reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:47 +#: templates/zerver/emails/missed_message.txt:55 msgid "" "\n" "Do not reply to this email. This Zulip server is not configured to accept\n" "incoming emails. Help:\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:54 +#: templates/zerver/emails/missed_message.txt:62 msgid "Manage email preferences: " msgstr "" -#: templates/zerver/emails/notify_change_in_email.html:10 -#, python-format -msgid "" -"The email associated with your Zulip account was recently changed to " -"%(new_email)s. If you did not request this change, please contact us " -"immediately at %(support_email)s." -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:13 -#: templates/zerver/emails/notify_change_in_email.txt:6 -msgid "Best," -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:14 -#: templates/zerver/emails/notify_change_in_email.txt:7 -msgid "Team Zulip" -msgstr "" - #: templates/zerver/emails/notify_change_in_email.subject.txt:1 #, python-format msgid "Zulip email changed for %(realm_name)s" @@ -1856,51 +2343,6 @@ msgid "" "immediately at <%(support_email)s>." msgstr "" -#: templates/zerver/emails/notify_new_login.html:4 -#, python-format -msgid "" -"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:12 -#: templates/zerver/emails/notify_new_login.txt:1 -msgid "We noticed a recent login for the following Zulip account." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:16 -#, python-format -msgid "Organization: %(organization_link)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:19 -#: templates/zerver/emails/notify_new_login.txt:5 -#, python-format -msgid "Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:22 -#: templates/zerver/emails/notify_new_login.txt:7 -#, python-format -msgid "Time: %(login_time)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:25 -#: templates/zerver/emails/notify_new_login.txt:9 -#, python-format -msgid "Device: %(device_browser)s on %(device_os)s." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:28 -#: templates/zerver/emails/notify_new_login.txt:11 -#, python-format -msgid "IP address: %(device_ip)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:33 -#: templates/zerver/emails/notify_new_login.txt:14 -msgid "If this was you, great! There's nothing else you need to do." -msgstr "" - #: templates/zerver/emails/notify_new_login.html:36 #, python-format msgid "" @@ -1909,20 +2351,6 @@ msgid "" "contact us immediately at %(support_email)s." msgstr "" -#: templates/zerver/emails/notify_new_login.html:40 -#: templates/zerver/emails/notify_new_login.txt:20 -msgid "Thanks," -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:41 -#: templates/zerver/emails/notify_new_login.txt:21 -msgid "Zulip Security" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Unsubscribe from login notifications" -msgstr "" - #: templates/zerver/emails/notify_new_login.subject.txt:1 #, python-format msgid "New login from %(device_browser)s on %(device_os)s" @@ -2013,22 +2441,6 @@ msgstr "" msgid "Zulip guide for communities" msgstr "" -#: templates/zerver/emails/password_reset.html:9 -#: templates/zerver/emails/password_reset.txt:1 -#, python-format -msgid "" -"Somebody (possibly you) requested a new password for the Zulip account " -"%(email)s on %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/password_reset.html:13 -msgid "Click the button below to reset your password." -msgstr "" - -#: templates/zerver/emails/password_reset.html:14 -msgid "Reset password" -msgstr "" - #: templates/zerver/emails/password_reset.html:19 #, python-format msgid "" @@ -2037,29 +2449,6 @@ msgid "" "href=\"%(help_link)s\">reactivate your account." msgstr "" -#: templates/zerver/emails/password_reset.html:21 -#: templates/zerver/emails/password_reset.txt:11 -msgid "You do not have an account in that Zulip organization." -msgstr "" - -#: templates/zerver/emails/password_reset.html:26 -#: templates/zerver/emails/password_reset.txt:16 -msgid "You do have active accounts in the following organization(s)." -msgstr "" - -#: templates/zerver/emails/password_reset.html:32 -#: templates/zerver/emails/password_reset.txt:21 -msgid "" -"You can try logging in or resetting your password in the organization(s) " -"above." -msgstr "" - -#: templates/zerver/emails/password_reset.html:38 -#: templates/zerver/emails/password_reset.txt:25 -msgid "" -"If you do not recognize this activity, you can safely ignore this email." -msgstr "" - #: templates/zerver/emails/password_reset.subject.txt:1 #, python-format msgid "Password reset request for %(realm_name)s" @@ -2076,64 +2465,6 @@ msgid "" "You can contact an organization administrator to reactivate your account." msgstr "" -#: templates/zerver/emails/realm_auto_downgraded.html:8 -#, python-format -msgid "" -"\n" -" Your organization, %(organization_name_with_link)s, has been downgraded " -"to the Zulip Cloud\n" -" Free plan because of unpaid invoices. The unpaid invoices have been " -"voided.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:15 -#, python-format -msgid "" -"\n" -" To continue on the Zulip Cloud Standard plan, please upgrade again by " -"going to %(upgrade_url)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:22 -#, python-format -msgid "" -"\n" -" If you think this was a mistake or need more details, please reach out " -"to us at %(support_email)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:8 -#: templates/zerver/emails/realm_reactivation.txt:1 -#, python-format -msgid "Dear former administrators of %(realm_name)s," -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:10 -#: templates/zerver/emails/realm_reactivation.txt:4 -#, python-format -msgid "" -"One of your administrators requested reactivation of the previously " -"deactivated Zulip organization hosted at %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:13 -msgid "Click the button below to reactivate your organization." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:14 -msgid "Reactivate organization" -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:17 -#: templates/zerver/emails/realm_reactivation.txt:10 -msgid "" -"If the request was in error, you can take no action and this link will " -"expire in 24 hours." -msgstr "" - #: templates/zerver/emails/realm_reactivation.subject.txt:1 msgid "Reactivate your Zulip organization" msgstr "" @@ -2918,77 +3249,79 @@ msgid "" " " msgstr "" -#: zerver/actions/create_user.py:88 +#: zerver/actions/create_user.py:93 msgid "signups" msgstr "" -#: zerver/actions/create_user.py:101 +#: zerver/actions/create_user.py:106 #, python-brace-format msgid "{user} just signed up for Zulip. (total: {user_count})" msgstr "" -#: zerver/actions/create_user.py:221 +#: zerver/actions/create_user.py:251 #, python-brace-format msgid "{user} accepted your invitation to join Zulip!" msgstr "" -#: zerver/actions/custom_profile_fields.py:129 +#: zerver/actions/custom_profile_fields.py:126 msgid "Invalid order mapping." msgstr "" -#: zerver/actions/custom_profile_fields.py:208 zerver/lib/users.py:390 +#: zerver/actions/custom_profile_fields.py:205 zerver/lib/users.py:396 #: zerver/views/custom_profile_fields.py:195 #: zerver/views/custom_profile_fields.py:216 #, python-brace-format msgid "Field id {id} not found." msgstr "" -#: zerver/actions/default_streams.py:21 -msgid "Invalid default stream group name '{}'" +#: zerver/actions/default_streams.py:25 +#, python-brace-format +msgid "Invalid default stream group name '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:24 -msgid "Default stream group name too long (limit: {} characters)" +#: zerver/actions/default_streams.py:29 +#, python-brace-format +msgid "Default stream group name too long (limit: {max_length} characters)" msgstr "" -#: zerver/actions/default_streams.py:31 -msgid "Default stream group name '{}' contains NULL (0x00) characters." +#: zerver/actions/default_streams.py:37 +#, python-brace-format +msgid "" +"Default stream group name '{group_name}' contains NULL (0x00) characters." msgstr "" -#: zerver/actions/default_streams.py:45 -msgid "Invalid default stream group {}" +#: zerver/actions/default_streams.py:53 +#, python-brace-format +msgid "Invalid default stream group {group_name}" msgstr "" -#: zerver/actions/default_streams.py:92 zerver/actions/default_streams.py:119 +#: zerver/actions/default_streams.py:101 zerver/actions/default_streams.py:128 #, python-brace-format msgid "" "'{stream_name}' is a default stream and cannot be added to '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:103 +#: zerver/actions/default_streams.py:112 zerver/actions/default_streams.py:173 #, python-brace-format msgid "Default stream group '{group_name}' already exists" msgstr "" -#: zerver/actions/default_streams.py:125 +#: zerver/actions/default_streams.py:134 #, python-brace-format msgid "" "Stream '{stream_name}' is already present in default stream group " "'{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:141 +#: zerver/actions/default_streams.py:151 #, python-brace-format msgid "" "Stream '{stream_name}' is not present in default stream group '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:155 -msgid "This default stream group is already named '{}'" -msgstr "" - -#: zerver/actions/default_streams.py:159 -msgid "Default stream group '{}' already exists" +#: zerver/actions/default_streams.py:166 +#, python-brace-format +msgid "This default stream group is already named '{group_name}'" msgstr "" #: zerver/actions/invites.py:161 @@ -3017,190 +3350,189 @@ msgid "" "invitation. We did send invitations to everyone else!" msgstr "" -#: zerver/actions/message_edit.py:92 zerver/views/scheduled_messages.py:61 +#: zerver/actions/message_edit.py:93 zerver/views/scheduled_messages.py:61 msgid "Nothing to change" msgstr "" -#: zerver/actions/message_edit.py:96 +#: zerver/actions/message_edit.py:97 msgid "Direct messages cannot be moved to streams." msgstr "" -#: zerver/actions/message_edit.py:98 +#: zerver/actions/message_edit.py:99 msgid "Direct messages cannot have topics." msgstr "" -#: zerver/actions/message_edit.py:101 +#: zerver/actions/message_edit.py:102 msgid "Invalid propagate_mode without topic edit" msgstr "" -#: zerver/actions/message_edit.py:107 +#: zerver/actions/message_edit.py:108 msgid "Cannot change message content while changing stream" msgstr "" -#: zerver/actions/message_edit.py:111 +#: zerver/actions/message_edit.py:112 msgid "Widgets cannot be edited." msgstr "" -#: zerver/actions/message_edit.py:162 +#: zerver/actions/message_edit.py:163 #, python-brace-format msgid "{user} has marked this topic as resolved." msgstr "" -#: zerver/actions/message_edit.py:164 +#: zerver/actions/message_edit.py:165 #, python-brace-format msgid "{user} has marked this topic as unresolved." msgstr "" -#: zerver/actions/message_edit.py:967 +#: zerver/actions/message_edit.py:985 #, python-brace-format msgid "This topic was moved to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:971 +#: zerver/actions/message_edit.py:989 #, python-brace-format msgid "A message was moved from this topic to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:975 +#: zerver/actions/message_edit.py:993 #, python-brace-format msgid "" "{changed_messages_count} messages were moved from this topic to " "{new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1030 +#: zerver/actions/message_edit.py:1048 #, python-brace-format msgid "This topic was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1035 +#: zerver/actions/message_edit.py:1053 #, python-brace-format msgid "" "[A message]({message_link}) was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1039 +#: zerver/actions/message_edit.py:1057 #, python-brace-format msgid "" "{changed_messages_count} messages were moved here from {old_location} by " "{user}." msgstr "" -#: zerver/actions/message_edit.py:1167 +#: zerver/actions/message_edit.py:1186 msgid "Your organization has turned off message editing" msgstr "" -#: zerver/actions/message_edit.py:1185 zerver/actions/message_edit.py:1188 +#: zerver/actions/message_edit.py:1204 zerver/actions/message_edit.py:1207 msgid "You don't have permission to edit this message" msgstr "" -#: zerver/actions/message_edit.py:1199 +#: zerver/actions/message_edit.py:1218 msgid "The time limit for editing this message has passed" msgstr "" -#: zerver/actions/message_edit.py:1214 +#: zerver/actions/message_edit.py:1233 msgid "The time limit for editing this message's topic has passed." msgstr "" -#: zerver/actions/message_edit.py:1248 zerver/actions/message_send.py:1428 +#: zerver/actions/message_edit.py:1267 zerver/actions/message_send.py:1558 msgid "You do not have permission to use wildcard mentions in this stream." msgstr "" -#: zerver/actions/message_edit.py:1257 +#: zerver/actions/message_edit.py:1280 msgid "You don't have permission to move this message" msgstr "" -#: zerver/actions/message_edit.py:1263 +#: zerver/actions/message_edit.py:1286 msgid "" "You don't have permission to move this message due to missing access to its " "stream" msgstr "" -#: zerver/actions/message_edit.py:1280 +#: zerver/actions/message_edit.py:1303 msgid "The time limit for editing this message's stream has passed" msgstr "" #: zerver/actions/message_flags.py:257 -msgid "Invalid flag: '{}'" +#, python-brace-format +msgid "Invalid flag: '{flag}'" msgstr "" #: zerver/actions/message_flags.py:259 -msgid "Flag not editable: '{}'" +#, python-brace-format +msgid "Flag not editable: '{flag}'" msgstr "" -#: zerver/actions/message_flags.py:261 -msgid "Invalid message flag operation: '{}'" +#: zerver/actions/message_flags.py:262 +#, python-brace-format +msgid "Invalid message flag operation: '{operation}'" msgstr "" -#: zerver/actions/message_flags.py:333 zerver/lib/message.py:758 -#: zerver/lib/message.py:764 +#: zerver/actions/message_flags.py:335 zerver/lib/message.py:786 +#: zerver/lib/message.py:792 msgid "Invalid message(s)" msgstr "" -#: zerver/actions/message_send.py:156 +#: zerver/actions/message_send.py:161 msgid "Unable to render message" msgstr "" -#: zerver/actions/message_send.py:997 +#: zerver/actions/message_send.py:1127 msgid "Expected exactly one stream" msgstr "" -#: zerver/actions/message_send.py:1008 +#: zerver/actions/message_send.py:1138 msgid "Invalid data type for stream" msgstr "" -#: zerver/actions/message_send.py:1024 zerver/actions/message_send.py:1034 +#: zerver/actions/message_send.py:1154 zerver/actions/message_send.py:1164 #: zerver/actions/scheduled_messages.py:53 msgid "Invalid data type for recipients" msgstr "" -#: zerver/actions/message_send.py:1042 zerver/actions/message_send.py:1050 +#: zerver/actions/message_send.py:1172 zerver/actions/message_send.py:1180 msgid "Recipient lists may contain emails or user IDs, but not both." msgstr "" -#: zerver/actions/message_send.py:1195 +#: zerver/actions/message_send.py:1325 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream ID {stream_id}, " "but there is no stream with that ID." msgstr "" -#: zerver/actions/message_send.py:1206 +#: zerver/actions/message_send.py:1336 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}, but " "that stream does not exist. Click [here]({new_stream_link}) to create it." msgstr "" -#: zerver/actions/message_send.py:1218 +#: zerver/actions/message_send.py:1348 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}. The " "stream exists but does not have any subscribers." msgstr "" -#: zerver/actions/message_send.py:1265 +#: zerver/actions/message_send.py:1395 msgid "Direct messages are disabled in this organization." msgstr "" -#: zerver/actions/message_send.py:1342 +#: zerver/actions/message_send.py:1472 msgid "Topics are required in this organization" msgstr "" -#: zerver/actions/message_send.py:1398 +#: zerver/actions/message_send.py:1528 msgid "Widgets: API programmer sent invalid JSON content" msgstr "" -#: zerver/actions/message_send.py:1404 +#: zerver/actions/message_send.py:1534 #, python-brace-format msgid "Widgets: {error_msg}" msgstr "" -#: zerver/actions/reactions.py:116 -msgid "Reaction already exists." -msgstr "" - -#: zerver/actions/realm_emoji.py:32 zerver/views/realm_emoji.py:36 +#: zerver/actions/realm_emoji.py:40 zerver/views/realm_emoji.py:38 msgid "A custom emoji with this name already exists." msgstr "" @@ -3236,18 +3568,32 @@ msgstr "" msgid "[View scheduled messages](#scheduled)" msgstr "" -#: zerver/actions/streams.py:76 +#: zerver/actions/streams.py:73 msgid "Stream is already deactivated" msgstr "" -#: zerver/actions/streams.py:841 +#: zerver/actions/streams.py:165 +msgid "Stream is not currently deactivated" +msgstr "" + +#: zerver/actions/streams.py:168 +#, python-brace-format +msgid "Stream named {stream_name} already exists" +msgstr "" + +#: zerver/actions/streams.py:230 +#, python-brace-format +msgid "Stream {stream_name} un-archived." +msgstr "" + +#: zerver/actions/streams.py:932 #, python-brace-format msgid "" "{user} changed the [access permissions](/help/stream-permissions) for this " "stream from **{old_policy}** to **{new_policy}**." msgstr "" -#: zerver/actions/streams.py:1025 +#: zerver/actions/streams.py:1118 #, python-brace-format msgid "" "{user} changed the [posting permissions](/help/stream-sending-policy) for " @@ -3257,38 +3603,38 @@ msgid "" "* **New permissions**: {new_policy}.\n" msgstr "" -#: zerver/actions/streams.py:1160 +#: zerver/actions/streams.py:1246 #, python-brace-format msgid "{user_name} renamed stream {old_stream_name} to {new_stream_name}." msgstr "" -#: zerver/actions/streams.py:1179 zerver/actions/streams.py:1181 -#: zerver/views/streams.py:793 +#: zerver/actions/streams.py:1265 zerver/actions/streams.py:1267 +#: zerver/views/streams.py:802 msgid "No description." msgstr "" -#: zerver/actions/streams.py:1184 +#: zerver/actions/streams.py:1270 #, python-brace-format msgid "{user} changed the description for this stream." msgstr "" -#: zerver/actions/streams.py:1186 +#: zerver/actions/streams.py:1272 msgid "Old description" msgstr "" -#: zerver/actions/streams.py:1190 +#: zerver/actions/streams.py:1276 msgid "New description" msgstr "" -#: zerver/actions/streams.py:1258 zerver/actions/streams.py:1263 +#: zerver/actions/streams.py:1344 zerver/actions/streams.py:1349 msgid "Forever" msgstr "" -#: zerver/actions/streams.py:1264 +#: zerver/actions/streams.py:1350 msgid "Messages in this stream will now be retained forever." msgstr "" -#: zerver/actions/streams.py:1270 +#: zerver/actions/streams.py:1356 #, python-brace-format msgid "" "{user} has changed the [message retention period](/help/message-retention-" @@ -3299,56 +3645,58 @@ msgid "" "{summary_line}" msgstr "" -#: zerver/actions/submessage.py:30 +#: zerver/actions/submessage.py:29 msgid "You cannot attach a submessage to this message." msgstr "" #: zerver/actions/typing.py:55 zerver/lib/addressee.py:33 -msgid "Invalid user ID {}" +#, python-brace-format +msgid "Invalid user ID {user_id}" msgstr "" -#: zerver/actions/user_groups.py:153 zerver/actions/user_groups.py:168 -msgid "User group '{}' already exists." +#: zerver/actions/user_groups.py:213 zerver/actions/user_groups.py:245 +#, python-brace-format +msgid "User group '{group_name}' already exists." msgstr "" -#: zerver/decorator.py:250 +#: zerver/decorator.py:251 msgid "This API is not available to incoming webhook bots." msgstr "" -#: zerver/decorator.py:277 +#: zerver/decorator.py:278 msgid "Account is not associated with this subdomain" msgstr "" -#: zerver/decorator.py:506 zerver/decorator.py:643 +#: zerver/decorator.py:511 zerver/decorator.py:648 msgid "This endpoint does not accept bot requests." msgstr "" -#: zerver/decorator.py:605 +#: zerver/decorator.py:610 msgid "Must be an server administrator" msgstr "" -#: zerver/decorator.py:662 zerver/lib/streams.py:699 zerver/lib/streams.py:725 -#: zerver/lib/streams.py:727 zerver/lib/streams.py:742 -#: zerver/lib/user_groups.py:35 zerver/lib/user_groups.py:42 -#: zerver/lib/users.py:249 zerver/lib/users.py:278 zerver/views/invite.py:60 -#: zerver/views/realm_emoji.py:31 zerver/views/streams.py:336 -#: zerver/views/streams.py:630 +#: zerver/decorator.py:667 zerver/lib/streams.py:703 zerver/lib/streams.py:729 +#: zerver/lib/streams.py:731 zerver/lib/streams.py:748 +#: zerver/lib/user_groups.py:45 zerver/lib/user_groups.py:52 +#: zerver/lib/users.py:255 zerver/lib/users.py:284 zerver/views/invite.py:60 +#: zerver/views/realm_emoji.py:33 zerver/views/streams.py:338 +#: zerver/views/streams.py:639 msgid "Insufficient permission" msgstr "" -#: zerver/decorator.py:704 +#: zerver/decorator.py:709 msgid "This endpoint requires HTTP basic authentication." msgstr "" -#: zerver/decorator.py:711 +#: zerver/decorator.py:716 msgid "Invalid authorization header for basic auth" msgstr "" -#: zerver/decorator.py:713 +#: zerver/decorator.py:718 msgid "Missing authorization header for basic auth" msgstr "" -#: zerver/decorator.py:886 +#: zerver/decorator.py:893 msgid "Webhook bots can only access webhooks" msgstr "" @@ -3422,9 +3770,10 @@ msgid "New password confirmation" msgstr "" #: zerver/forms.py:496 +#, python-brace-format msgid "" -"You're making too many attempts to sign in. Try again in {} seconds or " -"contact your organization administrator for help." +"You're making too many attempts to sign in. Try again in {seconds} seconds " +"or contact your organization administrator for help." msgstr "" #: zerver/forms.py:508 @@ -3450,7 +3799,8 @@ msgid "We couldn't find that Zulip organization." msgstr "" #: zerver/lib/addressee.py:22 -msgid "Invalid email '{}'" +#, python-brace-format +msgid "Invalid email '{email}'" msgstr "" #: zerver/lib/addressee.py:61 zerver/lib/addressee.py:128 @@ -3535,11 +3885,11 @@ msgstr "" msgid "Draft does not exist" msgstr "" -#: zerver/lib/email_notifications.py:138 zerver/lib/email_notifications.py:160 +#: zerver/lib/email_notifications.py:140 zerver/lib/email_notifications.py:162 msgid "Open Zulip to see the spoiler content" msgstr "" -#: zerver/lib/email_notifications.py:563 +#: zerver/lib/email_notifications.py:591 msgid "Zulip notifications" msgstr "" @@ -3572,172 +3922,181 @@ msgstr "" msgid "Account has been deactivated." msgstr "" -#: zerver/lib/emoji.py:67 zerver/views/realm_emoji.py:59 -msgid "Emoji '{}' does not exist" +#: zerver/lib/emoji.py:88 zerver/views/realm_emoji.py:62 +#, python-brace-format +msgid "Emoji '{emoji_name}' does not exist" msgstr "" -#: zerver/lib/emoji.py:77 +#: zerver/lib/emoji.py:101 msgid "Invalid custom emoji." msgstr "" -#: zerver/lib/emoji.py:79 +#: zerver/lib/emoji.py:103 msgid "Invalid custom emoji name." msgstr "" -#: zerver/lib/emoji.py:81 +#: zerver/lib/emoji.py:105 msgid "This custom emoji has been deactivated." msgstr "" -#: zerver/lib/emoji.py:84 zerver/lib/emoji.py:89 +#: zerver/lib/emoji.py:108 zerver/lib/emoji.py:113 msgid "Invalid emoji code." msgstr "" -#: zerver/lib/emoji.py:86 zerver/lib/emoji.py:91 +#: zerver/lib/emoji.py:110 zerver/lib/emoji.py:115 msgid "Invalid emoji name." msgstr "" -#: zerver/lib/emoji.py:94 +#: zerver/lib/emoji.py:118 msgid "Invalid emoji type." msgstr "" -#: zerver/lib/emoji.py:109 +#: zerver/lib/emoji.py:133 msgid "Must be an organization administrator or emoji author" msgstr "" -#: zerver/lib/emoji.py:117 +#: zerver/lib/emoji.py:141 msgid "Emoji names must end with either a letter or digit." msgstr "" -#: zerver/lib/emoji.py:120 +#: zerver/lib/emoji.py:144 msgid "" "Emoji names must contain only lowercase English letters, digits, spaces, " "dashes, and underscores." msgstr "" -#: zerver/lib/emoji.py:123 +#: zerver/lib/emoji.py:147 msgid "Emoji name is missing" msgstr "" -#: zerver/lib/events.py:1539 +#: zerver/lib/events.py:1543 msgid "Could not allocate event queue" msgstr "" -#: zerver/lib/exceptions.py:137 +#: zerver/lib/exceptions.py:139 msgid "Not logged in: API authentication or user session required" msgstr "" -#: zerver/lib/exceptions.py:162 +#: zerver/lib/exceptions.py:164 #, python-brace-format msgid "Stream '{stream}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:174 +#: zerver/lib/exceptions.py:176 #, python-brace-format msgid "Stream with ID '{stream_id}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "organization owner" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "user" msgstr "" -#: zerver/lib/exceptions.py:187 +#: zerver/lib/exceptions.py:189 #, python-brace-format msgid "Cannot deactivate the only {entity}." msgstr "" -#: zerver/lib/exceptions.py:199 +#: zerver/lib/exceptions.py:201 #, python-brace-format msgid "Invalid Markdown include statement: {include_statement}" msgstr "" -#: zerver/lib/exceptions.py:211 +#: zerver/lib/exceptions.py:213 msgid "API usage exceeded rate limit" msgstr "" -#: zerver/lib/exceptions.py:234 zerver/lib/request.py:442 +#: zerver/lib/exceptions.py:236 zerver/lib/request.py:441 #: zerver/lib/validator.py:755 msgid "Malformed JSON" msgstr "" -#: zerver/lib/exceptions.py:245 +#: zerver/lib/exceptions.py:247 msgid "Must be an organization member" msgstr "" -#: zerver/lib/exceptions.py:256 zerver/views/invite.py:70 -#: zerver/views/invite.py:132 zerver/views/invite.py:178 +#: zerver/lib/exceptions.py:258 zerver/views/invite.py:70 +#: zerver/views/invite.py:134 zerver/views/invite.py:180 msgid "Must be an organization administrator" msgstr "" -#: zerver/lib/exceptions.py:267 +#: zerver/lib/exceptions.py:269 msgid "Must be an organization owner" msgstr "" -#: zerver/lib/exceptions.py:280 +#: zerver/lib/exceptions.py:282 msgid "Your username or password is incorrect" msgstr "" -#: zerver/lib/exceptions.py:288 +#: zerver/lib/exceptions.py:290 msgid "Account is deactivated" msgstr "" -#: zerver/lib/exceptions.py:296 +#: zerver/lib/exceptions.py:298 msgid "This organization has been deactivated" msgstr "" -#: zerver/lib/exceptions.py:305 +#: zerver/lib/exceptions.py:307 msgid "" "The mobile push notification service registration for your server has been " "deactivated" msgstr "" -#: zerver/lib/exceptions.py:314 +#: zerver/lib/exceptions.py:316 msgid "Password authentication is disabled in this organization" msgstr "" -#: zerver/lib/exceptions.py:322 +#: zerver/lib/exceptions.py:324 msgid "Your password has been disabled and needs to be reset" msgstr "" -#: zerver/lib/exceptions.py:338 +#: zerver/lib/exceptions.py:340 msgid "Invalid API key" msgstr "" -#: zerver/lib/exceptions.py:344 +#: zerver/lib/exceptions.py:346 msgid "Malformed API key" msgstr "" -#: zerver/lib/exceptions.py:381 +#: zerver/lib/exceptions.py:385 #, python-brace-format msgid "" "The '{event_type}' event isn't currently supported by the {webhook_name} " -"webhook" +"webhook; ignoring" msgstr "" -#: zerver/lib/exceptions.py:399 +#: zerver/lib/exceptions.py:404 #, python-brace-format msgid "Unable to parse request: Did {webhook_name} generate this event?" msgstr "" -#: zerver/lib/exceptions.py:422 zerver/views/auth.py:741 +#: zerver/lib/exceptions.py:427 zerver/views/auth.py:741 #: zerver/views/auth.py:1076 zerver/views/auth.py:1140 msgid "Invalid subdomain" msgstr "" -#: zerver/lib/exceptions.py:462 +#: zerver/lib/exceptions.py:467 msgid "Access denied" msgstr "" -#: zerver/lib/exceptions.py:501 +#: zerver/lib/exceptions.py:506 #, python-brace-format msgid "" "You only have permission to move the {total_messages_allowed_to_move}/" "{total_messages_in_topic} most recent messages in this topic." msgstr "" +#: zerver/lib/exceptions.py:518 +msgid "Reaction already exists." +msgstr "" + +#: zerver/lib/exceptions.py:529 +msgid "Reaction doesn't exist." +msgstr "" + #: zerver/lib/external_accounts.py:36 msgid "Twitter username" msgstr "" @@ -3848,207 +4207,215 @@ msgstr "" msgid "Version control" msgstr "" -#: zerver/lib/message.py:192 +#: zerver/lib/message.py:220 msgid "Message must not be empty" msgstr "" -#: zerver/lib/message.py:194 +#: zerver/lib/message.py:222 msgid "Message must not contain null bytes" msgstr "" -#: zerver/lib/narrow.py:107 -msgid "Operator {} not supported." +#: zerver/lib/message.py:1668 +#, python-brace-format +msgid "" +"You are not allowed to mention user group '{user_group_name}'. You must be a " +"member of '{can_mention_group_name}' to mention this group." msgstr "" -#: zerver/lib/narrow.py:197 +#: zerver/lib/narrow.py:108 +#, python-brace-format +msgid "Operator {operator} not supported." +msgstr "" + +#: zerver/lib/narrow.py:207 #, python-brace-format msgid "Invalid narrow operator: {desc}" msgstr "" -#: zerver/lib/narrow.py:1038 +#: zerver/lib/narrow.py:1054 msgid "Missing 'anchor' argument." msgstr "" -#: zerver/lib/narrow.py:1058 +#: zerver/lib/narrow.py:1074 msgid "Invalid anchor" msgstr "" -#: zerver/lib/onboarding.py:59 +#: zerver/lib/onboarding.py:57 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Using Zulip for a class guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:66 +#: zerver/lib/onboarding.py:64 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Getting started guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:78 +#: zerver/lib/onboarding.py:76 #, python-brace-format msgid "" "We also have a guide for [Setting up Zulip for a class]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:88 +#: zerver/lib/onboarding.py:86 #, python-brace-format msgid "" "We also have a guide for [Setting up your organization]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:98 +#: zerver/lib/onboarding.py:96 #, python-brace-format msgid "" "Note that this is a [demo organization]({demo_organization_help_url}) and " "will be **automatically deleted** in 30 days." msgstr "" -#: zerver/lib/onboarding.py:106 +#: zerver/lib/onboarding.py:104 msgid "Hello, and welcome to Zulip!" msgstr "" -#: zerver/lib/onboarding.py:107 +#: zerver/lib/onboarding.py:105 msgid "This is a direct message from me, Welcome Bot." msgstr "" -#: zerver/lib/onboarding.py:112 +#: zerver/lib/onboarding.py:110 msgid "" "I can also help you get set up! Just click anywhere on this message or press " "`r` to reply." msgstr "" -#: zerver/lib/onboarding.py:115 zerver/lib/onboarding.py:227 +#: zerver/lib/onboarding.py:113 zerver/lib/onboarding.py:225 msgid "Here are a few messages I understand:" msgstr "" -#: zerver/lib/onboarding.py:156 +#: zerver/lib/onboarding.py:154 msgid "" "You can [download](/apps/) the [mobile and desktop apps](/apps/). Zulip also " "works great in a browser." msgstr "" -#: zerver/lib/onboarding.py:161 +#: zerver/lib/onboarding.py:159 msgid "" "Go to [Profile settings](#settings/profile) to add a [profile picture](/help/" "change-your-profile-picture) and edit your [profile information](/help/edit-" "your-profile)." msgstr "" -#: zerver/lib/onboarding.py:167 +#: zerver/lib/onboarding.py:165 msgid "" -"Go to [Display settings](#settings/display-settings) to [switch between the " -"light and dark themes](/help/dark-theme), [pick your favorite emoji theme](/" -"help/emoji-and-emoticons#change-your-emoji-set), [change your language](/" -"help/change-your-language), and make other tweaks to your Zulip experience." +"Go to [Preferences](#settings/preferences) to [switch between the light and " +"dark themes](/help/dark-theme), [pick your favorite emoji theme](/help/emoji-" +"and-emoticons#change-your-emoji-set), [change your language](/help/change-" +"your-language), and make other tweaks to your Zulip experience." msgstr "" -#: zerver/lib/onboarding.py:177 +#: zerver/lib/onboarding.py:175 msgid "" "In Zulip, streams [determine who gets a message](/help/streams-and-topics). " "They are similar to channels in other chat apps." msgstr "" -#: zerver/lib/onboarding.py:181 +#: zerver/lib/onboarding.py:179 msgid "[Browse and subscribe to streams](#streams/all)." msgstr "" -#: zerver/lib/onboarding.py:188 +#: zerver/lib/onboarding.py:186 msgid "" "In Zulip, topics [tell you what a message is about](/help/streams-and-" "topics). They are light-weight subjects, very similar to the subject line of " "an email." msgstr "" -#: zerver/lib/onboarding.py:193 +#: zerver/lib/onboarding.py:191 msgid "" "Check out [Recent conversations](#recent) to see what's happening! You can " "return to this conversation by clicking \"Direct messages\" in the upper " "left." msgstr "" -#: zerver/lib/onboarding.py:202 +#: zerver/lib/onboarding.py:200 msgid "" "Zulip's [keyboard shortcuts](#keyboard-shortcuts) let you navigate the app " "quickly and efficiently." msgstr "" -#: zerver/lib/onboarding.py:206 +#: zerver/lib/onboarding.py:204 msgid "Press `?` any time to see a [cheat sheet](#keyboard-shortcuts)." msgstr "" -#: zerver/lib/onboarding.py:213 +#: zerver/lib/onboarding.py:211 msgid "" "Zulip uses [Markdown](/help/format-your-message-using-markdown), an " "intuitive format for **bold**, *italics*, bulleted lists, and more. Click " "[here](#message-formatting) for a cheat sheet." msgstr "" -#: zerver/lib/onboarding.py:219 +#: zerver/lib/onboarding.py:217 msgid "" "Check out our [messaging tips](/help/messaging-tips) to learn about emoji " "reactions, code blocks and much more!" msgstr "" -#: zerver/lib/onboarding.py:230 +#: zerver/lib/onboarding.py:228 msgid "" "Check out our [Getting started guide](/help/getting-started-with-zulip), or " "browse the [Help center](/help/) to learn more!" msgstr "" -#: zerver/lib/onboarding.py:239 +#: zerver/lib/onboarding.py:237 msgid "" "I’m sorry, I did not understand your message. Please try one of the " "following commands:" msgstr "" -#: zerver/lib/onboarding.py:271 +#: zerver/lib/onboarding.py:269 msgid "" "This is a private stream, as indicated by the lock icon next to the stream " "name." msgstr "" -#: zerver/lib/onboarding.py:273 +#: zerver/lib/onboarding.py:271 msgid "Private streams are only visible to stream members." msgstr "" -#: zerver/lib/onboarding.py:277 +#: zerver/lib/onboarding.py:275 #, python-brace-format msgid "" "To manage this stream, go to [Stream settings]({stream_settings_url}) and " "click on `{initial_private_stream_name}`." msgstr "" -#: zerver/lib/onboarding.py:287 +#: zerver/lib/onboarding.py:285 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `topic demonstration`." msgstr "" -#: zerver/lib/onboarding.py:293 +#: zerver/lib/onboarding.py:291 msgid "Topics are a lightweight tool to keep conversations organized." msgstr "" -#: zerver/lib/onboarding.py:295 +#: zerver/lib/onboarding.py:293 #, python-brace-format msgid "" "You can learn more about topics at [Streams and topics]" "({about_topics_help_url})." msgstr "" -#: zerver/lib/onboarding.py:300 +#: zerver/lib/onboarding.py:298 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `swimming turtles`." msgstr "" -#: zerver/lib/onboarding.py:309 +#: zerver/lib/onboarding.py:307 #, python-brace-format msgid "" "[Start a new topic]({start_topic_help_url}) any time you're not replying to " @@ -4064,11 +4431,12 @@ msgid "Invalid response format" msgstr "" #: zerver/lib/push_notifications.py:341 -msgid "Invalid GCM option to bouncer: priority {!r}" +msgid "Invalid GCM option to bouncer: priority {priority!r}" msgstr "" #: zerver/lib/push_notifications.py:351 -msgid "Invalid GCM options to bouncer: {}" +#, python-brace-format +msgid "Invalid GCM options to bouncer: {options}" msgstr "" #. error @@ -4076,30 +4444,43 @@ msgstr "" msgid "Token does not exist" msgstr "" -#: zerver/lib/push_notifications.py:746 +#: zerver/lib/push_notifications.py:758 msgid "" "This organization has disabled including message content in mobile push " "notifications" msgstr "" -#: zerver/lib/push_notifications.py:835 +#: zerver/lib/push_notifications.py:847 #, python-brace-format msgid "{full_name} mentioned @{user_group_name}:" msgstr "" -#: zerver/lib/push_notifications.py:839 +#: zerver/lib/push_notifications.py:851 #, python-brace-format msgid "{full_name} mentioned you:" msgstr "" -#: zerver/lib/push_notifications.py:841 +#: zerver/lib/push_notifications.py:853 +msgid "TODO - 2" +msgstr "" + +#: zerver/lib/push_notifications.py:855 +msgid "TODO" +msgstr "" + +#: zerver/lib/push_notifications.py:857 +#, python-brace-format +msgid "{full_name} mentioned all topic participants:" +msgstr "" + +#: zerver/lib/push_notifications.py:861 #, python-brace-format msgid "{full_name} mentioned everyone:" msgstr "" #: zerver/lib/recipient_users.py:29 zerver/lib/streams.py:268 -#: zerver/lib/streams.py:276 zerver/lib/streams.py:838 -#: zerver/tornado/views.py:164 zerver/views/events_register.py:94 +#: zerver/lib/streams.py:276 zerver/lib/streams.py:846 +#: zerver/tornado/views.py:164 zerver/views/events_register.py:95 #: zerver/views/message_send.py:182 zerver/views/message_send.py:203 msgid "User not authorized for this query" msgstr "" @@ -4114,31 +4495,33 @@ msgid "You can't send direct messages outside of your organization." msgstr "" #: zerver/lib/remote_server.py:93 -msgid "Push notifications bouncer error: {}" +#, python-brace-format +msgid "Push notifications bouncer error: {error}" msgstr "" -#: zerver/lib/request.py:92 +#: zerver/lib/request.py:91 #, python-brace-format msgid "Can't decide between '{var_name1}' and '{var_name2}' arguments" msgstr "" -#: zerver/lib/request.py:104 +#: zerver/lib/request.py:103 #, python-brace-format msgid "Missing '{var_name}' argument" msgstr "" -#: zerver/lib/request.py:117 +#: zerver/lib/request.py:116 #, python-brace-format msgid "Bad value for '{var_name}': {bad_value}" msgstr "" -#: zerver/lib/request.py:395 zerver/webhooks/ifttt/view.py:36 +#: zerver/lib/request.py:394 zerver/webhooks/ifttt/view.py:36 #: zerver/webhooks/slack_incoming/view.py:42 msgid "Malformed payload" msgstr "" #: zerver/lib/request.py:443 -msgid "Argument \"{}\" is not valid JSON." +#, python-brace-format +msgid "Argument \"{name}\" is not valid JSON." msgstr "" #: zerver/lib/scheduled_messages.py:20 @@ -4166,42 +4549,47 @@ msgstr "" msgid "New members cannot send to this stream." msgstr "" -#: zerver/lib/streams.py:301 -msgid "Not authorized to send to stream '{}'" +#: zerver/lib/streams.py:302 +#, python-brace-format +msgid "Not authorized to send to stream '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:306 +#: zerver/lib/streams.py:308 msgid "Please supply 'stream'." msgstr "" -#: zerver/lib/streams.py:309 +#: zerver/lib/streams.py:311 msgid "Please choose one: 'stream' or 'stream_id'." msgstr "" -#: zerver/lib/streams.py:315 zerver/lib/streams.py:334 -#: zerver/lib/streams.py:417 zerver/lib/streams.py:483 -#: zerver/views/streams.py:399 zerver/views/user_topics.py:101 +#: zerver/lib/streams.py:317 zerver/lib/streams.py:336 +#: zerver/lib/streams.py:419 zerver/lib/streams.py:487 +#: zerver/views/streams.py:401 zerver/views/user_topics.py:101 msgid "Invalid stream ID" msgstr "" -#: zerver/lib/streams.py:459 -msgid "Stream name '{}' is already taken." +#: zerver/lib/streams.py:462 +#, python-brace-format +msgid "Stream name '{stream_name}' is already taken." msgstr "" -#: zerver/lib/streams.py:467 zerver/lib/streams.py:587 -msgid "Invalid stream name '{}'" +#: zerver/lib/streams.py:471 zerver/lib/streams.py:591 +#, python-brace-format +msgid "Invalid stream name '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:731 -msgid "Stream(s) ({}) do not exist" +#: zerver/lib/streams.py:735 +#, python-brace-format +msgid "Stream(s) ({stream_names}) do not exist" msgstr "" -#: zerver/lib/streams.py:738 zerver/views/streams.py:334 +#: zerver/lib/streams.py:744 zerver/views/streams.py:336 msgid "Web-public streams are not enabled." msgstr "" -#: zerver/lib/streams.py:767 -msgid "Default stream group with id '{}' does not exist." +#: zerver/lib/streams.py:774 +#, python-brace-format +msgid "Default stream group with id '{group_id}' does not exist." msgstr "" #: zerver/lib/string_validation.py:38 @@ -4209,19 +4597,22 @@ msgid "Stream name can't be empty!" msgstr "" #: zerver/lib/string_validation.py:42 -msgid "Stream name too long (limit: {} characters)." +#, python-brace-format +msgid "Stream name too long (limit: {max_length} characters)." msgstr "" -#: zerver/lib/string_validation.py:48 -msgid "Invalid character in stream name, at position {}!" +#: zerver/lib/string_validation.py:50 +#, python-brace-format +msgid "Invalid character in stream name, at position {position}!" msgstr "" -#: zerver/lib/string_validation.py:54 +#: zerver/lib/string_validation.py:58 msgid "Topic can't be empty!" msgstr "" -#: zerver/lib/string_validation.py:59 -msgid "Invalid character in topic, at position {}!" +#: zerver/lib/string_validation.py:63 +#, python-brace-format +msgid "Invalid character in topic, at position {position}!" msgstr "" #: zerver/lib/subscription_info.py:295 @@ -4236,46 +4627,61 @@ msgstr "" msgid "Upload would exceed your organization's upload quota." msgstr "" -#: zerver/lib/upload/base.py:67 zerver/lib/upload/base.py:83 -#: zerver/lib/upload/base.py:177 +#: zerver/lib/upload/base.py:68 zerver/lib/upload/base.py:84 +#: zerver/lib/upload/base.py:178 msgid "Could not decode image; did you upload an image file?" msgstr "" -#: zerver/lib/upload/base.py:69 zerver/lib/upload/base.py:85 -#: zerver/lib/upload/base.py:179 +#: zerver/lib/upload/base.py:70 zerver/lib/upload/base.py:86 +#: zerver/lib/upload/base.py:180 msgid "Image size exceeds limit." msgstr "" -#: zerver/lib/upload/base.py:107 +#: zerver/lib/upload/base.py:108 msgid "Corrupt animated image." msgstr "" -#: zerver/lib/upload/base.py:116 +#: zerver/lib/upload/base.py:117 msgid "Unknown animated image format." msgstr "" -#: zerver/lib/user_groups.py:44 +#: zerver/lib/user_groups.py:54 msgid "Invalid user group" msgstr "" -#: zerver/lib/user_groups.py:56 -msgid "Invalid user group ID: {}" +#: zerver/lib/user_groups.py:67 +#, python-brace-format +msgid "Invalid user group ID: {group_id}" msgstr "" -#: zerver/lib/user_groups.py:74 -msgid "'{}' must be a system user group." +#: zerver/lib/user_groups.py:87 +#, python-brace-format +msgid "'{setting_name}' must be a system user group." msgstr "" -#: zerver/lib/user_groups.py:78 -msgid "'{}' setting cannot be set to '@role:internet' group." +#: zerver/lib/user_groups.py:92 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:internet' group." msgstr "" -#: zerver/lib/user_groups.py:83 -msgid "'{}' setting cannot be set to '@role:owners' group." +#: zerver/lib/user_groups.py:99 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:owners' group." msgstr "" -#: zerver/lib/user_groups.py:88 -msgid "'{}' setting cannot be set to '@role:nobody' group." +#: zerver/lib/user_groups.py:106 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:nobody' group." +msgstr "" + +#: zerver/lib/user_groups.py:117 +#, python-brace-format +msgid "User group name cannot exceed {max_length} characters." +msgstr "" + +#: zerver/lib/user_groups.py:125 +#, python-brace-format +msgid "User group name cannot start with '{prefix}'." msgstr "" #: zerver/lib/users.py:45 @@ -4303,44 +4709,48 @@ msgstr "" msgid "Bad name or username" msgstr "" -#: zerver/lib/users.py:95 -msgid "Invalid integration '{}'." +#: zerver/lib/users.py:96 +#, python-brace-format +msgid "Invalid integration '{integration_name}'." msgstr "" -#: zerver/lib/users.py:100 -msgid "Missing configuration parameters: {}" +#: zerver/lib/users.py:102 +#, python-brace-format +msgid "Missing configuration parameters: {keys}" msgstr "" -#: zerver/lib/users.py:109 -msgid "Invalid {} value {} ({})" +#: zerver/lib/users.py:112 +#, python-brace-format +msgid "Invalid {key} value {value} ({error})" msgstr "" -#: zerver/lib/users.py:124 +#: zerver/lib/users.py:130 msgid "Invalid configuration data!" msgstr "" -#: zerver/lib/users.py:158 +#: zerver/lib/users.py:164 msgid "Invalid bot type" msgstr "" -#: zerver/lib/users.py:163 +#: zerver/lib/users.py:169 msgid "Invalid interface type" msgstr "" -#: zerver/lib/users.py:232 zerver/lib/users.py:237 zerver/models.py:4669 -msgid "Invalid user ID: {}" +#: zerver/lib/users.py:238 zerver/lib/users.py:243 zerver/models.py:4729 +#, python-brace-format +msgid "Invalid user ID: {user_id}" msgstr "" -#: zerver/lib/users.py:245 zerver/lib/users.py:247 +#: zerver/lib/users.py:251 zerver/lib/users.py:253 msgid "No such bot" msgstr "" -#: zerver/lib/users.py:271 zerver/lib/users.py:298 zerver/lib/users.py:314 +#: zerver/lib/users.py:277 zerver/lib/users.py:304 zerver/lib/users.py:320 #: zerver/views/presence.py:44 msgid "No such user" msgstr "" -#: zerver/lib/users.py:273 +#: zerver/lib/users.py:279 msgid "User is deactivated" msgstr "" @@ -4430,7 +4840,8 @@ msgid "{key_name} key is missing from {var_name}" msgstr "" #: zerver/lib/validator.py:317 -msgid "Unexpected arguments: {}" +#, python-brace-format +msgid "Unexpected arguments: {keys}" msgstr "" #: zerver/lib/validator.py:350 @@ -4492,8 +4903,9 @@ msgstr "" msgid "Missing the HTTP event header '{header}'" msgstr "" -#: zerver/lib/webhooks/common.py:231 -msgid "The {} webhook expects time in milliseconds." +#: zerver/lib/webhooks/common.py:232 +#, python-brace-format +msgid "The {webhook} webhook expects time in milliseconds." msgstr "" #: zerver/lib/zcommand.py:30 @@ -4501,201 +4913,218 @@ msgid "There should be a leading slash in the zcommand." msgstr "" #: zerver/lib/zcommand.py:79 -msgid "No such command: {}" +#, python-brace-format +msgid "No such command: {command}" msgstr "" -#: zerver/middleware.py:464 +#: zerver/middleware.py:441 #, python-brace-format msgid "CSRF error: {reason}" msgstr "" -#: zerver/models.py:503 +#: zerver/middleware.py:607 +#, python-brace-format +msgid "Reverse proxy misconfiguration: {proxy_reason}" +msgstr "" + +#: zerver/models.py:495 msgid "stream events" msgstr "" -#: zerver/models.py:634 +#: zerver/models.py:626 msgid "Available on Zulip Cloud Standard. Upgrade to access." msgstr "" -#: zerver/models.py:692 +#: zerver/models.py:684 msgid "GIPHY integration disabled" msgstr "" -#: zerver/models.py:697 +#: zerver/models.py:689 msgid "Allow GIFs rated Y (Very young audience)" msgstr "" -#: zerver/models.py:701 +#: zerver/models.py:693 msgid "Allow GIFs rated G (General audience)" msgstr "" -#: zerver/models.py:705 +#: zerver/models.py:697 msgid "Allow GIFs rated PG (Parental guidance)" msgstr "" -#: zerver/models.py:709 +#: zerver/models.py:701 msgid "Allow GIFs rated PG-13 (Parental guidance - under 13)" msgstr "" -#: zerver/models.py:713 +#: zerver/models.py:705 msgid "Allow GIFs rated R (Restricted)" msgstr "" -#: zerver/models.py:1139 +#: zerver/models.py:1123 msgid "Invalid characters in emoji name" msgstr "" -#: zerver/models.py:1263 zerver/models.py:1265 -msgid "Bad regular expression: {}" +#: zerver/models.py:1235 zerver/models.py:1238 +#, python-brace-format +msgid "Bad regular expression: {regex}" msgstr "" -#: zerver/models.py:1266 +#: zerver/models.py:1240 msgid "Unknown regular expression error" msgstr "" -#: zerver/models.py:1274 +#: zerver/models.py:1248 msgid "Invalid URL template." msgstr "" -#: zerver/models.py:1318 +#: zerver/models.py:1292 #, python-format msgid "Group %(name)r in URL template is not present in linkifier pattern." msgstr "" -#: zerver/models.py:1330 +#: zerver/models.py:1304 #, python-format msgid "Group %(name)r in linkifier pattern is not present in URL template." msgstr "" -#: zerver/models.py:1408 zerver/views/realm_playgrounds.py:25 +#: zerver/models.py:1382 zerver/views/realm_playgrounds.py:24 msgid "Invalid characters in pygments language" msgstr "" -#: zerver/models.py:1652 +#: zerver/models.py:1412 +msgid "Missing the required variable \"code\" in the URL template" +msgstr "" + +#: zerver/models.py:1417 +msgid "\"code\" should be the only variable present in the URL template" +msgstr "" + +#: zerver/models.py:1660 msgid "Admins, moderators, members and guests" msgstr "" -#: zerver/models.py:1653 +#: zerver/models.py:1661 msgid "Admins, moderators and members" msgstr "" -#: zerver/models.py:1654 +#: zerver/models.py:1662 msgid "Admins and moderators" msgstr "" -#: zerver/models.py:1655 +#: zerver/models.py:1663 msgid "Admins only" msgstr "" -#: zerver/models.py:1656 +#: zerver/models.py:1664 msgid "Nobody" msgstr "" -#: zerver/models.py:1960 +#: zerver/models.py:1973 msgid "Organization owner" msgstr "" -#: zerver/models.py:1961 +#: zerver/models.py:1974 msgid "Organization administrator" msgstr "" -#: zerver/models.py:1962 +#: zerver/models.py:1975 msgid "Moderator" msgstr "" -#: zerver/models.py:1963 +#: zerver/models.py:1976 msgid "Member" msgstr "" -#: zerver/models.py:1964 +#: zerver/models.py:1977 msgid "Guest" msgstr "" -#: zerver/models.py:2531 +#: zerver/models.py:2557 msgid "Web-public" msgstr "" -#: zerver/models.py:2537 +#: zerver/models.py:2563 msgid "Public" msgstr "" -#: zerver/models.py:2543 +#: zerver/models.py:2569 msgid "Private, shared history" msgstr "" -#: zerver/models.py:2549 +#: zerver/models.py:2575 msgid "Private, protected history" msgstr "" -#: zerver/models.py:2557 +#: zerver/models.py:2583 msgid "Public, protected history" msgstr "" -#: zerver/models.py:2577 +#: zerver/models.py:2603 msgid "All stream members can post" msgstr "" -#: zerver/models.py:2578 +#: zerver/models.py:2604 msgid "Only organization administrators can post" msgstr "" -#: zerver/models.py:2580 +#: zerver/models.py:2606 msgid "Only organization administrators and moderators can post" msgstr "" -#: zerver/models.py:2583 +#: zerver/models.py:2609 msgid "Only organization full members can post" msgstr "" -#: zerver/models.py:3209 +#: zerver/models.py:3222 msgid "Unicode emoji" msgstr "" -#: zerver/models.py:3210 +#: zerver/models.py:3223 msgid "Custom emoji" msgstr "" -#: zerver/models.py:3211 +#: zerver/models.py:3224 msgid "Zulip extra emoji" msgstr "" -#: zerver/models.py:4672 -msgid "User with ID {} is deactivated" +#: zerver/models.py:4733 +#, python-brace-format +msgid "User with ID {user_id} is deactivated" msgstr "" -#: zerver/models.py:4675 -msgid "User with ID {} is a bot" +#: zerver/models.py:4737 +#, python-brace-format +msgid "User with ID {user_id} is a bot" msgstr "" -#: zerver/models.py:4715 +#: zerver/models.py:4777 msgid "List of options" msgstr "" -#: zerver/models.py:4718 +#: zerver/models.py:4780 msgid "Person picker" msgstr "" -#: zerver/models.py:4730 +#: zerver/models.py:4792 msgid "Short text" msgstr "" -#: zerver/models.py:4731 +#: zerver/models.py:4793 msgid "Long text" msgstr "" -#: zerver/models.py:4732 +#: zerver/models.py:4794 msgid "Date picker" msgstr "" -#: zerver/models.py:4733 +#: zerver/models.py:4795 msgid "Link" msgstr "" -#: zerver/models.py:4736 +#: zerver/models.py:4798 msgid "External account" msgstr "" -#: zerver/models.py:4741 +#: zerver/models.py:4803 msgid "Pronouns" msgstr "" @@ -4711,20 +5140,20 @@ msgstr "" msgid "An unknown browser" msgstr "" -#: zerver/tornado/event_queue.py:673 +#: zerver/tornado/event_queue.py:678 msgid "Missing 'queue_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:676 +#: zerver/tornado/event_queue.py:681 msgid "Missing 'last_event_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:683 +#: zerver/tornado/event_queue.py:688 #, python-brace-format msgid "An event newer than {event_id} has already been pruned!" msgstr "" -#: zerver/tornado/event_queue.py:693 +#: zerver/tornado/event_queue.py:698 #, python-brace-format msgid "Event {event_id} was not in this queue" msgstr "" @@ -4792,20 +5221,22 @@ msgstr "" msgid "Default custom field cannot be updated." msgstr "" -#: zerver/views/development/dev_login.py:98 +#: zerver/views/development/dev_login.py:100 msgid "Endpoint not available in production." msgstr "" -#: zerver/views/development/dev_login.py:100 +#: zerver/views/development/dev_login.py:102 msgid "DevAuthBackend not enabled." msgstr "" -#: zerver/views/events_register.py:107 zerver/views/events_register.py:111 -msgid "Invalid '{}' parameter for anonymous request" +#: zerver/views/events_register.py:108 zerver/views/events_register.py:112 +#, python-brace-format +msgid "Invalid '{key}' parameter for anonymous request" msgstr "" #: zerver/views/hotspots.py:19 -msgid "Unknown hotspot: {}" +#, python-brace-format +msgid "Unknown hotspot: {hotspot}" msgstr "" #: zerver/views/invite.py:72 @@ -4813,25 +5244,27 @@ msgid "You must specify at least one email address." msgstr "" #: zerver/views/invite.py:82 -msgid "Stream does not exist with id: {}. No invites were sent." +#, python-brace-format +msgid "Stream does not exist with id: {stream_id}. No invites were sent." msgstr "" -#: zerver/views/invite.py:87 +#: zerver/views/invite.py:89 msgid "You do not have permission to subscribe other users to streams." msgstr "" -#: zerver/views/invite.py:124 zerver/views/invite.py:127 -#: zerver/views/invite.py:146 zerver/views/invite.py:149 -#: zerver/views/invite.py:168 zerver/views/invite.py:173 +#: zerver/views/invite.py:126 zerver/views/invite.py:129 +#: zerver/views/invite.py:148 zerver/views/invite.py:151 +#: zerver/views/invite.py:170 zerver/views/invite.py:175 msgid "No such invitation" msgstr "" -#: zerver/views/invite.py:154 +#: zerver/views/invite.py:156 msgid "Invitation has already been revoked" msgstr "" -#: zerver/views/invite.py:207 -msgid "Invalid stream ID {}. No invites were sent." +#: zerver/views/invite.py:210 +#, python-brace-format +msgid "Invalid stream ID {stream_id}. No invites were sent." msgstr "" #: zerver/views/message_edit.py:98 @@ -4851,7 +5284,8 @@ msgid "Message already deleted" msgstr "" #: zerver/views/message_fetch.py:99 -msgid "Too many messages requested (maximum {})." +#, python-brace-format +msgid "Too many messages requested (maximum {max_messages})." msgstr "" #: zerver/views/message_fetch.py:104 zerver/views/message_flags.py:85 @@ -4859,7 +5293,8 @@ msgid "The anchor can only be excluded at an end of the range" msgstr "" #: zerver/views/message_flags.py:169 -msgid "No such topic '{}'" +#, python-brace-format +msgid "No such topic '{topic}'" msgstr "" #: zerver/views/message_send.py:201 @@ -4903,13 +5338,14 @@ msgstr "" msgid "Client did not pass any new values." msgstr "" -#: zerver/views/presence.py:106 +#: zerver/views/presence.py:108 msgid "" "Client must pass emoji_name if they pass either emoji_code or reaction_type." msgstr "" -#: zerver/views/presence.py:144 -msgid "Invalid status: {}" +#: zerver/views/presence.py:146 +#, python-brace-format +msgid "Invalid status: {status}" msgstr "" #: zerver/views/push_notifications.py:19 @@ -4926,36 +5362,36 @@ msgid "" "emoji_code" msgstr "" -#: zerver/views/reactions.py:68 -msgid "Reaction doesn't exist." -msgstr "" - #: zerver/views/read_receipts.py:22 msgid "Read receipts are disabled in this organization." msgstr "" #: zerver/views/realm.py:160 -msgid "Invalid language '{}'" +#, python-brace-format +msgid "Invalid language '{language}'" msgstr "" #: zerver/views/realm.py:165 msgid "At least one authentication method must be enabled." msgstr "" -#: zerver/views/realm.py:169 -msgid "Invalid video_chat_provider {}" +#: zerver/views/realm.py:170 +#, python-brace-format +msgid "Invalid video_chat_provider {video_chat_provider}" msgstr "" -#: zerver/views/realm.py:173 -msgid "Invalid giphy_rating {}" +#: zerver/views/realm.py:178 +#, python-brace-format +msgid "Invalid giphy_rating {giphy_rating}" msgstr "" -#: zerver/views/realm.py:336 +#: zerver/views/realm.py:335 msgid "Must be a demo organization." msgstr "" #: zerver/views/realm_domains.py:36 -msgid "Invalid domain: {}" +#, python-brace-format +msgid "Invalid domain: {error}" msgstr "" #: zerver/views/realm_domains.py:39 @@ -4968,18 +5404,19 @@ msgstr "" msgid "No entry found for domain {domain}." msgstr "" -#: zerver/views/realm_emoji.py:38 +#: zerver/views/realm_emoji.py:40 msgid "You must upload exactly one file." msgstr "" -#: zerver/views/realm_emoji.py:40 +#: zerver/views/realm_emoji.py:42 msgid "Only administrators can override default emoji." msgstr "" -#: zerver/views/realm_emoji.py:46 zerver/views/realm_icon.py:27 +#: zerver/views/realm_emoji.py:48 zerver/views/realm_icon.py:27 #: zerver/views/realm_logo.py:33 zerver/views/upload.py:278 -#: zerver/views/user_settings.py:352 -msgid "Uploaded file is larger than the allowed limit of {} MiB" +#: zerver/views/user_settings.py:371 +#, python-brace-format +msgid "Uploaded file is larger than the allowed limit of {max_size} MiB" msgstr "" #: zerver/views/realm_export.py:45 @@ -5019,7 +5456,7 @@ msgstr "" msgid "You must upload exactly one logo." msgstr "" -#: zerver/views/realm_playgrounds.py:33 +#: zerver/views/realm_playgrounds.py:32 msgid "Invalid playground" msgstr "" @@ -5056,63 +5493,65 @@ msgstr "" msgid "Invalid value for \"op\". Specify one of \"add\" or \"remove\"." msgstr "" -#: zerver/views/streams.py:322 +#: zerver/views/streams.py:324 msgid "Default streams cannot be made private." msgstr "" -#: zerver/views/streams.py:370 +#: zerver/views/streams.py:372 msgid "Stream already has that name!" msgstr "" -#: zerver/views/streams.py:452 zerver/views/user_groups.py:108 -#: zerver/views/user_groups.py:285 +#: zerver/views/streams.py:454 zerver/views/user_groups.py:168 +#: zerver/views/user_groups.py:347 msgid "Nothing to do. Specify at least one of \"add\" or \"delete\"." msgstr "" -#: zerver/views/streams.py:536 +#: zerver/views/streams.py:538 #, python-brace-format msgid "{user_full_name} subscribed you to the stream {stream_name}." msgstr "" -#: zerver/views/streams.py:542 +#: zerver/views/streams.py:544 #, python-brace-format msgid "{user_full_name} subscribed you to the following streams:" msgstr "" -#: zerver/views/streams.py:646 +#: zerver/views/streams.py:655 #, python-brace-format msgid "Unable to access stream ({stream_name})." msgstr "" -#: zerver/views/streams.py:659 +#: zerver/views/streams.py:668 msgid "You can only invite other Zephyr mirroring users to private streams." msgstr "" -#: zerver/views/streams.py:767 +#: zerver/views/streams.py:776 #, python-brace-format msgid "{user_name} created the following streams: {stream_str}." msgstr "" -#: zerver/views/streams.py:769 +#: zerver/views/streams.py:778 #, python-brace-format msgid "{user_name} created a new stream {stream_str}." msgstr "" -#: zerver/views/streams.py:770 +#: zerver/views/streams.py:779 msgid "new streams" msgstr "" -#: zerver/views/streams.py:802 +#: zerver/views/streams.py:811 #, python-brace-format msgid "**{policy}** stream created by {user_name}. **Description:**" msgstr "" -#: zerver/views/streams.py:1050 -msgid "Unknown subscription property: {}" +#: zerver/views/streams.py:1060 +#, python-brace-format +msgid "Unknown subscription property: {property}" msgstr "" -#: zerver/views/streams.py:1054 -msgid "Not subscribed to stream id {}" +#: zerver/views/streams.py:1066 +#, python-brace-format +msgid "Not subscribed to stream id {stream_id}" msgstr "" #: zerver/views/submessage.py:38 @@ -5136,7 +5575,7 @@ msgid "User has disabled typing notifications for direct messages" msgstr "" #: zerver/views/upload.py:183 -msgid "

File not found.

" +msgid "

This file does not exist or has been deleted.

" msgstr "" #: zerver/views/upload.py:223 @@ -5156,42 +5595,43 @@ msgstr "" msgid "You may only upload one file at a time" msgstr "" -#: zerver/views/user_groups.py:74 +#: zerver/views/user_groups.py:111 msgid "No new data supplied" msgstr "" -#: zerver/views/user_groups.py:149 +#: zerver/views/user_groups.py:209 #, python-brace-format msgid "{user_full_name} added you to the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:154 +#: zerver/views/user_groups.py:214 #, python-brace-format msgid "{user_full_name} removed you from the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:185 +#: zerver/views/user_groups.py:245 #, python-brace-format msgid "User {user_id} is already a member of this group" msgstr "" -#: zerver/views/user_groups.py:212 -msgid "There is no member '{}' in this user group" +#: zerver/views/user_groups.py:273 +#, python-brace-format +msgid "There is no member '{user_id}' in this user group" msgstr "" -#: zerver/views/user_groups.py:237 +#: zerver/views/user_groups.py:299 #, python-brace-format msgid "User group {group_id} is already a subgroup of this group." msgstr "" -#: zerver/views/user_groups.py:246 +#: zerver/views/user_groups.py:308 #, python-brace-format msgid "" "User group {user_group_id} is already a subgroup of one of the passed " "subgroups." msgstr "" -#: zerver/views/user_groups.py:266 +#: zerver/views/user_groups.py:328 #, python-brace-format msgid "User group {group_id} is not a subgroup of this group." msgstr "" @@ -5200,7 +5640,7 @@ msgstr "" msgid "Avatar changes are disabled in this organization." msgstr "" -#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:293 +#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:312 msgid "Email address changes are disabled in this organization." msgstr "" @@ -5208,31 +5648,34 @@ msgstr "" msgid "Invalid default_language" msgstr "" -#: zerver/views/user_settings.py:133 -msgid "Invalid notification sound '{}'" +#: zerver/views/user_settings.py:134 +#, python-brace-format +msgid "Invalid notification sound '{notification_sound}'" msgstr "" -#: zerver/views/user_settings.py:141 -msgid "Invalid email batching period: {} seconds" +#: zerver/views/user_settings.py:145 +#, python-brace-format +msgid "Invalid email batching period: {seconds} seconds" msgstr "" -#: zerver/views/user_settings.py:248 +#: zerver/views/user_settings.py:267 msgid "Your Zulip password is managed in LDAP" msgstr "" -#: zerver/views/user_settings.py:258 +#: zerver/views/user_settings.py:277 msgid "Wrong password!" msgstr "" -#: zerver/views/user_settings.py:263 -msgid "You're making too many attempts! Try again in {} seconds." +#: zerver/views/user_settings.py:282 +#, python-brace-format +msgid "You're making too many attempts! Try again in {seconds} seconds." msgstr "" -#: zerver/views/user_settings.py:269 +#: zerver/views/user_settings.py:288 msgid "New password is too weak!" msgstr "" -#: zerver/views/user_settings.py:342 +#: zerver/views/user_settings.py:361 msgid "You must upload exactly one avatar." msgstr "" @@ -5293,7 +5736,8 @@ msgid "Disposable email addresses are not allowed in this organization" msgstr "" #: zerver/views/users.py:712 -msgid "Email '{}' already in use" +#, python-brace-format +msgid "Email '{email}' already in use" msgstr "" #: zerver/views/video_calls.py:47 @@ -5352,7 +5796,7 @@ msgstr "" msgid "We were unable to set up mirroring for you" msgstr "" -#: zerver/webhooks/circleci/view.py:76 +#: zerver/webhooks/circleci/view.py:83 msgid "Projects using this version control system provider aren't supported" msgstr "" @@ -5361,7 +5805,7 @@ msgstr "" msgid "Invalid payload" msgstr "" -#: zerver/webhooks/front/view.py:155 +#: zerver/webhooks/front/view.py:151 msgid "Unknown webhook request" msgstr "" @@ -5409,10 +5853,11 @@ msgid "Message from Slack" msgstr "" #: zerver/webhooks/wordpress/view.py:56 -msgid "Unknown WordPress webhook action: {}" +#, python-brace-format +msgid "Unknown WordPress webhook action: {hook}" msgstr "" -#: zerver/worker/queue_processors.py:1123 +#: zerver/worker/queue_processors.py:1114 #, python-brace-format msgid "" "Your data export is complete and has been uploaded here:\n" @@ -5439,7 +5884,8 @@ msgid "Invalid token type" msgstr "" #: zilencer/views.py:109 -msgid "{} is not a valid hostname" +#, python-brace-format +msgid "{hostname} is not a valid hostname" msgstr "" #: zilencer/views.py:162 @@ -5447,7 +5893,8 @@ msgid "Missing user_id or user_uuid" msgstr "" #: zilencer/views.py:373 -msgid "Invalid property {}" +#, python-brace-format +msgid "Invalid property {property}" msgstr "" #: zilencer/views.py:375 @@ -5470,10 +5917,10 @@ msgstr "" msgid "Missing id_token parameter" msgstr "" -#: zproject/backends.py:2903 +#: zproject/backends.py:2902 msgid "Invalid OTP" msgstr "" -#: zproject/backends.py:2906 +#: zproject/backends.py:2905 msgid "Can't use both mobile_flow_otp and desktop_flow_otp together." msgstr "" diff --git a/locale/eo/translations.json b/locale/eo/translations.json index ea1feff276..c376c91f20 100644 --- a/locale/eo/translations.json +++ b/locale/eo/translations.json @@ -83,6 +83,7 @@ "Add all users": "", "Add another user...": "", "Add code playground": "", + "Add default streams": "", "Add emoji": "", "Add emoji reaction": "", "Add extra emoji for members of the {realm_name} organization.": "", @@ -90,7 +91,6 @@ "Add linkifier": "", "Add members": "", "Add member…": "", - "Add new default stream": "", "Add new user group": "", "Add one or more users": "", "Add option": "", @@ -150,6 +150,7 @@ "Archive ?": "", "Archive stream": "", "Archiving stream will immediately unsubscribe everyone. This action cannot be undone.": "", + "Archiving this stream will also disable settings that were configured to use this stream:": "", "Are you sure you want to continue?": "", "Are you sure you want to create stream ''''{stream_name}'''' and subscribe {count} users to it?": "", "Are you sure you want to deactivate this organization?": "", @@ -218,6 +219,7 @@ "Click here to reveal.": "", "Click on the pencil () icon to edit and reschedule a message.": "", "Click outside the input box to save. We'll automatically notify anyone that was added or removed.": "", + "Click to view edit history.": "", "Click to view or download.": "", "Close": "", "Close modal": "", @@ -360,7 +362,6 @@ "Display my availability to other users": "", "Display names of reacting users when few users have reacted to a message": "", "Display on user card": "", - "Display settings": "", "Do you still want to move the latest {total_messages_allowed_to_move, plural, one {message} other {# messages}}?": "", "Do you want to add everyone?": "", "Domain": "", @@ -388,7 +389,6 @@ "Edit custom profile field": "", "Edit linkfiers": "", "Edit message": "", - "Edit or reschedule message": "", "Edit selected draft": "", "Edit selected message or view source": "", "Edit status": "", @@ -398,7 +398,6 @@ "Edit your last message": "", "Edit your profile": "", "Edit {group_name}": "", - "Edited ({last_edit_timestr})": "", "Edited by {full_name}": "", "Education (for-profit)": "", "Education (non-profit)": "", @@ -461,6 +460,7 @@ "External account type": "", "External link": "", "Failed": "", + "Failed adding one or more streams.": "", "Failed to create video call.": "", "Failed to generate preview": "", "Failed to upload %'{file}'": "", @@ -500,6 +500,9 @@ "First message": "", "First time? Read our guidelines for creating and naming streams.": "", "First time? Read our guidelines for creating user groups.": "", + "Follow topic": "", + "Followed": "", + "Followed topics": "", "For example, to configure a code playground for code blocks tagged as Python, you can set:": "", "For more examples and technical details, see the help center documentation on adding code playgrounds.": "", "For more examples, see the help center documentation on adding linkifiers.": "", @@ -600,8 +603,10 @@ "Last 30 days": "", "Last 6 months": "", "Last active": "", + "Last edited {last_edit_timestr}": "", "Last message": "", "Last modified": "", + "Last moved {last_edit_timestr}": "", "Learn more": "", "Learn more about mentions here.": "", "Learn more about starring messages here.": "", @@ -624,6 +629,7 @@ "Log out": "", "Looking for our integrations or API documentation?": "", "MOVED": "", + "Main menu": "", "Manage bot": "", "Manage streams": "", "Manage this bot": "", @@ -647,7 +653,6 @@ "Mention a time-zone-aware time": "", "Mentioned in": "", "Mentions": "", - "Menu": "", "Menus": "", "Message #{stream_name}": "", "Message #{stream_name} > {topic_name}": "", @@ -682,7 +687,6 @@ "Move some messages?": "", "Move this and all following messages in this topic": "", "Move topic": "", - "Moved ({last_edit_timestr})": "", "Moved by {full_name}": "", "Moving messages": "", "Must be invited by a subscriber; new subscribers can only see messages sent after they join; hidden from non-administrator users": "", @@ -735,9 +739,11 @@ "New password is too weak": "", "New stream announcements": "", "New stream message": "", + "New stream notifications": "", "New task": "", "New topic": "", "New user announcements": "", + "New user notifications": "", "Next message": "", "Next unread direct message": "", "Next unread topic": "", @@ -760,7 +766,6 @@ "No search results": "", "No search results.": "", "No stream subscriptions.": "", - "No streams": "", "No topics are marked as resolved.": "", "No topics match your current filter.": "", "No user group subscriptions.": "", @@ -860,6 +865,7 @@ "Please specify at least one valid recipient.": "", "Political group": "", "Posted by {full_name}": "", + "Preferences": "", "Press > for list of topics": "", "Prevent users from changing their avatar": "", "Prevent users from changing their email address": "", @@ -1105,7 +1111,6 @@ "Time zone": "", "Time's up!": "", "Tip: You can also send \"/poll Some question\"": "", - "To add syntax highlighting to a multi-line code block, add the language's first Pygments short name after the first set of back-ticks. You can also make a code block by indenting each line with 4 spaces.": "", "To invite users, please increase the number of licenses or deactivate inactive users.": "", "To preserve your reading state, this view does not mark messages as read.": "", "Today": "", @@ -1127,7 +1132,6 @@ "Two factor authentication": "", "Type": "", "URL pattern": "", - "URL prefix": "", "URL template": "", "USERS": "", "Uncheck all": "", @@ -1339,13 +1343,13 @@ "Zulip Server {display_version}": "", "Zulip Server {display_version} (modified)": "", "Zulip Server {display_version} (patched)": "", + "Zulip lets you configure notifications for each topic. You can also automatically follow or unmute topics you start or participate in.": "", "Zulip lets you mute topics and streams to avoid receiving notifications messages you are not interested in. Muting a stream effectively mutes all topics in that stream. You can also manually mute a topic in an unmuted stream, or unmute a topic in a muted stream. Learn more.": "", "Zulip needs to send email to confirm users' addresses and send notifications.": "", "Zulip needs your permission to enable desktop notifications.": "", "Zulip's translations are contributed by our amazing community of volunteer translators. If you'd like to help, see the Zulip translation guidelines.": "", "[Configure]": "", "[Disable]": "", - "[More…]": "", "[Quoting…]": "", "[Unset]": "", "and {remaining_senders, plural, one {1 other} other {# others}}.": "", diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index 621bca6dae..8541ac4dda 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -4,6 +4,7 @@ # # Translators: # Alexandre de Lespinasse , 2018 +# Alex Vandiver , 2023 # Benjamin Somers , 2019 # BRANDON THIBEAUX , 2021 # David Cachau , 2019 @@ -33,7 +34,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-05-31 01:00+0000\n" "PO-Revision-Date: 2015-12-06 00:18+0000\n" -"Last-Translator: Sylvain R., 2023\n" +"Last-Translator: Alex Vandiver , 2023\n" "Language-Team: French (http://app.transifex.com/zulip/zulip/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2325,7 +2326,7 @@ msgstr "Blog" #: templates/zerver/footer.html:95 msgid "Support Zulip" -msgstr "A propos de Zulip" +msgstr "Supporter Zulip" #: templates/zerver/footer.html:105 msgid "Powered by Zulip" diff --git a/locale/gl/LC_MESSAGES/django.po b/locale/gl/LC_MESSAGES/django.po index 8dc11dc433..bab420a807 100644 --- a/locale/gl/LC_MESSAGES/django.po +++ b/locale/gl/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-13 19:19+0000\n" +"POT-Creation-Date: 2023-07-26 03:33+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: analytics/views/stats.py:110 zerver/decorator.py:623 zerver/decorator.py:641 +#: analytics/views/stats.py:110 zerver/decorator.py:628 zerver/decorator.py:646 msgid "Not allowed for guest users" msgstr "" @@ -43,7 +43,8 @@ msgid "Group direct messages" msgstr "" #: analytics/views/stats.py:318 -msgid "Unknown chart name: {}" +#, python-brace-format +msgid "Unknown chart name: {chart_name}" msgstr "" #: analytics/views/stats.py:328 @@ -55,8 +56,8 @@ msgstr "" msgid "No analytics data available. Please contact your server administrator." msgstr "" -#: analytics/views/support.py:189 zerver/views/streams.py:304 -#: zerver/views/streams.py:308 zerver/views/streams.py:316 +#: analytics/views/support.py:189 zerver/views/streams.py:306 +#: zerver/views/streams.py:310 zerver/views/streams.py:318 msgid "Invalid parameters" msgstr "" @@ -113,30 +114,32 @@ msgid "" "{num_invites} users." msgstr "" -#: corporate/lib/stripe.py:112 -msgid "You must invoice for at least {} users." +#: corporate/lib/stripe.py:113 +#, python-brace-format +msgid "You must invoice for at least {min_licenses} users." msgstr "" -#: corporate/lib/stripe.py:117 +#: corporate/lib/stripe.py:120 +#, python-brace-format msgid "" -"Invoices with more than {} licenses can't be processed from this page. To " -"complete the upgrade, please contact {}." +"Invoices with more than {max_licenses} licenses can't be processed from this " +"page. To complete the upgrade, please contact {email}." msgstr "" -#: corporate/lib/stripe.py:225 +#: corporate/lib/stripe.py:228 #, python-brace-format msgid "Something went wrong. Please contact {email}." msgstr "" -#: corporate/lib/stripe.py:226 +#: corporate/lib/stripe.py:229 msgid "Something went wrong. Please reload the page." msgstr "" -#: corporate/lib/stripe.py:300 +#: corporate/lib/stripe.py:303 msgid "Something went wrong. Please wait a few seconds and try again." msgstr "" -#: corporate/lib/stripe.py:1020 +#: corporate/lib/stripe.py:1023 #, python-brace-format msgid "" "Your organization's request for sponsored hosting has been approved! You " @@ -170,7 +173,7 @@ msgstr "" msgid "Unable to update the plan. The plan has ended." msgstr "" -#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:253 +#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:251 msgid "" "Unable to update licenses manually. Your plan is on automatic license " "management." @@ -186,14 +189,14 @@ msgstr "" msgid "You cannot decrease the licenses in the current billing period." msgstr "" -#: corporate/views/billing_page.py:259 +#: corporate/views/billing_page.py:257 #, python-brace-format msgid "" "Your plan is already scheduled to renew with {licenses_at_next_renewal} " "licenses." msgstr "" -#: corporate/views/billing_page.py:273 +#: corporate/views/billing_page.py:271 msgid "Nothing to change." msgstr "" @@ -205,7 +208,7 @@ msgstr "" msgid "Session not found" msgstr "" -#: corporate/views/event_status.py:37 zerver/decorator.py:196 +#: corporate/views/event_status.py:37 zerver/decorator.py:197 msgid "Must be a billing administrator or an organization owner" msgstr "" @@ -256,7 +259,7 @@ msgid "" msgstr "" #: templates/500.html:4 templates/500.html:21 -#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:433 +#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:410 msgid "Internal server error" msgstr "" @@ -566,7 +569,7 @@ msgstr "" #: templates/corporate/for/events.html:34 #: templates/corporate/for/events.html:288 #: templates/corporate/for/open-source.html:36 -#: templates/corporate/for/open-source.html:720 +#: templates/corporate/for/open-source.html:727 #: templates/corporate/for/research.html:36 #: templates/corporate/for/research.html:402 #: templates/corporate/for/use-cases.html:23 @@ -586,7 +589,7 @@ msgstr "" #: templates/corporate/for/events.html:40 #: templates/corporate/for/events.html:294 #: templates/corporate/for/open-source.html:42 -#: templates/corporate/for/open-source.html:726 +#: templates/corporate/for/open-source.html:733 #: templates/corporate/for/research.html:42 #: templates/corporate/for/research.html:408 #: templates/corporate/for/use-cases.html:29 @@ -598,7 +601,7 @@ msgstr "" #: templates/corporate/for/events.html:37 #: templates/corporate/for/events.html:291 #: templates/corporate/for/open-source.html:39 -#: templates/corporate/for/open-source.html:723 +#: templates/corporate/for/open-source.html:730 #: templates/corporate/for/research.html:39 #: templates/corporate/for/research.html:405 msgid "Request sponsorship" @@ -864,52 +867,52 @@ msgid "Sign up with %(identity_provider)s" msgstr "" #: templates/zerver/accounts_send_confirm.html:5 -msgid "Confirm your email address" -msgstr "" - #: templates/zerver/accounts_send_confirm.html:17 -msgid "Thanks for signing up!" +msgid "Confirm your email address" msgstr "" #: templates/zerver/accounts_send_confirm.html:21 #, python-format msgid "" -"Check your email (%(email)s) so " -"we can get started." +"To complete your registration, check your email account (%(email)s) for a confirmation email " +"from Zulip." msgstr "" #: templates/zerver/accounts_send_confirm.html:25 msgid "" -"Still no email? We can resend it." +"If you don't see a confirmation email in your Inbox or Spam folder, we can " +"resend it." msgstr "" -#: templates/zerver/accounts_send_confirm.html:26 -msgid "Just in case, take a look at your Spam folder." -msgstr "" - -#: templates/zerver/app/index.html:121 +#: templates/zerver/app/index.html:128 msgid "" -"If this message does not go away, try reloading the " -"page." +"If this message does not go away, try reloading " +"the page." msgstr "" -#: templates/zerver/app/index.html:164 +#: templates/zerver/app/index.html:131 +msgid "" +"Error loading Zulip. Try reloading the page." +msgstr "" + +#: templates/zerver/app/index.html:174 msgid "Unable to connect to Zulip." msgstr "" -#: templates/zerver/app/index.html:165 +#: templates/zerver/app/index.html:175 msgid "Updates may be delayed." msgstr "" -#: templates/zerver/app/index.html:166 +#: templates/zerver/app/index.html:176 msgid "Retrying soon…" msgstr "" -#: templates/zerver/app/index.html:167 +#: templates/zerver/app/index.html:177 msgid "Try now." msgstr "" -#: templates/zerver/app/index.html:241 templates/zerver/app/index.html:243 +#: templates/zerver/app/index.html:251 templates/zerver/app/index.html:253 msgid "Messages" msgstr "" @@ -938,6 +941,7 @@ msgstr "" #: templates/zerver/billing_nav.html:4 #: templates/zerver/development/integrations_dev_panel.html:19 +#: templates/zerver/emails/compiled/followup_day2.html:28 #: templates/zerver/portico-header.html:5 #: templates/zerver/portico-header.html:9 msgid "Zulip" @@ -1168,6 +1172,8 @@ msgstr "" msgid "Digest" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:9 +#: templates/zerver/emails/compiled/notify_change_in_email.html:9 #: templates/zerver/emails/confirm_new_email.html:8 #: templates/zerver/emails/confirm_new_email.txt:1 #: templates/zerver/emails/notify_change_in_email.html:8 @@ -1175,6 +1181,7 @@ msgstr "" msgid "Hi," msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:11 #: templates/zerver/emails/confirm_new_email.html:10 #: templates/zerver/emails/confirm_new_email.txt:4 #, python-format @@ -1184,10 +1191,12 @@ msgid "" "please click below:" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:12 #: templates/zerver/emails/confirm_new_email.html:11 msgid "Confirm email change" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:14 #: templates/zerver/emails/confirm_new_email.html:13 #, python-format msgid "" @@ -1195,6 +1204,623 @@ msgid "" "%(support_email)s." msgstr "" +#: templates/zerver/emails/compiled/confirm_registration.html:11 +#: templates/zerver/emails/confirm_registration.html:10 +#: templates/zerver/emails/confirm_registration.txt:2 +msgid "You have requested a new Zulip organization. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:13 +#: templates/zerver/emails/confirm_registration.html:12 +#: templates/zerver/emails/confirm_registration.txt:4 +msgid "You recently signed up for Zulip. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:18 +#: templates/zerver/emails/confirm_registration.html:17 +msgid "" +"Click the button below to create the organization and register your account." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:20 +#: templates/zerver/emails/confirm_registration.html:19 +msgid "Click the button below to complete registration." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:22 +#: templates/zerver/emails/compiled/invitation.html:17 +#: templates/zerver/emails/compiled/invitation_reminder.html:15 +#: templates/zerver/emails/confirm_registration.html:21 +#: templates/zerver/emails/invitation.html:16 +#: templates/zerver/emails/invitation_reminder.html:14 +msgid "Complete registration" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:24 +#: templates/zerver/emails/compiled/invitation.html:20 +#: templates/zerver/emails/compiled/realm_reactivation.html:20 +#, python-format +msgid "" +"Contact us any time at %(support_email)s if you run into trouble, have any " +"feedback, or just want to chat!" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:8 +#, python-format +msgid "" +"\n" +"Your Zulip account on %(realm_uri)s has been deactivated, and you will " +"no longer be able to log in.\n" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:15 +#: templates/zerver/emails/deactivate.html:15 +#: templates/zerver/emails/deactivate.txt:6 +msgid "The administrators provided the following comment:" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:28 +#: templates/zerver/emails/digest.html:27 +msgid "New streams" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:35 +#: templates/zerver/emails/digest.html:34 +msgid "Click here to log in to Zulip and catch up." +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:40 +#: templates/zerver/emails/compiled/followup_day2.html:34 +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/custom_email_base.pre.html:18 +#: templates/zerver/emails/digest.html:39 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Manage email preferences" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:41 +#: templates/zerver/emails/digest.html:40 +msgid "Unsubscribe from digest emails" +msgstr "" + +#: templates/zerver/emails/compiled/email_base_default.html:95 +#: templates/zerver/emails/compiled/email_base_marketing.html:95 +#: templates/zerver/emails/email_base_default.html:33 +#: templates/zerver/emails/email_base_marketing.html:33 +msgid "Swimming fish" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:9 +#: templates/zerver/emails/find_team.html:8 +#: templates/zerver/emails/find_team.txt:1 +msgid "Thanks for your request!" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:11 +#, python-format +msgid "" +"Your email address %(email)s has accounts with the following Zulip " +"organizations hosted by %(external_host)s:" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:19 +#: templates/zerver/emails/find_team.html:18 +#: templates/zerver/emails/find_team.txt:10 +msgid "" +"If you have trouble logging in, please contact Zulip support by replying to " +"this email." +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:21 +#: templates/zerver/emails/find_team.html:20 +#: templates/zerver/emails/find_team.txt:13 +msgid "Thanks for using Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:9 +#: templates/zerver/emails/followup_day1.html:24 +#: templates/zerver/emails/followup_day1.txt:1 +msgid "Welcome to Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:14 +msgid "" +"You've created a demo Zulip organization. Note that this organization will " +"be automatically deleted in 30 days. Learn more about demo organizations here!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:16 +#, python-format +msgid "You've created the new Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:19 +#, python-format +msgid "You've joined the Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:24 +msgid "Your account details:" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:27 +#: templates/zerver/emails/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.txt:16 +#, python-format +msgid "Organization URL: %(organization_url)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:31 +#, python-format +msgid "Username: %(ldap_username)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.html:39 +#: templates/zerver/emails/followup_day1.txt:22 +msgid "Use your LDAP account to log in" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:38 +#, python-format +msgid "Email: %(email)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:42 +#, python-format +msgid "" +"(you'll need these to sign in to the mobile and desktop " +"apps)" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:47 +#, python-format +msgid "" +"Check out our guide for admins, become a Zulip pro with a " +"few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:49 +#, python-format +msgid "" +"Learn more about Zulip, become a pro with a few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:54 +msgid "Cheers," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:55 +#: templates/zerver/emails/compiled/notify_change_in_email.html:15 +#: templates/zerver/emails/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.txt:7 +msgid "Team Zulip" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:59 +msgid "" +"PS: Follow us on Twitter, star us on GitHub, or chat with us live on the Zulip community server!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:9 +msgid "Hey," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:11 +msgid "" +"I wanted to share one last thing with you: a few tips about topics, since " +"mastering topics is a key part of being a Zulip power user." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:13 +#: templates/zerver/emails/followup_day2.html:22 +msgid "Examples of short topics" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:15 +msgid "" +"Topics are like email subject lines. The big difference, though, is that " +"they're really short and lightweight. Two or three words will do it. Don't " +"overthink 'em—you can always edit the message later!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:18 +msgid "Good topics: design mockup, Bug 345, acme burgers" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:19 +msgid "" +"Not recommended: \"What do people think of this new design mockup?\", \"I'm " +"looking at Bug 345\", \"Is Acme Burgers open for lunch?\"" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:22 +msgid "Example of a topic that is too long" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:24 +msgid "" +"Why bother with topics? Well, two reasons: it makes conversations clearer " +"(imagine if email didn't have them!), and it lets you more efficiently catch " +"up on what's happened while you're away—read the topics that are relevant to " +"you, and ignore the ones that aren't!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:26 +msgid "Take it for a spin now." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:28 +#: templates/zerver/emails/compiled/notify_new_login.html:42 +#: templates/zerver/emails/notify_new_login.html:40 +#: templates/zerver/emails/notify_new_login.txt:20 +msgid "Thanks," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:35 +msgid "Unsubscribe from welcome emails" +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:10 +#: templates/zerver/emails/invitation.html:9 +#: templates/zerver/emails/invitation.txt:1 +msgid "Hi there," +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:13 +#, python-format +msgid "" +"%(referrer_name)s wants you to join them on Zulip — the team communication " +"tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:16 +#: templates/zerver/emails/compiled/invitation_reminder.html:14 +#: templates/zerver/emails/invitation.html:15 +#: templates/zerver/emails/invitation_reminder.html:13 +msgid "To get started, click the button below." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:9 +#: templates/zerver/emails/invitation_reminder.html:8 +#: templates/zerver/emails/invitation_reminder.txt:1 +msgid "Hi again," +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:11 +#, python-format +msgid "" +"This is a friendly reminder that %(referrer_name)s wants you to join them on " +"Zulip — the team communication tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:19 +#: templates/zerver/emails/invitation_reminder.html:18 +#: templates/zerver/emails/invitation_reminder.txt:8 +msgid "This is the last reminder you'll receive for this invitation." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:23 +#: templates/zerver/emails/invitation_reminder.html:22 +#, python-format +msgid "" +"\n" +" This invitation expires in two days. If the invitation expires,\n" +" you'll need to ask %(referrer_name)s for another one.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:18 +#, python-format +msgid "" +"This email does not include message content because your organization has " +"disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:20 +#, python-format +msgid "" +"This email does not include message content because you have disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:30 +#: templates/zerver/emails/missed_message.html:29 +#: templates/zerver/emails/missed_message.txt:25 +msgid "You are receiving this because you were personally mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:32 +#: templates/zerver/emails/missed_message.html:31 +#: templates/zerver/emails/missed_message.txt:27 +#, python-format +msgid "" +"You are receiving this because @%(mentioned_user_group_name)s was mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:34 +#: templates/zerver/emails/missed_message.html:39 +#: templates/zerver/emails/missed_message.txt:35 +#, python-format +msgid "" +"You are receiving this because everyone was mentioned in #%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:36 +#: templates/zerver/emails/missed_message.html:43 +#: templates/zerver/emails/missed_message.txt:39 +#, python-format +msgid "" +"You are receiving this because you have email notifications enabled for " +"#%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:39 +#, python-format +msgid "" +"Reply to this email directly, view it in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:41 +#, python-format +msgid "" +"View or reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:43 +#, python-format +msgid "" +"Reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:45 +#, python-format +msgid "" +"\n" +" Do not reply to this email. This Zulip server is not configured to " +"accept incoming emails (help).\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:11 +#: templates/zerver/emails/notify_change_in_email.html:10 +#, python-format +msgid "" +"The email associated with your Zulip account was recently changed to " +"%(new_email)s. If you did not request this change, please contact us " +"immediately at %(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.html:13 +#: templates/zerver/emails/notify_change_in_email.txt:6 +msgid "Best," +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:4 +#: templates/zerver/emails/notify_new_login.html:4 +#, python-format +msgid "" +"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:13 +#: templates/zerver/emails/notify_new_login.html:12 +#: templates/zerver/emails/notify_new_login.txt:1 +msgid "We noticed a recent login for the following Zulip account." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:18 +#: templates/zerver/emails/notify_new_login.html:16 +#, python-format +msgid "Organization: %(organization_link)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:21 +#: templates/zerver/emails/notify_new_login.html:19 +#: templates/zerver/emails/notify_new_login.txt:5 +#, python-format +msgid "Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:24 +#: templates/zerver/emails/notify_new_login.html:22 +#: templates/zerver/emails/notify_new_login.txt:7 +#, python-format +msgid "Time: %(login_time)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:27 +#: templates/zerver/emails/notify_new_login.html:25 +#: templates/zerver/emails/notify_new_login.txt:9 +#, python-format +msgid "Device: %(device_browser)s on %(device_os)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:30 +#: templates/zerver/emails/notify_new_login.html:28 +#: templates/zerver/emails/notify_new_login.txt:11 +#, python-format +msgid "IP address: %(device_ip)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:35 +#: templates/zerver/emails/notify_new_login.html:33 +#: templates/zerver/emails/notify_new_login.txt:14 +msgid "If this was you, great! There's nothing else you need to do." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:38 +#, python-format +msgid "" +"If you do not recognize this login, or think your account may have been " +"compromised, please reset your password or contact us immediately at " +"%(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:43 +#: templates/zerver/emails/notify_new_login.html:41 +#: templates/zerver/emails/notify_new_login.txt:21 +msgid "Zulip Security" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Unsubscribe from login notifications" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:10 +#: templates/zerver/emails/password_reset.html:9 +#: templates/zerver/emails/password_reset.txt:1 +#, python-format +msgid "" +"Somebody (possibly you) requested a new password for the Zulip account " +"%(email)s on %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:14 +#: templates/zerver/emails/password_reset.html:13 +msgid "Click the button below to reset your password." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:15 +#: templates/zerver/emails/password_reset.html:14 +msgid "Reset password" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:20 +#, python-format +msgid "" +"You previously had an account on %(organization_url)s, but it has been " +"deactivated. You can contact an organization administrator to reactivate your account." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:22 +#: templates/zerver/emails/password_reset.html:21 +#: templates/zerver/emails/password_reset.txt:11 +msgid "You do not have an account in that Zulip organization." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:27 +#: templates/zerver/emails/password_reset.html:26 +#: templates/zerver/emails/password_reset.txt:16 +msgid "You do have active accounts in the following organization(s)." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:34 +#: templates/zerver/emails/password_reset.html:32 +#: templates/zerver/emails/password_reset.txt:21 +msgid "" +"You can try logging in or resetting your password in the organization(s) " +"above." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:40 +#: templates/zerver/emails/password_reset.html:38 +#: templates/zerver/emails/password_reset.txt:25 +msgid "" +"If you do not recognize this activity, you can safely ignore this email." +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:8 +#: templates/zerver/emails/realm_auto_downgraded.html:8 +#, python-format +msgid "" +"\n" +" Your organization, %(organization_name_with_link)s, has been downgraded " +"to the Zulip Cloud\n" +" Free plan because of unpaid invoices. The unpaid invoices have been " +"voided.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:15 +#: templates/zerver/emails/realm_auto_downgraded.html:15 +#, python-format +msgid "" +"\n" +" To continue on the Zulip Cloud Standard plan, please upgrade again by " +"going to %(upgrade_url)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:22 +#: templates/zerver/emails/realm_auto_downgraded.html:22 +#, python-format +msgid "" +"\n" +" If you think this was a mistake or need more details, please reach out " +"to us at %(support_email)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:9 +#: templates/zerver/emails/realm_reactivation.html:8 +#: templates/zerver/emails/realm_reactivation.txt:1 +#, python-format +msgid "Dear former administrators of %(realm_name)s," +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:11 +#: templates/zerver/emails/realm_reactivation.html:10 +#: templates/zerver/emails/realm_reactivation.txt:4 +#, python-format +msgid "" +"One of your administrators requested reactivation of the previously " +"deactivated Zulip organization hosted at %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:14 +#: templates/zerver/emails/realm_reactivation.html:13 +msgid "Click the button below to reactivate your organization." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:15 +#: templates/zerver/emails/realm_reactivation.html:14 +msgid "Reactivate organization" +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:18 +#: templates/zerver/emails/realm_reactivation.html:17 +#: templates/zerver/emails/realm_reactivation.txt:10 +msgid "" +"If the request was in error, you can take no action and this link will " +"expire in 24 hours." +msgstr "" + #: templates/zerver/emails/confirm_new_email.subject.txt:1 msgid "Verify your new email address" msgstr "" @@ -1206,31 +1832,6 @@ msgid "" "<%(support_email)s>." msgstr "" -#: templates/zerver/emails/confirm_registration.html:10 -#: templates/zerver/emails/confirm_registration.txt:2 -msgid "You have requested a new Zulip organization. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:12 -#: templates/zerver/emails/confirm_registration.txt:4 -msgid "You recently signed up for Zulip. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:17 -msgid "" -"Click the button below to create the organization and register your account." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:19 -msgid "Click the button below to complete registration." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:21 -#: templates/zerver/emails/invitation.html:16 -#: templates/zerver/emails/invitation_reminder.html:14 -msgid "Complete registration" -msgstr "" - #: templates/zerver/emails/confirm_registration.subject.txt:2 msgid "Create your Zulip organization" msgstr "" @@ -1269,12 +1870,6 @@ msgid "" "at %(support_email)s." msgstr "" -#: templates/zerver/emails/custom_email_base.pre.html:18 -#: templates/zerver/emails/digest.html:39 -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Manage email preferences" -msgstr "" - #: templates/zerver/emails/custom_email_base.pre.html:18 msgid "Unsubscribe from marketing emails" msgstr "" @@ -1287,11 +1882,6 @@ msgid "" "deactivated, and you will no longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/deactivate.html:15 -#: templates/zerver/emails/deactivate.txt:6 -msgid "The administrators provided the following comment:" -msgstr "" - #: templates/zerver/emails/deactivate.subject.txt:1 #, python-format msgid "Notification of account deactivation on %(realm_name)s" @@ -1305,18 +1895,6 @@ msgid "" "longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/digest.html:27 -msgid "New streams" -msgstr "" - -#: templates/zerver/emails/digest.html:34 -msgid "Click here to log in to Zulip and catch up." -msgstr "" - -#: templates/zerver/emails/digest.html:40 -msgid "Unsubscribe from digest emails" -msgstr "" - #: templates/zerver/emails/digest.subject.txt:1 #, python-format msgid "Zulip digest for %(realm_name)s" @@ -1335,16 +1913,6 @@ msgstr "" msgid "Unsubscribe from digest emails:" msgstr "" -#: templates/zerver/emails/email_base_default.html:33 -#: templates/zerver/emails/email_base_marketing.html:33 -msgid "Swimming fish" -msgstr "" - -#: templates/zerver/emails/find_team.html:8 -#: templates/zerver/emails/find_team.txt:1 -msgid "Thanks for your request!" -msgstr "" - #: templates/zerver/emails/find_team.html:10 #, python-format msgid "" @@ -1352,18 +1920,6 @@ msgid "" "organizations hosted by %(external_host)s:" msgstr "" -#: templates/zerver/emails/find_team.html:18 -#: templates/zerver/emails/find_team.txt:10 -msgid "" -"If you have trouble logging in, please contact Zulip support by replying to " -"this email." -msgstr "" - -#: templates/zerver/emails/find_team.html:20 -#: templates/zerver/emails/find_team.txt:13 -msgid "Thanks for using Zulip!" -msgstr "" - #: templates/zerver/emails/find_team.subject.txt:1 msgid "Your Zulip accounts" msgstr "" @@ -1393,11 +1949,6 @@ msgid "" " organization: %(realm_name)s." msgstr "" -#: templates/zerver/emails/followup_day1.html:24 -#: templates/zerver/emails/followup_day1.txt:1 -msgid "Welcome to Zulip!" -msgstr "" - #: templates/zerver/emails/followup_day1.html:26 #, python-format msgid "" @@ -1412,23 +1963,12 @@ msgid "" "href=\"%(apps_page_link)s\">mobile and desktop apps:" msgstr "" -#: templates/zerver/emails/followup_day1.html:34 -#: templates/zerver/emails/followup_day1.txt:16 -#, python-format -msgid "Organization URL: %(organization_url)s" -msgstr "" - #: templates/zerver/emails/followup_day1.html:37 #: templates/zerver/emails/followup_day1.txt:20 #, python-format msgid "Your username: %(ldap_username)s" msgstr "" -#: templates/zerver/emails/followup_day1.html:39 -#: templates/zerver/emails/followup_day1.txt:22 -msgid "Use your LDAP account to log in" -msgstr "" - #: templates/zerver/emails/followup_day1.html:42 #: templates/zerver/emails/followup_day1.txt:25 #, python-format @@ -1548,10 +2088,6 @@ msgid "" "about…?”" msgstr "" -#: templates/zerver/emails/followup_day2.html:22 -msgid "Examples of short topics" -msgstr "" - #: templates/zerver/emails/followup_day2.html:25 #, python-format msgid "" @@ -1595,11 +2131,6 @@ msgid "" "(%(move_topic_to_different_stream_link)s)." msgstr "" -#: templates/zerver/emails/invitation.html:9 -#: templates/zerver/emails/invitation.txt:1 -msgid "Hi there," -msgstr "" - #: templates/zerver/emails/invitation.html:12 #, python-format msgid "" @@ -1607,11 +2138,6 @@ msgid "" "communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation.html:15 -#: templates/zerver/emails/invitation_reminder.html:13 -msgid "To get started, click the button below." -msgstr "" - #: templates/zerver/emails/invitation.subject.txt:1 #, python-format msgid "%(referrer_full_name)s has invited you to join %(referrer_realm_name)s" @@ -1629,11 +2155,6 @@ msgstr "" msgid "To get started, click the link below." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:8 -#: templates/zerver/emails/invitation_reminder.txt:1 -msgid "Hi again," -msgstr "" - #: templates/zerver/emails/invitation_reminder.html:10 #, python-format msgid "" @@ -1641,20 +2162,6 @@ msgid "" "Zulip — the team communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:18 -#: templates/zerver/emails/invitation_reminder.txt:8 -msgid "This is the last reminder you'll receive for this invitation." -msgstr "" - -#: templates/zerver/emails/invitation_reminder.html:22 -#, python-format -msgid "" -"\n" -" This invitation expires in two days. If the invitation expires,\n" -" you'll need to ask %(referrer_name)s for another one.\n" -" " -msgstr "" - #: templates/zerver/emails/invitation_reminder.subject.txt:1 #, python-format msgid "Reminder: Join %(referrer_name)s at %(referrer_realm_name)s" @@ -1705,34 +2212,31 @@ msgid "" "content appearing in email notifications." msgstr "" -#: templates/zerver/emails/missed_message.html:29 -#: templates/zerver/emails/missed_message.txt:25 -msgid "You are receiving this because you were personally mentioned." -msgstr "" - -#: templates/zerver/emails/missed_message.html:31 -#: templates/zerver/emails/missed_message.txt:27 -#, python-format -msgid "" -"You are receiving this because @%(mentioned_user_group_name)s was mentioned." -msgstr "" - #: templates/zerver/emails/missed_message.html:33 +#: templates/zerver/emails/missed_message.html:37 #: templates/zerver/emails/missed_message.txt:29 +#: templates/zerver/emails/missed_message.txt:33 #, python-format msgid "" -"You are receiving this because everyone was mentioned in #%(stream_name)s." +"You are receiving this because all topic participants were mentioned in " +"#%(stream_name)s > %(topic_name)s." msgstr "" #: templates/zerver/emails/missed_message.html:35 #: templates/zerver/emails/missed_message.txt:31 -#, python-format msgid "" -"You are receiving this because you have email notifications enabled for " -"#%(stream_name)s." +"You are receiving this because you have wildcard mention notifications " +"enabled for topics you follow." msgstr "" -#: templates/zerver/emails/missed_message.html:38 +#: templates/zerver/emails/missed_message.html:41 +#: templates/zerver/emails/missed_message.txt:37 +msgid "" +"You are receiving this because you have email notifications enabled for " +"topics you follow." +msgstr "" + +#: templates/zerver/emails/missed_message.html:46 #, python-format msgid "" "Reply to this email directly, view it in " @@ -1740,21 +2244,21 @@ msgid "" "preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:40 +#: templates/zerver/emails/missed_message.html:48 #, python-format msgid "" "View or reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:42 +#: templates/zerver/emails/missed_message.html:50 #, python-format msgid "" "Reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:44 +#: templates/zerver/emails/missed_message.html:52 #, python-format msgid "" "\n" @@ -1800,50 +2304,32 @@ msgid "" "See %(alert_notif_url)s for more details.\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:35 +#: templates/zerver/emails/missed_message.txt:43 #, python-format msgid "Reply to this email directly, or view it in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:39 +#: templates/zerver/emails/missed_message.txt:47 #, python-format msgid "View or reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:43 +#: templates/zerver/emails/missed_message.txt:51 #, python-format msgid "Reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:47 +#: templates/zerver/emails/missed_message.txt:55 msgid "" "\n" "Do not reply to this email. This Zulip server is not configured to accept\n" "incoming emails. Help:\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:54 +#: templates/zerver/emails/missed_message.txt:62 msgid "Manage email preferences: " msgstr "" -#: templates/zerver/emails/notify_change_in_email.html:10 -#, python-format -msgid "" -"The email associated with your Zulip account was recently changed to " -"%(new_email)s. If you did not request this change, please contact us " -"immediately at %(support_email)s." -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:13 -#: templates/zerver/emails/notify_change_in_email.txt:6 -msgid "Best," -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:14 -#: templates/zerver/emails/notify_change_in_email.txt:7 -msgid "Team Zulip" -msgstr "" - #: templates/zerver/emails/notify_change_in_email.subject.txt:1 #, python-format msgid "Zulip email changed for %(realm_name)s" @@ -1857,51 +2343,6 @@ msgid "" "immediately at <%(support_email)s>." msgstr "" -#: templates/zerver/emails/notify_new_login.html:4 -#, python-format -msgid "" -"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:12 -#: templates/zerver/emails/notify_new_login.txt:1 -msgid "We noticed a recent login for the following Zulip account." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:16 -#, python-format -msgid "Organization: %(organization_link)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:19 -#: templates/zerver/emails/notify_new_login.txt:5 -#, python-format -msgid "Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:22 -#: templates/zerver/emails/notify_new_login.txt:7 -#, python-format -msgid "Time: %(login_time)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:25 -#: templates/zerver/emails/notify_new_login.txt:9 -#, python-format -msgid "Device: %(device_browser)s on %(device_os)s." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:28 -#: templates/zerver/emails/notify_new_login.txt:11 -#, python-format -msgid "IP address: %(device_ip)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:33 -#: templates/zerver/emails/notify_new_login.txt:14 -msgid "If this was you, great! There's nothing else you need to do." -msgstr "" - #: templates/zerver/emails/notify_new_login.html:36 #, python-format msgid "" @@ -1910,20 +2351,6 @@ msgid "" "contact us immediately at %(support_email)s." msgstr "" -#: templates/zerver/emails/notify_new_login.html:40 -#: templates/zerver/emails/notify_new_login.txt:20 -msgid "Thanks," -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:41 -#: templates/zerver/emails/notify_new_login.txt:21 -msgid "Zulip Security" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Unsubscribe from login notifications" -msgstr "" - #: templates/zerver/emails/notify_new_login.subject.txt:1 #, python-format msgid "New login from %(device_browser)s on %(device_os)s" @@ -2014,22 +2441,6 @@ msgstr "" msgid "Zulip guide for communities" msgstr "" -#: templates/zerver/emails/password_reset.html:9 -#: templates/zerver/emails/password_reset.txt:1 -#, python-format -msgid "" -"Somebody (possibly you) requested a new password for the Zulip account " -"%(email)s on %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/password_reset.html:13 -msgid "Click the button below to reset your password." -msgstr "" - -#: templates/zerver/emails/password_reset.html:14 -msgid "Reset password" -msgstr "" - #: templates/zerver/emails/password_reset.html:19 #, python-format msgid "" @@ -2038,29 +2449,6 @@ msgid "" "href=\"%(help_link)s\">reactivate your account." msgstr "" -#: templates/zerver/emails/password_reset.html:21 -#: templates/zerver/emails/password_reset.txt:11 -msgid "You do not have an account in that Zulip organization." -msgstr "" - -#: templates/zerver/emails/password_reset.html:26 -#: templates/zerver/emails/password_reset.txt:16 -msgid "You do have active accounts in the following organization(s)." -msgstr "" - -#: templates/zerver/emails/password_reset.html:32 -#: templates/zerver/emails/password_reset.txt:21 -msgid "" -"You can try logging in or resetting your password in the organization(s) " -"above." -msgstr "" - -#: templates/zerver/emails/password_reset.html:38 -#: templates/zerver/emails/password_reset.txt:25 -msgid "" -"If you do not recognize this activity, you can safely ignore this email." -msgstr "" - #: templates/zerver/emails/password_reset.subject.txt:1 #, python-format msgid "Password reset request for %(realm_name)s" @@ -2077,64 +2465,6 @@ msgid "" "You can contact an organization administrator to reactivate your account." msgstr "" -#: templates/zerver/emails/realm_auto_downgraded.html:8 -#, python-format -msgid "" -"\n" -" Your organization, %(organization_name_with_link)s, has been downgraded " -"to the Zulip Cloud\n" -" Free plan because of unpaid invoices. The unpaid invoices have been " -"voided.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:15 -#, python-format -msgid "" -"\n" -" To continue on the Zulip Cloud Standard plan, please upgrade again by " -"going to %(upgrade_url)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:22 -#, python-format -msgid "" -"\n" -" If you think this was a mistake or need more details, please reach out " -"to us at %(support_email)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:8 -#: templates/zerver/emails/realm_reactivation.txt:1 -#, python-format -msgid "Dear former administrators of %(realm_name)s," -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:10 -#: templates/zerver/emails/realm_reactivation.txt:4 -#, python-format -msgid "" -"One of your administrators requested reactivation of the previously " -"deactivated Zulip organization hosted at %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:13 -msgid "Click the button below to reactivate your organization." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:14 -msgid "Reactivate organization" -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:17 -#: templates/zerver/emails/realm_reactivation.txt:10 -msgid "" -"If the request was in error, you can take no action and this link will " -"expire in 24 hours." -msgstr "" - #: templates/zerver/emails/realm_reactivation.subject.txt:1 msgid "Reactivate your Zulip organization" msgstr "" @@ -2919,77 +3249,79 @@ msgid "" " " msgstr "" -#: zerver/actions/create_user.py:88 +#: zerver/actions/create_user.py:93 msgid "signups" msgstr "" -#: zerver/actions/create_user.py:101 +#: zerver/actions/create_user.py:106 #, python-brace-format msgid "{user} just signed up for Zulip. (total: {user_count})" msgstr "" -#: zerver/actions/create_user.py:221 +#: zerver/actions/create_user.py:251 #, python-brace-format msgid "{user} accepted your invitation to join Zulip!" msgstr "" -#: zerver/actions/custom_profile_fields.py:129 +#: zerver/actions/custom_profile_fields.py:126 msgid "Invalid order mapping." msgstr "" -#: zerver/actions/custom_profile_fields.py:208 zerver/lib/users.py:390 +#: zerver/actions/custom_profile_fields.py:205 zerver/lib/users.py:396 #: zerver/views/custom_profile_fields.py:195 #: zerver/views/custom_profile_fields.py:216 #, python-brace-format msgid "Field id {id} not found." msgstr "" -#: zerver/actions/default_streams.py:21 -msgid "Invalid default stream group name '{}'" +#: zerver/actions/default_streams.py:25 +#, python-brace-format +msgid "Invalid default stream group name '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:24 -msgid "Default stream group name too long (limit: {} characters)" +#: zerver/actions/default_streams.py:29 +#, python-brace-format +msgid "Default stream group name too long (limit: {max_length} characters)" msgstr "" -#: zerver/actions/default_streams.py:31 -msgid "Default stream group name '{}' contains NULL (0x00) characters." +#: zerver/actions/default_streams.py:37 +#, python-brace-format +msgid "" +"Default stream group name '{group_name}' contains NULL (0x00) characters." msgstr "" -#: zerver/actions/default_streams.py:45 -msgid "Invalid default stream group {}" +#: zerver/actions/default_streams.py:53 +#, python-brace-format +msgid "Invalid default stream group {group_name}" msgstr "" -#: zerver/actions/default_streams.py:92 zerver/actions/default_streams.py:119 +#: zerver/actions/default_streams.py:101 zerver/actions/default_streams.py:128 #, python-brace-format msgid "" "'{stream_name}' is a default stream and cannot be added to '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:103 +#: zerver/actions/default_streams.py:112 zerver/actions/default_streams.py:173 #, python-brace-format msgid "Default stream group '{group_name}' already exists" msgstr "" -#: zerver/actions/default_streams.py:125 +#: zerver/actions/default_streams.py:134 #, python-brace-format msgid "" "Stream '{stream_name}' is already present in default stream group " "'{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:141 +#: zerver/actions/default_streams.py:151 #, python-brace-format msgid "" "Stream '{stream_name}' is not present in default stream group '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:155 -msgid "This default stream group is already named '{}'" -msgstr "" - -#: zerver/actions/default_streams.py:159 -msgid "Default stream group '{}' already exists" +#: zerver/actions/default_streams.py:166 +#, python-brace-format +msgid "This default stream group is already named '{group_name}'" msgstr "" #: zerver/actions/invites.py:161 @@ -3018,190 +3350,189 @@ msgid "" "invitation. We did send invitations to everyone else!" msgstr "" -#: zerver/actions/message_edit.py:92 zerver/views/scheduled_messages.py:61 +#: zerver/actions/message_edit.py:93 zerver/views/scheduled_messages.py:61 msgid "Nothing to change" msgstr "" -#: zerver/actions/message_edit.py:96 +#: zerver/actions/message_edit.py:97 msgid "Direct messages cannot be moved to streams." msgstr "" -#: zerver/actions/message_edit.py:98 +#: zerver/actions/message_edit.py:99 msgid "Direct messages cannot have topics." msgstr "" -#: zerver/actions/message_edit.py:101 +#: zerver/actions/message_edit.py:102 msgid "Invalid propagate_mode without topic edit" msgstr "" -#: zerver/actions/message_edit.py:107 +#: zerver/actions/message_edit.py:108 msgid "Cannot change message content while changing stream" msgstr "" -#: zerver/actions/message_edit.py:111 +#: zerver/actions/message_edit.py:112 msgid "Widgets cannot be edited." msgstr "" -#: zerver/actions/message_edit.py:162 +#: zerver/actions/message_edit.py:163 #, python-brace-format msgid "{user} has marked this topic as resolved." msgstr "" -#: zerver/actions/message_edit.py:164 +#: zerver/actions/message_edit.py:165 #, python-brace-format msgid "{user} has marked this topic as unresolved." msgstr "" -#: zerver/actions/message_edit.py:967 +#: zerver/actions/message_edit.py:985 #, python-brace-format msgid "This topic was moved to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:971 +#: zerver/actions/message_edit.py:989 #, python-brace-format msgid "A message was moved from this topic to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:975 +#: zerver/actions/message_edit.py:993 #, python-brace-format msgid "" "{changed_messages_count} messages were moved from this topic to " "{new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1030 +#: zerver/actions/message_edit.py:1048 #, python-brace-format msgid "This topic was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1035 +#: zerver/actions/message_edit.py:1053 #, python-brace-format msgid "" "[A message]({message_link}) was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1039 +#: zerver/actions/message_edit.py:1057 #, python-brace-format msgid "" "{changed_messages_count} messages were moved here from {old_location} by " "{user}." msgstr "" -#: zerver/actions/message_edit.py:1167 +#: zerver/actions/message_edit.py:1186 msgid "Your organization has turned off message editing" msgstr "" -#: zerver/actions/message_edit.py:1185 zerver/actions/message_edit.py:1188 +#: zerver/actions/message_edit.py:1204 zerver/actions/message_edit.py:1207 msgid "You don't have permission to edit this message" msgstr "" -#: zerver/actions/message_edit.py:1199 +#: zerver/actions/message_edit.py:1218 msgid "The time limit for editing this message has passed" msgstr "" -#: zerver/actions/message_edit.py:1214 +#: zerver/actions/message_edit.py:1233 msgid "The time limit for editing this message's topic has passed." msgstr "" -#: zerver/actions/message_edit.py:1248 zerver/actions/message_send.py:1428 +#: zerver/actions/message_edit.py:1267 zerver/actions/message_send.py:1558 msgid "You do not have permission to use wildcard mentions in this stream." msgstr "" -#: zerver/actions/message_edit.py:1257 +#: zerver/actions/message_edit.py:1280 msgid "You don't have permission to move this message" msgstr "" -#: zerver/actions/message_edit.py:1263 +#: zerver/actions/message_edit.py:1286 msgid "" "You don't have permission to move this message due to missing access to its " "stream" msgstr "" -#: zerver/actions/message_edit.py:1280 +#: zerver/actions/message_edit.py:1303 msgid "The time limit for editing this message's stream has passed" msgstr "" #: zerver/actions/message_flags.py:257 -msgid "Invalid flag: '{}'" +#, python-brace-format +msgid "Invalid flag: '{flag}'" msgstr "" #: zerver/actions/message_flags.py:259 -msgid "Flag not editable: '{}'" +#, python-brace-format +msgid "Flag not editable: '{flag}'" msgstr "" -#: zerver/actions/message_flags.py:261 -msgid "Invalid message flag operation: '{}'" +#: zerver/actions/message_flags.py:262 +#, python-brace-format +msgid "Invalid message flag operation: '{operation}'" msgstr "" -#: zerver/actions/message_flags.py:333 zerver/lib/message.py:758 -#: zerver/lib/message.py:764 +#: zerver/actions/message_flags.py:335 zerver/lib/message.py:786 +#: zerver/lib/message.py:792 msgid "Invalid message(s)" msgstr "" -#: zerver/actions/message_send.py:156 +#: zerver/actions/message_send.py:161 msgid "Unable to render message" msgstr "" -#: zerver/actions/message_send.py:997 +#: zerver/actions/message_send.py:1127 msgid "Expected exactly one stream" msgstr "" -#: zerver/actions/message_send.py:1008 +#: zerver/actions/message_send.py:1138 msgid "Invalid data type for stream" msgstr "" -#: zerver/actions/message_send.py:1024 zerver/actions/message_send.py:1034 +#: zerver/actions/message_send.py:1154 zerver/actions/message_send.py:1164 #: zerver/actions/scheduled_messages.py:53 msgid "Invalid data type for recipients" msgstr "" -#: zerver/actions/message_send.py:1042 zerver/actions/message_send.py:1050 +#: zerver/actions/message_send.py:1172 zerver/actions/message_send.py:1180 msgid "Recipient lists may contain emails or user IDs, but not both." msgstr "" -#: zerver/actions/message_send.py:1195 +#: zerver/actions/message_send.py:1325 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream ID {stream_id}, " "but there is no stream with that ID." msgstr "" -#: zerver/actions/message_send.py:1206 +#: zerver/actions/message_send.py:1336 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}, but " "that stream does not exist. Click [here]({new_stream_link}) to create it." msgstr "" -#: zerver/actions/message_send.py:1218 +#: zerver/actions/message_send.py:1348 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}. The " "stream exists but does not have any subscribers." msgstr "" -#: zerver/actions/message_send.py:1265 +#: zerver/actions/message_send.py:1395 msgid "Direct messages are disabled in this organization." msgstr "" -#: zerver/actions/message_send.py:1342 +#: zerver/actions/message_send.py:1472 msgid "Topics are required in this organization" msgstr "" -#: zerver/actions/message_send.py:1398 +#: zerver/actions/message_send.py:1528 msgid "Widgets: API programmer sent invalid JSON content" msgstr "" -#: zerver/actions/message_send.py:1404 +#: zerver/actions/message_send.py:1534 #, python-brace-format msgid "Widgets: {error_msg}" msgstr "" -#: zerver/actions/reactions.py:116 -msgid "Reaction already exists." -msgstr "" - -#: zerver/actions/realm_emoji.py:32 zerver/views/realm_emoji.py:36 +#: zerver/actions/realm_emoji.py:40 zerver/views/realm_emoji.py:38 msgid "A custom emoji with this name already exists." msgstr "" @@ -3237,18 +3568,32 @@ msgstr "" msgid "[View scheduled messages](#scheduled)" msgstr "" -#: zerver/actions/streams.py:76 +#: zerver/actions/streams.py:73 msgid "Stream is already deactivated" msgstr "" -#: zerver/actions/streams.py:841 +#: zerver/actions/streams.py:165 +msgid "Stream is not currently deactivated" +msgstr "" + +#: zerver/actions/streams.py:168 +#, python-brace-format +msgid "Stream named {stream_name} already exists" +msgstr "" + +#: zerver/actions/streams.py:230 +#, python-brace-format +msgid "Stream {stream_name} un-archived." +msgstr "" + +#: zerver/actions/streams.py:932 #, python-brace-format msgid "" "{user} changed the [access permissions](/help/stream-permissions) for this " "stream from **{old_policy}** to **{new_policy}**." msgstr "" -#: zerver/actions/streams.py:1025 +#: zerver/actions/streams.py:1118 #, python-brace-format msgid "" "{user} changed the [posting permissions](/help/stream-sending-policy) for " @@ -3258,38 +3603,38 @@ msgid "" "* **New permissions**: {new_policy}.\n" msgstr "" -#: zerver/actions/streams.py:1160 +#: zerver/actions/streams.py:1246 #, python-brace-format msgid "{user_name} renamed stream {old_stream_name} to {new_stream_name}." msgstr "" -#: zerver/actions/streams.py:1179 zerver/actions/streams.py:1181 -#: zerver/views/streams.py:793 +#: zerver/actions/streams.py:1265 zerver/actions/streams.py:1267 +#: zerver/views/streams.py:802 msgid "No description." msgstr "" -#: zerver/actions/streams.py:1184 +#: zerver/actions/streams.py:1270 #, python-brace-format msgid "{user} changed the description for this stream." msgstr "" -#: zerver/actions/streams.py:1186 +#: zerver/actions/streams.py:1272 msgid "Old description" msgstr "" -#: zerver/actions/streams.py:1190 +#: zerver/actions/streams.py:1276 msgid "New description" msgstr "" -#: zerver/actions/streams.py:1258 zerver/actions/streams.py:1263 +#: zerver/actions/streams.py:1344 zerver/actions/streams.py:1349 msgid "Forever" msgstr "" -#: zerver/actions/streams.py:1264 +#: zerver/actions/streams.py:1350 msgid "Messages in this stream will now be retained forever." msgstr "" -#: zerver/actions/streams.py:1270 +#: zerver/actions/streams.py:1356 #, python-brace-format msgid "" "{user} has changed the [message retention period](/help/message-retention-" @@ -3300,56 +3645,58 @@ msgid "" "{summary_line}" msgstr "" -#: zerver/actions/submessage.py:30 +#: zerver/actions/submessage.py:29 msgid "You cannot attach a submessage to this message." msgstr "" #: zerver/actions/typing.py:55 zerver/lib/addressee.py:33 -msgid "Invalid user ID {}" +#, python-brace-format +msgid "Invalid user ID {user_id}" msgstr "" -#: zerver/actions/user_groups.py:153 zerver/actions/user_groups.py:168 -msgid "User group '{}' already exists." +#: zerver/actions/user_groups.py:213 zerver/actions/user_groups.py:245 +#, python-brace-format +msgid "User group '{group_name}' already exists." msgstr "" -#: zerver/decorator.py:250 +#: zerver/decorator.py:251 msgid "This API is not available to incoming webhook bots." msgstr "" -#: zerver/decorator.py:277 +#: zerver/decorator.py:278 msgid "Account is not associated with this subdomain" msgstr "" -#: zerver/decorator.py:506 zerver/decorator.py:643 +#: zerver/decorator.py:511 zerver/decorator.py:648 msgid "This endpoint does not accept bot requests." msgstr "" -#: zerver/decorator.py:605 +#: zerver/decorator.py:610 msgid "Must be an server administrator" msgstr "" -#: zerver/decorator.py:662 zerver/lib/streams.py:699 zerver/lib/streams.py:725 -#: zerver/lib/streams.py:727 zerver/lib/streams.py:742 -#: zerver/lib/user_groups.py:35 zerver/lib/user_groups.py:42 -#: zerver/lib/users.py:249 zerver/lib/users.py:278 zerver/views/invite.py:60 -#: zerver/views/realm_emoji.py:31 zerver/views/streams.py:336 -#: zerver/views/streams.py:630 +#: zerver/decorator.py:667 zerver/lib/streams.py:703 zerver/lib/streams.py:729 +#: zerver/lib/streams.py:731 zerver/lib/streams.py:748 +#: zerver/lib/user_groups.py:45 zerver/lib/user_groups.py:52 +#: zerver/lib/users.py:255 zerver/lib/users.py:284 zerver/views/invite.py:60 +#: zerver/views/realm_emoji.py:33 zerver/views/streams.py:338 +#: zerver/views/streams.py:639 msgid "Insufficient permission" msgstr "" -#: zerver/decorator.py:704 +#: zerver/decorator.py:709 msgid "This endpoint requires HTTP basic authentication." msgstr "" -#: zerver/decorator.py:711 +#: zerver/decorator.py:716 msgid "Invalid authorization header for basic auth" msgstr "" -#: zerver/decorator.py:713 +#: zerver/decorator.py:718 msgid "Missing authorization header for basic auth" msgstr "" -#: zerver/decorator.py:886 +#: zerver/decorator.py:893 msgid "Webhook bots can only access webhooks" msgstr "" @@ -3423,9 +3770,10 @@ msgid "New password confirmation" msgstr "" #: zerver/forms.py:496 +#, python-brace-format msgid "" -"You're making too many attempts to sign in. Try again in {} seconds or " -"contact your organization administrator for help." +"You're making too many attempts to sign in. Try again in {seconds} seconds " +"or contact your organization administrator for help." msgstr "" #: zerver/forms.py:508 @@ -3451,7 +3799,8 @@ msgid "We couldn't find that Zulip organization." msgstr "" #: zerver/lib/addressee.py:22 -msgid "Invalid email '{}'" +#, python-brace-format +msgid "Invalid email '{email}'" msgstr "" #: zerver/lib/addressee.py:61 zerver/lib/addressee.py:128 @@ -3536,11 +3885,11 @@ msgstr "" msgid "Draft does not exist" msgstr "" -#: zerver/lib/email_notifications.py:138 zerver/lib/email_notifications.py:160 +#: zerver/lib/email_notifications.py:140 zerver/lib/email_notifications.py:162 msgid "Open Zulip to see the spoiler content" msgstr "" -#: zerver/lib/email_notifications.py:563 +#: zerver/lib/email_notifications.py:591 msgid "Zulip notifications" msgstr "" @@ -3573,172 +3922,181 @@ msgstr "" msgid "Account has been deactivated." msgstr "" -#: zerver/lib/emoji.py:67 zerver/views/realm_emoji.py:59 -msgid "Emoji '{}' does not exist" +#: zerver/lib/emoji.py:88 zerver/views/realm_emoji.py:62 +#, python-brace-format +msgid "Emoji '{emoji_name}' does not exist" msgstr "" -#: zerver/lib/emoji.py:77 +#: zerver/lib/emoji.py:101 msgid "Invalid custom emoji." msgstr "" -#: zerver/lib/emoji.py:79 +#: zerver/lib/emoji.py:103 msgid "Invalid custom emoji name." msgstr "" -#: zerver/lib/emoji.py:81 +#: zerver/lib/emoji.py:105 msgid "This custom emoji has been deactivated." msgstr "" -#: zerver/lib/emoji.py:84 zerver/lib/emoji.py:89 +#: zerver/lib/emoji.py:108 zerver/lib/emoji.py:113 msgid "Invalid emoji code." msgstr "" -#: zerver/lib/emoji.py:86 zerver/lib/emoji.py:91 +#: zerver/lib/emoji.py:110 zerver/lib/emoji.py:115 msgid "Invalid emoji name." msgstr "" -#: zerver/lib/emoji.py:94 +#: zerver/lib/emoji.py:118 msgid "Invalid emoji type." msgstr "" -#: zerver/lib/emoji.py:109 +#: zerver/lib/emoji.py:133 msgid "Must be an organization administrator or emoji author" msgstr "" -#: zerver/lib/emoji.py:117 +#: zerver/lib/emoji.py:141 msgid "Emoji names must end with either a letter or digit." msgstr "" -#: zerver/lib/emoji.py:120 +#: zerver/lib/emoji.py:144 msgid "" "Emoji names must contain only lowercase English letters, digits, spaces, " "dashes, and underscores." msgstr "" -#: zerver/lib/emoji.py:123 +#: zerver/lib/emoji.py:147 msgid "Emoji name is missing" msgstr "" -#: zerver/lib/events.py:1539 +#: zerver/lib/events.py:1543 msgid "Could not allocate event queue" msgstr "" -#: zerver/lib/exceptions.py:137 +#: zerver/lib/exceptions.py:139 msgid "Not logged in: API authentication or user session required" msgstr "" -#: zerver/lib/exceptions.py:162 +#: zerver/lib/exceptions.py:164 #, python-brace-format msgid "Stream '{stream}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:174 +#: zerver/lib/exceptions.py:176 #, python-brace-format msgid "Stream with ID '{stream_id}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "organization owner" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "user" msgstr "" -#: zerver/lib/exceptions.py:187 +#: zerver/lib/exceptions.py:189 #, python-brace-format msgid "Cannot deactivate the only {entity}." msgstr "" -#: zerver/lib/exceptions.py:199 +#: zerver/lib/exceptions.py:201 #, python-brace-format msgid "Invalid Markdown include statement: {include_statement}" msgstr "" -#: zerver/lib/exceptions.py:211 +#: zerver/lib/exceptions.py:213 msgid "API usage exceeded rate limit" msgstr "" -#: zerver/lib/exceptions.py:234 zerver/lib/request.py:442 +#: zerver/lib/exceptions.py:236 zerver/lib/request.py:441 #: zerver/lib/validator.py:755 msgid "Malformed JSON" msgstr "" -#: zerver/lib/exceptions.py:245 +#: zerver/lib/exceptions.py:247 msgid "Must be an organization member" msgstr "" -#: zerver/lib/exceptions.py:256 zerver/views/invite.py:70 -#: zerver/views/invite.py:132 zerver/views/invite.py:178 +#: zerver/lib/exceptions.py:258 zerver/views/invite.py:70 +#: zerver/views/invite.py:134 zerver/views/invite.py:180 msgid "Must be an organization administrator" msgstr "" -#: zerver/lib/exceptions.py:267 +#: zerver/lib/exceptions.py:269 msgid "Must be an organization owner" msgstr "" -#: zerver/lib/exceptions.py:280 +#: zerver/lib/exceptions.py:282 msgid "Your username or password is incorrect" msgstr "" -#: zerver/lib/exceptions.py:288 +#: zerver/lib/exceptions.py:290 msgid "Account is deactivated" msgstr "" -#: zerver/lib/exceptions.py:296 +#: zerver/lib/exceptions.py:298 msgid "This organization has been deactivated" msgstr "" -#: zerver/lib/exceptions.py:305 +#: zerver/lib/exceptions.py:307 msgid "" "The mobile push notification service registration for your server has been " "deactivated" msgstr "" -#: zerver/lib/exceptions.py:314 +#: zerver/lib/exceptions.py:316 msgid "Password authentication is disabled in this organization" msgstr "" -#: zerver/lib/exceptions.py:322 +#: zerver/lib/exceptions.py:324 msgid "Your password has been disabled and needs to be reset" msgstr "" -#: zerver/lib/exceptions.py:338 +#: zerver/lib/exceptions.py:340 msgid "Invalid API key" msgstr "" -#: zerver/lib/exceptions.py:344 +#: zerver/lib/exceptions.py:346 msgid "Malformed API key" msgstr "" -#: zerver/lib/exceptions.py:381 +#: zerver/lib/exceptions.py:385 #, python-brace-format msgid "" "The '{event_type}' event isn't currently supported by the {webhook_name} " -"webhook" +"webhook; ignoring" msgstr "" -#: zerver/lib/exceptions.py:399 +#: zerver/lib/exceptions.py:404 #, python-brace-format msgid "Unable to parse request: Did {webhook_name} generate this event?" msgstr "" -#: zerver/lib/exceptions.py:422 zerver/views/auth.py:741 +#: zerver/lib/exceptions.py:427 zerver/views/auth.py:741 #: zerver/views/auth.py:1076 zerver/views/auth.py:1140 msgid "Invalid subdomain" msgstr "" -#: zerver/lib/exceptions.py:462 +#: zerver/lib/exceptions.py:467 msgid "Access denied" msgstr "" -#: zerver/lib/exceptions.py:501 +#: zerver/lib/exceptions.py:506 #, python-brace-format msgid "" "You only have permission to move the {total_messages_allowed_to_move}/" "{total_messages_in_topic} most recent messages in this topic." msgstr "" +#: zerver/lib/exceptions.py:518 +msgid "Reaction already exists." +msgstr "" + +#: zerver/lib/exceptions.py:529 +msgid "Reaction doesn't exist." +msgstr "" + #: zerver/lib/external_accounts.py:36 msgid "Twitter username" msgstr "" @@ -3849,207 +4207,215 @@ msgstr "" msgid "Version control" msgstr "" -#: zerver/lib/message.py:192 +#: zerver/lib/message.py:220 msgid "Message must not be empty" msgstr "" -#: zerver/lib/message.py:194 +#: zerver/lib/message.py:222 msgid "Message must not contain null bytes" msgstr "" -#: zerver/lib/narrow.py:107 -msgid "Operator {} not supported." +#: zerver/lib/message.py:1668 +#, python-brace-format +msgid "" +"You are not allowed to mention user group '{user_group_name}'. You must be a " +"member of '{can_mention_group_name}' to mention this group." msgstr "" -#: zerver/lib/narrow.py:197 +#: zerver/lib/narrow.py:108 +#, python-brace-format +msgid "Operator {operator} not supported." +msgstr "" + +#: zerver/lib/narrow.py:207 #, python-brace-format msgid "Invalid narrow operator: {desc}" msgstr "" -#: zerver/lib/narrow.py:1038 +#: zerver/lib/narrow.py:1054 msgid "Missing 'anchor' argument." msgstr "" -#: zerver/lib/narrow.py:1058 +#: zerver/lib/narrow.py:1074 msgid "Invalid anchor" msgstr "" -#: zerver/lib/onboarding.py:59 +#: zerver/lib/onboarding.py:57 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Using Zulip for a class guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:66 +#: zerver/lib/onboarding.py:64 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Getting started guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:78 +#: zerver/lib/onboarding.py:76 #, python-brace-format msgid "" "We also have a guide for [Setting up Zulip for a class]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:88 +#: zerver/lib/onboarding.py:86 #, python-brace-format msgid "" "We also have a guide for [Setting up your organization]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:98 +#: zerver/lib/onboarding.py:96 #, python-brace-format msgid "" "Note that this is a [demo organization]({demo_organization_help_url}) and " "will be **automatically deleted** in 30 days." msgstr "" -#: zerver/lib/onboarding.py:106 +#: zerver/lib/onboarding.py:104 msgid "Hello, and welcome to Zulip!" msgstr "" -#: zerver/lib/onboarding.py:107 +#: zerver/lib/onboarding.py:105 msgid "This is a direct message from me, Welcome Bot." msgstr "" -#: zerver/lib/onboarding.py:112 +#: zerver/lib/onboarding.py:110 msgid "" "I can also help you get set up! Just click anywhere on this message or press " "`r` to reply." msgstr "" -#: zerver/lib/onboarding.py:115 zerver/lib/onboarding.py:227 +#: zerver/lib/onboarding.py:113 zerver/lib/onboarding.py:225 msgid "Here are a few messages I understand:" msgstr "" -#: zerver/lib/onboarding.py:156 +#: zerver/lib/onboarding.py:154 msgid "" "You can [download](/apps/) the [mobile and desktop apps](/apps/). Zulip also " "works great in a browser." msgstr "" -#: zerver/lib/onboarding.py:161 +#: zerver/lib/onboarding.py:159 msgid "" "Go to [Profile settings](#settings/profile) to add a [profile picture](/help/" "change-your-profile-picture) and edit your [profile information](/help/edit-" "your-profile)." msgstr "" -#: zerver/lib/onboarding.py:167 +#: zerver/lib/onboarding.py:165 msgid "" -"Go to [Display settings](#settings/display-settings) to [switch between the " -"light and dark themes](/help/dark-theme), [pick your favorite emoji theme](/" -"help/emoji-and-emoticons#change-your-emoji-set), [change your language](/" -"help/change-your-language), and make other tweaks to your Zulip experience." +"Go to [Preferences](#settings/preferences) to [switch between the light and " +"dark themes](/help/dark-theme), [pick your favorite emoji theme](/help/emoji-" +"and-emoticons#change-your-emoji-set), [change your language](/help/change-" +"your-language), and make other tweaks to your Zulip experience." msgstr "" -#: zerver/lib/onboarding.py:177 +#: zerver/lib/onboarding.py:175 msgid "" "In Zulip, streams [determine who gets a message](/help/streams-and-topics). " "They are similar to channels in other chat apps." msgstr "" -#: zerver/lib/onboarding.py:181 +#: zerver/lib/onboarding.py:179 msgid "[Browse and subscribe to streams](#streams/all)." msgstr "" -#: zerver/lib/onboarding.py:188 +#: zerver/lib/onboarding.py:186 msgid "" "In Zulip, topics [tell you what a message is about](/help/streams-and-" "topics). They are light-weight subjects, very similar to the subject line of " "an email." msgstr "" -#: zerver/lib/onboarding.py:193 +#: zerver/lib/onboarding.py:191 msgid "" "Check out [Recent conversations](#recent) to see what's happening! You can " "return to this conversation by clicking \"Direct messages\" in the upper " "left." msgstr "" -#: zerver/lib/onboarding.py:202 +#: zerver/lib/onboarding.py:200 msgid "" "Zulip's [keyboard shortcuts](#keyboard-shortcuts) let you navigate the app " "quickly and efficiently." msgstr "" -#: zerver/lib/onboarding.py:206 +#: zerver/lib/onboarding.py:204 msgid "Press `?` any time to see a [cheat sheet](#keyboard-shortcuts)." msgstr "" -#: zerver/lib/onboarding.py:213 +#: zerver/lib/onboarding.py:211 msgid "" "Zulip uses [Markdown](/help/format-your-message-using-markdown), an " "intuitive format for **bold**, *italics*, bulleted lists, and more. Click " "[here](#message-formatting) for a cheat sheet." msgstr "" -#: zerver/lib/onboarding.py:219 +#: zerver/lib/onboarding.py:217 msgid "" "Check out our [messaging tips](/help/messaging-tips) to learn about emoji " "reactions, code blocks and much more!" msgstr "" -#: zerver/lib/onboarding.py:230 +#: zerver/lib/onboarding.py:228 msgid "" "Check out our [Getting started guide](/help/getting-started-with-zulip), or " "browse the [Help center](/help/) to learn more!" msgstr "" -#: zerver/lib/onboarding.py:239 +#: zerver/lib/onboarding.py:237 msgid "" "I’m sorry, I did not understand your message. Please try one of the " "following commands:" msgstr "" -#: zerver/lib/onboarding.py:271 +#: zerver/lib/onboarding.py:269 msgid "" "This is a private stream, as indicated by the lock icon next to the stream " "name." msgstr "" -#: zerver/lib/onboarding.py:273 +#: zerver/lib/onboarding.py:271 msgid "Private streams are only visible to stream members." msgstr "" -#: zerver/lib/onboarding.py:277 +#: zerver/lib/onboarding.py:275 #, python-brace-format msgid "" "To manage this stream, go to [Stream settings]({stream_settings_url}) and " "click on `{initial_private_stream_name}`." msgstr "" -#: zerver/lib/onboarding.py:287 +#: zerver/lib/onboarding.py:285 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `topic demonstration`." msgstr "" -#: zerver/lib/onboarding.py:293 +#: zerver/lib/onboarding.py:291 msgid "Topics are a lightweight tool to keep conversations organized." msgstr "" -#: zerver/lib/onboarding.py:295 +#: zerver/lib/onboarding.py:293 #, python-brace-format msgid "" "You can learn more about topics at [Streams and topics]" "({about_topics_help_url})." msgstr "" -#: zerver/lib/onboarding.py:300 +#: zerver/lib/onboarding.py:298 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `swimming turtles`." msgstr "" -#: zerver/lib/onboarding.py:309 +#: zerver/lib/onboarding.py:307 #, python-brace-format msgid "" "[Start a new topic]({start_topic_help_url}) any time you're not replying to " @@ -4065,11 +4431,12 @@ msgid "Invalid response format" msgstr "" #: zerver/lib/push_notifications.py:341 -msgid "Invalid GCM option to bouncer: priority {!r}" +msgid "Invalid GCM option to bouncer: priority {priority!r}" msgstr "" #: zerver/lib/push_notifications.py:351 -msgid "Invalid GCM options to bouncer: {}" +#, python-brace-format +msgid "Invalid GCM options to bouncer: {options}" msgstr "" #. error @@ -4077,30 +4444,43 @@ msgstr "" msgid "Token does not exist" msgstr "" -#: zerver/lib/push_notifications.py:746 +#: zerver/lib/push_notifications.py:758 msgid "" "This organization has disabled including message content in mobile push " "notifications" msgstr "" -#: zerver/lib/push_notifications.py:835 +#: zerver/lib/push_notifications.py:847 #, python-brace-format msgid "{full_name} mentioned @{user_group_name}:" msgstr "" -#: zerver/lib/push_notifications.py:839 +#: zerver/lib/push_notifications.py:851 #, python-brace-format msgid "{full_name} mentioned you:" msgstr "" -#: zerver/lib/push_notifications.py:841 +#: zerver/lib/push_notifications.py:853 +msgid "TODO - 2" +msgstr "" + +#: zerver/lib/push_notifications.py:855 +msgid "TODO" +msgstr "" + +#: zerver/lib/push_notifications.py:857 +#, python-brace-format +msgid "{full_name} mentioned all topic participants:" +msgstr "" + +#: zerver/lib/push_notifications.py:861 #, python-brace-format msgid "{full_name} mentioned everyone:" msgstr "" #: zerver/lib/recipient_users.py:29 zerver/lib/streams.py:268 -#: zerver/lib/streams.py:276 zerver/lib/streams.py:838 -#: zerver/tornado/views.py:164 zerver/views/events_register.py:94 +#: zerver/lib/streams.py:276 zerver/lib/streams.py:846 +#: zerver/tornado/views.py:164 zerver/views/events_register.py:95 #: zerver/views/message_send.py:182 zerver/views/message_send.py:203 msgid "User not authorized for this query" msgstr "" @@ -4115,31 +4495,33 @@ msgid "You can't send direct messages outside of your organization." msgstr "" #: zerver/lib/remote_server.py:93 -msgid "Push notifications bouncer error: {}" +#, python-brace-format +msgid "Push notifications bouncer error: {error}" msgstr "" -#: zerver/lib/request.py:92 +#: zerver/lib/request.py:91 #, python-brace-format msgid "Can't decide between '{var_name1}' and '{var_name2}' arguments" msgstr "" -#: zerver/lib/request.py:104 +#: zerver/lib/request.py:103 #, python-brace-format msgid "Missing '{var_name}' argument" msgstr "" -#: zerver/lib/request.py:117 +#: zerver/lib/request.py:116 #, python-brace-format msgid "Bad value for '{var_name}': {bad_value}" msgstr "" -#: zerver/lib/request.py:395 zerver/webhooks/ifttt/view.py:36 +#: zerver/lib/request.py:394 zerver/webhooks/ifttt/view.py:36 #: zerver/webhooks/slack_incoming/view.py:42 msgid "Malformed payload" msgstr "" #: zerver/lib/request.py:443 -msgid "Argument \"{}\" is not valid JSON." +#, python-brace-format +msgid "Argument \"{name}\" is not valid JSON." msgstr "" #: zerver/lib/scheduled_messages.py:20 @@ -4167,42 +4549,47 @@ msgstr "" msgid "New members cannot send to this stream." msgstr "" -#: zerver/lib/streams.py:301 -msgid "Not authorized to send to stream '{}'" +#: zerver/lib/streams.py:302 +#, python-brace-format +msgid "Not authorized to send to stream '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:306 +#: zerver/lib/streams.py:308 msgid "Please supply 'stream'." msgstr "" -#: zerver/lib/streams.py:309 +#: zerver/lib/streams.py:311 msgid "Please choose one: 'stream' or 'stream_id'." msgstr "" -#: zerver/lib/streams.py:315 zerver/lib/streams.py:334 -#: zerver/lib/streams.py:417 zerver/lib/streams.py:483 -#: zerver/views/streams.py:399 zerver/views/user_topics.py:101 +#: zerver/lib/streams.py:317 zerver/lib/streams.py:336 +#: zerver/lib/streams.py:419 zerver/lib/streams.py:487 +#: zerver/views/streams.py:401 zerver/views/user_topics.py:101 msgid "Invalid stream ID" msgstr "" -#: zerver/lib/streams.py:459 -msgid "Stream name '{}' is already taken." +#: zerver/lib/streams.py:462 +#, python-brace-format +msgid "Stream name '{stream_name}' is already taken." msgstr "" -#: zerver/lib/streams.py:467 zerver/lib/streams.py:587 -msgid "Invalid stream name '{}'" +#: zerver/lib/streams.py:471 zerver/lib/streams.py:591 +#, python-brace-format +msgid "Invalid stream name '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:731 -msgid "Stream(s) ({}) do not exist" +#: zerver/lib/streams.py:735 +#, python-brace-format +msgid "Stream(s) ({stream_names}) do not exist" msgstr "" -#: zerver/lib/streams.py:738 zerver/views/streams.py:334 +#: zerver/lib/streams.py:744 zerver/views/streams.py:336 msgid "Web-public streams are not enabled." msgstr "" -#: zerver/lib/streams.py:767 -msgid "Default stream group with id '{}' does not exist." +#: zerver/lib/streams.py:774 +#, python-brace-format +msgid "Default stream group with id '{group_id}' does not exist." msgstr "" #: zerver/lib/string_validation.py:38 @@ -4210,19 +4597,22 @@ msgid "Stream name can't be empty!" msgstr "" #: zerver/lib/string_validation.py:42 -msgid "Stream name too long (limit: {} characters)." +#, python-brace-format +msgid "Stream name too long (limit: {max_length} characters)." msgstr "" -#: zerver/lib/string_validation.py:48 -msgid "Invalid character in stream name, at position {}!" +#: zerver/lib/string_validation.py:50 +#, python-brace-format +msgid "Invalid character in stream name, at position {position}!" msgstr "" -#: zerver/lib/string_validation.py:54 +#: zerver/lib/string_validation.py:58 msgid "Topic can't be empty!" msgstr "" -#: zerver/lib/string_validation.py:59 -msgid "Invalid character in topic, at position {}!" +#: zerver/lib/string_validation.py:63 +#, python-brace-format +msgid "Invalid character in topic, at position {position}!" msgstr "" #: zerver/lib/subscription_info.py:295 @@ -4237,46 +4627,61 @@ msgstr "" msgid "Upload would exceed your organization's upload quota." msgstr "" -#: zerver/lib/upload/base.py:67 zerver/lib/upload/base.py:83 -#: zerver/lib/upload/base.py:177 +#: zerver/lib/upload/base.py:68 zerver/lib/upload/base.py:84 +#: zerver/lib/upload/base.py:178 msgid "Could not decode image; did you upload an image file?" msgstr "" -#: zerver/lib/upload/base.py:69 zerver/lib/upload/base.py:85 -#: zerver/lib/upload/base.py:179 +#: zerver/lib/upload/base.py:70 zerver/lib/upload/base.py:86 +#: zerver/lib/upload/base.py:180 msgid "Image size exceeds limit." msgstr "" -#: zerver/lib/upload/base.py:107 +#: zerver/lib/upload/base.py:108 msgid "Corrupt animated image." msgstr "" -#: zerver/lib/upload/base.py:116 +#: zerver/lib/upload/base.py:117 msgid "Unknown animated image format." msgstr "" -#: zerver/lib/user_groups.py:44 +#: zerver/lib/user_groups.py:54 msgid "Invalid user group" msgstr "" -#: zerver/lib/user_groups.py:56 -msgid "Invalid user group ID: {}" +#: zerver/lib/user_groups.py:67 +#, python-brace-format +msgid "Invalid user group ID: {group_id}" msgstr "" -#: zerver/lib/user_groups.py:74 -msgid "'{}' must be a system user group." +#: zerver/lib/user_groups.py:87 +#, python-brace-format +msgid "'{setting_name}' must be a system user group." msgstr "" -#: zerver/lib/user_groups.py:78 -msgid "'{}' setting cannot be set to '@role:internet' group." +#: zerver/lib/user_groups.py:92 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:internet' group." msgstr "" -#: zerver/lib/user_groups.py:83 -msgid "'{}' setting cannot be set to '@role:owners' group." +#: zerver/lib/user_groups.py:99 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:owners' group." msgstr "" -#: zerver/lib/user_groups.py:88 -msgid "'{}' setting cannot be set to '@role:nobody' group." +#: zerver/lib/user_groups.py:106 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:nobody' group." +msgstr "" + +#: zerver/lib/user_groups.py:117 +#, python-brace-format +msgid "User group name cannot exceed {max_length} characters." +msgstr "" + +#: zerver/lib/user_groups.py:125 +#, python-brace-format +msgid "User group name cannot start with '{prefix}'." msgstr "" #: zerver/lib/users.py:45 @@ -4304,44 +4709,48 @@ msgstr "" msgid "Bad name or username" msgstr "" -#: zerver/lib/users.py:95 -msgid "Invalid integration '{}'." +#: zerver/lib/users.py:96 +#, python-brace-format +msgid "Invalid integration '{integration_name}'." msgstr "" -#: zerver/lib/users.py:100 -msgid "Missing configuration parameters: {}" +#: zerver/lib/users.py:102 +#, python-brace-format +msgid "Missing configuration parameters: {keys}" msgstr "" -#: zerver/lib/users.py:109 -msgid "Invalid {} value {} ({})" +#: zerver/lib/users.py:112 +#, python-brace-format +msgid "Invalid {key} value {value} ({error})" msgstr "" -#: zerver/lib/users.py:124 +#: zerver/lib/users.py:130 msgid "Invalid configuration data!" msgstr "" -#: zerver/lib/users.py:158 +#: zerver/lib/users.py:164 msgid "Invalid bot type" msgstr "" -#: zerver/lib/users.py:163 +#: zerver/lib/users.py:169 msgid "Invalid interface type" msgstr "" -#: zerver/lib/users.py:232 zerver/lib/users.py:237 zerver/models.py:4669 -msgid "Invalid user ID: {}" +#: zerver/lib/users.py:238 zerver/lib/users.py:243 zerver/models.py:4729 +#, python-brace-format +msgid "Invalid user ID: {user_id}" msgstr "" -#: zerver/lib/users.py:245 zerver/lib/users.py:247 +#: zerver/lib/users.py:251 zerver/lib/users.py:253 msgid "No such bot" msgstr "" -#: zerver/lib/users.py:271 zerver/lib/users.py:298 zerver/lib/users.py:314 +#: zerver/lib/users.py:277 zerver/lib/users.py:304 zerver/lib/users.py:320 #: zerver/views/presence.py:44 msgid "No such user" msgstr "" -#: zerver/lib/users.py:273 +#: zerver/lib/users.py:279 msgid "User is deactivated" msgstr "" @@ -4431,7 +4840,8 @@ msgid "{key_name} key is missing from {var_name}" msgstr "" #: zerver/lib/validator.py:317 -msgid "Unexpected arguments: {}" +#, python-brace-format +msgid "Unexpected arguments: {keys}" msgstr "" #: zerver/lib/validator.py:350 @@ -4493,8 +4903,9 @@ msgstr "" msgid "Missing the HTTP event header '{header}'" msgstr "" -#: zerver/lib/webhooks/common.py:231 -msgid "The {} webhook expects time in milliseconds." +#: zerver/lib/webhooks/common.py:232 +#, python-brace-format +msgid "The {webhook} webhook expects time in milliseconds." msgstr "" #: zerver/lib/zcommand.py:30 @@ -4502,201 +4913,218 @@ msgid "There should be a leading slash in the zcommand." msgstr "" #: zerver/lib/zcommand.py:79 -msgid "No such command: {}" +#, python-brace-format +msgid "No such command: {command}" msgstr "" -#: zerver/middleware.py:464 +#: zerver/middleware.py:441 #, python-brace-format msgid "CSRF error: {reason}" msgstr "" -#: zerver/models.py:503 +#: zerver/middleware.py:607 +#, python-brace-format +msgid "Reverse proxy misconfiguration: {proxy_reason}" +msgstr "" + +#: zerver/models.py:495 msgid "stream events" msgstr "" -#: zerver/models.py:634 +#: zerver/models.py:626 msgid "Available on Zulip Cloud Standard. Upgrade to access." msgstr "" -#: zerver/models.py:692 +#: zerver/models.py:684 msgid "GIPHY integration disabled" msgstr "" -#: zerver/models.py:697 +#: zerver/models.py:689 msgid "Allow GIFs rated Y (Very young audience)" msgstr "" -#: zerver/models.py:701 +#: zerver/models.py:693 msgid "Allow GIFs rated G (General audience)" msgstr "" -#: zerver/models.py:705 +#: zerver/models.py:697 msgid "Allow GIFs rated PG (Parental guidance)" msgstr "" -#: zerver/models.py:709 +#: zerver/models.py:701 msgid "Allow GIFs rated PG-13 (Parental guidance - under 13)" msgstr "" -#: zerver/models.py:713 +#: zerver/models.py:705 msgid "Allow GIFs rated R (Restricted)" msgstr "" -#: zerver/models.py:1139 +#: zerver/models.py:1123 msgid "Invalid characters in emoji name" msgstr "" -#: zerver/models.py:1263 zerver/models.py:1265 -msgid "Bad regular expression: {}" +#: zerver/models.py:1235 zerver/models.py:1238 +#, python-brace-format +msgid "Bad regular expression: {regex}" msgstr "" -#: zerver/models.py:1266 +#: zerver/models.py:1240 msgid "Unknown regular expression error" msgstr "" -#: zerver/models.py:1274 +#: zerver/models.py:1248 msgid "Invalid URL template." msgstr "" -#: zerver/models.py:1318 +#: zerver/models.py:1292 #, python-format msgid "Group %(name)r in URL template is not present in linkifier pattern." msgstr "" -#: zerver/models.py:1330 +#: zerver/models.py:1304 #, python-format msgid "Group %(name)r in linkifier pattern is not present in URL template." msgstr "" -#: zerver/models.py:1408 zerver/views/realm_playgrounds.py:25 +#: zerver/models.py:1382 zerver/views/realm_playgrounds.py:24 msgid "Invalid characters in pygments language" msgstr "" -#: zerver/models.py:1652 +#: zerver/models.py:1412 +msgid "Missing the required variable \"code\" in the URL template" +msgstr "" + +#: zerver/models.py:1417 +msgid "\"code\" should be the only variable present in the URL template" +msgstr "" + +#: zerver/models.py:1660 msgid "Admins, moderators, members and guests" msgstr "" -#: zerver/models.py:1653 +#: zerver/models.py:1661 msgid "Admins, moderators and members" msgstr "" -#: zerver/models.py:1654 +#: zerver/models.py:1662 msgid "Admins and moderators" msgstr "" -#: zerver/models.py:1655 +#: zerver/models.py:1663 msgid "Admins only" msgstr "" -#: zerver/models.py:1656 +#: zerver/models.py:1664 msgid "Nobody" msgstr "" -#: zerver/models.py:1960 +#: zerver/models.py:1973 msgid "Organization owner" msgstr "" -#: zerver/models.py:1961 +#: zerver/models.py:1974 msgid "Organization administrator" msgstr "" -#: zerver/models.py:1962 +#: zerver/models.py:1975 msgid "Moderator" msgstr "" -#: zerver/models.py:1963 +#: zerver/models.py:1976 msgid "Member" msgstr "" -#: zerver/models.py:1964 +#: zerver/models.py:1977 msgid "Guest" msgstr "" -#: zerver/models.py:2531 +#: zerver/models.py:2557 msgid "Web-public" msgstr "" -#: zerver/models.py:2537 +#: zerver/models.py:2563 msgid "Public" msgstr "" -#: zerver/models.py:2543 +#: zerver/models.py:2569 msgid "Private, shared history" msgstr "" -#: zerver/models.py:2549 +#: zerver/models.py:2575 msgid "Private, protected history" msgstr "" -#: zerver/models.py:2557 +#: zerver/models.py:2583 msgid "Public, protected history" msgstr "" -#: zerver/models.py:2577 +#: zerver/models.py:2603 msgid "All stream members can post" msgstr "" -#: zerver/models.py:2578 +#: zerver/models.py:2604 msgid "Only organization administrators can post" msgstr "" -#: zerver/models.py:2580 +#: zerver/models.py:2606 msgid "Only organization administrators and moderators can post" msgstr "" -#: zerver/models.py:2583 +#: zerver/models.py:2609 msgid "Only organization full members can post" msgstr "" -#: zerver/models.py:3209 +#: zerver/models.py:3222 msgid "Unicode emoji" msgstr "" -#: zerver/models.py:3210 +#: zerver/models.py:3223 msgid "Custom emoji" msgstr "" -#: zerver/models.py:3211 +#: zerver/models.py:3224 msgid "Zulip extra emoji" msgstr "" -#: zerver/models.py:4672 -msgid "User with ID {} is deactivated" +#: zerver/models.py:4733 +#, python-brace-format +msgid "User with ID {user_id} is deactivated" msgstr "" -#: zerver/models.py:4675 -msgid "User with ID {} is a bot" +#: zerver/models.py:4737 +#, python-brace-format +msgid "User with ID {user_id} is a bot" msgstr "" -#: zerver/models.py:4715 +#: zerver/models.py:4777 msgid "List of options" msgstr "" -#: zerver/models.py:4718 +#: zerver/models.py:4780 msgid "Person picker" msgstr "" -#: zerver/models.py:4730 +#: zerver/models.py:4792 msgid "Short text" msgstr "" -#: zerver/models.py:4731 +#: zerver/models.py:4793 msgid "Long text" msgstr "" -#: zerver/models.py:4732 +#: zerver/models.py:4794 msgid "Date picker" msgstr "" -#: zerver/models.py:4733 +#: zerver/models.py:4795 msgid "Link" msgstr "" -#: zerver/models.py:4736 +#: zerver/models.py:4798 msgid "External account" msgstr "" -#: zerver/models.py:4741 +#: zerver/models.py:4803 msgid "Pronouns" msgstr "" @@ -4712,20 +5140,20 @@ msgstr "" msgid "An unknown browser" msgstr "" -#: zerver/tornado/event_queue.py:673 +#: zerver/tornado/event_queue.py:678 msgid "Missing 'queue_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:676 +#: zerver/tornado/event_queue.py:681 msgid "Missing 'last_event_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:683 +#: zerver/tornado/event_queue.py:688 #, python-brace-format msgid "An event newer than {event_id} has already been pruned!" msgstr "" -#: zerver/tornado/event_queue.py:693 +#: zerver/tornado/event_queue.py:698 #, python-brace-format msgid "Event {event_id} was not in this queue" msgstr "" @@ -4793,20 +5221,22 @@ msgstr "" msgid "Default custom field cannot be updated." msgstr "" -#: zerver/views/development/dev_login.py:98 +#: zerver/views/development/dev_login.py:100 msgid "Endpoint not available in production." msgstr "" -#: zerver/views/development/dev_login.py:100 +#: zerver/views/development/dev_login.py:102 msgid "DevAuthBackend not enabled." msgstr "" -#: zerver/views/events_register.py:107 zerver/views/events_register.py:111 -msgid "Invalid '{}' parameter for anonymous request" +#: zerver/views/events_register.py:108 zerver/views/events_register.py:112 +#, python-brace-format +msgid "Invalid '{key}' parameter for anonymous request" msgstr "" #: zerver/views/hotspots.py:19 -msgid "Unknown hotspot: {}" +#, python-brace-format +msgid "Unknown hotspot: {hotspot}" msgstr "" #: zerver/views/invite.py:72 @@ -4814,25 +5244,27 @@ msgid "You must specify at least one email address." msgstr "" #: zerver/views/invite.py:82 -msgid "Stream does not exist with id: {}. No invites were sent." +#, python-brace-format +msgid "Stream does not exist with id: {stream_id}. No invites were sent." msgstr "" -#: zerver/views/invite.py:87 +#: zerver/views/invite.py:89 msgid "You do not have permission to subscribe other users to streams." msgstr "" -#: zerver/views/invite.py:124 zerver/views/invite.py:127 -#: zerver/views/invite.py:146 zerver/views/invite.py:149 -#: zerver/views/invite.py:168 zerver/views/invite.py:173 +#: zerver/views/invite.py:126 zerver/views/invite.py:129 +#: zerver/views/invite.py:148 zerver/views/invite.py:151 +#: zerver/views/invite.py:170 zerver/views/invite.py:175 msgid "No such invitation" msgstr "" -#: zerver/views/invite.py:154 +#: zerver/views/invite.py:156 msgid "Invitation has already been revoked" msgstr "" -#: zerver/views/invite.py:207 -msgid "Invalid stream ID {}. No invites were sent." +#: zerver/views/invite.py:210 +#, python-brace-format +msgid "Invalid stream ID {stream_id}. No invites were sent." msgstr "" #: zerver/views/message_edit.py:98 @@ -4852,7 +5284,8 @@ msgid "Message already deleted" msgstr "" #: zerver/views/message_fetch.py:99 -msgid "Too many messages requested (maximum {})." +#, python-brace-format +msgid "Too many messages requested (maximum {max_messages})." msgstr "" #: zerver/views/message_fetch.py:104 zerver/views/message_flags.py:85 @@ -4860,7 +5293,8 @@ msgid "The anchor can only be excluded at an end of the range" msgstr "" #: zerver/views/message_flags.py:169 -msgid "No such topic '{}'" +#, python-brace-format +msgid "No such topic '{topic}'" msgstr "" #: zerver/views/message_send.py:201 @@ -4904,13 +5338,14 @@ msgstr "" msgid "Client did not pass any new values." msgstr "" -#: zerver/views/presence.py:106 +#: zerver/views/presence.py:108 msgid "" "Client must pass emoji_name if they pass either emoji_code or reaction_type." msgstr "" -#: zerver/views/presence.py:144 -msgid "Invalid status: {}" +#: zerver/views/presence.py:146 +#, python-brace-format +msgid "Invalid status: {status}" msgstr "" #: zerver/views/push_notifications.py:19 @@ -4927,36 +5362,36 @@ msgid "" "emoji_code" msgstr "" -#: zerver/views/reactions.py:68 -msgid "Reaction doesn't exist." -msgstr "" - #: zerver/views/read_receipts.py:22 msgid "Read receipts are disabled in this organization." msgstr "" #: zerver/views/realm.py:160 -msgid "Invalid language '{}'" +#, python-brace-format +msgid "Invalid language '{language}'" msgstr "" #: zerver/views/realm.py:165 msgid "At least one authentication method must be enabled." msgstr "" -#: zerver/views/realm.py:169 -msgid "Invalid video_chat_provider {}" +#: zerver/views/realm.py:170 +#, python-brace-format +msgid "Invalid video_chat_provider {video_chat_provider}" msgstr "" -#: zerver/views/realm.py:173 -msgid "Invalid giphy_rating {}" +#: zerver/views/realm.py:178 +#, python-brace-format +msgid "Invalid giphy_rating {giphy_rating}" msgstr "" -#: zerver/views/realm.py:336 +#: zerver/views/realm.py:335 msgid "Must be a demo organization." msgstr "" #: zerver/views/realm_domains.py:36 -msgid "Invalid domain: {}" +#, python-brace-format +msgid "Invalid domain: {error}" msgstr "" #: zerver/views/realm_domains.py:39 @@ -4969,18 +5404,19 @@ msgstr "" msgid "No entry found for domain {domain}." msgstr "" -#: zerver/views/realm_emoji.py:38 +#: zerver/views/realm_emoji.py:40 msgid "You must upload exactly one file." msgstr "" -#: zerver/views/realm_emoji.py:40 +#: zerver/views/realm_emoji.py:42 msgid "Only administrators can override default emoji." msgstr "" -#: zerver/views/realm_emoji.py:46 zerver/views/realm_icon.py:27 +#: zerver/views/realm_emoji.py:48 zerver/views/realm_icon.py:27 #: zerver/views/realm_logo.py:33 zerver/views/upload.py:278 -#: zerver/views/user_settings.py:352 -msgid "Uploaded file is larger than the allowed limit of {} MiB" +#: zerver/views/user_settings.py:371 +#, python-brace-format +msgid "Uploaded file is larger than the allowed limit of {max_size} MiB" msgstr "" #: zerver/views/realm_export.py:45 @@ -5020,7 +5456,7 @@ msgstr "" msgid "You must upload exactly one logo." msgstr "" -#: zerver/views/realm_playgrounds.py:33 +#: zerver/views/realm_playgrounds.py:32 msgid "Invalid playground" msgstr "" @@ -5057,63 +5493,65 @@ msgstr "" msgid "Invalid value for \"op\". Specify one of \"add\" or \"remove\"." msgstr "" -#: zerver/views/streams.py:322 +#: zerver/views/streams.py:324 msgid "Default streams cannot be made private." msgstr "" -#: zerver/views/streams.py:370 +#: zerver/views/streams.py:372 msgid "Stream already has that name!" msgstr "" -#: zerver/views/streams.py:452 zerver/views/user_groups.py:108 -#: zerver/views/user_groups.py:285 +#: zerver/views/streams.py:454 zerver/views/user_groups.py:168 +#: zerver/views/user_groups.py:347 msgid "Nothing to do. Specify at least one of \"add\" or \"delete\"." msgstr "" -#: zerver/views/streams.py:536 +#: zerver/views/streams.py:538 #, python-brace-format msgid "{user_full_name} subscribed you to the stream {stream_name}." msgstr "" -#: zerver/views/streams.py:542 +#: zerver/views/streams.py:544 #, python-brace-format msgid "{user_full_name} subscribed you to the following streams:" msgstr "" -#: zerver/views/streams.py:646 +#: zerver/views/streams.py:655 #, python-brace-format msgid "Unable to access stream ({stream_name})." msgstr "" -#: zerver/views/streams.py:659 +#: zerver/views/streams.py:668 msgid "You can only invite other Zephyr mirroring users to private streams." msgstr "" -#: zerver/views/streams.py:767 +#: zerver/views/streams.py:776 #, python-brace-format msgid "{user_name} created the following streams: {stream_str}." msgstr "" -#: zerver/views/streams.py:769 +#: zerver/views/streams.py:778 #, python-brace-format msgid "{user_name} created a new stream {stream_str}." msgstr "" -#: zerver/views/streams.py:770 +#: zerver/views/streams.py:779 msgid "new streams" msgstr "" -#: zerver/views/streams.py:802 +#: zerver/views/streams.py:811 #, python-brace-format msgid "**{policy}** stream created by {user_name}. **Description:**" msgstr "" -#: zerver/views/streams.py:1050 -msgid "Unknown subscription property: {}" +#: zerver/views/streams.py:1060 +#, python-brace-format +msgid "Unknown subscription property: {property}" msgstr "" -#: zerver/views/streams.py:1054 -msgid "Not subscribed to stream id {}" +#: zerver/views/streams.py:1066 +#, python-brace-format +msgid "Not subscribed to stream id {stream_id}" msgstr "" #: zerver/views/submessage.py:38 @@ -5137,7 +5575,7 @@ msgid "User has disabled typing notifications for direct messages" msgstr "" #: zerver/views/upload.py:183 -msgid "

File not found.

" +msgid "

This file does not exist or has been deleted.

" msgstr "" #: zerver/views/upload.py:223 @@ -5157,42 +5595,43 @@ msgstr "" msgid "You may only upload one file at a time" msgstr "" -#: zerver/views/user_groups.py:74 +#: zerver/views/user_groups.py:111 msgid "No new data supplied" msgstr "" -#: zerver/views/user_groups.py:149 +#: zerver/views/user_groups.py:209 #, python-brace-format msgid "{user_full_name} added you to the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:154 +#: zerver/views/user_groups.py:214 #, python-brace-format msgid "{user_full_name} removed you from the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:185 +#: zerver/views/user_groups.py:245 #, python-brace-format msgid "User {user_id} is already a member of this group" msgstr "" -#: zerver/views/user_groups.py:212 -msgid "There is no member '{}' in this user group" +#: zerver/views/user_groups.py:273 +#, python-brace-format +msgid "There is no member '{user_id}' in this user group" msgstr "" -#: zerver/views/user_groups.py:237 +#: zerver/views/user_groups.py:299 #, python-brace-format msgid "User group {group_id} is already a subgroup of this group." msgstr "" -#: zerver/views/user_groups.py:246 +#: zerver/views/user_groups.py:308 #, python-brace-format msgid "" "User group {user_group_id} is already a subgroup of one of the passed " "subgroups." msgstr "" -#: zerver/views/user_groups.py:266 +#: zerver/views/user_groups.py:328 #, python-brace-format msgid "User group {group_id} is not a subgroup of this group." msgstr "" @@ -5201,7 +5640,7 @@ msgstr "" msgid "Avatar changes are disabled in this organization." msgstr "" -#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:293 +#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:312 msgid "Email address changes are disabled in this organization." msgstr "" @@ -5209,31 +5648,34 @@ msgstr "" msgid "Invalid default_language" msgstr "" -#: zerver/views/user_settings.py:133 -msgid "Invalid notification sound '{}'" +#: zerver/views/user_settings.py:134 +#, python-brace-format +msgid "Invalid notification sound '{notification_sound}'" msgstr "" -#: zerver/views/user_settings.py:141 -msgid "Invalid email batching period: {} seconds" +#: zerver/views/user_settings.py:145 +#, python-brace-format +msgid "Invalid email batching period: {seconds} seconds" msgstr "" -#: zerver/views/user_settings.py:248 +#: zerver/views/user_settings.py:267 msgid "Your Zulip password is managed in LDAP" msgstr "" -#: zerver/views/user_settings.py:258 +#: zerver/views/user_settings.py:277 msgid "Wrong password!" msgstr "" -#: zerver/views/user_settings.py:263 -msgid "You're making too many attempts! Try again in {} seconds." +#: zerver/views/user_settings.py:282 +#, python-brace-format +msgid "You're making too many attempts! Try again in {seconds} seconds." msgstr "" -#: zerver/views/user_settings.py:269 +#: zerver/views/user_settings.py:288 msgid "New password is too weak!" msgstr "" -#: zerver/views/user_settings.py:342 +#: zerver/views/user_settings.py:361 msgid "You must upload exactly one avatar." msgstr "" @@ -5294,7 +5736,8 @@ msgid "Disposable email addresses are not allowed in this organization" msgstr "" #: zerver/views/users.py:712 -msgid "Email '{}' already in use" +#, python-brace-format +msgid "Email '{email}' already in use" msgstr "" #: zerver/views/video_calls.py:47 @@ -5353,7 +5796,7 @@ msgstr "" msgid "We were unable to set up mirroring for you" msgstr "" -#: zerver/webhooks/circleci/view.py:76 +#: zerver/webhooks/circleci/view.py:83 msgid "Projects using this version control system provider aren't supported" msgstr "" @@ -5362,7 +5805,7 @@ msgstr "" msgid "Invalid payload" msgstr "" -#: zerver/webhooks/front/view.py:155 +#: zerver/webhooks/front/view.py:151 msgid "Unknown webhook request" msgstr "" @@ -5410,10 +5853,11 @@ msgid "Message from Slack" msgstr "" #: zerver/webhooks/wordpress/view.py:56 -msgid "Unknown WordPress webhook action: {}" +#, python-brace-format +msgid "Unknown WordPress webhook action: {hook}" msgstr "" -#: zerver/worker/queue_processors.py:1123 +#: zerver/worker/queue_processors.py:1114 #, python-brace-format msgid "" "Your data export is complete and has been uploaded here:\n" @@ -5440,7 +5884,8 @@ msgid "Invalid token type" msgstr "" #: zilencer/views.py:109 -msgid "{} is not a valid hostname" +#, python-brace-format +msgid "{hostname} is not a valid hostname" msgstr "" #: zilencer/views.py:162 @@ -5448,7 +5893,8 @@ msgid "Missing user_id or user_uuid" msgstr "" #: zilencer/views.py:373 -msgid "Invalid property {}" +#, python-brace-format +msgid "Invalid property {property}" msgstr "" #: zilencer/views.py:375 @@ -5471,10 +5917,10 @@ msgstr "" msgid "Missing id_token parameter" msgstr "" -#: zproject/backends.py:2903 +#: zproject/backends.py:2902 msgid "Invalid OTP" msgstr "" -#: zproject/backends.py:2906 +#: zproject/backends.py:2905 msgid "Can't use both mobile_flow_otp and desktop_flow_otp together." msgstr "" diff --git a/locale/gl/translations.json b/locale/gl/translations.json index ea1feff276..c376c91f20 100644 --- a/locale/gl/translations.json +++ b/locale/gl/translations.json @@ -83,6 +83,7 @@ "Add all users": "", "Add another user...": "", "Add code playground": "", + "Add default streams": "", "Add emoji": "", "Add emoji reaction": "", "Add extra emoji for members of the {realm_name} organization.": "", @@ -90,7 +91,6 @@ "Add linkifier": "", "Add members": "", "Add member…": "", - "Add new default stream": "", "Add new user group": "", "Add one or more users": "", "Add option": "", @@ -150,6 +150,7 @@ "Archive ?": "", "Archive stream": "", "Archiving stream will immediately unsubscribe everyone. This action cannot be undone.": "", + "Archiving this stream will also disable settings that were configured to use this stream:": "", "Are you sure you want to continue?": "", "Are you sure you want to create stream ''''{stream_name}'''' and subscribe {count} users to it?": "", "Are you sure you want to deactivate this organization?": "", @@ -218,6 +219,7 @@ "Click here to reveal.": "", "Click on the pencil () icon to edit and reschedule a message.": "", "Click outside the input box to save. We'll automatically notify anyone that was added or removed.": "", + "Click to view edit history.": "", "Click to view or download.": "", "Close": "", "Close modal": "", @@ -360,7 +362,6 @@ "Display my availability to other users": "", "Display names of reacting users when few users have reacted to a message": "", "Display on user card": "", - "Display settings": "", "Do you still want to move the latest {total_messages_allowed_to_move, plural, one {message} other {# messages}}?": "", "Do you want to add everyone?": "", "Domain": "", @@ -388,7 +389,6 @@ "Edit custom profile field": "", "Edit linkfiers": "", "Edit message": "", - "Edit or reschedule message": "", "Edit selected draft": "", "Edit selected message or view source": "", "Edit status": "", @@ -398,7 +398,6 @@ "Edit your last message": "", "Edit your profile": "", "Edit {group_name}": "", - "Edited ({last_edit_timestr})": "", "Edited by {full_name}": "", "Education (for-profit)": "", "Education (non-profit)": "", @@ -461,6 +460,7 @@ "External account type": "", "External link": "", "Failed": "", + "Failed adding one or more streams.": "", "Failed to create video call.": "", "Failed to generate preview": "", "Failed to upload %'{file}'": "", @@ -500,6 +500,9 @@ "First message": "", "First time? Read our guidelines for creating and naming streams.": "", "First time? Read our guidelines for creating user groups.": "", + "Follow topic": "", + "Followed": "", + "Followed topics": "", "For example, to configure a code playground for code blocks tagged as Python, you can set:": "", "For more examples and technical details, see the help center documentation on adding code playgrounds.": "", "For more examples, see the help center documentation on adding linkifiers.": "", @@ -600,8 +603,10 @@ "Last 30 days": "", "Last 6 months": "", "Last active": "", + "Last edited {last_edit_timestr}": "", "Last message": "", "Last modified": "", + "Last moved {last_edit_timestr}": "", "Learn more": "", "Learn more about mentions here.": "", "Learn more about starring messages here.": "", @@ -624,6 +629,7 @@ "Log out": "", "Looking for our integrations or API documentation?": "", "MOVED": "", + "Main menu": "", "Manage bot": "", "Manage streams": "", "Manage this bot": "", @@ -647,7 +653,6 @@ "Mention a time-zone-aware time": "", "Mentioned in": "", "Mentions": "", - "Menu": "", "Menus": "", "Message #{stream_name}": "", "Message #{stream_name} > {topic_name}": "", @@ -682,7 +687,6 @@ "Move some messages?": "", "Move this and all following messages in this topic": "", "Move topic": "", - "Moved ({last_edit_timestr})": "", "Moved by {full_name}": "", "Moving messages": "", "Must be invited by a subscriber; new subscribers can only see messages sent after they join; hidden from non-administrator users": "", @@ -735,9 +739,11 @@ "New password is too weak": "", "New stream announcements": "", "New stream message": "", + "New stream notifications": "", "New task": "", "New topic": "", "New user announcements": "", + "New user notifications": "", "Next message": "", "Next unread direct message": "", "Next unread topic": "", @@ -760,7 +766,6 @@ "No search results": "", "No search results.": "", "No stream subscriptions.": "", - "No streams": "", "No topics are marked as resolved.": "", "No topics match your current filter.": "", "No user group subscriptions.": "", @@ -860,6 +865,7 @@ "Please specify at least one valid recipient.": "", "Political group": "", "Posted by {full_name}": "", + "Preferences": "", "Press > for list of topics": "", "Prevent users from changing their avatar": "", "Prevent users from changing their email address": "", @@ -1105,7 +1111,6 @@ "Time zone": "", "Time's up!": "", "Tip: You can also send \"/poll Some question\"": "", - "To add syntax highlighting to a multi-line code block, add the language's first Pygments short name after the first set of back-ticks. You can also make a code block by indenting each line with 4 spaces.": "", "To invite users, please increase the number of licenses or deactivate inactive users.": "", "To preserve your reading state, this view does not mark messages as read.": "", "Today": "", @@ -1127,7 +1132,6 @@ "Two factor authentication": "", "Type": "", "URL pattern": "", - "URL prefix": "", "URL template": "", "USERS": "", "Uncheck all": "", @@ -1339,13 +1343,13 @@ "Zulip Server {display_version}": "", "Zulip Server {display_version} (modified)": "", "Zulip Server {display_version} (patched)": "", + "Zulip lets you configure notifications for each topic. You can also automatically follow or unmute topics you start or participate in.": "", "Zulip lets you mute topics and streams to avoid receiving notifications messages you are not interested in. Muting a stream effectively mutes all topics in that stream. You can also manually mute a topic in an unmuted stream, or unmute a topic in a muted stream. Learn more.": "", "Zulip needs to send email to confirm users' addresses and send notifications.": "", "Zulip needs your permission to enable desktop notifications.": "", "Zulip's translations are contributed by our amazing community of volunteer translators. If you'd like to help, see the Zulip translation guidelines.": "", "[Configure]": "", "[Disable]": "", - "[More…]": "", "[Quoting…]": "", "[Unset]": "", "and {remaining_senders, plural, one {1 other} other {# others}}.": "", diff --git a/locale/ja/translations.json b/locale/ja/translations.json index 20620cbb7e..46d5b53d3d 100644 --- a/locale/ja/translations.json +++ b/locale/ja/translations.json @@ -91,7 +91,7 @@ "Add members": "メンバーを追加", "Add member…": "メンバーを追加", "Add new default stream": "新しいデフォルトのストリームを追加", - "Add new user group": "", + "Add new user group": "新規ユーザーグループを追加", "Add one or more users": "ユーザーを追加", "Add option": "", "Add question": "質問追加", @@ -174,8 +174,8 @@ "Author": "著者", "Automated messages and emails": "自動メッセージとメール", "Automatic": "自動", - "Automatic (follows system settings)": "", - "Automatically mark messages as read": "", + "Automatic (follows system settings)": "自動 (システム設定に従い)", + "Automatically mark messages as read": "メッセージを自動的に既読にする", "Available on Zulip Cloud Standard. Upgrade or request sponsorship to access.": "", "Avatar changes are disabled in this organization": "", "Avatar from Gravatar": "Gravatarのプロフィール画像", @@ -230,7 +230,7 @@ "Collapse/show selected message": "選択したメッセージを折り畳む/表示", "Community": "コミュニティー", "Commuting": "通勤中", - "Compact": "", + "Compact": "最小", "Complete": "完了", "Complete the organization profile to brand and explain the purpose of this Zulip organization.": "", "Compose message": "メッセージを作成", @@ -239,7 +239,7 @@ "Composing messages": "メッセージ作成", "Configure how Zulip notifies you about new messages.": "新着メッセージの通知を設定できます。", "Configure regular expression patterns that will be used to automatically transform any matching text in Zulip messages and topics into links.": "", - "Configure the default personal preference settings for new users joining your organization.": "", + "Configure the default personal preference settings for new users joining your organization.": "組織に新しく参加したユーザーのデフォルトの個人設定を指定します。", "Configure the authentication methods for your organization.": "組織の認証方法を設定します。", "Configure the default streams new users are subscribed to when joining your organization.": "組織に新しく参加したユーザーが、デフォルトでフォローするストリームを指定します。", "Confirm": "確認", @@ -283,7 +283,7 @@ "DIRECT MESSAGES": "ダイレクトメッセージ", "DM": "", "DMs, mentions, and alerts": "", - "Dark": "", + "Dark": "ダーク", "Dark theme": "ダークテーマ", "Dark theme logo": "", "Data exports": "データのエクスポート", @@ -293,7 +293,7 @@ "Day of the week to send digests": "ダイジェストを送信する曜日", "Deactivate": "無効", "Deactivate account": "アカウントを無効化", - "Deactivate bot": "", + "Deactivate bot": "ボットを無効", "Deactivate custom emoji?": "カスタム絵文字を無効にしますか?", "Deactivate organization": "組織を無効にする", "Deactivate user": "", @@ -347,7 +347,7 @@ "Detailed keyboard shortcuts documentation": "キーボードショートカットの詳細なドキュメント", "Detailed message formatting documentation": "メッセージの記述方法の詳細ドキュメント", "Detailed search filters documentation": "検索フィルターの詳細なドキュメント", - "Direct message": "", + "Direct message": "ダイレクトメッセージ", "Direct messages": "ダイレクトメッセージ", "Direct messages and mentions": "ダイレクトメッセージとメンション", "Direct messages are disabled in this organization.": "この組織では、ダイレクトメッセージが無効化されています。", @@ -417,7 +417,7 @@ "Emoji theme": "絵文字のテーマ", "Enable message edit history": "メッセージの編集履歴を有効にする", "Enable notifications": "通知を有効", - "Enable read receipts": "", + "Enable read receipts": "開封確認を有効する", "Enabled": "有効", "End of results from your history.": "あなたの履歴からの結果は以上です", "Endpoint URL": "エンドポイント URL", @@ -440,13 +440,13 @@ "Error saving edit": "編集内容の保存に失敗しました", "Error: Cannot deactivate the only organization owner.": "Error:組織の所有者は最低1名存在している必要があります。", "Error: Cannot deactivate the only user. You can deactivate the whole organization though in your organization profile settings.": "", - "Escape key navigates to default view": "", + "Escape key navigates to default view": "Escキーでデフォルト表示に移動する ", "Estimated messages per week": "推定週間メッセージ数", "Event or conference": "イベント・会議", "Everyone": "全員", "Everyone on the internet": "", "Everyone sees global times in their own time zone.": "", - "Everyone sees this in their own time zone.": "", + "Everyone sees this in their own time zone.": "タイムゾーンの設定により表示されます。", "Exclude messages with topic .": "トピックでのメッセージを除外", "Exit search": "検索から出る", "Expand compose": "", @@ -551,7 +551,7 @@ "Inactive": "非アクティブ", "Inactive bots": "非アクティブなボット", "Include DMs": "ダイレクトメッセージを含める", - "Include content of direct messages in desktop notifications": "", + "Include content of direct messages in desktop notifications": "DM内容をデスクトップ通知に含む ", "Include message content in message notification emails": "通知メールにメッセージ内容を含める", "Include muted": "ミュート済みのメッセージを含める", "Include organization name in subject of message notification emails": "新規メッセージ受信を知らせる通知メールのタイトルに組織名を含める", @@ -585,7 +585,7 @@ "Join {realm_name}": "", "Joined": "参加", "Joined {date_joined}": "", - "Joining the organization": "組織に参加しています", + "Joining the organization": "組織に参加する", "July": "7月", "June": "6月", "Just now": "たった今", @@ -608,7 +608,7 @@ "Let others see when I've read messages": "", "Let recipients see when I'm typing direct messages": "", "Let subscribers see when I'm typing messages in streams": "入力中であることを、ストリームのフォロワーに表示する", - "Light": "", + "Light": "ライト", "Light theme": "ライトモード", "Light theme logo": "", "Link": "リンク", @@ -781,7 +781,7 @@ "Notifications": "通知", "Notifications for @all/@everyone mentions": "@allと@everyoneの通知", "Notify recipients": "", - "Notify stream": "", + "Notify stream": "ストリームを通知する", "Notify this user by email?": "", "November": "11月", "October": "10月", @@ -884,7 +884,7 @@ "Reactivate this bot": "このボットを再有効化", "Reactivate this user": "", "Reactivate {name}": "", - "Read receipts": "", + "Read receipts": "開封確認", "Read receipts are currently disabled in this organization.": "この組織では現在、既読表示が無効化されています。", "Read receipts are not available for Notification Bot messages.": "", "Receives new stream announcements": "", @@ -962,8 +962,8 @@ "Send later": "", "Send me Zulip's low-traffic newsletter (a few emails a year)": "Zulip のニュースレターを受け取る(年に数回)", "Send message": "メッセージを送信", - "Send mobile notifications even if I'm online": "", - "Send mobile notifications even if user is online": "", + "Send mobile notifications even if I'm online": "オンライン時でもモバイル通知を送信する", + "Send mobile notifications even if user is online": "オンライン時でもモバイル通知を送信する", "Send weekly digest emails to inactive users": "活動していないユーザーに毎週ダイジェストのメールを送信する", "Sent!": "送信しました!", "Sent! Your message is outside your current narrow.": "送信しました。送信したメッセージは、現在の画面では表示されません。", @@ -1080,7 +1080,7 @@ "This organization is configured so that nobody can invite users to this organization.": "", "This organization is configured so that only administrators can add bots.": "", "This organization is configured so that only administrators can add custom emoji.": "", - "This organization is configured so that only administrators can add generic bots.": "", + "This organization is configured so that only administrators can add generic bots.": "この組織は管理者のみが汎用ボットを追加できるように設定しています。", "This organization is configured so that only administrators can modify user groups.": "", "This organization is configured to restrict editing of message content to {minutes_to_edit} minutes after it is sent.": "この組織は、送信後{minutes_to_edit}分間メッセージの編集ができないように設定されています。", "This stream does not exist or is private.": "このストリームは存在しないか、非公開です。", @@ -1141,7 +1141,7 @@ "Unmuted": "", "Unpin stream from top": "ストリームの固定を解除する", "Unread": "未読", - "Unread count badge (appears in desktop sidebar and browser tab)": "", + "Unread count badge (appears in desktop sidebar and browser tab)": "未読件数バッジ (デスクトップサイドバーとブラウザータブに表示)", "Unread messages": "", "Unresolve topic": "トピックを未解決にする", "Unstar": "スターを外す", @@ -1192,7 +1192,7 @@ "User(s) invited successfully.": "ユーザーを招待しました。", "User(s) join as": "ユーザー(たち) の権限", "Users": "ユーザー", - "Users can always disable their personal read receipts.": "", + "Users can always disable their personal read receipts.": "ユーザーが自分の開封確認をいつでも無効にできます。", "Vacationing": "休暇中", "Version {zulip_version}": "バージョン {zulip_version}", "Video call provider": "ビデオ通話サービス", @@ -1208,7 +1208,7 @@ "View messages sent": "送信済みメッセージを表示", "View messages with yourself": "", "View profile": "プロフィールを見る", - "View read receipts": "", + "View read receipts": "開封を確認", "View recent conversations": "", "View scheduled messages": "", "View stream": "ストリームを表示", @@ -1343,7 +1343,7 @@ "[Configure]": "[設定]", "[Disable]": "[無効]", "[More…]": "[さらに表示]", - "[Quoting…]": "", + "[Quoting…]": "[引用中...]", "[Unset]": "[未設定]", "and {remaining_senders, plural, one {1 other} other {# others}}.": "", "back to streams": "", diff --git a/locale/lv/LC_MESSAGES/django.po b/locale/lv/LC_MESSAGES/django.po index 096132447e..31bfcadd16 100644 --- a/locale/lv/LC_MESSAGES/django.po +++ b/locale/lv/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-13 19:19+0000\n" +"POT-Creation-Date: 2023-07-26 03:33+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,7 +18,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "2);\n" -#: analytics/views/stats.py:110 zerver/decorator.py:623 zerver/decorator.py:641 + +#: analytics/views/stats.py:110 zerver/decorator.py:628 zerver/decorator.py:646 msgid "Not allowed for guest users" msgstr "" @@ -43,7 +44,8 @@ msgid "Group direct messages" msgstr "" #: analytics/views/stats.py:318 -msgid "Unknown chart name: {}" +#, python-brace-format +msgid "Unknown chart name: {chart_name}" msgstr "" #: analytics/views/stats.py:328 @@ -55,8 +57,8 @@ msgstr "" msgid "No analytics data available. Please contact your server administrator." msgstr "" -#: analytics/views/support.py:189 zerver/views/streams.py:304 -#: zerver/views/streams.py:308 zerver/views/streams.py:316 +#: analytics/views/support.py:189 zerver/views/streams.py:306 +#: zerver/views/streams.py:310 zerver/views/streams.py:318 msgid "Invalid parameters" msgstr "" @@ -113,30 +115,32 @@ msgid "" "{num_invites} users." msgstr "" -#: corporate/lib/stripe.py:112 -msgid "You must invoice for at least {} users." +#: corporate/lib/stripe.py:113 +#, python-brace-format +msgid "You must invoice for at least {min_licenses} users." msgstr "" -#: corporate/lib/stripe.py:117 +#: corporate/lib/stripe.py:120 +#, python-brace-format msgid "" -"Invoices with more than {} licenses can't be processed from this page. To " -"complete the upgrade, please contact {}." +"Invoices with more than {max_licenses} licenses can't be processed from this " +"page. To complete the upgrade, please contact {email}." msgstr "" -#: corporate/lib/stripe.py:225 +#: corporate/lib/stripe.py:228 #, python-brace-format msgid "Something went wrong. Please contact {email}." msgstr "" -#: corporate/lib/stripe.py:226 +#: corporate/lib/stripe.py:229 msgid "Something went wrong. Please reload the page." msgstr "" -#: corporate/lib/stripe.py:300 +#: corporate/lib/stripe.py:303 msgid "Something went wrong. Please wait a few seconds and try again." msgstr "" -#: corporate/lib/stripe.py:1020 +#: corporate/lib/stripe.py:1023 #, python-brace-format msgid "" "Your organization's request for sponsored hosting has been approved! You " @@ -170,7 +174,7 @@ msgstr "" msgid "Unable to update the plan. The plan has ended." msgstr "" -#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:253 +#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:251 msgid "" "Unable to update licenses manually. Your plan is on automatic license " "management." @@ -186,14 +190,14 @@ msgstr "" msgid "You cannot decrease the licenses in the current billing period." msgstr "" -#: corporate/views/billing_page.py:259 +#: corporate/views/billing_page.py:257 #, python-brace-format msgid "" "Your plan is already scheduled to renew with {licenses_at_next_renewal} " "licenses." msgstr "" -#: corporate/views/billing_page.py:273 +#: corporate/views/billing_page.py:271 msgid "Nothing to change." msgstr "" @@ -205,7 +209,7 @@ msgstr "" msgid "Session not found" msgstr "" -#: corporate/views/event_status.py:37 zerver/decorator.py:196 +#: corporate/views/event_status.py:37 zerver/decorator.py:197 msgid "Must be a billing administrator or an organization owner" msgstr "" @@ -256,7 +260,7 @@ msgid "" msgstr "" #: templates/500.html:4 templates/500.html:21 -#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:433 +#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:410 msgid "Internal server error" msgstr "" @@ -566,7 +570,7 @@ msgstr "" #: templates/corporate/for/events.html:34 #: templates/corporate/for/events.html:288 #: templates/corporate/for/open-source.html:36 -#: templates/corporate/for/open-source.html:720 +#: templates/corporate/for/open-source.html:727 #: templates/corporate/for/research.html:36 #: templates/corporate/for/research.html:402 #: templates/corporate/for/use-cases.html:23 @@ -586,7 +590,7 @@ msgstr "" #: templates/corporate/for/events.html:40 #: templates/corporate/for/events.html:294 #: templates/corporate/for/open-source.html:42 -#: templates/corporate/for/open-source.html:726 +#: templates/corporate/for/open-source.html:733 #: templates/corporate/for/research.html:42 #: templates/corporate/for/research.html:408 #: templates/corporate/for/use-cases.html:29 @@ -598,7 +602,7 @@ msgstr "" #: templates/corporate/for/events.html:37 #: templates/corporate/for/events.html:291 #: templates/corporate/for/open-source.html:39 -#: templates/corporate/for/open-source.html:723 +#: templates/corporate/for/open-source.html:730 #: templates/corporate/for/research.html:39 #: templates/corporate/for/research.html:405 msgid "Request sponsorship" @@ -864,52 +868,52 @@ msgid "Sign up with %(identity_provider)s" msgstr "" #: templates/zerver/accounts_send_confirm.html:5 -msgid "Confirm your email address" -msgstr "" - #: templates/zerver/accounts_send_confirm.html:17 -msgid "Thanks for signing up!" +msgid "Confirm your email address" msgstr "" #: templates/zerver/accounts_send_confirm.html:21 #, python-format msgid "" -"Check your email (%(email)s) so " -"we can get started." +"To complete your registration, check your email account (%(email)s) for a confirmation email " +"from Zulip." msgstr "" #: templates/zerver/accounts_send_confirm.html:25 msgid "" -"Still no email? We can resend it." +"If you don't see a confirmation email in your Inbox or Spam folder, we can " +"resend it." msgstr "" -#: templates/zerver/accounts_send_confirm.html:26 -msgid "Just in case, take a look at your Spam folder." -msgstr "" - -#: templates/zerver/app/index.html:121 +#: templates/zerver/app/index.html:128 msgid "" -"If this message does not go away, try reloading the " -"page." +"If this message does not go away, try reloading " +"the page." msgstr "" -#: templates/zerver/app/index.html:164 +#: templates/zerver/app/index.html:131 +msgid "" +"Error loading Zulip. Try reloading the page." +msgstr "" + +#: templates/zerver/app/index.html:174 msgid "Unable to connect to Zulip." msgstr "" -#: templates/zerver/app/index.html:165 +#: templates/zerver/app/index.html:175 msgid "Updates may be delayed." msgstr "" -#: templates/zerver/app/index.html:166 +#: templates/zerver/app/index.html:176 msgid "Retrying soon…" msgstr "" -#: templates/zerver/app/index.html:167 +#: templates/zerver/app/index.html:177 msgid "Try now." msgstr "" -#: templates/zerver/app/index.html:241 templates/zerver/app/index.html:243 +#: templates/zerver/app/index.html:251 templates/zerver/app/index.html:253 msgid "Messages" msgstr "" @@ -938,6 +942,7 @@ msgstr "" #: templates/zerver/billing_nav.html:4 #: templates/zerver/development/integrations_dev_panel.html:19 +#: templates/zerver/emails/compiled/followup_day2.html:28 #: templates/zerver/portico-header.html:5 #: templates/zerver/portico-header.html:9 msgid "Zulip" @@ -1168,6 +1173,8 @@ msgstr "" msgid "Digest" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:9 +#: templates/zerver/emails/compiled/notify_change_in_email.html:9 #: templates/zerver/emails/confirm_new_email.html:8 #: templates/zerver/emails/confirm_new_email.txt:1 #: templates/zerver/emails/notify_change_in_email.html:8 @@ -1175,6 +1182,7 @@ msgstr "" msgid "Hi," msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:11 #: templates/zerver/emails/confirm_new_email.html:10 #: templates/zerver/emails/confirm_new_email.txt:4 #, python-format @@ -1184,10 +1192,12 @@ msgid "" "please click below:" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:12 #: templates/zerver/emails/confirm_new_email.html:11 msgid "Confirm email change" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:14 #: templates/zerver/emails/confirm_new_email.html:13 #, python-format msgid "" @@ -1195,6 +1205,623 @@ msgid "" "%(support_email)s." msgstr "" +#: templates/zerver/emails/compiled/confirm_registration.html:11 +#: templates/zerver/emails/confirm_registration.html:10 +#: templates/zerver/emails/confirm_registration.txt:2 +msgid "You have requested a new Zulip organization. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:13 +#: templates/zerver/emails/confirm_registration.html:12 +#: templates/zerver/emails/confirm_registration.txt:4 +msgid "You recently signed up for Zulip. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:18 +#: templates/zerver/emails/confirm_registration.html:17 +msgid "" +"Click the button below to create the organization and register your account." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:20 +#: templates/zerver/emails/confirm_registration.html:19 +msgid "Click the button below to complete registration." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:22 +#: templates/zerver/emails/compiled/invitation.html:17 +#: templates/zerver/emails/compiled/invitation_reminder.html:15 +#: templates/zerver/emails/confirm_registration.html:21 +#: templates/zerver/emails/invitation.html:16 +#: templates/zerver/emails/invitation_reminder.html:14 +msgid "Complete registration" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:24 +#: templates/zerver/emails/compiled/invitation.html:20 +#: templates/zerver/emails/compiled/realm_reactivation.html:20 +#, python-format +msgid "" +"Contact us any time at %(support_email)s if you run into trouble, have any " +"feedback, or just want to chat!" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:8 +#, python-format +msgid "" +"\n" +"Your Zulip account on %(realm_uri)s has been deactivated, and you will " +"no longer be able to log in.\n" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:15 +#: templates/zerver/emails/deactivate.html:15 +#: templates/zerver/emails/deactivate.txt:6 +msgid "The administrators provided the following comment:" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:28 +#: templates/zerver/emails/digest.html:27 +msgid "New streams" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:35 +#: templates/zerver/emails/digest.html:34 +msgid "Click here to log in to Zulip and catch up." +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:40 +#: templates/zerver/emails/compiled/followup_day2.html:34 +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/custom_email_base.pre.html:18 +#: templates/zerver/emails/digest.html:39 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Manage email preferences" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:41 +#: templates/zerver/emails/digest.html:40 +msgid "Unsubscribe from digest emails" +msgstr "" + +#: templates/zerver/emails/compiled/email_base_default.html:95 +#: templates/zerver/emails/compiled/email_base_marketing.html:95 +#: templates/zerver/emails/email_base_default.html:33 +#: templates/zerver/emails/email_base_marketing.html:33 +msgid "Swimming fish" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:9 +#: templates/zerver/emails/find_team.html:8 +#: templates/zerver/emails/find_team.txt:1 +msgid "Thanks for your request!" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:11 +#, python-format +msgid "" +"Your email address %(email)s has accounts with the following Zulip " +"organizations hosted by %(external_host)s:" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:19 +#: templates/zerver/emails/find_team.html:18 +#: templates/zerver/emails/find_team.txt:10 +msgid "" +"If you have trouble logging in, please contact Zulip support by replying to " +"this email." +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:21 +#: templates/zerver/emails/find_team.html:20 +#: templates/zerver/emails/find_team.txt:13 +msgid "Thanks for using Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:9 +#: templates/zerver/emails/followup_day1.html:24 +#: templates/zerver/emails/followup_day1.txt:1 +msgid "Welcome to Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:14 +msgid "" +"You've created a demo Zulip organization. Note that this organization will " +"be automatically deleted in 30 days. Learn more about demo organizations here!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:16 +#, python-format +msgid "You've created the new Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:19 +#, python-format +msgid "You've joined the Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:24 +msgid "Your account details:" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:27 +#: templates/zerver/emails/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.txt:16 +#, python-format +msgid "Organization URL: %(organization_url)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:31 +#, python-format +msgid "Username: %(ldap_username)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.html:39 +#: templates/zerver/emails/followup_day1.txt:22 +msgid "Use your LDAP account to log in" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:38 +#, python-format +msgid "Email: %(email)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:42 +#, python-format +msgid "" +"(you'll need these to sign in to the mobile and desktop " +"apps)" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:47 +#, python-format +msgid "" +"Check out our guide for admins, become a Zulip pro with a " +"few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:49 +#, python-format +msgid "" +"Learn more about Zulip, become a pro with a few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:54 +msgid "Cheers," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:55 +#: templates/zerver/emails/compiled/notify_change_in_email.html:15 +#: templates/zerver/emails/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.txt:7 +msgid "Team Zulip" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:59 +msgid "" +"PS: Follow us on Twitter, star us on GitHub, or chat with us live on the Zulip community server!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:9 +msgid "Hey," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:11 +msgid "" +"I wanted to share one last thing with you: a few tips about topics, since " +"mastering topics is a key part of being a Zulip power user." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:13 +#: templates/zerver/emails/followup_day2.html:22 +msgid "Examples of short topics" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:15 +msgid "" +"Topics are like email subject lines. The big difference, though, is that " +"they're really short and lightweight. Two or three words will do it. Don't " +"overthink 'em—you can always edit the message later!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:18 +msgid "Good topics: design mockup, Bug 345, acme burgers" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:19 +msgid "" +"Not recommended: \"What do people think of this new design mockup?\", \"I'm " +"looking at Bug 345\", \"Is Acme Burgers open for lunch?\"" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:22 +msgid "Example of a topic that is too long" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:24 +msgid "" +"Why bother with topics? Well, two reasons: it makes conversations clearer " +"(imagine if email didn't have them!), and it lets you more efficiently catch " +"up on what's happened while you're away—read the topics that are relevant to " +"you, and ignore the ones that aren't!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:26 +msgid "Take it for a spin now." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:28 +#: templates/zerver/emails/compiled/notify_new_login.html:42 +#: templates/zerver/emails/notify_new_login.html:40 +#: templates/zerver/emails/notify_new_login.txt:20 +msgid "Thanks," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:35 +msgid "Unsubscribe from welcome emails" +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:10 +#: templates/zerver/emails/invitation.html:9 +#: templates/zerver/emails/invitation.txt:1 +msgid "Hi there," +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:13 +#, python-format +msgid "" +"%(referrer_name)s wants you to join them on Zulip — the team communication " +"tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:16 +#: templates/zerver/emails/compiled/invitation_reminder.html:14 +#: templates/zerver/emails/invitation.html:15 +#: templates/zerver/emails/invitation_reminder.html:13 +msgid "To get started, click the button below." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:9 +#: templates/zerver/emails/invitation_reminder.html:8 +#: templates/zerver/emails/invitation_reminder.txt:1 +msgid "Hi again," +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:11 +#, python-format +msgid "" +"This is a friendly reminder that %(referrer_name)s wants you to join them on " +"Zulip — the team communication tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:19 +#: templates/zerver/emails/invitation_reminder.html:18 +#: templates/zerver/emails/invitation_reminder.txt:8 +msgid "This is the last reminder you'll receive for this invitation." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:23 +#: templates/zerver/emails/invitation_reminder.html:22 +#, python-format +msgid "" +"\n" +" This invitation expires in two days. If the invitation expires,\n" +" you'll need to ask %(referrer_name)s for another one.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:18 +#, python-format +msgid "" +"This email does not include message content because your organization has " +"disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:20 +#, python-format +msgid "" +"This email does not include message content because you have disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:30 +#: templates/zerver/emails/missed_message.html:29 +#: templates/zerver/emails/missed_message.txt:25 +msgid "You are receiving this because you were personally mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:32 +#: templates/zerver/emails/missed_message.html:31 +#: templates/zerver/emails/missed_message.txt:27 +#, python-format +msgid "" +"You are receiving this because @%(mentioned_user_group_name)s was mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:34 +#: templates/zerver/emails/missed_message.html:39 +#: templates/zerver/emails/missed_message.txt:35 +#, python-format +msgid "" +"You are receiving this because everyone was mentioned in #%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:36 +#: templates/zerver/emails/missed_message.html:43 +#: templates/zerver/emails/missed_message.txt:39 +#, python-format +msgid "" +"You are receiving this because you have email notifications enabled for " +"#%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:39 +#, python-format +msgid "" +"Reply to this email directly, view it in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:41 +#, python-format +msgid "" +"View or reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:43 +#, python-format +msgid "" +"Reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:45 +#, python-format +msgid "" +"\n" +" Do not reply to this email. This Zulip server is not configured to " +"accept incoming emails (help).\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:11 +#: templates/zerver/emails/notify_change_in_email.html:10 +#, python-format +msgid "" +"The email associated with your Zulip account was recently changed to " +"%(new_email)s. If you did not request this change, please contact us " +"immediately at %(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.html:13 +#: templates/zerver/emails/notify_change_in_email.txt:6 +msgid "Best," +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:4 +#: templates/zerver/emails/notify_new_login.html:4 +#, python-format +msgid "" +"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:13 +#: templates/zerver/emails/notify_new_login.html:12 +#: templates/zerver/emails/notify_new_login.txt:1 +msgid "We noticed a recent login for the following Zulip account." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:18 +#: templates/zerver/emails/notify_new_login.html:16 +#, python-format +msgid "Organization: %(organization_link)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:21 +#: templates/zerver/emails/notify_new_login.html:19 +#: templates/zerver/emails/notify_new_login.txt:5 +#, python-format +msgid "Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:24 +#: templates/zerver/emails/notify_new_login.html:22 +#: templates/zerver/emails/notify_new_login.txt:7 +#, python-format +msgid "Time: %(login_time)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:27 +#: templates/zerver/emails/notify_new_login.html:25 +#: templates/zerver/emails/notify_new_login.txt:9 +#, python-format +msgid "Device: %(device_browser)s on %(device_os)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:30 +#: templates/zerver/emails/notify_new_login.html:28 +#: templates/zerver/emails/notify_new_login.txt:11 +#, python-format +msgid "IP address: %(device_ip)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:35 +#: templates/zerver/emails/notify_new_login.html:33 +#: templates/zerver/emails/notify_new_login.txt:14 +msgid "If this was you, great! There's nothing else you need to do." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:38 +#, python-format +msgid "" +"If you do not recognize this login, or think your account may have been " +"compromised, please reset your password or contact us immediately at " +"%(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:43 +#: templates/zerver/emails/notify_new_login.html:41 +#: templates/zerver/emails/notify_new_login.txt:21 +msgid "Zulip Security" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Unsubscribe from login notifications" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:10 +#: templates/zerver/emails/password_reset.html:9 +#: templates/zerver/emails/password_reset.txt:1 +#, python-format +msgid "" +"Somebody (possibly you) requested a new password for the Zulip account " +"%(email)s on %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:14 +#: templates/zerver/emails/password_reset.html:13 +msgid "Click the button below to reset your password." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:15 +#: templates/zerver/emails/password_reset.html:14 +msgid "Reset password" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:20 +#, python-format +msgid "" +"You previously had an account on %(organization_url)s, but it has been " +"deactivated. You can contact an organization administrator to reactivate your account." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:22 +#: templates/zerver/emails/password_reset.html:21 +#: templates/zerver/emails/password_reset.txt:11 +msgid "You do not have an account in that Zulip organization." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:27 +#: templates/zerver/emails/password_reset.html:26 +#: templates/zerver/emails/password_reset.txt:16 +msgid "You do have active accounts in the following organization(s)." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:34 +#: templates/zerver/emails/password_reset.html:32 +#: templates/zerver/emails/password_reset.txt:21 +msgid "" +"You can try logging in or resetting your password in the organization(s) " +"above." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:40 +#: templates/zerver/emails/password_reset.html:38 +#: templates/zerver/emails/password_reset.txt:25 +msgid "" +"If you do not recognize this activity, you can safely ignore this email." +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:8 +#: templates/zerver/emails/realm_auto_downgraded.html:8 +#, python-format +msgid "" +"\n" +" Your organization, %(organization_name_with_link)s, has been downgraded " +"to the Zulip Cloud\n" +" Free plan because of unpaid invoices. The unpaid invoices have been " +"voided.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:15 +#: templates/zerver/emails/realm_auto_downgraded.html:15 +#, python-format +msgid "" +"\n" +" To continue on the Zulip Cloud Standard plan, please upgrade again by " +"going to %(upgrade_url)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:22 +#: templates/zerver/emails/realm_auto_downgraded.html:22 +#, python-format +msgid "" +"\n" +" If you think this was a mistake or need more details, please reach out " +"to us at %(support_email)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:9 +#: templates/zerver/emails/realm_reactivation.html:8 +#: templates/zerver/emails/realm_reactivation.txt:1 +#, python-format +msgid "Dear former administrators of %(realm_name)s," +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:11 +#: templates/zerver/emails/realm_reactivation.html:10 +#: templates/zerver/emails/realm_reactivation.txt:4 +#, python-format +msgid "" +"One of your administrators requested reactivation of the previously " +"deactivated Zulip organization hosted at %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:14 +#: templates/zerver/emails/realm_reactivation.html:13 +msgid "Click the button below to reactivate your organization." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:15 +#: templates/zerver/emails/realm_reactivation.html:14 +msgid "Reactivate organization" +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:18 +#: templates/zerver/emails/realm_reactivation.html:17 +#: templates/zerver/emails/realm_reactivation.txt:10 +msgid "" +"If the request was in error, you can take no action and this link will " +"expire in 24 hours." +msgstr "" + #: templates/zerver/emails/confirm_new_email.subject.txt:1 msgid "Verify your new email address" msgstr "" @@ -1206,31 +1833,6 @@ msgid "" "<%(support_email)s>." msgstr "" -#: templates/zerver/emails/confirm_registration.html:10 -#: templates/zerver/emails/confirm_registration.txt:2 -msgid "You have requested a new Zulip organization. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:12 -#: templates/zerver/emails/confirm_registration.txt:4 -msgid "You recently signed up for Zulip. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:17 -msgid "" -"Click the button below to create the organization and register your account." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:19 -msgid "Click the button below to complete registration." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:21 -#: templates/zerver/emails/invitation.html:16 -#: templates/zerver/emails/invitation_reminder.html:14 -msgid "Complete registration" -msgstr "" - #: templates/zerver/emails/confirm_registration.subject.txt:2 msgid "Create your Zulip organization" msgstr "" @@ -1269,12 +1871,6 @@ msgid "" "at %(support_email)s." msgstr "" -#: templates/zerver/emails/custom_email_base.pre.html:18 -#: templates/zerver/emails/digest.html:39 -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Manage email preferences" -msgstr "" - #: templates/zerver/emails/custom_email_base.pre.html:18 msgid "Unsubscribe from marketing emails" msgstr "" @@ -1287,11 +1883,6 @@ msgid "" "deactivated, and you will no longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/deactivate.html:15 -#: templates/zerver/emails/deactivate.txt:6 -msgid "The administrators provided the following comment:" -msgstr "" - #: templates/zerver/emails/deactivate.subject.txt:1 #, python-format msgid "Notification of account deactivation on %(realm_name)s" @@ -1305,18 +1896,6 @@ msgid "" "longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/digest.html:27 -msgid "New streams" -msgstr "" - -#: templates/zerver/emails/digest.html:34 -msgid "Click here to log in to Zulip and catch up." -msgstr "" - -#: templates/zerver/emails/digest.html:40 -msgid "Unsubscribe from digest emails" -msgstr "" - #: templates/zerver/emails/digest.subject.txt:1 #, python-format msgid "Zulip digest for %(realm_name)s" @@ -1335,16 +1914,6 @@ msgstr "" msgid "Unsubscribe from digest emails:" msgstr "" -#: templates/zerver/emails/email_base_default.html:33 -#: templates/zerver/emails/email_base_marketing.html:33 -msgid "Swimming fish" -msgstr "" - -#: templates/zerver/emails/find_team.html:8 -#: templates/zerver/emails/find_team.txt:1 -msgid "Thanks for your request!" -msgstr "" - #: templates/zerver/emails/find_team.html:10 #, python-format msgid "" @@ -1352,18 +1921,6 @@ msgid "" "organizations hosted by %(external_host)s:" msgstr "" -#: templates/zerver/emails/find_team.html:18 -#: templates/zerver/emails/find_team.txt:10 -msgid "" -"If you have trouble logging in, please contact Zulip support by replying to " -"this email." -msgstr "" - -#: templates/zerver/emails/find_team.html:20 -#: templates/zerver/emails/find_team.txt:13 -msgid "Thanks for using Zulip!" -msgstr "" - #: templates/zerver/emails/find_team.subject.txt:1 msgid "Your Zulip accounts" msgstr "" @@ -1393,11 +1950,6 @@ msgid "" " organization: %(realm_name)s." msgstr "" -#: templates/zerver/emails/followup_day1.html:24 -#: templates/zerver/emails/followup_day1.txt:1 -msgid "Welcome to Zulip!" -msgstr "" - #: templates/zerver/emails/followup_day1.html:26 #, python-format msgid "" @@ -1412,23 +1964,12 @@ msgid "" "href=\"%(apps_page_link)s\">mobile and desktop apps:" msgstr "" -#: templates/zerver/emails/followup_day1.html:34 -#: templates/zerver/emails/followup_day1.txt:16 -#, python-format -msgid "Organization URL: %(organization_url)s" -msgstr "" - #: templates/zerver/emails/followup_day1.html:37 #: templates/zerver/emails/followup_day1.txt:20 #, python-format msgid "Your username: %(ldap_username)s" msgstr "" -#: templates/zerver/emails/followup_day1.html:39 -#: templates/zerver/emails/followup_day1.txt:22 -msgid "Use your LDAP account to log in" -msgstr "" - #: templates/zerver/emails/followup_day1.html:42 #: templates/zerver/emails/followup_day1.txt:25 #, python-format @@ -1548,10 +2089,6 @@ msgid "" "about…?”" msgstr "" -#: templates/zerver/emails/followup_day2.html:22 -msgid "Examples of short topics" -msgstr "" - #: templates/zerver/emails/followup_day2.html:25 #, python-format msgid "" @@ -1595,11 +2132,6 @@ msgid "" "(%(move_topic_to_different_stream_link)s)." msgstr "" -#: templates/zerver/emails/invitation.html:9 -#: templates/zerver/emails/invitation.txt:1 -msgid "Hi there," -msgstr "" - #: templates/zerver/emails/invitation.html:12 #, python-format msgid "" @@ -1607,11 +2139,6 @@ msgid "" "communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation.html:15 -#: templates/zerver/emails/invitation_reminder.html:13 -msgid "To get started, click the button below." -msgstr "" - #: templates/zerver/emails/invitation.subject.txt:1 #, python-format msgid "%(referrer_full_name)s has invited you to join %(referrer_realm_name)s" @@ -1629,11 +2156,6 @@ msgstr "" msgid "To get started, click the link below." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:8 -#: templates/zerver/emails/invitation_reminder.txt:1 -msgid "Hi again," -msgstr "" - #: templates/zerver/emails/invitation_reminder.html:10 #, python-format msgid "" @@ -1641,20 +2163,6 @@ msgid "" "Zulip — the team communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:18 -#: templates/zerver/emails/invitation_reminder.txt:8 -msgid "This is the last reminder you'll receive for this invitation." -msgstr "" - -#: templates/zerver/emails/invitation_reminder.html:22 -#, python-format -msgid "" -"\n" -" This invitation expires in two days. If the invitation expires,\n" -" you'll need to ask %(referrer_name)s for another one.\n" -" " -msgstr "" - #: templates/zerver/emails/invitation_reminder.subject.txt:1 #, python-format msgid "Reminder: Join %(referrer_name)s at %(referrer_realm_name)s" @@ -1705,34 +2213,31 @@ msgid "" "content appearing in email notifications." msgstr "" -#: templates/zerver/emails/missed_message.html:29 -#: templates/zerver/emails/missed_message.txt:25 -msgid "You are receiving this because you were personally mentioned." -msgstr "" - -#: templates/zerver/emails/missed_message.html:31 -#: templates/zerver/emails/missed_message.txt:27 -#, python-format -msgid "" -"You are receiving this because @%(mentioned_user_group_name)s was mentioned." -msgstr "" - #: templates/zerver/emails/missed_message.html:33 +#: templates/zerver/emails/missed_message.html:37 #: templates/zerver/emails/missed_message.txt:29 +#: templates/zerver/emails/missed_message.txt:33 #, python-format msgid "" -"You are receiving this because everyone was mentioned in #%(stream_name)s." +"You are receiving this because all topic participants were mentioned in " +"#%(stream_name)s > %(topic_name)s." msgstr "" #: templates/zerver/emails/missed_message.html:35 #: templates/zerver/emails/missed_message.txt:31 -#, python-format msgid "" -"You are receiving this because you have email notifications enabled for " -"#%(stream_name)s." +"You are receiving this because you have wildcard mention notifications " +"enabled for topics you follow." msgstr "" -#: templates/zerver/emails/missed_message.html:38 +#: templates/zerver/emails/missed_message.html:41 +#: templates/zerver/emails/missed_message.txt:37 +msgid "" +"You are receiving this because you have email notifications enabled for " +"topics you follow." +msgstr "" + +#: templates/zerver/emails/missed_message.html:46 #, python-format msgid "" "Reply to this email directly, view it in " @@ -1740,21 +2245,21 @@ msgid "" "preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:40 +#: templates/zerver/emails/missed_message.html:48 #, python-format msgid "" "View or reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:42 +#: templates/zerver/emails/missed_message.html:50 #, python-format msgid "" "Reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:44 +#: templates/zerver/emails/missed_message.html:52 #, python-format msgid "" "\n" @@ -1800,50 +2305,32 @@ msgid "" "See %(alert_notif_url)s for more details.\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:35 +#: templates/zerver/emails/missed_message.txt:43 #, python-format msgid "Reply to this email directly, or view it in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:39 +#: templates/zerver/emails/missed_message.txt:47 #, python-format msgid "View or reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:43 +#: templates/zerver/emails/missed_message.txt:51 #, python-format msgid "Reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:47 +#: templates/zerver/emails/missed_message.txt:55 msgid "" "\n" "Do not reply to this email. This Zulip server is not configured to accept\n" "incoming emails. Help:\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:54 +#: templates/zerver/emails/missed_message.txt:62 msgid "Manage email preferences: " msgstr "" -#: templates/zerver/emails/notify_change_in_email.html:10 -#, python-format -msgid "" -"The email associated with your Zulip account was recently changed to " -"%(new_email)s. If you did not request this change, please contact us " -"immediately at %(support_email)s." -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:13 -#: templates/zerver/emails/notify_change_in_email.txt:6 -msgid "Best," -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:14 -#: templates/zerver/emails/notify_change_in_email.txt:7 -msgid "Team Zulip" -msgstr "" - #: templates/zerver/emails/notify_change_in_email.subject.txt:1 #, python-format msgid "Zulip email changed for %(realm_name)s" @@ -1857,51 +2344,6 @@ msgid "" "immediately at <%(support_email)s>." msgstr "" -#: templates/zerver/emails/notify_new_login.html:4 -#, python-format -msgid "" -"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:12 -#: templates/zerver/emails/notify_new_login.txt:1 -msgid "We noticed a recent login for the following Zulip account." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:16 -#, python-format -msgid "Organization: %(organization_link)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:19 -#: templates/zerver/emails/notify_new_login.txt:5 -#, python-format -msgid "Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:22 -#: templates/zerver/emails/notify_new_login.txt:7 -#, python-format -msgid "Time: %(login_time)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:25 -#: templates/zerver/emails/notify_new_login.txt:9 -#, python-format -msgid "Device: %(device_browser)s on %(device_os)s." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:28 -#: templates/zerver/emails/notify_new_login.txt:11 -#, python-format -msgid "IP address: %(device_ip)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:33 -#: templates/zerver/emails/notify_new_login.txt:14 -msgid "If this was you, great! There's nothing else you need to do." -msgstr "" - #: templates/zerver/emails/notify_new_login.html:36 #, python-format msgid "" @@ -1910,20 +2352,6 @@ msgid "" "contact us immediately at %(support_email)s." msgstr "" -#: templates/zerver/emails/notify_new_login.html:40 -#: templates/zerver/emails/notify_new_login.txt:20 -msgid "Thanks," -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:41 -#: templates/zerver/emails/notify_new_login.txt:21 -msgid "Zulip Security" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Unsubscribe from login notifications" -msgstr "" - #: templates/zerver/emails/notify_new_login.subject.txt:1 #, python-format msgid "New login from %(device_browser)s on %(device_os)s" @@ -2014,22 +2442,6 @@ msgstr "" msgid "Zulip guide for communities" msgstr "" -#: templates/zerver/emails/password_reset.html:9 -#: templates/zerver/emails/password_reset.txt:1 -#, python-format -msgid "" -"Somebody (possibly you) requested a new password for the Zulip account " -"%(email)s on %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/password_reset.html:13 -msgid "Click the button below to reset your password." -msgstr "" - -#: templates/zerver/emails/password_reset.html:14 -msgid "Reset password" -msgstr "" - #: templates/zerver/emails/password_reset.html:19 #, python-format msgid "" @@ -2038,29 +2450,6 @@ msgid "" "href=\"%(help_link)s\">reactivate your account." msgstr "" -#: templates/zerver/emails/password_reset.html:21 -#: templates/zerver/emails/password_reset.txt:11 -msgid "You do not have an account in that Zulip organization." -msgstr "" - -#: templates/zerver/emails/password_reset.html:26 -#: templates/zerver/emails/password_reset.txt:16 -msgid "You do have active accounts in the following organization(s)." -msgstr "" - -#: templates/zerver/emails/password_reset.html:32 -#: templates/zerver/emails/password_reset.txt:21 -msgid "" -"You can try logging in or resetting your password in the organization(s) " -"above." -msgstr "" - -#: templates/zerver/emails/password_reset.html:38 -#: templates/zerver/emails/password_reset.txt:25 -msgid "" -"If you do not recognize this activity, you can safely ignore this email." -msgstr "" - #: templates/zerver/emails/password_reset.subject.txt:1 #, python-format msgid "Password reset request for %(realm_name)s" @@ -2077,64 +2466,6 @@ msgid "" "You can contact an organization administrator to reactivate your account." msgstr "" -#: templates/zerver/emails/realm_auto_downgraded.html:8 -#, python-format -msgid "" -"\n" -" Your organization, %(organization_name_with_link)s, has been downgraded " -"to the Zulip Cloud\n" -" Free plan because of unpaid invoices. The unpaid invoices have been " -"voided.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:15 -#, python-format -msgid "" -"\n" -" To continue on the Zulip Cloud Standard plan, please upgrade again by " -"going to %(upgrade_url)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:22 -#, python-format -msgid "" -"\n" -" If you think this was a mistake or need more details, please reach out " -"to us at %(support_email)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:8 -#: templates/zerver/emails/realm_reactivation.txt:1 -#, python-format -msgid "Dear former administrators of %(realm_name)s," -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:10 -#: templates/zerver/emails/realm_reactivation.txt:4 -#, python-format -msgid "" -"One of your administrators requested reactivation of the previously " -"deactivated Zulip organization hosted at %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:13 -msgid "Click the button below to reactivate your organization." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:14 -msgid "Reactivate organization" -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:17 -#: templates/zerver/emails/realm_reactivation.txt:10 -msgid "" -"If the request was in error, you can take no action and this link will " -"expire in 24 hours." -msgstr "" - #: templates/zerver/emails/realm_reactivation.subject.txt:1 msgid "Reactivate your Zulip organization" msgstr "" @@ -2919,77 +3250,79 @@ msgid "" " " msgstr "" -#: zerver/actions/create_user.py:88 +#: zerver/actions/create_user.py:93 msgid "signups" msgstr "" -#: zerver/actions/create_user.py:101 +#: zerver/actions/create_user.py:106 #, python-brace-format msgid "{user} just signed up for Zulip. (total: {user_count})" msgstr "" -#: zerver/actions/create_user.py:221 +#: zerver/actions/create_user.py:251 #, python-brace-format msgid "{user} accepted your invitation to join Zulip!" msgstr "" -#: zerver/actions/custom_profile_fields.py:129 +#: zerver/actions/custom_profile_fields.py:126 msgid "Invalid order mapping." msgstr "" -#: zerver/actions/custom_profile_fields.py:208 zerver/lib/users.py:390 +#: zerver/actions/custom_profile_fields.py:205 zerver/lib/users.py:396 #: zerver/views/custom_profile_fields.py:195 #: zerver/views/custom_profile_fields.py:216 #, python-brace-format msgid "Field id {id} not found." msgstr "" -#: zerver/actions/default_streams.py:21 -msgid "Invalid default stream group name '{}'" +#: zerver/actions/default_streams.py:25 +#, python-brace-format +msgid "Invalid default stream group name '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:24 -msgid "Default stream group name too long (limit: {} characters)" +#: zerver/actions/default_streams.py:29 +#, python-brace-format +msgid "Default stream group name too long (limit: {max_length} characters)" msgstr "" -#: zerver/actions/default_streams.py:31 -msgid "Default stream group name '{}' contains NULL (0x00) characters." +#: zerver/actions/default_streams.py:37 +#, python-brace-format +msgid "" +"Default stream group name '{group_name}' contains NULL (0x00) characters." msgstr "" -#: zerver/actions/default_streams.py:45 -msgid "Invalid default stream group {}" +#: zerver/actions/default_streams.py:53 +#, python-brace-format +msgid "Invalid default stream group {group_name}" msgstr "" -#: zerver/actions/default_streams.py:92 zerver/actions/default_streams.py:119 +#: zerver/actions/default_streams.py:101 zerver/actions/default_streams.py:128 #, python-brace-format msgid "" "'{stream_name}' is a default stream and cannot be added to '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:103 +#: zerver/actions/default_streams.py:112 zerver/actions/default_streams.py:173 #, python-brace-format msgid "Default stream group '{group_name}' already exists" msgstr "" -#: zerver/actions/default_streams.py:125 +#: zerver/actions/default_streams.py:134 #, python-brace-format msgid "" "Stream '{stream_name}' is already present in default stream group " "'{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:141 +#: zerver/actions/default_streams.py:151 #, python-brace-format msgid "" "Stream '{stream_name}' is not present in default stream group '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:155 -msgid "This default stream group is already named '{}'" -msgstr "" - -#: zerver/actions/default_streams.py:159 -msgid "Default stream group '{}' already exists" +#: zerver/actions/default_streams.py:166 +#, python-brace-format +msgid "This default stream group is already named '{group_name}'" msgstr "" #: zerver/actions/invites.py:161 @@ -3018,190 +3351,189 @@ msgid "" "invitation. We did send invitations to everyone else!" msgstr "" -#: zerver/actions/message_edit.py:92 zerver/views/scheduled_messages.py:61 +#: zerver/actions/message_edit.py:93 zerver/views/scheduled_messages.py:61 msgid "Nothing to change" msgstr "" -#: zerver/actions/message_edit.py:96 +#: zerver/actions/message_edit.py:97 msgid "Direct messages cannot be moved to streams." msgstr "" -#: zerver/actions/message_edit.py:98 +#: zerver/actions/message_edit.py:99 msgid "Direct messages cannot have topics." msgstr "" -#: zerver/actions/message_edit.py:101 +#: zerver/actions/message_edit.py:102 msgid "Invalid propagate_mode without topic edit" msgstr "" -#: zerver/actions/message_edit.py:107 +#: zerver/actions/message_edit.py:108 msgid "Cannot change message content while changing stream" msgstr "" -#: zerver/actions/message_edit.py:111 +#: zerver/actions/message_edit.py:112 msgid "Widgets cannot be edited." msgstr "" -#: zerver/actions/message_edit.py:162 +#: zerver/actions/message_edit.py:163 #, python-brace-format msgid "{user} has marked this topic as resolved." msgstr "" -#: zerver/actions/message_edit.py:164 +#: zerver/actions/message_edit.py:165 #, python-brace-format msgid "{user} has marked this topic as unresolved." msgstr "" -#: zerver/actions/message_edit.py:967 +#: zerver/actions/message_edit.py:985 #, python-brace-format msgid "This topic was moved to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:971 +#: zerver/actions/message_edit.py:989 #, python-brace-format msgid "A message was moved from this topic to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:975 +#: zerver/actions/message_edit.py:993 #, python-brace-format msgid "" "{changed_messages_count} messages were moved from this topic to " "{new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1030 +#: zerver/actions/message_edit.py:1048 #, python-brace-format msgid "This topic was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1035 +#: zerver/actions/message_edit.py:1053 #, python-brace-format msgid "" "[A message]({message_link}) was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1039 +#: zerver/actions/message_edit.py:1057 #, python-brace-format msgid "" "{changed_messages_count} messages were moved here from {old_location} by " "{user}." msgstr "" -#: zerver/actions/message_edit.py:1167 +#: zerver/actions/message_edit.py:1186 msgid "Your organization has turned off message editing" msgstr "" -#: zerver/actions/message_edit.py:1185 zerver/actions/message_edit.py:1188 +#: zerver/actions/message_edit.py:1204 zerver/actions/message_edit.py:1207 msgid "You don't have permission to edit this message" msgstr "" -#: zerver/actions/message_edit.py:1199 +#: zerver/actions/message_edit.py:1218 msgid "The time limit for editing this message has passed" msgstr "" -#: zerver/actions/message_edit.py:1214 +#: zerver/actions/message_edit.py:1233 msgid "The time limit for editing this message's topic has passed." msgstr "" -#: zerver/actions/message_edit.py:1248 zerver/actions/message_send.py:1428 +#: zerver/actions/message_edit.py:1267 zerver/actions/message_send.py:1558 msgid "You do not have permission to use wildcard mentions in this stream." msgstr "" -#: zerver/actions/message_edit.py:1257 +#: zerver/actions/message_edit.py:1280 msgid "You don't have permission to move this message" msgstr "" -#: zerver/actions/message_edit.py:1263 +#: zerver/actions/message_edit.py:1286 msgid "" "You don't have permission to move this message due to missing access to its " "stream" msgstr "" -#: zerver/actions/message_edit.py:1280 +#: zerver/actions/message_edit.py:1303 msgid "The time limit for editing this message's stream has passed" msgstr "" #: zerver/actions/message_flags.py:257 -msgid "Invalid flag: '{}'" +#, python-brace-format +msgid "Invalid flag: '{flag}'" msgstr "" #: zerver/actions/message_flags.py:259 -msgid "Flag not editable: '{}'" +#, python-brace-format +msgid "Flag not editable: '{flag}'" msgstr "" -#: zerver/actions/message_flags.py:261 -msgid "Invalid message flag operation: '{}'" +#: zerver/actions/message_flags.py:262 +#, python-brace-format +msgid "Invalid message flag operation: '{operation}'" msgstr "" -#: zerver/actions/message_flags.py:333 zerver/lib/message.py:758 -#: zerver/lib/message.py:764 +#: zerver/actions/message_flags.py:335 zerver/lib/message.py:786 +#: zerver/lib/message.py:792 msgid "Invalid message(s)" msgstr "" -#: zerver/actions/message_send.py:156 +#: zerver/actions/message_send.py:161 msgid "Unable to render message" msgstr "" -#: zerver/actions/message_send.py:997 +#: zerver/actions/message_send.py:1127 msgid "Expected exactly one stream" msgstr "" -#: zerver/actions/message_send.py:1008 +#: zerver/actions/message_send.py:1138 msgid "Invalid data type for stream" msgstr "" -#: zerver/actions/message_send.py:1024 zerver/actions/message_send.py:1034 +#: zerver/actions/message_send.py:1154 zerver/actions/message_send.py:1164 #: zerver/actions/scheduled_messages.py:53 msgid "Invalid data type for recipients" msgstr "" -#: zerver/actions/message_send.py:1042 zerver/actions/message_send.py:1050 +#: zerver/actions/message_send.py:1172 zerver/actions/message_send.py:1180 msgid "Recipient lists may contain emails or user IDs, but not both." msgstr "" -#: zerver/actions/message_send.py:1195 +#: zerver/actions/message_send.py:1325 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream ID {stream_id}, " "but there is no stream with that ID." msgstr "" -#: zerver/actions/message_send.py:1206 +#: zerver/actions/message_send.py:1336 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}, but " "that stream does not exist. Click [here]({new_stream_link}) to create it." msgstr "" -#: zerver/actions/message_send.py:1218 +#: zerver/actions/message_send.py:1348 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}. The " "stream exists but does not have any subscribers." msgstr "" -#: zerver/actions/message_send.py:1265 +#: zerver/actions/message_send.py:1395 msgid "Direct messages are disabled in this organization." msgstr "" -#: zerver/actions/message_send.py:1342 +#: zerver/actions/message_send.py:1472 msgid "Topics are required in this organization" msgstr "" -#: zerver/actions/message_send.py:1398 +#: zerver/actions/message_send.py:1528 msgid "Widgets: API programmer sent invalid JSON content" msgstr "" -#: zerver/actions/message_send.py:1404 +#: zerver/actions/message_send.py:1534 #, python-brace-format msgid "Widgets: {error_msg}" msgstr "" -#: zerver/actions/reactions.py:116 -msgid "Reaction already exists." -msgstr "" - -#: zerver/actions/realm_emoji.py:32 zerver/views/realm_emoji.py:36 +#: zerver/actions/realm_emoji.py:40 zerver/views/realm_emoji.py:38 msgid "A custom emoji with this name already exists." msgstr "" @@ -3237,18 +3569,32 @@ msgstr "" msgid "[View scheduled messages](#scheduled)" msgstr "" -#: zerver/actions/streams.py:76 +#: zerver/actions/streams.py:73 msgid "Stream is already deactivated" msgstr "" -#: zerver/actions/streams.py:841 +#: zerver/actions/streams.py:165 +msgid "Stream is not currently deactivated" +msgstr "" + +#: zerver/actions/streams.py:168 +#, python-brace-format +msgid "Stream named {stream_name} already exists" +msgstr "" + +#: zerver/actions/streams.py:230 +#, python-brace-format +msgid "Stream {stream_name} un-archived." +msgstr "" + +#: zerver/actions/streams.py:932 #, python-brace-format msgid "" "{user} changed the [access permissions](/help/stream-permissions) for this " "stream from **{old_policy}** to **{new_policy}**." msgstr "" -#: zerver/actions/streams.py:1025 +#: zerver/actions/streams.py:1118 #, python-brace-format msgid "" "{user} changed the [posting permissions](/help/stream-sending-policy) for " @@ -3258,38 +3604,38 @@ msgid "" "* **New permissions**: {new_policy}.\n" msgstr "" -#: zerver/actions/streams.py:1160 +#: zerver/actions/streams.py:1246 #, python-brace-format msgid "{user_name} renamed stream {old_stream_name} to {new_stream_name}." msgstr "" -#: zerver/actions/streams.py:1179 zerver/actions/streams.py:1181 -#: zerver/views/streams.py:793 +#: zerver/actions/streams.py:1265 zerver/actions/streams.py:1267 +#: zerver/views/streams.py:802 msgid "No description." msgstr "" -#: zerver/actions/streams.py:1184 +#: zerver/actions/streams.py:1270 #, python-brace-format msgid "{user} changed the description for this stream." msgstr "" -#: zerver/actions/streams.py:1186 +#: zerver/actions/streams.py:1272 msgid "Old description" msgstr "" -#: zerver/actions/streams.py:1190 +#: zerver/actions/streams.py:1276 msgid "New description" msgstr "" -#: zerver/actions/streams.py:1258 zerver/actions/streams.py:1263 +#: zerver/actions/streams.py:1344 zerver/actions/streams.py:1349 msgid "Forever" msgstr "" -#: zerver/actions/streams.py:1264 +#: zerver/actions/streams.py:1350 msgid "Messages in this stream will now be retained forever." msgstr "" -#: zerver/actions/streams.py:1270 +#: zerver/actions/streams.py:1356 #, python-brace-format msgid "" "{user} has changed the [message retention period](/help/message-retention-" @@ -3300,56 +3646,58 @@ msgid "" "{summary_line}" msgstr "" -#: zerver/actions/submessage.py:30 +#: zerver/actions/submessage.py:29 msgid "You cannot attach a submessage to this message." msgstr "" #: zerver/actions/typing.py:55 zerver/lib/addressee.py:33 -msgid "Invalid user ID {}" +#, python-brace-format +msgid "Invalid user ID {user_id}" msgstr "" -#: zerver/actions/user_groups.py:153 zerver/actions/user_groups.py:168 -msgid "User group '{}' already exists." +#: zerver/actions/user_groups.py:213 zerver/actions/user_groups.py:245 +#, python-brace-format +msgid "User group '{group_name}' already exists." msgstr "" -#: zerver/decorator.py:250 +#: zerver/decorator.py:251 msgid "This API is not available to incoming webhook bots." msgstr "" -#: zerver/decorator.py:277 +#: zerver/decorator.py:278 msgid "Account is not associated with this subdomain" msgstr "" -#: zerver/decorator.py:506 zerver/decorator.py:643 +#: zerver/decorator.py:511 zerver/decorator.py:648 msgid "This endpoint does not accept bot requests." msgstr "" -#: zerver/decorator.py:605 +#: zerver/decorator.py:610 msgid "Must be an server administrator" msgstr "" -#: zerver/decorator.py:662 zerver/lib/streams.py:699 zerver/lib/streams.py:725 -#: zerver/lib/streams.py:727 zerver/lib/streams.py:742 -#: zerver/lib/user_groups.py:35 zerver/lib/user_groups.py:42 -#: zerver/lib/users.py:249 zerver/lib/users.py:278 zerver/views/invite.py:60 -#: zerver/views/realm_emoji.py:31 zerver/views/streams.py:336 -#: zerver/views/streams.py:630 +#: zerver/decorator.py:667 zerver/lib/streams.py:703 zerver/lib/streams.py:729 +#: zerver/lib/streams.py:731 zerver/lib/streams.py:748 +#: zerver/lib/user_groups.py:45 zerver/lib/user_groups.py:52 +#: zerver/lib/users.py:255 zerver/lib/users.py:284 zerver/views/invite.py:60 +#: zerver/views/realm_emoji.py:33 zerver/views/streams.py:338 +#: zerver/views/streams.py:639 msgid "Insufficient permission" msgstr "" -#: zerver/decorator.py:704 +#: zerver/decorator.py:709 msgid "This endpoint requires HTTP basic authentication." msgstr "" -#: zerver/decorator.py:711 +#: zerver/decorator.py:716 msgid "Invalid authorization header for basic auth" msgstr "" -#: zerver/decorator.py:713 +#: zerver/decorator.py:718 msgid "Missing authorization header for basic auth" msgstr "" -#: zerver/decorator.py:886 +#: zerver/decorator.py:893 msgid "Webhook bots can only access webhooks" msgstr "" @@ -3423,9 +3771,10 @@ msgid "New password confirmation" msgstr "" #: zerver/forms.py:496 +#, python-brace-format msgid "" -"You're making too many attempts to sign in. Try again in {} seconds or " -"contact your organization administrator for help." +"You're making too many attempts to sign in. Try again in {seconds} seconds " +"or contact your organization administrator for help." msgstr "" #: zerver/forms.py:508 @@ -3451,7 +3800,8 @@ msgid "We couldn't find that Zulip organization." msgstr "" #: zerver/lib/addressee.py:22 -msgid "Invalid email '{}'" +#, python-brace-format +msgid "Invalid email '{email}'" msgstr "" #: zerver/lib/addressee.py:61 zerver/lib/addressee.py:128 @@ -3536,11 +3886,11 @@ msgstr "" msgid "Draft does not exist" msgstr "" -#: zerver/lib/email_notifications.py:138 zerver/lib/email_notifications.py:160 +#: zerver/lib/email_notifications.py:140 zerver/lib/email_notifications.py:162 msgid "Open Zulip to see the spoiler content" msgstr "" -#: zerver/lib/email_notifications.py:563 +#: zerver/lib/email_notifications.py:591 msgid "Zulip notifications" msgstr "" @@ -3573,172 +3923,181 @@ msgstr "" msgid "Account has been deactivated." msgstr "" -#: zerver/lib/emoji.py:67 zerver/views/realm_emoji.py:59 -msgid "Emoji '{}' does not exist" +#: zerver/lib/emoji.py:88 zerver/views/realm_emoji.py:62 +#, python-brace-format +msgid "Emoji '{emoji_name}' does not exist" msgstr "" -#: zerver/lib/emoji.py:77 +#: zerver/lib/emoji.py:101 msgid "Invalid custom emoji." msgstr "" -#: zerver/lib/emoji.py:79 +#: zerver/lib/emoji.py:103 msgid "Invalid custom emoji name." msgstr "" -#: zerver/lib/emoji.py:81 +#: zerver/lib/emoji.py:105 msgid "This custom emoji has been deactivated." msgstr "" -#: zerver/lib/emoji.py:84 zerver/lib/emoji.py:89 +#: zerver/lib/emoji.py:108 zerver/lib/emoji.py:113 msgid "Invalid emoji code." msgstr "" -#: zerver/lib/emoji.py:86 zerver/lib/emoji.py:91 +#: zerver/lib/emoji.py:110 zerver/lib/emoji.py:115 msgid "Invalid emoji name." msgstr "" -#: zerver/lib/emoji.py:94 +#: zerver/lib/emoji.py:118 msgid "Invalid emoji type." msgstr "" -#: zerver/lib/emoji.py:109 +#: zerver/lib/emoji.py:133 msgid "Must be an organization administrator or emoji author" msgstr "" -#: zerver/lib/emoji.py:117 +#: zerver/lib/emoji.py:141 msgid "Emoji names must end with either a letter or digit." msgstr "" -#: zerver/lib/emoji.py:120 +#: zerver/lib/emoji.py:144 msgid "" "Emoji names must contain only lowercase English letters, digits, spaces, " "dashes, and underscores." msgstr "" -#: zerver/lib/emoji.py:123 +#: zerver/lib/emoji.py:147 msgid "Emoji name is missing" msgstr "" -#: zerver/lib/events.py:1539 +#: zerver/lib/events.py:1543 msgid "Could not allocate event queue" msgstr "" -#: zerver/lib/exceptions.py:137 +#: zerver/lib/exceptions.py:139 msgid "Not logged in: API authentication or user session required" msgstr "" -#: zerver/lib/exceptions.py:162 +#: zerver/lib/exceptions.py:164 #, python-brace-format msgid "Stream '{stream}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:174 +#: zerver/lib/exceptions.py:176 #, python-brace-format msgid "Stream with ID '{stream_id}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "organization owner" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "user" msgstr "" -#: zerver/lib/exceptions.py:187 +#: zerver/lib/exceptions.py:189 #, python-brace-format msgid "Cannot deactivate the only {entity}." msgstr "" -#: zerver/lib/exceptions.py:199 +#: zerver/lib/exceptions.py:201 #, python-brace-format msgid "Invalid Markdown include statement: {include_statement}" msgstr "" -#: zerver/lib/exceptions.py:211 +#: zerver/lib/exceptions.py:213 msgid "API usage exceeded rate limit" msgstr "" -#: zerver/lib/exceptions.py:234 zerver/lib/request.py:442 +#: zerver/lib/exceptions.py:236 zerver/lib/request.py:441 #: zerver/lib/validator.py:755 msgid "Malformed JSON" msgstr "" -#: zerver/lib/exceptions.py:245 +#: zerver/lib/exceptions.py:247 msgid "Must be an organization member" msgstr "" -#: zerver/lib/exceptions.py:256 zerver/views/invite.py:70 -#: zerver/views/invite.py:132 zerver/views/invite.py:178 +#: zerver/lib/exceptions.py:258 zerver/views/invite.py:70 +#: zerver/views/invite.py:134 zerver/views/invite.py:180 msgid "Must be an organization administrator" msgstr "" -#: zerver/lib/exceptions.py:267 +#: zerver/lib/exceptions.py:269 msgid "Must be an organization owner" msgstr "" -#: zerver/lib/exceptions.py:280 +#: zerver/lib/exceptions.py:282 msgid "Your username or password is incorrect" msgstr "" -#: zerver/lib/exceptions.py:288 +#: zerver/lib/exceptions.py:290 msgid "Account is deactivated" msgstr "" -#: zerver/lib/exceptions.py:296 +#: zerver/lib/exceptions.py:298 msgid "This organization has been deactivated" msgstr "" -#: zerver/lib/exceptions.py:305 +#: zerver/lib/exceptions.py:307 msgid "" "The mobile push notification service registration for your server has been " "deactivated" msgstr "" -#: zerver/lib/exceptions.py:314 +#: zerver/lib/exceptions.py:316 msgid "Password authentication is disabled in this organization" msgstr "" -#: zerver/lib/exceptions.py:322 +#: zerver/lib/exceptions.py:324 msgid "Your password has been disabled and needs to be reset" msgstr "" -#: zerver/lib/exceptions.py:338 +#: zerver/lib/exceptions.py:340 msgid "Invalid API key" msgstr "" -#: zerver/lib/exceptions.py:344 +#: zerver/lib/exceptions.py:346 msgid "Malformed API key" msgstr "" -#: zerver/lib/exceptions.py:381 +#: zerver/lib/exceptions.py:385 #, python-brace-format msgid "" "The '{event_type}' event isn't currently supported by the {webhook_name} " -"webhook" +"webhook; ignoring" msgstr "" -#: zerver/lib/exceptions.py:399 +#: zerver/lib/exceptions.py:404 #, python-brace-format msgid "Unable to parse request: Did {webhook_name} generate this event?" msgstr "" -#: zerver/lib/exceptions.py:422 zerver/views/auth.py:741 +#: zerver/lib/exceptions.py:427 zerver/views/auth.py:741 #: zerver/views/auth.py:1076 zerver/views/auth.py:1140 msgid "Invalid subdomain" msgstr "" -#: zerver/lib/exceptions.py:462 +#: zerver/lib/exceptions.py:467 msgid "Access denied" msgstr "" -#: zerver/lib/exceptions.py:501 +#: zerver/lib/exceptions.py:506 #, python-brace-format msgid "" "You only have permission to move the {total_messages_allowed_to_move}/" "{total_messages_in_topic} most recent messages in this topic." msgstr "" +#: zerver/lib/exceptions.py:518 +msgid "Reaction already exists." +msgstr "" + +#: zerver/lib/exceptions.py:529 +msgid "Reaction doesn't exist." +msgstr "" + #: zerver/lib/external_accounts.py:36 msgid "Twitter username" msgstr "" @@ -3849,207 +4208,215 @@ msgstr "" msgid "Version control" msgstr "" -#: zerver/lib/message.py:192 +#: zerver/lib/message.py:220 msgid "Message must not be empty" msgstr "" -#: zerver/lib/message.py:194 +#: zerver/lib/message.py:222 msgid "Message must not contain null bytes" msgstr "" -#: zerver/lib/narrow.py:107 -msgid "Operator {} not supported." +#: zerver/lib/message.py:1668 +#, python-brace-format +msgid "" +"You are not allowed to mention user group '{user_group_name}'. You must be a " +"member of '{can_mention_group_name}' to mention this group." msgstr "" -#: zerver/lib/narrow.py:197 +#: zerver/lib/narrow.py:108 +#, python-brace-format +msgid "Operator {operator} not supported." +msgstr "" + +#: zerver/lib/narrow.py:207 #, python-brace-format msgid "Invalid narrow operator: {desc}" msgstr "" -#: zerver/lib/narrow.py:1038 +#: zerver/lib/narrow.py:1054 msgid "Missing 'anchor' argument." msgstr "" -#: zerver/lib/narrow.py:1058 +#: zerver/lib/narrow.py:1074 msgid "Invalid anchor" msgstr "" -#: zerver/lib/onboarding.py:59 +#: zerver/lib/onboarding.py:57 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Using Zulip for a class guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:66 +#: zerver/lib/onboarding.py:64 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Getting started guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:78 +#: zerver/lib/onboarding.py:76 #, python-brace-format msgid "" "We also have a guide for [Setting up Zulip for a class]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:88 +#: zerver/lib/onboarding.py:86 #, python-brace-format msgid "" "We also have a guide for [Setting up your organization]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:98 +#: zerver/lib/onboarding.py:96 #, python-brace-format msgid "" "Note that this is a [demo organization]({demo_organization_help_url}) and " "will be **automatically deleted** in 30 days." msgstr "" -#: zerver/lib/onboarding.py:106 +#: zerver/lib/onboarding.py:104 msgid "Hello, and welcome to Zulip!" msgstr "" -#: zerver/lib/onboarding.py:107 +#: zerver/lib/onboarding.py:105 msgid "This is a direct message from me, Welcome Bot." msgstr "" -#: zerver/lib/onboarding.py:112 +#: zerver/lib/onboarding.py:110 msgid "" "I can also help you get set up! Just click anywhere on this message or press " "`r` to reply." msgstr "" -#: zerver/lib/onboarding.py:115 zerver/lib/onboarding.py:227 +#: zerver/lib/onboarding.py:113 zerver/lib/onboarding.py:225 msgid "Here are a few messages I understand:" msgstr "" -#: zerver/lib/onboarding.py:156 +#: zerver/lib/onboarding.py:154 msgid "" "You can [download](/apps/) the [mobile and desktop apps](/apps/). Zulip also " "works great in a browser." msgstr "" -#: zerver/lib/onboarding.py:161 +#: zerver/lib/onboarding.py:159 msgid "" "Go to [Profile settings](#settings/profile) to add a [profile picture](/help/" "change-your-profile-picture) and edit your [profile information](/help/edit-" "your-profile)." msgstr "" -#: zerver/lib/onboarding.py:167 +#: zerver/lib/onboarding.py:165 msgid "" -"Go to [Display settings](#settings/display-settings) to [switch between the " -"light and dark themes](/help/dark-theme), [pick your favorite emoji theme](/" -"help/emoji-and-emoticons#change-your-emoji-set), [change your language](/" -"help/change-your-language), and make other tweaks to your Zulip experience." +"Go to [Preferences](#settings/preferences) to [switch between the light and " +"dark themes](/help/dark-theme), [pick your favorite emoji theme](/help/emoji-" +"and-emoticons#change-your-emoji-set), [change your language](/help/change-" +"your-language), and make other tweaks to your Zulip experience." msgstr "" -#: zerver/lib/onboarding.py:177 +#: zerver/lib/onboarding.py:175 msgid "" "In Zulip, streams [determine who gets a message](/help/streams-and-topics). " "They are similar to channels in other chat apps." msgstr "" -#: zerver/lib/onboarding.py:181 +#: zerver/lib/onboarding.py:179 msgid "[Browse and subscribe to streams](#streams/all)." msgstr "" -#: zerver/lib/onboarding.py:188 +#: zerver/lib/onboarding.py:186 msgid "" "In Zulip, topics [tell you what a message is about](/help/streams-and-" "topics). They are light-weight subjects, very similar to the subject line of " "an email." msgstr "" -#: zerver/lib/onboarding.py:193 +#: zerver/lib/onboarding.py:191 msgid "" "Check out [Recent conversations](#recent) to see what's happening! You can " "return to this conversation by clicking \"Direct messages\" in the upper " "left." msgstr "" -#: zerver/lib/onboarding.py:202 +#: zerver/lib/onboarding.py:200 msgid "" "Zulip's [keyboard shortcuts](#keyboard-shortcuts) let you navigate the app " "quickly and efficiently." msgstr "" -#: zerver/lib/onboarding.py:206 +#: zerver/lib/onboarding.py:204 msgid "Press `?` any time to see a [cheat sheet](#keyboard-shortcuts)." msgstr "" -#: zerver/lib/onboarding.py:213 +#: zerver/lib/onboarding.py:211 msgid "" "Zulip uses [Markdown](/help/format-your-message-using-markdown), an " "intuitive format for **bold**, *italics*, bulleted lists, and more. Click " "[here](#message-formatting) for a cheat sheet." msgstr "" -#: zerver/lib/onboarding.py:219 +#: zerver/lib/onboarding.py:217 msgid "" "Check out our [messaging tips](/help/messaging-tips) to learn about emoji " "reactions, code blocks and much more!" msgstr "" -#: zerver/lib/onboarding.py:230 +#: zerver/lib/onboarding.py:228 msgid "" "Check out our [Getting started guide](/help/getting-started-with-zulip), or " "browse the [Help center](/help/) to learn more!" msgstr "" -#: zerver/lib/onboarding.py:239 +#: zerver/lib/onboarding.py:237 msgid "" "I’m sorry, I did not understand your message. Please try one of the " "following commands:" msgstr "" -#: zerver/lib/onboarding.py:271 +#: zerver/lib/onboarding.py:269 msgid "" "This is a private stream, as indicated by the lock icon next to the stream " "name." msgstr "" -#: zerver/lib/onboarding.py:273 +#: zerver/lib/onboarding.py:271 msgid "Private streams are only visible to stream members." msgstr "" -#: zerver/lib/onboarding.py:277 +#: zerver/lib/onboarding.py:275 #, python-brace-format msgid "" "To manage this stream, go to [Stream settings]({stream_settings_url}) and " "click on `{initial_private_stream_name}`." msgstr "" -#: zerver/lib/onboarding.py:287 +#: zerver/lib/onboarding.py:285 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `topic demonstration`." msgstr "" -#: zerver/lib/onboarding.py:293 +#: zerver/lib/onboarding.py:291 msgid "Topics are a lightweight tool to keep conversations organized." msgstr "" -#: zerver/lib/onboarding.py:295 +#: zerver/lib/onboarding.py:293 #, python-brace-format msgid "" "You can learn more about topics at [Streams and topics]" "({about_topics_help_url})." msgstr "" -#: zerver/lib/onboarding.py:300 +#: zerver/lib/onboarding.py:298 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `swimming turtles`." msgstr "" -#: zerver/lib/onboarding.py:309 +#: zerver/lib/onboarding.py:307 #, python-brace-format msgid "" "[Start a new topic]({start_topic_help_url}) any time you're not replying to " @@ -4065,11 +4432,12 @@ msgid "Invalid response format" msgstr "" #: zerver/lib/push_notifications.py:341 -msgid "Invalid GCM option to bouncer: priority {!r}" +msgid "Invalid GCM option to bouncer: priority {priority!r}" msgstr "" #: zerver/lib/push_notifications.py:351 -msgid "Invalid GCM options to bouncer: {}" +#, python-brace-format +msgid "Invalid GCM options to bouncer: {options}" msgstr "" #. error @@ -4077,30 +4445,43 @@ msgstr "" msgid "Token does not exist" msgstr "" -#: zerver/lib/push_notifications.py:746 +#: zerver/lib/push_notifications.py:758 msgid "" "This organization has disabled including message content in mobile push " "notifications" msgstr "" -#: zerver/lib/push_notifications.py:835 +#: zerver/lib/push_notifications.py:847 #, python-brace-format msgid "{full_name} mentioned @{user_group_name}:" msgstr "" -#: zerver/lib/push_notifications.py:839 +#: zerver/lib/push_notifications.py:851 #, python-brace-format msgid "{full_name} mentioned you:" msgstr "" -#: zerver/lib/push_notifications.py:841 +#: zerver/lib/push_notifications.py:853 +msgid "TODO - 2" +msgstr "" + +#: zerver/lib/push_notifications.py:855 +msgid "TODO" +msgstr "" + +#: zerver/lib/push_notifications.py:857 +#, python-brace-format +msgid "{full_name} mentioned all topic participants:" +msgstr "" + +#: zerver/lib/push_notifications.py:861 #, python-brace-format msgid "{full_name} mentioned everyone:" msgstr "" #: zerver/lib/recipient_users.py:29 zerver/lib/streams.py:268 -#: zerver/lib/streams.py:276 zerver/lib/streams.py:838 -#: zerver/tornado/views.py:164 zerver/views/events_register.py:94 +#: zerver/lib/streams.py:276 zerver/lib/streams.py:846 +#: zerver/tornado/views.py:164 zerver/views/events_register.py:95 #: zerver/views/message_send.py:182 zerver/views/message_send.py:203 msgid "User not authorized for this query" msgstr "" @@ -4115,31 +4496,33 @@ msgid "You can't send direct messages outside of your organization." msgstr "" #: zerver/lib/remote_server.py:93 -msgid "Push notifications bouncer error: {}" +#, python-brace-format +msgid "Push notifications bouncer error: {error}" msgstr "" -#: zerver/lib/request.py:92 +#: zerver/lib/request.py:91 #, python-brace-format msgid "Can't decide between '{var_name1}' and '{var_name2}' arguments" msgstr "" -#: zerver/lib/request.py:104 +#: zerver/lib/request.py:103 #, python-brace-format msgid "Missing '{var_name}' argument" msgstr "" -#: zerver/lib/request.py:117 +#: zerver/lib/request.py:116 #, python-brace-format msgid "Bad value for '{var_name}': {bad_value}" msgstr "" -#: zerver/lib/request.py:395 zerver/webhooks/ifttt/view.py:36 +#: zerver/lib/request.py:394 zerver/webhooks/ifttt/view.py:36 #: zerver/webhooks/slack_incoming/view.py:42 msgid "Malformed payload" msgstr "" #: zerver/lib/request.py:443 -msgid "Argument \"{}\" is not valid JSON." +#, python-brace-format +msgid "Argument \"{name}\" is not valid JSON." msgstr "" #: zerver/lib/scheduled_messages.py:20 @@ -4167,42 +4550,47 @@ msgstr "" msgid "New members cannot send to this stream." msgstr "" -#: zerver/lib/streams.py:301 -msgid "Not authorized to send to stream '{}'" +#: zerver/lib/streams.py:302 +#, python-brace-format +msgid "Not authorized to send to stream '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:306 +#: zerver/lib/streams.py:308 msgid "Please supply 'stream'." msgstr "" -#: zerver/lib/streams.py:309 +#: zerver/lib/streams.py:311 msgid "Please choose one: 'stream' or 'stream_id'." msgstr "" -#: zerver/lib/streams.py:315 zerver/lib/streams.py:334 -#: zerver/lib/streams.py:417 zerver/lib/streams.py:483 -#: zerver/views/streams.py:399 zerver/views/user_topics.py:101 +#: zerver/lib/streams.py:317 zerver/lib/streams.py:336 +#: zerver/lib/streams.py:419 zerver/lib/streams.py:487 +#: zerver/views/streams.py:401 zerver/views/user_topics.py:101 msgid "Invalid stream ID" msgstr "" -#: zerver/lib/streams.py:459 -msgid "Stream name '{}' is already taken." +#: zerver/lib/streams.py:462 +#, python-brace-format +msgid "Stream name '{stream_name}' is already taken." msgstr "" -#: zerver/lib/streams.py:467 zerver/lib/streams.py:587 -msgid "Invalid stream name '{}'" +#: zerver/lib/streams.py:471 zerver/lib/streams.py:591 +#, python-brace-format +msgid "Invalid stream name '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:731 -msgid "Stream(s) ({}) do not exist" +#: zerver/lib/streams.py:735 +#, python-brace-format +msgid "Stream(s) ({stream_names}) do not exist" msgstr "" -#: zerver/lib/streams.py:738 zerver/views/streams.py:334 +#: zerver/lib/streams.py:744 zerver/views/streams.py:336 msgid "Web-public streams are not enabled." msgstr "" -#: zerver/lib/streams.py:767 -msgid "Default stream group with id '{}' does not exist." +#: zerver/lib/streams.py:774 +#, python-brace-format +msgid "Default stream group with id '{group_id}' does not exist." msgstr "" #: zerver/lib/string_validation.py:38 @@ -4210,19 +4598,22 @@ msgid "Stream name can't be empty!" msgstr "" #: zerver/lib/string_validation.py:42 -msgid "Stream name too long (limit: {} characters)." +#, python-brace-format +msgid "Stream name too long (limit: {max_length} characters)." msgstr "" -#: zerver/lib/string_validation.py:48 -msgid "Invalid character in stream name, at position {}!" +#: zerver/lib/string_validation.py:50 +#, python-brace-format +msgid "Invalid character in stream name, at position {position}!" msgstr "" -#: zerver/lib/string_validation.py:54 +#: zerver/lib/string_validation.py:58 msgid "Topic can't be empty!" msgstr "" -#: zerver/lib/string_validation.py:59 -msgid "Invalid character in topic, at position {}!" +#: zerver/lib/string_validation.py:63 +#, python-brace-format +msgid "Invalid character in topic, at position {position}!" msgstr "" #: zerver/lib/subscription_info.py:295 @@ -4237,46 +4628,61 @@ msgstr "" msgid "Upload would exceed your organization's upload quota." msgstr "" -#: zerver/lib/upload/base.py:67 zerver/lib/upload/base.py:83 -#: zerver/lib/upload/base.py:177 +#: zerver/lib/upload/base.py:68 zerver/lib/upload/base.py:84 +#: zerver/lib/upload/base.py:178 msgid "Could not decode image; did you upload an image file?" msgstr "" -#: zerver/lib/upload/base.py:69 zerver/lib/upload/base.py:85 -#: zerver/lib/upload/base.py:179 +#: zerver/lib/upload/base.py:70 zerver/lib/upload/base.py:86 +#: zerver/lib/upload/base.py:180 msgid "Image size exceeds limit." msgstr "" -#: zerver/lib/upload/base.py:107 +#: zerver/lib/upload/base.py:108 msgid "Corrupt animated image." msgstr "" -#: zerver/lib/upload/base.py:116 +#: zerver/lib/upload/base.py:117 msgid "Unknown animated image format." msgstr "" -#: zerver/lib/user_groups.py:44 +#: zerver/lib/user_groups.py:54 msgid "Invalid user group" msgstr "" -#: zerver/lib/user_groups.py:56 -msgid "Invalid user group ID: {}" +#: zerver/lib/user_groups.py:67 +#, python-brace-format +msgid "Invalid user group ID: {group_id}" msgstr "" -#: zerver/lib/user_groups.py:74 -msgid "'{}' must be a system user group." +#: zerver/lib/user_groups.py:87 +#, python-brace-format +msgid "'{setting_name}' must be a system user group." msgstr "" -#: zerver/lib/user_groups.py:78 -msgid "'{}' setting cannot be set to '@role:internet' group." +#: zerver/lib/user_groups.py:92 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:internet' group." msgstr "" -#: zerver/lib/user_groups.py:83 -msgid "'{}' setting cannot be set to '@role:owners' group." +#: zerver/lib/user_groups.py:99 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:owners' group." msgstr "" -#: zerver/lib/user_groups.py:88 -msgid "'{}' setting cannot be set to '@role:nobody' group." +#: zerver/lib/user_groups.py:106 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:nobody' group." +msgstr "" + +#: zerver/lib/user_groups.py:117 +#, python-brace-format +msgid "User group name cannot exceed {max_length} characters." +msgstr "" + +#: zerver/lib/user_groups.py:125 +#, python-brace-format +msgid "User group name cannot start with '{prefix}'." msgstr "" #: zerver/lib/users.py:45 @@ -4304,44 +4710,48 @@ msgstr "" msgid "Bad name or username" msgstr "" -#: zerver/lib/users.py:95 -msgid "Invalid integration '{}'." +#: zerver/lib/users.py:96 +#, python-brace-format +msgid "Invalid integration '{integration_name}'." msgstr "" -#: zerver/lib/users.py:100 -msgid "Missing configuration parameters: {}" +#: zerver/lib/users.py:102 +#, python-brace-format +msgid "Missing configuration parameters: {keys}" msgstr "" -#: zerver/lib/users.py:109 -msgid "Invalid {} value {} ({})" +#: zerver/lib/users.py:112 +#, python-brace-format +msgid "Invalid {key} value {value} ({error})" msgstr "" -#: zerver/lib/users.py:124 +#: zerver/lib/users.py:130 msgid "Invalid configuration data!" msgstr "" -#: zerver/lib/users.py:158 +#: zerver/lib/users.py:164 msgid "Invalid bot type" msgstr "" -#: zerver/lib/users.py:163 +#: zerver/lib/users.py:169 msgid "Invalid interface type" msgstr "" -#: zerver/lib/users.py:232 zerver/lib/users.py:237 zerver/models.py:4669 -msgid "Invalid user ID: {}" +#: zerver/lib/users.py:238 zerver/lib/users.py:243 zerver/models.py:4729 +#, python-brace-format +msgid "Invalid user ID: {user_id}" msgstr "" -#: zerver/lib/users.py:245 zerver/lib/users.py:247 +#: zerver/lib/users.py:251 zerver/lib/users.py:253 msgid "No such bot" msgstr "" -#: zerver/lib/users.py:271 zerver/lib/users.py:298 zerver/lib/users.py:314 +#: zerver/lib/users.py:277 zerver/lib/users.py:304 zerver/lib/users.py:320 #: zerver/views/presence.py:44 msgid "No such user" msgstr "" -#: zerver/lib/users.py:273 +#: zerver/lib/users.py:279 msgid "User is deactivated" msgstr "" @@ -4431,7 +4841,8 @@ msgid "{key_name} key is missing from {var_name}" msgstr "" #: zerver/lib/validator.py:317 -msgid "Unexpected arguments: {}" +#, python-brace-format +msgid "Unexpected arguments: {keys}" msgstr "" #: zerver/lib/validator.py:350 @@ -4493,8 +4904,9 @@ msgstr "" msgid "Missing the HTTP event header '{header}'" msgstr "" -#: zerver/lib/webhooks/common.py:231 -msgid "The {} webhook expects time in milliseconds." +#: zerver/lib/webhooks/common.py:232 +#, python-brace-format +msgid "The {webhook} webhook expects time in milliseconds." msgstr "" #: zerver/lib/zcommand.py:30 @@ -4502,201 +4914,218 @@ msgid "There should be a leading slash in the zcommand." msgstr "" #: zerver/lib/zcommand.py:79 -msgid "No such command: {}" +#, python-brace-format +msgid "No such command: {command}" msgstr "" -#: zerver/middleware.py:464 +#: zerver/middleware.py:441 #, python-brace-format msgid "CSRF error: {reason}" msgstr "" -#: zerver/models.py:503 +#: zerver/middleware.py:607 +#, python-brace-format +msgid "Reverse proxy misconfiguration: {proxy_reason}" +msgstr "" + +#: zerver/models.py:495 msgid "stream events" msgstr "" -#: zerver/models.py:634 +#: zerver/models.py:626 msgid "Available on Zulip Cloud Standard. Upgrade to access." msgstr "" -#: zerver/models.py:692 +#: zerver/models.py:684 msgid "GIPHY integration disabled" msgstr "" -#: zerver/models.py:697 +#: zerver/models.py:689 msgid "Allow GIFs rated Y (Very young audience)" msgstr "" -#: zerver/models.py:701 +#: zerver/models.py:693 msgid "Allow GIFs rated G (General audience)" msgstr "" -#: zerver/models.py:705 +#: zerver/models.py:697 msgid "Allow GIFs rated PG (Parental guidance)" msgstr "" -#: zerver/models.py:709 +#: zerver/models.py:701 msgid "Allow GIFs rated PG-13 (Parental guidance - under 13)" msgstr "" -#: zerver/models.py:713 +#: zerver/models.py:705 msgid "Allow GIFs rated R (Restricted)" msgstr "" -#: zerver/models.py:1139 +#: zerver/models.py:1123 msgid "Invalid characters in emoji name" msgstr "" -#: zerver/models.py:1263 zerver/models.py:1265 -msgid "Bad regular expression: {}" +#: zerver/models.py:1235 zerver/models.py:1238 +#, python-brace-format +msgid "Bad regular expression: {regex}" msgstr "" -#: zerver/models.py:1266 +#: zerver/models.py:1240 msgid "Unknown regular expression error" msgstr "" -#: zerver/models.py:1274 +#: zerver/models.py:1248 msgid "Invalid URL template." msgstr "" -#: zerver/models.py:1318 +#: zerver/models.py:1292 #, python-format msgid "Group %(name)r in URL template is not present in linkifier pattern." msgstr "" -#: zerver/models.py:1330 +#: zerver/models.py:1304 #, python-format msgid "Group %(name)r in linkifier pattern is not present in URL template." msgstr "" -#: zerver/models.py:1408 zerver/views/realm_playgrounds.py:25 +#: zerver/models.py:1382 zerver/views/realm_playgrounds.py:24 msgid "Invalid characters in pygments language" msgstr "" -#: zerver/models.py:1652 +#: zerver/models.py:1412 +msgid "Missing the required variable \"code\" in the URL template" +msgstr "" + +#: zerver/models.py:1417 +msgid "\"code\" should be the only variable present in the URL template" +msgstr "" + +#: zerver/models.py:1660 msgid "Admins, moderators, members and guests" msgstr "" -#: zerver/models.py:1653 +#: zerver/models.py:1661 msgid "Admins, moderators and members" msgstr "" -#: zerver/models.py:1654 +#: zerver/models.py:1662 msgid "Admins and moderators" msgstr "" -#: zerver/models.py:1655 +#: zerver/models.py:1663 msgid "Admins only" msgstr "" -#: zerver/models.py:1656 +#: zerver/models.py:1664 msgid "Nobody" msgstr "" -#: zerver/models.py:1960 +#: zerver/models.py:1973 msgid "Organization owner" msgstr "" -#: zerver/models.py:1961 +#: zerver/models.py:1974 msgid "Organization administrator" msgstr "" -#: zerver/models.py:1962 +#: zerver/models.py:1975 msgid "Moderator" msgstr "" -#: zerver/models.py:1963 +#: zerver/models.py:1976 msgid "Member" msgstr "" -#: zerver/models.py:1964 +#: zerver/models.py:1977 msgid "Guest" msgstr "" -#: zerver/models.py:2531 +#: zerver/models.py:2557 msgid "Web-public" msgstr "" -#: zerver/models.py:2537 +#: zerver/models.py:2563 msgid "Public" msgstr "" -#: zerver/models.py:2543 +#: zerver/models.py:2569 msgid "Private, shared history" msgstr "" -#: zerver/models.py:2549 +#: zerver/models.py:2575 msgid "Private, protected history" msgstr "" -#: zerver/models.py:2557 +#: zerver/models.py:2583 msgid "Public, protected history" msgstr "" -#: zerver/models.py:2577 +#: zerver/models.py:2603 msgid "All stream members can post" msgstr "" -#: zerver/models.py:2578 +#: zerver/models.py:2604 msgid "Only organization administrators can post" msgstr "" -#: zerver/models.py:2580 +#: zerver/models.py:2606 msgid "Only organization administrators and moderators can post" msgstr "" -#: zerver/models.py:2583 +#: zerver/models.py:2609 msgid "Only organization full members can post" msgstr "" -#: zerver/models.py:3209 +#: zerver/models.py:3222 msgid "Unicode emoji" msgstr "" -#: zerver/models.py:3210 +#: zerver/models.py:3223 msgid "Custom emoji" msgstr "" -#: zerver/models.py:3211 +#: zerver/models.py:3224 msgid "Zulip extra emoji" msgstr "" -#: zerver/models.py:4672 -msgid "User with ID {} is deactivated" +#: zerver/models.py:4733 +#, python-brace-format +msgid "User with ID {user_id} is deactivated" msgstr "" -#: zerver/models.py:4675 -msgid "User with ID {} is a bot" +#: zerver/models.py:4737 +#, python-brace-format +msgid "User with ID {user_id} is a bot" msgstr "" -#: zerver/models.py:4715 +#: zerver/models.py:4777 msgid "List of options" msgstr "" -#: zerver/models.py:4718 +#: zerver/models.py:4780 msgid "Person picker" msgstr "" -#: zerver/models.py:4730 +#: zerver/models.py:4792 msgid "Short text" msgstr "" -#: zerver/models.py:4731 +#: zerver/models.py:4793 msgid "Long text" msgstr "" -#: zerver/models.py:4732 +#: zerver/models.py:4794 msgid "Date picker" msgstr "" -#: zerver/models.py:4733 +#: zerver/models.py:4795 msgid "Link" msgstr "" -#: zerver/models.py:4736 +#: zerver/models.py:4798 msgid "External account" msgstr "" -#: zerver/models.py:4741 +#: zerver/models.py:4803 msgid "Pronouns" msgstr "" @@ -4712,20 +5141,20 @@ msgstr "" msgid "An unknown browser" msgstr "" -#: zerver/tornado/event_queue.py:673 +#: zerver/tornado/event_queue.py:678 msgid "Missing 'queue_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:676 +#: zerver/tornado/event_queue.py:681 msgid "Missing 'last_event_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:683 +#: zerver/tornado/event_queue.py:688 #, python-brace-format msgid "An event newer than {event_id} has already been pruned!" msgstr "" -#: zerver/tornado/event_queue.py:693 +#: zerver/tornado/event_queue.py:698 #, python-brace-format msgid "Event {event_id} was not in this queue" msgstr "" @@ -4793,20 +5222,22 @@ msgstr "" msgid "Default custom field cannot be updated." msgstr "" -#: zerver/views/development/dev_login.py:98 +#: zerver/views/development/dev_login.py:100 msgid "Endpoint not available in production." msgstr "" -#: zerver/views/development/dev_login.py:100 +#: zerver/views/development/dev_login.py:102 msgid "DevAuthBackend not enabled." msgstr "" -#: zerver/views/events_register.py:107 zerver/views/events_register.py:111 -msgid "Invalid '{}' parameter for anonymous request" +#: zerver/views/events_register.py:108 zerver/views/events_register.py:112 +#, python-brace-format +msgid "Invalid '{key}' parameter for anonymous request" msgstr "" #: zerver/views/hotspots.py:19 -msgid "Unknown hotspot: {}" +#, python-brace-format +msgid "Unknown hotspot: {hotspot}" msgstr "" #: zerver/views/invite.py:72 @@ -4814,25 +5245,27 @@ msgid "You must specify at least one email address." msgstr "" #: zerver/views/invite.py:82 -msgid "Stream does not exist with id: {}. No invites were sent." +#, python-brace-format +msgid "Stream does not exist with id: {stream_id}. No invites were sent." msgstr "" -#: zerver/views/invite.py:87 +#: zerver/views/invite.py:89 msgid "You do not have permission to subscribe other users to streams." msgstr "" -#: zerver/views/invite.py:124 zerver/views/invite.py:127 -#: zerver/views/invite.py:146 zerver/views/invite.py:149 -#: zerver/views/invite.py:168 zerver/views/invite.py:173 +#: zerver/views/invite.py:126 zerver/views/invite.py:129 +#: zerver/views/invite.py:148 zerver/views/invite.py:151 +#: zerver/views/invite.py:170 zerver/views/invite.py:175 msgid "No such invitation" msgstr "" -#: zerver/views/invite.py:154 +#: zerver/views/invite.py:156 msgid "Invitation has already been revoked" msgstr "" -#: zerver/views/invite.py:207 -msgid "Invalid stream ID {}. No invites were sent." +#: zerver/views/invite.py:210 +#, python-brace-format +msgid "Invalid stream ID {stream_id}. No invites were sent." msgstr "" #: zerver/views/message_edit.py:98 @@ -4852,7 +5285,8 @@ msgid "Message already deleted" msgstr "" #: zerver/views/message_fetch.py:99 -msgid "Too many messages requested (maximum {})." +#, python-brace-format +msgid "Too many messages requested (maximum {max_messages})." msgstr "" #: zerver/views/message_fetch.py:104 zerver/views/message_flags.py:85 @@ -4860,7 +5294,8 @@ msgid "The anchor can only be excluded at an end of the range" msgstr "" #: zerver/views/message_flags.py:169 -msgid "No such topic '{}'" +#, python-brace-format +msgid "No such topic '{topic}'" msgstr "" #: zerver/views/message_send.py:201 @@ -4904,13 +5339,14 @@ msgstr "" msgid "Client did not pass any new values." msgstr "" -#: zerver/views/presence.py:106 +#: zerver/views/presence.py:108 msgid "" "Client must pass emoji_name if they pass either emoji_code or reaction_type." msgstr "" -#: zerver/views/presence.py:144 -msgid "Invalid status: {}" +#: zerver/views/presence.py:146 +#, python-brace-format +msgid "Invalid status: {status}" msgstr "" #: zerver/views/push_notifications.py:19 @@ -4927,36 +5363,36 @@ msgid "" "emoji_code" msgstr "" -#: zerver/views/reactions.py:68 -msgid "Reaction doesn't exist." -msgstr "" - #: zerver/views/read_receipts.py:22 msgid "Read receipts are disabled in this organization." msgstr "" #: zerver/views/realm.py:160 -msgid "Invalid language '{}'" +#, python-brace-format +msgid "Invalid language '{language}'" msgstr "" #: zerver/views/realm.py:165 msgid "At least one authentication method must be enabled." msgstr "" -#: zerver/views/realm.py:169 -msgid "Invalid video_chat_provider {}" +#: zerver/views/realm.py:170 +#, python-brace-format +msgid "Invalid video_chat_provider {video_chat_provider}" msgstr "" -#: zerver/views/realm.py:173 -msgid "Invalid giphy_rating {}" +#: zerver/views/realm.py:178 +#, python-brace-format +msgid "Invalid giphy_rating {giphy_rating}" msgstr "" -#: zerver/views/realm.py:336 +#: zerver/views/realm.py:335 msgid "Must be a demo organization." msgstr "" #: zerver/views/realm_domains.py:36 -msgid "Invalid domain: {}" +#, python-brace-format +msgid "Invalid domain: {error}" msgstr "" #: zerver/views/realm_domains.py:39 @@ -4969,18 +5405,19 @@ msgstr "" msgid "No entry found for domain {domain}." msgstr "" -#: zerver/views/realm_emoji.py:38 +#: zerver/views/realm_emoji.py:40 msgid "You must upload exactly one file." msgstr "" -#: zerver/views/realm_emoji.py:40 +#: zerver/views/realm_emoji.py:42 msgid "Only administrators can override default emoji." msgstr "" -#: zerver/views/realm_emoji.py:46 zerver/views/realm_icon.py:27 +#: zerver/views/realm_emoji.py:48 zerver/views/realm_icon.py:27 #: zerver/views/realm_logo.py:33 zerver/views/upload.py:278 -#: zerver/views/user_settings.py:352 -msgid "Uploaded file is larger than the allowed limit of {} MiB" +#: zerver/views/user_settings.py:371 +#, python-brace-format +msgid "Uploaded file is larger than the allowed limit of {max_size} MiB" msgstr "" #: zerver/views/realm_export.py:45 @@ -5020,7 +5457,7 @@ msgstr "" msgid "You must upload exactly one logo." msgstr "" -#: zerver/views/realm_playgrounds.py:33 +#: zerver/views/realm_playgrounds.py:32 msgid "Invalid playground" msgstr "" @@ -5057,63 +5494,65 @@ msgstr "" msgid "Invalid value for \"op\". Specify one of \"add\" or \"remove\"." msgstr "" -#: zerver/views/streams.py:322 +#: zerver/views/streams.py:324 msgid "Default streams cannot be made private." msgstr "" -#: zerver/views/streams.py:370 +#: zerver/views/streams.py:372 msgid "Stream already has that name!" msgstr "" -#: zerver/views/streams.py:452 zerver/views/user_groups.py:108 -#: zerver/views/user_groups.py:285 +#: zerver/views/streams.py:454 zerver/views/user_groups.py:168 +#: zerver/views/user_groups.py:347 msgid "Nothing to do. Specify at least one of \"add\" or \"delete\"." msgstr "" -#: zerver/views/streams.py:536 +#: zerver/views/streams.py:538 #, python-brace-format msgid "{user_full_name} subscribed you to the stream {stream_name}." msgstr "" -#: zerver/views/streams.py:542 +#: zerver/views/streams.py:544 #, python-brace-format msgid "{user_full_name} subscribed you to the following streams:" msgstr "" -#: zerver/views/streams.py:646 +#: zerver/views/streams.py:655 #, python-brace-format msgid "Unable to access stream ({stream_name})." msgstr "" -#: zerver/views/streams.py:659 +#: zerver/views/streams.py:668 msgid "You can only invite other Zephyr mirroring users to private streams." msgstr "" -#: zerver/views/streams.py:767 +#: zerver/views/streams.py:776 #, python-brace-format msgid "{user_name} created the following streams: {stream_str}." msgstr "" -#: zerver/views/streams.py:769 +#: zerver/views/streams.py:778 #, python-brace-format msgid "{user_name} created a new stream {stream_str}." msgstr "" -#: zerver/views/streams.py:770 +#: zerver/views/streams.py:779 msgid "new streams" msgstr "" -#: zerver/views/streams.py:802 +#: zerver/views/streams.py:811 #, python-brace-format msgid "**{policy}** stream created by {user_name}. **Description:**" msgstr "" -#: zerver/views/streams.py:1050 -msgid "Unknown subscription property: {}" +#: zerver/views/streams.py:1060 +#, python-brace-format +msgid "Unknown subscription property: {property}" msgstr "" -#: zerver/views/streams.py:1054 -msgid "Not subscribed to stream id {}" +#: zerver/views/streams.py:1066 +#, python-brace-format +msgid "Not subscribed to stream id {stream_id}" msgstr "" #: zerver/views/submessage.py:38 @@ -5137,7 +5576,7 @@ msgid "User has disabled typing notifications for direct messages" msgstr "" #: zerver/views/upload.py:183 -msgid "

File not found.

" +msgid "

This file does not exist or has been deleted.

" msgstr "" #: zerver/views/upload.py:223 @@ -5157,42 +5596,43 @@ msgstr "" msgid "You may only upload one file at a time" msgstr "" -#: zerver/views/user_groups.py:74 +#: zerver/views/user_groups.py:111 msgid "No new data supplied" msgstr "" -#: zerver/views/user_groups.py:149 +#: zerver/views/user_groups.py:209 #, python-brace-format msgid "{user_full_name} added you to the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:154 +#: zerver/views/user_groups.py:214 #, python-brace-format msgid "{user_full_name} removed you from the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:185 +#: zerver/views/user_groups.py:245 #, python-brace-format msgid "User {user_id} is already a member of this group" msgstr "" -#: zerver/views/user_groups.py:212 -msgid "There is no member '{}' in this user group" +#: zerver/views/user_groups.py:273 +#, python-brace-format +msgid "There is no member '{user_id}' in this user group" msgstr "" -#: zerver/views/user_groups.py:237 +#: zerver/views/user_groups.py:299 #, python-brace-format msgid "User group {group_id} is already a subgroup of this group." msgstr "" -#: zerver/views/user_groups.py:246 +#: zerver/views/user_groups.py:308 #, python-brace-format msgid "" "User group {user_group_id} is already a subgroup of one of the passed " "subgroups." msgstr "" -#: zerver/views/user_groups.py:266 +#: zerver/views/user_groups.py:328 #, python-brace-format msgid "User group {group_id} is not a subgroup of this group." msgstr "" @@ -5201,7 +5641,7 @@ msgstr "" msgid "Avatar changes are disabled in this organization." msgstr "" -#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:293 +#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:312 msgid "Email address changes are disabled in this organization." msgstr "" @@ -5209,31 +5649,34 @@ msgstr "" msgid "Invalid default_language" msgstr "" -#: zerver/views/user_settings.py:133 -msgid "Invalid notification sound '{}'" +#: zerver/views/user_settings.py:134 +#, python-brace-format +msgid "Invalid notification sound '{notification_sound}'" msgstr "" -#: zerver/views/user_settings.py:141 -msgid "Invalid email batching period: {} seconds" +#: zerver/views/user_settings.py:145 +#, python-brace-format +msgid "Invalid email batching period: {seconds} seconds" msgstr "" -#: zerver/views/user_settings.py:248 +#: zerver/views/user_settings.py:267 msgid "Your Zulip password is managed in LDAP" msgstr "" -#: zerver/views/user_settings.py:258 +#: zerver/views/user_settings.py:277 msgid "Wrong password!" msgstr "" -#: zerver/views/user_settings.py:263 -msgid "You're making too many attempts! Try again in {} seconds." +#: zerver/views/user_settings.py:282 +#, python-brace-format +msgid "You're making too many attempts! Try again in {seconds} seconds." msgstr "" -#: zerver/views/user_settings.py:269 +#: zerver/views/user_settings.py:288 msgid "New password is too weak!" msgstr "" -#: zerver/views/user_settings.py:342 +#: zerver/views/user_settings.py:361 msgid "You must upload exactly one avatar." msgstr "" @@ -5294,7 +5737,8 @@ msgid "Disposable email addresses are not allowed in this organization" msgstr "" #: zerver/views/users.py:712 -msgid "Email '{}' already in use" +#, python-brace-format +msgid "Email '{email}' already in use" msgstr "" #: zerver/views/video_calls.py:47 @@ -5353,7 +5797,7 @@ msgstr "" msgid "We were unable to set up mirroring for you" msgstr "" -#: zerver/webhooks/circleci/view.py:76 +#: zerver/webhooks/circleci/view.py:83 msgid "Projects using this version control system provider aren't supported" msgstr "" @@ -5362,7 +5806,7 @@ msgstr "" msgid "Invalid payload" msgstr "" -#: zerver/webhooks/front/view.py:155 +#: zerver/webhooks/front/view.py:151 msgid "Unknown webhook request" msgstr "" @@ -5410,10 +5854,11 @@ msgid "Message from Slack" msgstr "" #: zerver/webhooks/wordpress/view.py:56 -msgid "Unknown WordPress webhook action: {}" +#, python-brace-format +msgid "Unknown WordPress webhook action: {hook}" msgstr "" -#: zerver/worker/queue_processors.py:1123 +#: zerver/worker/queue_processors.py:1114 #, python-brace-format msgid "" "Your data export is complete and has been uploaded here:\n" @@ -5440,7 +5885,8 @@ msgid "Invalid token type" msgstr "" #: zilencer/views.py:109 -msgid "{} is not a valid hostname" +#, python-brace-format +msgid "{hostname} is not a valid hostname" msgstr "" #: zilencer/views.py:162 @@ -5448,7 +5894,8 @@ msgid "Missing user_id or user_uuid" msgstr "" #: zilencer/views.py:373 -msgid "Invalid property {}" +#, python-brace-format +msgid "Invalid property {property}" msgstr "" #: zilencer/views.py:375 @@ -5471,10 +5918,10 @@ msgstr "" msgid "Missing id_token parameter" msgstr "" -#: zproject/backends.py:2903 +#: zproject/backends.py:2902 msgid "Invalid OTP" msgstr "" -#: zproject/backends.py:2906 +#: zproject/backends.py:2905 msgid "Can't use both mobile_flow_otp and desktop_flow_otp together." msgstr "" diff --git a/locale/lv/translations.json b/locale/lv/translations.json index ea1feff276..c376c91f20 100644 --- a/locale/lv/translations.json +++ b/locale/lv/translations.json @@ -83,6 +83,7 @@ "Add all users": "", "Add another user...": "", "Add code playground": "", + "Add default streams": "", "Add emoji": "", "Add emoji reaction": "", "Add extra emoji for members of the {realm_name} organization.": "", @@ -90,7 +91,6 @@ "Add linkifier": "", "Add members": "", "Add member…": "", - "Add new default stream": "", "Add new user group": "", "Add one or more users": "", "Add option": "", @@ -150,6 +150,7 @@ "Archive ?": "", "Archive stream": "", "Archiving stream will immediately unsubscribe everyone. This action cannot be undone.": "", + "Archiving this stream will also disable settings that were configured to use this stream:": "", "Are you sure you want to continue?": "", "Are you sure you want to create stream ''''{stream_name}'''' and subscribe {count} users to it?": "", "Are you sure you want to deactivate this organization?": "", @@ -218,6 +219,7 @@ "Click here to reveal.": "", "Click on the pencil () icon to edit and reschedule a message.": "", "Click outside the input box to save. We'll automatically notify anyone that was added or removed.": "", + "Click to view edit history.": "", "Click to view or download.": "", "Close": "", "Close modal": "", @@ -360,7 +362,6 @@ "Display my availability to other users": "", "Display names of reacting users when few users have reacted to a message": "", "Display on user card": "", - "Display settings": "", "Do you still want to move the latest {total_messages_allowed_to_move, plural, one {message} other {# messages}}?": "", "Do you want to add everyone?": "", "Domain": "", @@ -388,7 +389,6 @@ "Edit custom profile field": "", "Edit linkfiers": "", "Edit message": "", - "Edit or reschedule message": "", "Edit selected draft": "", "Edit selected message or view source": "", "Edit status": "", @@ -398,7 +398,6 @@ "Edit your last message": "", "Edit your profile": "", "Edit {group_name}": "", - "Edited ({last_edit_timestr})": "", "Edited by {full_name}": "", "Education (for-profit)": "", "Education (non-profit)": "", @@ -461,6 +460,7 @@ "External account type": "", "External link": "", "Failed": "", + "Failed adding one or more streams.": "", "Failed to create video call.": "", "Failed to generate preview": "", "Failed to upload %'{file}'": "", @@ -500,6 +500,9 @@ "First message": "", "First time? Read our guidelines for creating and naming streams.": "", "First time? Read our guidelines for creating user groups.": "", + "Follow topic": "", + "Followed": "", + "Followed topics": "", "For example, to configure a code playground for code blocks tagged as Python, you can set:": "", "For more examples and technical details, see the help center documentation on adding code playgrounds.": "", "For more examples, see the help center documentation on adding linkifiers.": "", @@ -600,8 +603,10 @@ "Last 30 days": "", "Last 6 months": "", "Last active": "", + "Last edited {last_edit_timestr}": "", "Last message": "", "Last modified": "", + "Last moved {last_edit_timestr}": "", "Learn more": "", "Learn more about mentions here.": "", "Learn more about starring messages here.": "", @@ -624,6 +629,7 @@ "Log out": "", "Looking for our integrations or API documentation?": "", "MOVED": "", + "Main menu": "", "Manage bot": "", "Manage streams": "", "Manage this bot": "", @@ -647,7 +653,6 @@ "Mention a time-zone-aware time": "", "Mentioned in": "", "Mentions": "", - "Menu": "", "Menus": "", "Message #{stream_name}": "", "Message #{stream_name} > {topic_name}": "", @@ -682,7 +687,6 @@ "Move some messages?": "", "Move this and all following messages in this topic": "", "Move topic": "", - "Moved ({last_edit_timestr})": "", "Moved by {full_name}": "", "Moving messages": "", "Must be invited by a subscriber; new subscribers can only see messages sent after they join; hidden from non-administrator users": "", @@ -735,9 +739,11 @@ "New password is too weak": "", "New stream announcements": "", "New stream message": "", + "New stream notifications": "", "New task": "", "New topic": "", "New user announcements": "", + "New user notifications": "", "Next message": "", "Next unread direct message": "", "Next unread topic": "", @@ -760,7 +766,6 @@ "No search results": "", "No search results.": "", "No stream subscriptions.": "", - "No streams": "", "No topics are marked as resolved.": "", "No topics match your current filter.": "", "No user group subscriptions.": "", @@ -860,6 +865,7 @@ "Please specify at least one valid recipient.": "", "Political group": "", "Posted by {full_name}": "", + "Preferences": "", "Press > for list of topics": "", "Prevent users from changing their avatar": "", "Prevent users from changing their email address": "", @@ -1105,7 +1111,6 @@ "Time zone": "", "Time's up!": "", "Tip: You can also send \"/poll Some question\"": "", - "To add syntax highlighting to a multi-line code block, add the language's first Pygments short name after the first set of back-ticks. You can also make a code block by indenting each line with 4 spaces.": "", "To invite users, please increase the number of licenses or deactivate inactive users.": "", "To preserve your reading state, this view does not mark messages as read.": "", "Today": "", @@ -1127,7 +1132,6 @@ "Two factor authentication": "", "Type": "", "URL pattern": "", - "URL prefix": "", "URL template": "", "USERS": "", "Uncheck all": "", @@ -1339,13 +1343,13 @@ "Zulip Server {display_version}": "", "Zulip Server {display_version} (modified)": "", "Zulip Server {display_version} (patched)": "", + "Zulip lets you configure notifications for each topic. You can also automatically follow or unmute topics you start or participate in.": "", "Zulip lets you mute topics and streams to avoid receiving notifications messages you are not interested in. Muting a stream effectively mutes all topics in that stream. You can also manually mute a topic in an unmuted stream, or unmute a topic in a muted stream. Learn more.": "", "Zulip needs to send email to confirm users' addresses and send notifications.": "", "Zulip needs your permission to enable desktop notifications.": "", "Zulip's translations are contributed by our amazing community of volunteer translators. If you'd like to help, see the Zulip translation guidelines.": "", "[Configure]": "", "[Disable]": "", - "[More…]": "", "[Quoting…]": "", "[Unset]": "", "and {remaining_senders, plural, one {1 other} other {# others}}.": "", diff --git a/locale/ml/LC_MESSAGES/django.po b/locale/ml/LC_MESSAGES/django.po index fd230e9239..5731b7fda9 100644 --- a/locale/ml/LC_MESSAGES/django.po +++ b/locale/ml/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Zulip\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-13 19:19+0000\n" +"POT-Creation-Date: 2023-07-26 03:33+0000\n" "PO-Revision-Date: 2021-05-27 07:08+0000\n" "Last-Translator: Akash Nimare \n" "Language-Team: Malayalam (http://www.transifex.com/zulip/zulip/language/" @@ -20,7 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: analytics/views/stats.py:110 zerver/decorator.py:623 zerver/decorator.py:641 +#: analytics/views/stats.py:110 zerver/decorator.py:628 zerver/decorator.py:646 msgid "Not allowed for guest users" msgstr "" @@ -49,7 +49,8 @@ msgid "Group direct messages" msgstr "സ്വകാര്യ സന്ദേശങ്ങൾ" #: analytics/views/stats.py:318 -msgid "Unknown chart name: {}" +#, python-brace-format +msgid "Unknown chart name: {chart_name}" msgstr "" #: analytics/views/stats.py:328 @@ -62,8 +63,8 @@ msgid "No analytics data available. Please contact your server administrator." msgstr "" "അനലിറ്റിക്സ് ഡാറ്റയൊന്നും ലഭ്യമല്ല. ദയവായി നിങ്ങളുടെ സെർവർ അഡ്മിനിസ്ട്രേറ്ററെ ബന്ധപ്പെടുക." -#: analytics/views/support.py:189 zerver/views/streams.py:304 -#: zerver/views/streams.py:308 zerver/views/streams.py:316 +#: analytics/views/support.py:189 zerver/views/streams.py:306 +#: zerver/views/streams.py:310 zerver/views/streams.py:318 msgid "Invalid parameters" msgstr "" @@ -120,30 +121,32 @@ msgid "" "{num_invites} users." msgstr "" -#: corporate/lib/stripe.py:112 -msgid "You must invoice for at least {} users." +#: corporate/lib/stripe.py:113 +#, python-brace-format +msgid "You must invoice for at least {min_licenses} users." msgstr "" -#: corporate/lib/stripe.py:117 +#: corporate/lib/stripe.py:120 +#, python-brace-format msgid "" -"Invoices with more than {} licenses can't be processed from this page. To " -"complete the upgrade, please contact {}." +"Invoices with more than {max_licenses} licenses can't be processed from this " +"page. To complete the upgrade, please contact {email}." msgstr "" -#: corporate/lib/stripe.py:225 +#: corporate/lib/stripe.py:228 #, python-brace-format msgid "Something went wrong. Please contact {email}." msgstr "" -#: corporate/lib/stripe.py:226 +#: corporate/lib/stripe.py:229 msgid "Something went wrong. Please reload the page." msgstr "" -#: corporate/lib/stripe.py:300 +#: corporate/lib/stripe.py:303 msgid "Something went wrong. Please wait a few seconds and try again." msgstr "" -#: corporate/lib/stripe.py:1020 +#: corporate/lib/stripe.py:1023 #, python-brace-format msgid "" "Your organization's request for sponsored hosting has been approved! You " @@ -177,7 +180,7 @@ msgstr "" msgid "Unable to update the plan. The plan has ended." msgstr "" -#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:253 +#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:251 msgid "" "Unable to update licenses manually. Your plan is on automatic license " "management." @@ -193,14 +196,14 @@ msgstr "" msgid "You cannot decrease the licenses in the current billing period." msgstr "" -#: corporate/views/billing_page.py:259 +#: corporate/views/billing_page.py:257 #, python-brace-format msgid "" "Your plan is already scheduled to renew with {licenses_at_next_renewal} " "licenses." msgstr "" -#: corporate/views/billing_page.py:273 +#: corporate/views/billing_page.py:271 msgid "Nothing to change." msgstr "" @@ -214,7 +217,7 @@ msgstr "നിഷ്ക്രീയമാക്കിയ സംഘടന" msgid "Session not found" msgstr "" -#: corporate/views/event_status.py:37 zerver/decorator.py:196 +#: corporate/views/event_status.py:37 zerver/decorator.py:197 msgid "Must be a billing administrator or an organization owner" msgstr "" @@ -265,7 +268,7 @@ msgid "" msgstr "" #: templates/500.html:4 templates/500.html:21 -#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:433 +#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:410 msgid "Internal server error" msgstr "" @@ -583,7 +586,7 @@ msgstr "" #: templates/corporate/for/events.html:34 #: templates/corporate/for/events.html:288 #: templates/corporate/for/open-source.html:36 -#: templates/corporate/for/open-source.html:720 +#: templates/corporate/for/open-source.html:727 #: templates/corporate/for/research.html:36 #: templates/corporate/for/research.html:402 #: templates/corporate/for/use-cases.html:23 @@ -603,7 +606,7 @@ msgstr "" #: templates/corporate/for/events.html:40 #: templates/corporate/for/events.html:294 #: templates/corporate/for/open-source.html:42 -#: templates/corporate/for/open-source.html:726 +#: templates/corporate/for/open-source.html:733 #: templates/corporate/for/research.html:42 #: templates/corporate/for/research.html:408 #: templates/corporate/for/use-cases.html:29 @@ -617,7 +620,7 @@ msgstr "സുലിപ്പിനെക്കുറിച്ച്" #: templates/corporate/for/events.html:37 #: templates/corporate/for/events.html:291 #: templates/corporate/for/open-source.html:39 -#: templates/corporate/for/open-source.html:723 +#: templates/corporate/for/open-source.html:730 #: templates/corporate/for/research.html:39 #: templates/corporate/for/research.html:405 msgid "Request sponsorship" @@ -895,54 +898,54 @@ msgid "Sign up with %(identity_provider)s" msgstr "" #: templates/zerver/accounts_send_confirm.html:5 +#: templates/zerver/accounts_send_confirm.html:17 #, fuzzy #| msgid "One or more email addresses..." msgid "Confirm your email address" msgstr "ഒന്നോ അതിൽ കൂടുതലോ ഈമെയിൽ വിലാസങ്ങൾ" -#: templates/zerver/accounts_send_confirm.html:17 -msgid "Thanks for signing up!" -msgstr "സൈനപ്പ് ചെയ്തതിനു നന്ദി" - #: templates/zerver/accounts_send_confirm.html:21 #, python-format msgid "" -"Check your email (%(email)s) so " -"we can get started." +"To complete your registration, check your email account (%(email)s) for a confirmation email " +"from Zulip." msgstr "" #: templates/zerver/accounts_send_confirm.html:25 msgid "" -"Still no email? We can resend it." +"If you don't see a confirmation email in your Inbox or Spam folder, we can " +"resend it." msgstr "" -#: templates/zerver/accounts_send_confirm.html:26 -msgid "Just in case, take a look at your Spam folder." -msgstr "" - -#: templates/zerver/app/index.html:121 +#: templates/zerver/app/index.html:128 msgid "" -"If this message does not go away, try reloading the " -"page." +"If this message does not go away, try reloading " +"the page." msgstr "" -#: templates/zerver/app/index.html:164 +#: templates/zerver/app/index.html:131 +msgid "" +"Error loading Zulip. Try reloading the page." +msgstr "" + +#: templates/zerver/app/index.html:174 msgid "Unable to connect to Zulip." msgstr "" -#: templates/zerver/app/index.html:165 +#: templates/zerver/app/index.html:175 msgid "Updates may be delayed." msgstr "" -#: templates/zerver/app/index.html:166 +#: templates/zerver/app/index.html:176 msgid "Retrying soon…" msgstr "" -#: templates/zerver/app/index.html:167 +#: templates/zerver/app/index.html:177 msgid "Try now." msgstr "" -#: templates/zerver/app/index.html:241 templates/zerver/app/index.html:243 +#: templates/zerver/app/index.html:251 templates/zerver/app/index.html:253 msgid "Messages" msgstr "" @@ -971,6 +974,7 @@ msgstr "" #: templates/zerver/billing_nav.html:4 #: templates/zerver/development/integrations_dev_panel.html:19 +#: templates/zerver/emails/compiled/followup_day2.html:28 #: templates/zerver/portico-header.html:5 #: templates/zerver/portico-header.html:9 msgid "Zulip" @@ -1211,6 +1215,8 @@ msgstr "സാധാരണ ഉപയോക്താക്കൾ" msgid "Digest" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:9 +#: templates/zerver/emails/compiled/notify_change_in_email.html:9 #: templates/zerver/emails/confirm_new_email.html:8 #: templates/zerver/emails/confirm_new_email.txt:1 #: templates/zerver/emails/notify_change_in_email.html:8 @@ -1218,6 +1224,7 @@ msgstr "" msgid "Hi," msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:11 #: templates/zerver/emails/confirm_new_email.html:10 #: templates/zerver/emails/confirm_new_email.txt:4 #, python-format @@ -1227,10 +1234,12 @@ msgid "" "please click below:" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:12 #: templates/zerver/emails/confirm_new_email.html:11 msgid "Confirm email change" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:14 #: templates/zerver/emails/confirm_new_email.html:13 #, python-format msgid "" @@ -1238,6 +1247,627 @@ msgid "" "%(support_email)s." msgstr "" +#: templates/zerver/emails/compiled/confirm_registration.html:11 +#: templates/zerver/emails/confirm_registration.html:10 +#: templates/zerver/emails/confirm_registration.txt:2 +msgid "You have requested a new Zulip organization. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:13 +#: templates/zerver/emails/confirm_registration.html:12 +#: templates/zerver/emails/confirm_registration.txt:4 +msgid "You recently signed up for Zulip. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:18 +#: templates/zerver/emails/confirm_registration.html:17 +msgid "" +"Click the button below to create the organization and register your account." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:20 +#: templates/zerver/emails/confirm_registration.html:19 +msgid "Click the button below to complete registration." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:22 +#: templates/zerver/emails/compiled/invitation.html:17 +#: templates/zerver/emails/compiled/invitation_reminder.html:15 +#: templates/zerver/emails/confirm_registration.html:21 +#: templates/zerver/emails/invitation.html:16 +#: templates/zerver/emails/invitation_reminder.html:14 +msgid "Complete registration" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:24 +#: templates/zerver/emails/compiled/invitation.html:20 +#: templates/zerver/emails/compiled/realm_reactivation.html:20 +#, python-format +msgid "" +"Contact us any time at %(support_email)s if you run into trouble, have any " +"feedback, or just want to chat!" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:8 +#, python-format +msgid "" +"\n" +"Your Zulip account on %(realm_uri)s has been deactivated, and you will " +"no longer be able to log in.\n" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:15 +#: templates/zerver/emails/deactivate.html:15 +#: templates/zerver/emails/deactivate.txt:6 +msgid "The administrators provided the following comment:" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:28 +#: templates/zerver/emails/digest.html:27 +msgid "New streams" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:35 +#: templates/zerver/emails/digest.html:34 +msgid "Click here to log in to Zulip and catch up." +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:40 +#: templates/zerver/emails/compiled/followup_day2.html:34 +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/custom_email_base.pre.html:18 +#: templates/zerver/emails/digest.html:39 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Manage email preferences" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:41 +#: templates/zerver/emails/digest.html:40 +msgid "Unsubscribe from digest emails" +msgstr "" + +#: templates/zerver/emails/compiled/email_base_default.html:95 +#: templates/zerver/emails/compiled/email_base_marketing.html:95 +#: templates/zerver/emails/email_base_default.html:33 +#: templates/zerver/emails/email_base_marketing.html:33 +msgid "Swimming fish" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:9 +#: templates/zerver/emails/find_team.html:8 +#: templates/zerver/emails/find_team.txt:1 +#, fuzzy +#| msgid "Thanks for signing up!" +msgid "Thanks for your request!" +msgstr "സൈനപ്പ് ചെയ്തതിനു നന്ദി" + +#: templates/zerver/emails/compiled/find_team.html:11 +#, python-format +msgid "" +"Your email address %(email)s has accounts with the following Zulip " +"organizations hosted by %(external_host)s:" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:19 +#: templates/zerver/emails/find_team.html:18 +#: templates/zerver/emails/find_team.txt:10 +msgid "" +"If you have trouble logging in, please contact Zulip support by replying to " +"this email." +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:21 +#: templates/zerver/emails/find_team.html:20 +#: templates/zerver/emails/find_team.txt:13 +msgid "Thanks for using Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:9 +#: templates/zerver/emails/followup_day1.html:24 +#: templates/zerver/emails/followup_day1.txt:1 +msgid "Welcome to Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:14 +msgid "" +"You've created a demo Zulip organization. Note that this organization will " +"be automatically deleted in 30 days. Learn more about demo organizations here!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:16 +#, python-format +msgid "You've created the new Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:19 +#, python-format +msgid "You've joined the Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:24 +#, fuzzy +#| msgid "Find accounts" +msgid "Your account details:" +msgstr "അക്കൗണ്ടുകൾ കണ്ടെത്തുക" + +#: templates/zerver/emails/compiled/followup_day1.html:27 +#: templates/zerver/emails/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.txt:16 +#, python-format +msgid "Organization URL: %(organization_url)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:31 +#, python-format +msgid "Username: %(ldap_username)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.html:39 +#: templates/zerver/emails/followup_day1.txt:22 +msgid "Use your LDAP account to log in" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:38 +#, python-format +msgid "Email: %(email)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:42 +#, python-format +msgid "" +"(you'll need these to sign in to the mobile and desktop " +"apps)" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:47 +#, python-format +msgid "" +"Check out our guide for admins, become a Zulip pro with a " +"few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:49 +#, python-format +msgid "" +"Learn more about Zulip, become a pro with a few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:54 +msgid "Cheers," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:55 +#: templates/zerver/emails/compiled/notify_change_in_email.html:15 +#: templates/zerver/emails/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.txt:7 +msgid "Team Zulip" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:59 +msgid "" +"PS: Follow us on Twitter, star us on GitHub, or chat with us live on the Zulip community server!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:9 +msgid "Hey," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:11 +msgid "" +"I wanted to share one last thing with you: a few tips about topics, since " +"mastering topics is a key part of being a Zulip power user." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:13 +#: templates/zerver/emails/followup_day2.html:22 +msgid "Examples of short topics" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:15 +msgid "" +"Topics are like email subject lines. The big difference, though, is that " +"they're really short and lightweight. Two or three words will do it. Don't " +"overthink 'em—you can always edit the message later!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:18 +msgid "Good topics: design mockup, Bug 345, acme burgers" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:19 +msgid "" +"Not recommended: \"What do people think of this new design mockup?\", \"I'm " +"looking at Bug 345\", \"Is Acme Burgers open for lunch?\"" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:22 +msgid "Example of a topic that is too long" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:24 +msgid "" +"Why bother with topics? Well, two reasons: it makes conversations clearer " +"(imagine if email didn't have them!), and it lets you more efficiently catch " +"up on what's happened while you're away—read the topics that are relevant to " +"you, and ignore the ones that aren't!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:26 +msgid "Take it for a spin now." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:28 +#: templates/zerver/emails/compiled/notify_new_login.html:42 +#: templates/zerver/emails/notify_new_login.html:40 +#: templates/zerver/emails/notify_new_login.txt:20 +msgid "Thanks," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:35 +msgid "Unsubscribe from welcome emails" +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:10 +#: templates/zerver/emails/invitation.html:9 +#: templates/zerver/emails/invitation.txt:1 +msgid "Hi there," +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:13 +#, python-format +msgid "" +"%(referrer_name)s wants you to join them on Zulip — the team communication " +"tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:16 +#: templates/zerver/emails/compiled/invitation_reminder.html:14 +#: templates/zerver/emails/invitation.html:15 +#: templates/zerver/emails/invitation_reminder.html:13 +msgid "To get started, click the button below." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:9 +#: templates/zerver/emails/invitation_reminder.html:8 +#: templates/zerver/emails/invitation_reminder.txt:1 +msgid "Hi again," +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:11 +#, python-format +msgid "" +"This is a friendly reminder that %(referrer_name)s wants you to join them on " +"Zulip — the team communication tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:19 +#: templates/zerver/emails/invitation_reminder.html:18 +#: templates/zerver/emails/invitation_reminder.txt:8 +msgid "This is the last reminder you'll receive for this invitation." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:23 +#: templates/zerver/emails/invitation_reminder.html:22 +#, python-format +msgid "" +"\n" +" This invitation expires in two days. If the invitation expires,\n" +" you'll need to ask %(referrer_name)s for another one.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:18 +#, python-format +msgid "" +"This email does not include message content because your organization has " +"disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:20 +#, python-format +msgid "" +"This email does not include message content because you have disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:30 +#: templates/zerver/emails/missed_message.html:29 +#: templates/zerver/emails/missed_message.txt:25 +msgid "You are receiving this because you were personally mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:32 +#: templates/zerver/emails/missed_message.html:31 +#: templates/zerver/emails/missed_message.txt:27 +#, python-format +msgid "" +"You are receiving this because @%(mentioned_user_group_name)s was mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:34 +#: templates/zerver/emails/missed_message.html:39 +#: templates/zerver/emails/missed_message.txt:35 +#, python-format +msgid "" +"You are receiving this because everyone was mentioned in #%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:36 +#: templates/zerver/emails/missed_message.html:43 +#: templates/zerver/emails/missed_message.txt:39 +#, python-format +msgid "" +"You are receiving this because you have email notifications enabled for " +"#%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:39 +#, python-format +msgid "" +"Reply to this email directly, view it in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:41 +#, python-format +msgid "" +"View or reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:43 +#, python-format +msgid "" +"Reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:45 +#, python-format +msgid "" +"\n" +" Do not reply to this email. This Zulip server is not configured to " +"accept incoming emails (help).\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:11 +#: templates/zerver/emails/notify_change_in_email.html:10 +#, python-format +msgid "" +"The email associated with your Zulip account was recently changed to " +"%(new_email)s. If you did not request this change, please contact us " +"immediately at %(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.html:13 +#: templates/zerver/emails/notify_change_in_email.txt:6 +msgid "Best," +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:4 +#: templates/zerver/emails/notify_new_login.html:4 +#, python-format +msgid "" +"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:13 +#: templates/zerver/emails/notify_new_login.html:12 +#: templates/zerver/emails/notify_new_login.txt:1 +msgid "We noticed a recent login for the following Zulip account." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:18 +#: templates/zerver/emails/notify_new_login.html:16 +#, python-format +msgid "Organization: %(organization_link)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:21 +#: templates/zerver/emails/notify_new_login.html:19 +#: templates/zerver/emails/notify_new_login.txt:5 +#, python-format +msgid "Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:24 +#: templates/zerver/emails/notify_new_login.html:22 +#: templates/zerver/emails/notify_new_login.txt:7 +#, python-format +msgid "Time: %(login_time)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:27 +#: templates/zerver/emails/notify_new_login.html:25 +#: templates/zerver/emails/notify_new_login.txt:9 +#, python-format +msgid "Device: %(device_browser)s on %(device_os)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:30 +#: templates/zerver/emails/notify_new_login.html:28 +#: templates/zerver/emails/notify_new_login.txt:11 +#, python-format +msgid "IP address: %(device_ip)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:35 +#: templates/zerver/emails/notify_new_login.html:33 +#: templates/zerver/emails/notify_new_login.txt:14 +msgid "If this was you, great! There's nothing else you need to do." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:38 +#, python-format +msgid "" +"If you do not recognize this login, or think your account may have been " +"compromised, please reset your password or contact us immediately at " +"%(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:43 +#: templates/zerver/emails/notify_new_login.html:41 +#: templates/zerver/emails/notify_new_login.txt:21 +msgid "Zulip Security" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Unsubscribe from login notifications" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:10 +#: templates/zerver/emails/password_reset.html:9 +#: templates/zerver/emails/password_reset.txt:1 +#, python-format +msgid "" +"Somebody (possibly you) requested a new password for the Zulip account " +"%(email)s on %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:14 +#: templates/zerver/emails/password_reset.html:13 +msgid "Click the button below to reset your password." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:15 +#: templates/zerver/emails/password_reset.html:14 +msgid "Reset password" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:20 +#, python-format +msgid "" +"You previously had an account on %(organization_url)s, but it has been " +"deactivated. You can contact an organization administrator to reactivate your account." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:22 +#: templates/zerver/emails/password_reset.html:21 +#: templates/zerver/emails/password_reset.txt:11 +msgid "You do not have an account in that Zulip organization." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:27 +#: templates/zerver/emails/password_reset.html:26 +#: templates/zerver/emails/password_reset.txt:16 +msgid "You do have active accounts in the following organization(s)." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:34 +#: templates/zerver/emails/password_reset.html:32 +#: templates/zerver/emails/password_reset.txt:21 +msgid "" +"You can try logging in or resetting your password in the organization(s) " +"above." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:40 +#: templates/zerver/emails/password_reset.html:38 +#: templates/zerver/emails/password_reset.txt:25 +msgid "" +"If you do not recognize this activity, you can safely ignore this email." +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:8 +#: templates/zerver/emails/realm_auto_downgraded.html:8 +#, python-format +msgid "" +"\n" +" Your organization, %(organization_name_with_link)s, has been downgraded " +"to the Zulip Cloud\n" +" Free plan because of unpaid invoices. The unpaid invoices have been " +"voided.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:15 +#: templates/zerver/emails/realm_auto_downgraded.html:15 +#, python-format +msgid "" +"\n" +" To continue on the Zulip Cloud Standard plan, please upgrade again by " +"going to %(upgrade_url)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:22 +#: templates/zerver/emails/realm_auto_downgraded.html:22 +#, python-format +msgid "" +"\n" +" If you think this was a mistake or need more details, please reach out " +"to us at %(support_email)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:9 +#: templates/zerver/emails/realm_reactivation.html:8 +#: templates/zerver/emails/realm_reactivation.txt:1 +#, python-format +msgid "Dear former administrators of %(realm_name)s," +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:11 +#: templates/zerver/emails/realm_reactivation.html:10 +#: templates/zerver/emails/realm_reactivation.txt:4 +#, python-format +msgid "" +"One of your administrators requested reactivation of the previously " +"deactivated Zulip organization hosted at %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:14 +#: templates/zerver/emails/realm_reactivation.html:13 +msgid "Click the button below to reactivate your organization." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:15 +#: templates/zerver/emails/realm_reactivation.html:14 +msgid "Reactivate organization" +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:18 +#: templates/zerver/emails/realm_reactivation.html:17 +#: templates/zerver/emails/realm_reactivation.txt:10 +msgid "" +"If the request was in error, you can take no action and this link will " +"expire in 24 hours." +msgstr "" + #: templates/zerver/emails/confirm_new_email.subject.txt:1 msgid "Verify your new email address" msgstr "" @@ -1249,31 +1879,6 @@ msgid "" "<%(support_email)s>." msgstr "" -#: templates/zerver/emails/confirm_registration.html:10 -#: templates/zerver/emails/confirm_registration.txt:2 -msgid "You have requested a new Zulip organization. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:12 -#: templates/zerver/emails/confirm_registration.txt:4 -msgid "You recently signed up for Zulip. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:17 -msgid "" -"Click the button below to create the organization and register your account." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:19 -msgid "Click the button below to complete registration." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:21 -#: templates/zerver/emails/invitation.html:16 -#: templates/zerver/emails/invitation_reminder.html:14 -msgid "Complete registration" -msgstr "" - #: templates/zerver/emails/confirm_registration.subject.txt:2 #, fuzzy #| msgid "Deactivated organization" @@ -1314,12 +1919,6 @@ msgid "" "at %(support_email)s." msgstr "" -#: templates/zerver/emails/custom_email_base.pre.html:18 -#: templates/zerver/emails/digest.html:39 -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Manage email preferences" -msgstr "" - #: templates/zerver/emails/custom_email_base.pre.html:18 msgid "Unsubscribe from marketing emails" msgstr "" @@ -1332,11 +1931,6 @@ msgid "" "deactivated, and you will no longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/deactivate.html:15 -#: templates/zerver/emails/deactivate.txt:6 -msgid "The administrators provided the following comment:" -msgstr "" - #: templates/zerver/emails/deactivate.subject.txt:1 #, python-format msgid "Notification of account deactivation on %(realm_name)s" @@ -1350,18 +1944,6 @@ msgid "" "longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/digest.html:27 -msgid "New streams" -msgstr "" - -#: templates/zerver/emails/digest.html:34 -msgid "Click here to log in to Zulip and catch up." -msgstr "" - -#: templates/zerver/emails/digest.html:40 -msgid "Unsubscribe from digest emails" -msgstr "" - #: templates/zerver/emails/digest.subject.txt:1 #, python-format msgid "Zulip digest for %(realm_name)s" @@ -1380,18 +1962,6 @@ msgstr "" msgid "Unsubscribe from digest emails:" msgstr "" -#: templates/zerver/emails/email_base_default.html:33 -#: templates/zerver/emails/email_base_marketing.html:33 -msgid "Swimming fish" -msgstr "" - -#: templates/zerver/emails/find_team.html:8 -#: templates/zerver/emails/find_team.txt:1 -#, fuzzy -#| msgid "Thanks for signing up!" -msgid "Thanks for your request!" -msgstr "സൈനപ്പ് ചെയ്തതിനു നന്ദി" - #: templates/zerver/emails/find_team.html:10 #, python-format msgid "" @@ -1399,18 +1969,6 @@ msgid "" "organizations hosted by %(external_host)s:" msgstr "" -#: templates/zerver/emails/find_team.html:18 -#: templates/zerver/emails/find_team.txt:10 -msgid "" -"If you have trouble logging in, please contact Zulip support by replying to " -"this email." -msgstr "" - -#: templates/zerver/emails/find_team.html:20 -#: templates/zerver/emails/find_team.txt:13 -msgid "Thanks for using Zulip!" -msgstr "" - #: templates/zerver/emails/find_team.subject.txt:1 #, fuzzy #| msgid "Find accounts" @@ -1442,11 +2000,6 @@ msgid "" " organization: %(realm_name)s." msgstr "" -#: templates/zerver/emails/followup_day1.html:24 -#: templates/zerver/emails/followup_day1.txt:1 -msgid "Welcome to Zulip!" -msgstr "" - #: templates/zerver/emails/followup_day1.html:26 #, python-format msgid "" @@ -1461,23 +2014,12 @@ msgid "" "href=\"%(apps_page_link)s\">mobile and desktop apps:" msgstr "" -#: templates/zerver/emails/followup_day1.html:34 -#: templates/zerver/emails/followup_day1.txt:16 -#, python-format -msgid "Organization URL: %(organization_url)s" -msgstr "" - #: templates/zerver/emails/followup_day1.html:37 #: templates/zerver/emails/followup_day1.txt:20 #, python-format msgid "Your username: %(ldap_username)s" msgstr "" -#: templates/zerver/emails/followup_day1.html:39 -#: templates/zerver/emails/followup_day1.txt:22 -msgid "Use your LDAP account to log in" -msgstr "" - #: templates/zerver/emails/followup_day1.html:42 #: templates/zerver/emails/followup_day1.txt:25 #, python-format @@ -1599,10 +2141,6 @@ msgid "" "about…?”" msgstr "" -#: templates/zerver/emails/followup_day2.html:22 -msgid "Examples of short topics" -msgstr "" - #: templates/zerver/emails/followup_day2.html:25 #, python-format msgid "" @@ -1646,11 +2184,6 @@ msgid "" "(%(move_topic_to_different_stream_link)s)." msgstr "" -#: templates/zerver/emails/invitation.html:9 -#: templates/zerver/emails/invitation.txt:1 -msgid "Hi there," -msgstr "" - #: templates/zerver/emails/invitation.html:12 #, python-format msgid "" @@ -1658,11 +2191,6 @@ msgid "" "communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation.html:15 -#: templates/zerver/emails/invitation_reminder.html:13 -msgid "To get started, click the button below." -msgstr "" - #: templates/zerver/emails/invitation.subject.txt:1 #, python-format msgid "%(referrer_full_name)s has invited you to join %(referrer_realm_name)s" @@ -1680,11 +2208,6 @@ msgstr "" msgid "To get started, click the link below." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:8 -#: templates/zerver/emails/invitation_reminder.txt:1 -msgid "Hi again," -msgstr "" - #: templates/zerver/emails/invitation_reminder.html:10 #, python-format msgid "" @@ -1692,20 +2215,6 @@ msgid "" "Zulip — the team communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:18 -#: templates/zerver/emails/invitation_reminder.txt:8 -msgid "This is the last reminder you'll receive for this invitation." -msgstr "" - -#: templates/zerver/emails/invitation_reminder.html:22 -#, python-format -msgid "" -"\n" -" This invitation expires in two days. If the invitation expires,\n" -" you'll need to ask %(referrer_name)s for another one.\n" -" " -msgstr "" - #: templates/zerver/emails/invitation_reminder.subject.txt:1 #, python-format msgid "Reminder: Join %(referrer_name)s at %(referrer_realm_name)s" @@ -1756,34 +2265,31 @@ msgid "" "content appearing in email notifications." msgstr "" -#: templates/zerver/emails/missed_message.html:29 -#: templates/zerver/emails/missed_message.txt:25 -msgid "You are receiving this because you were personally mentioned." -msgstr "" - -#: templates/zerver/emails/missed_message.html:31 -#: templates/zerver/emails/missed_message.txt:27 -#, python-format -msgid "" -"You are receiving this because @%(mentioned_user_group_name)s was mentioned." -msgstr "" - #: templates/zerver/emails/missed_message.html:33 +#: templates/zerver/emails/missed_message.html:37 #: templates/zerver/emails/missed_message.txt:29 +#: templates/zerver/emails/missed_message.txt:33 #, python-format msgid "" -"You are receiving this because everyone was mentioned in #%(stream_name)s." +"You are receiving this because all topic participants were mentioned in " +"#%(stream_name)s > %(topic_name)s." msgstr "" #: templates/zerver/emails/missed_message.html:35 #: templates/zerver/emails/missed_message.txt:31 -#, python-format msgid "" -"You are receiving this because you have email notifications enabled for " -"#%(stream_name)s." +"You are receiving this because you have wildcard mention notifications " +"enabled for topics you follow." msgstr "" -#: templates/zerver/emails/missed_message.html:38 +#: templates/zerver/emails/missed_message.html:41 +#: templates/zerver/emails/missed_message.txt:37 +msgid "" +"You are receiving this because you have email notifications enabled for " +"topics you follow." +msgstr "" + +#: templates/zerver/emails/missed_message.html:46 #, python-format msgid "" "Reply to this email directly, view it in " @@ -1791,21 +2297,21 @@ msgid "" "preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:40 +#: templates/zerver/emails/missed_message.html:48 #, python-format msgid "" "View or reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:42 +#: templates/zerver/emails/missed_message.html:50 #, python-format msgid "" "Reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:44 +#: templates/zerver/emails/missed_message.html:52 #, python-format msgid "" "\n" @@ -1851,50 +2357,32 @@ msgid "" "See %(alert_notif_url)s for more details.\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:35 +#: templates/zerver/emails/missed_message.txt:43 #, python-format msgid "Reply to this email directly, or view it in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:39 +#: templates/zerver/emails/missed_message.txt:47 #, python-format msgid "View or reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:43 +#: templates/zerver/emails/missed_message.txt:51 #, python-format msgid "Reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:47 +#: templates/zerver/emails/missed_message.txt:55 msgid "" "\n" "Do not reply to this email. This Zulip server is not configured to accept\n" "incoming emails. Help:\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:54 +#: templates/zerver/emails/missed_message.txt:62 msgid "Manage email preferences: " msgstr "" -#: templates/zerver/emails/notify_change_in_email.html:10 -#, python-format -msgid "" -"The email associated with your Zulip account was recently changed to " -"%(new_email)s. If you did not request this change, please contact us " -"immediately at %(support_email)s." -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:13 -#: templates/zerver/emails/notify_change_in_email.txt:6 -msgid "Best," -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:14 -#: templates/zerver/emails/notify_change_in_email.txt:7 -msgid "Team Zulip" -msgstr "" - #: templates/zerver/emails/notify_change_in_email.subject.txt:1 #, python-format msgid "Zulip email changed for %(realm_name)s" @@ -1908,51 +2396,6 @@ msgid "" "immediately at <%(support_email)s>." msgstr "" -#: templates/zerver/emails/notify_new_login.html:4 -#, python-format -msgid "" -"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:12 -#: templates/zerver/emails/notify_new_login.txt:1 -msgid "We noticed a recent login for the following Zulip account." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:16 -#, python-format -msgid "Organization: %(organization_link)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:19 -#: templates/zerver/emails/notify_new_login.txt:5 -#, python-format -msgid "Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:22 -#: templates/zerver/emails/notify_new_login.txt:7 -#, python-format -msgid "Time: %(login_time)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:25 -#: templates/zerver/emails/notify_new_login.txt:9 -#, python-format -msgid "Device: %(device_browser)s on %(device_os)s." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:28 -#: templates/zerver/emails/notify_new_login.txt:11 -#, python-format -msgid "IP address: %(device_ip)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:33 -#: templates/zerver/emails/notify_new_login.txt:14 -msgid "If this was you, great! There's nothing else you need to do." -msgstr "" - #: templates/zerver/emails/notify_new_login.html:36 #, python-format msgid "" @@ -1961,20 +2404,6 @@ msgid "" "contact us immediately at %(support_email)s." msgstr "" -#: templates/zerver/emails/notify_new_login.html:40 -#: templates/zerver/emails/notify_new_login.txt:20 -msgid "Thanks," -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:41 -#: templates/zerver/emails/notify_new_login.txt:21 -msgid "Zulip Security" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Unsubscribe from login notifications" -msgstr "" - #: templates/zerver/emails/notify_new_login.subject.txt:1 #, python-format msgid "New login from %(device_browser)s on %(device_os)s" @@ -2065,22 +2494,6 @@ msgstr "" msgid "Zulip guide for communities" msgstr "" -#: templates/zerver/emails/password_reset.html:9 -#: templates/zerver/emails/password_reset.txt:1 -#, python-format -msgid "" -"Somebody (possibly you) requested a new password for the Zulip account " -"%(email)s on %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/password_reset.html:13 -msgid "Click the button below to reset your password." -msgstr "" - -#: templates/zerver/emails/password_reset.html:14 -msgid "Reset password" -msgstr "" - #: templates/zerver/emails/password_reset.html:19 #, python-format msgid "" @@ -2089,29 +2502,6 @@ msgid "" "href=\"%(help_link)s\">reactivate your account." msgstr "" -#: templates/zerver/emails/password_reset.html:21 -#: templates/zerver/emails/password_reset.txt:11 -msgid "You do not have an account in that Zulip organization." -msgstr "" - -#: templates/zerver/emails/password_reset.html:26 -#: templates/zerver/emails/password_reset.txt:16 -msgid "You do have active accounts in the following organization(s)." -msgstr "" - -#: templates/zerver/emails/password_reset.html:32 -#: templates/zerver/emails/password_reset.txt:21 -msgid "" -"You can try logging in or resetting your password in the organization(s) " -"above." -msgstr "" - -#: templates/zerver/emails/password_reset.html:38 -#: templates/zerver/emails/password_reset.txt:25 -msgid "" -"If you do not recognize this activity, you can safely ignore this email." -msgstr "" - #: templates/zerver/emails/password_reset.subject.txt:1 #, python-format msgid "Password reset request for %(realm_name)s" @@ -2128,64 +2518,6 @@ msgid "" "You can contact an organization administrator to reactivate your account." msgstr "" -#: templates/zerver/emails/realm_auto_downgraded.html:8 -#, python-format -msgid "" -"\n" -" Your organization, %(organization_name_with_link)s, has been downgraded " -"to the Zulip Cloud\n" -" Free plan because of unpaid invoices. The unpaid invoices have been " -"voided.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:15 -#, python-format -msgid "" -"\n" -" To continue on the Zulip Cloud Standard plan, please upgrade again by " -"going to %(upgrade_url)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:22 -#, python-format -msgid "" -"\n" -" If you think this was a mistake or need more details, please reach out " -"to us at %(support_email)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:8 -#: templates/zerver/emails/realm_reactivation.txt:1 -#, python-format -msgid "Dear former administrators of %(realm_name)s," -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:10 -#: templates/zerver/emails/realm_reactivation.txt:4 -#, python-format -msgid "" -"One of your administrators requested reactivation of the previously " -"deactivated Zulip organization hosted at %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:13 -msgid "Click the button below to reactivate your organization." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:14 -msgid "Reactivate organization" -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:17 -#: templates/zerver/emails/realm_reactivation.txt:10 -msgid "" -"If the request was in error, you can take no action and this link will " -"expire in 24 hours." -msgstr "" - #: templates/zerver/emails/realm_reactivation.subject.txt:1 msgid "Reactivate your Zulip organization" msgstr "" @@ -3000,77 +3332,79 @@ msgid "" " " msgstr "" -#: zerver/actions/create_user.py:88 +#: zerver/actions/create_user.py:93 msgid "signups" msgstr "" -#: zerver/actions/create_user.py:101 +#: zerver/actions/create_user.py:106 #, python-brace-format msgid "{user} just signed up for Zulip. (total: {user_count})" msgstr "" -#: zerver/actions/create_user.py:221 +#: zerver/actions/create_user.py:251 #, python-brace-format msgid "{user} accepted your invitation to join Zulip!" msgstr "" -#: zerver/actions/custom_profile_fields.py:129 +#: zerver/actions/custom_profile_fields.py:126 msgid "Invalid order mapping." msgstr "" -#: zerver/actions/custom_profile_fields.py:208 zerver/lib/users.py:390 +#: zerver/actions/custom_profile_fields.py:205 zerver/lib/users.py:396 #: zerver/views/custom_profile_fields.py:195 #: zerver/views/custom_profile_fields.py:216 #, python-brace-format msgid "Field id {id} not found." msgstr "" -#: zerver/actions/default_streams.py:21 -msgid "Invalid default stream group name '{}'" +#: zerver/actions/default_streams.py:25 +#, python-brace-format +msgid "Invalid default stream group name '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:24 -msgid "Default stream group name too long (limit: {} characters)" +#: zerver/actions/default_streams.py:29 +#, python-brace-format +msgid "Default stream group name too long (limit: {max_length} characters)" msgstr "" -#: zerver/actions/default_streams.py:31 -msgid "Default stream group name '{}' contains NULL (0x00) characters." +#: zerver/actions/default_streams.py:37 +#, python-brace-format +msgid "" +"Default stream group name '{group_name}' contains NULL (0x00) characters." msgstr "" -#: zerver/actions/default_streams.py:45 -msgid "Invalid default stream group {}" +#: zerver/actions/default_streams.py:53 +#, python-brace-format +msgid "Invalid default stream group {group_name}" msgstr "" -#: zerver/actions/default_streams.py:92 zerver/actions/default_streams.py:119 +#: zerver/actions/default_streams.py:101 zerver/actions/default_streams.py:128 #, python-brace-format msgid "" "'{stream_name}' is a default stream and cannot be added to '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:103 +#: zerver/actions/default_streams.py:112 zerver/actions/default_streams.py:173 #, python-brace-format msgid "Default stream group '{group_name}' already exists" msgstr "" -#: zerver/actions/default_streams.py:125 +#: zerver/actions/default_streams.py:134 #, python-brace-format msgid "" "Stream '{stream_name}' is already present in default stream group " "'{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:141 +#: zerver/actions/default_streams.py:151 #, python-brace-format msgid "" "Stream '{stream_name}' is not present in default stream group '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:155 -msgid "This default stream group is already named '{}'" -msgstr "" - -#: zerver/actions/default_streams.py:159 -msgid "Default stream group '{}' already exists" +#: zerver/actions/default_streams.py:166 +#, python-brace-format +msgid "This default stream group is already named '{group_name}'" msgstr "" #: zerver/actions/invites.py:161 @@ -3099,198 +3433,197 @@ msgid "" "invitation. We did send invitations to everyone else!" msgstr "" -#: zerver/actions/message_edit.py:92 zerver/views/scheduled_messages.py:61 +#: zerver/actions/message_edit.py:93 zerver/views/scheduled_messages.py:61 msgid "Nothing to change" msgstr "" -#: zerver/actions/message_edit.py:96 +#: zerver/actions/message_edit.py:97 #, fuzzy #| msgid "Private messages" msgid "Direct messages cannot be moved to streams." msgstr "സ്വകാര്യ സന്ദേശങ്ങൾ" -#: zerver/actions/message_edit.py:98 +#: zerver/actions/message_edit.py:99 #, fuzzy #| msgid "Private messages" msgid "Direct messages cannot have topics." msgstr "സ്വകാര്യ സന്ദേശങ്ങൾ" -#: zerver/actions/message_edit.py:101 +#: zerver/actions/message_edit.py:102 msgid "Invalid propagate_mode without topic edit" msgstr "" -#: zerver/actions/message_edit.py:107 +#: zerver/actions/message_edit.py:108 msgid "Cannot change message content while changing stream" msgstr "" -#: zerver/actions/message_edit.py:111 +#: zerver/actions/message_edit.py:112 msgid "Widgets cannot be edited." msgstr "" -#: zerver/actions/message_edit.py:162 +#: zerver/actions/message_edit.py:163 #, python-brace-format msgid "{user} has marked this topic as resolved." msgstr "" -#: zerver/actions/message_edit.py:164 +#: zerver/actions/message_edit.py:165 #, python-brace-format msgid "{user} has marked this topic as unresolved." msgstr "" -#: zerver/actions/message_edit.py:967 +#: zerver/actions/message_edit.py:985 #, python-brace-format msgid "This topic was moved to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:971 +#: zerver/actions/message_edit.py:989 #, python-brace-format msgid "A message was moved from this topic to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:975 +#: zerver/actions/message_edit.py:993 #, python-brace-format msgid "" "{changed_messages_count} messages were moved from this topic to " "{new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1030 +#: zerver/actions/message_edit.py:1048 #, python-brace-format msgid "This topic was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1035 +#: zerver/actions/message_edit.py:1053 #, python-brace-format msgid "" "[A message]({message_link}) was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1039 +#: zerver/actions/message_edit.py:1057 #, python-brace-format msgid "" "{changed_messages_count} messages were moved here from {old_location} by " "{user}." msgstr "" -#: zerver/actions/message_edit.py:1167 +#: zerver/actions/message_edit.py:1186 msgid "Your organization has turned off message editing" msgstr "" -#: zerver/actions/message_edit.py:1185 zerver/actions/message_edit.py:1188 +#: zerver/actions/message_edit.py:1204 zerver/actions/message_edit.py:1207 msgid "You don't have permission to edit this message" msgstr "" -#: zerver/actions/message_edit.py:1199 +#: zerver/actions/message_edit.py:1218 msgid "The time limit for editing this message has passed" msgstr "" -#: zerver/actions/message_edit.py:1214 +#: zerver/actions/message_edit.py:1233 msgid "The time limit for editing this message's topic has passed." msgstr "" -#: zerver/actions/message_edit.py:1248 zerver/actions/message_send.py:1428 +#: zerver/actions/message_edit.py:1267 zerver/actions/message_send.py:1558 msgid "You do not have permission to use wildcard mentions in this stream." msgstr "" -#: zerver/actions/message_edit.py:1257 +#: zerver/actions/message_edit.py:1280 msgid "You don't have permission to move this message" msgstr "" -#: zerver/actions/message_edit.py:1263 +#: zerver/actions/message_edit.py:1286 msgid "" "You don't have permission to move this message due to missing access to its " "stream" msgstr "" -#: zerver/actions/message_edit.py:1280 +#: zerver/actions/message_edit.py:1303 msgid "The time limit for editing this message's stream has passed" msgstr "" #: zerver/actions/message_flags.py:257 -msgid "Invalid flag: '{}'" +#, python-brace-format +msgid "Invalid flag: '{flag}'" msgstr "" #: zerver/actions/message_flags.py:259 -msgid "Flag not editable: '{}'" +#, python-brace-format +msgid "Flag not editable: '{flag}'" msgstr "" -#: zerver/actions/message_flags.py:261 -msgid "Invalid message flag operation: '{}'" +#: zerver/actions/message_flags.py:262 +#, python-brace-format +msgid "Invalid message flag operation: '{operation}'" msgstr "" -#: zerver/actions/message_flags.py:333 zerver/lib/message.py:758 -#: zerver/lib/message.py:764 +#: zerver/actions/message_flags.py:335 zerver/lib/message.py:786 +#: zerver/lib/message.py:792 msgid "Invalid message(s)" msgstr "" -#: zerver/actions/message_send.py:156 +#: zerver/actions/message_send.py:161 msgid "Unable to render message" msgstr "" -#: zerver/actions/message_send.py:997 +#: zerver/actions/message_send.py:1127 msgid "Expected exactly one stream" msgstr "" -#: zerver/actions/message_send.py:1008 +#: zerver/actions/message_send.py:1138 msgid "Invalid data type for stream" msgstr "" -#: zerver/actions/message_send.py:1024 zerver/actions/message_send.py:1034 +#: zerver/actions/message_send.py:1154 zerver/actions/message_send.py:1164 #: zerver/actions/scheduled_messages.py:53 msgid "Invalid data type for recipients" msgstr "" -#: zerver/actions/message_send.py:1042 zerver/actions/message_send.py:1050 +#: zerver/actions/message_send.py:1172 zerver/actions/message_send.py:1180 msgid "Recipient lists may contain emails or user IDs, but not both." msgstr "" -#: zerver/actions/message_send.py:1195 +#: zerver/actions/message_send.py:1325 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream ID {stream_id}, " "but there is no stream with that ID." msgstr "" -#: zerver/actions/message_send.py:1206 +#: zerver/actions/message_send.py:1336 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}, but " "that stream does not exist. Click [here]({new_stream_link}) to create it." msgstr "" -#: zerver/actions/message_send.py:1218 +#: zerver/actions/message_send.py:1348 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}. The " "stream exists but does not have any subscribers." msgstr "" -#: zerver/actions/message_send.py:1265 +#: zerver/actions/message_send.py:1395 #, fuzzy #| msgid "Deactivated organization" msgid "Direct messages are disabled in this organization." msgstr "നിഷ്ക്രീയമാക്കിയ സംഘടന" -#: zerver/actions/message_send.py:1342 +#: zerver/actions/message_send.py:1472 #, fuzzy #| msgid "Deactivated organization" msgid "Topics are required in this organization" msgstr "നിഷ്ക്രീയമാക്കിയ സംഘടന" -#: zerver/actions/message_send.py:1398 +#: zerver/actions/message_send.py:1528 msgid "Widgets: API programmer sent invalid JSON content" msgstr "" -#: zerver/actions/message_send.py:1404 +#: zerver/actions/message_send.py:1534 #, python-brace-format msgid "Widgets: {error_msg}" msgstr "" -#: zerver/actions/reactions.py:116 -msgid "Reaction already exists." -msgstr "" - -#: zerver/actions/realm_emoji.py:32 zerver/views/realm_emoji.py:36 +#: zerver/actions/realm_emoji.py:40 zerver/views/realm_emoji.py:38 msgid "A custom emoji with this name already exists." msgstr "" @@ -3326,18 +3659,32 @@ msgstr "" msgid "[View scheduled messages](#scheduled)" msgstr "" -#: zerver/actions/streams.py:76 +#: zerver/actions/streams.py:73 msgid "Stream is already deactivated" msgstr "" -#: zerver/actions/streams.py:841 +#: zerver/actions/streams.py:165 +msgid "Stream is not currently deactivated" +msgstr "" + +#: zerver/actions/streams.py:168 +#, python-brace-format +msgid "Stream named {stream_name} already exists" +msgstr "" + +#: zerver/actions/streams.py:230 +#, python-brace-format +msgid "Stream {stream_name} un-archived." +msgstr "" + +#: zerver/actions/streams.py:932 #, python-brace-format msgid "" "{user} changed the [access permissions](/help/stream-permissions) for this " "stream from **{old_policy}** to **{new_policy}**." msgstr "" -#: zerver/actions/streams.py:1025 +#: zerver/actions/streams.py:1118 #, python-brace-format msgid "" "{user} changed the [posting permissions](/help/stream-sending-policy) for " @@ -3347,38 +3694,38 @@ msgid "" "* **New permissions**: {new_policy}.\n" msgstr "" -#: zerver/actions/streams.py:1160 +#: zerver/actions/streams.py:1246 #, python-brace-format msgid "{user_name} renamed stream {old_stream_name} to {new_stream_name}." msgstr "" -#: zerver/actions/streams.py:1179 zerver/actions/streams.py:1181 -#: zerver/views/streams.py:793 +#: zerver/actions/streams.py:1265 zerver/actions/streams.py:1267 +#: zerver/views/streams.py:802 msgid "No description." msgstr "" -#: zerver/actions/streams.py:1184 +#: zerver/actions/streams.py:1270 #, python-brace-format msgid "{user} changed the description for this stream." msgstr "" -#: zerver/actions/streams.py:1186 +#: zerver/actions/streams.py:1272 msgid "Old description" msgstr "" -#: zerver/actions/streams.py:1190 +#: zerver/actions/streams.py:1276 msgid "New description" msgstr "" -#: zerver/actions/streams.py:1258 zerver/actions/streams.py:1263 +#: zerver/actions/streams.py:1344 zerver/actions/streams.py:1349 msgid "Forever" msgstr "" -#: zerver/actions/streams.py:1264 +#: zerver/actions/streams.py:1350 msgid "Messages in this stream will now be retained forever." msgstr "" -#: zerver/actions/streams.py:1270 +#: zerver/actions/streams.py:1356 #, python-brace-format msgid "" "{user} has changed the [message retention period](/help/message-retention-" @@ -3389,56 +3736,58 @@ msgid "" "{summary_line}" msgstr "" -#: zerver/actions/submessage.py:30 +#: zerver/actions/submessage.py:29 msgid "You cannot attach a submessage to this message." msgstr "" #: zerver/actions/typing.py:55 zerver/lib/addressee.py:33 -msgid "Invalid user ID {}" +#, python-brace-format +msgid "Invalid user ID {user_id}" msgstr "" -#: zerver/actions/user_groups.py:153 zerver/actions/user_groups.py:168 -msgid "User group '{}' already exists." +#: zerver/actions/user_groups.py:213 zerver/actions/user_groups.py:245 +#, python-brace-format +msgid "User group '{group_name}' already exists." msgstr "" -#: zerver/decorator.py:250 +#: zerver/decorator.py:251 msgid "This API is not available to incoming webhook bots." msgstr "" -#: zerver/decorator.py:277 +#: zerver/decorator.py:278 msgid "Account is not associated with this subdomain" msgstr "" -#: zerver/decorator.py:506 zerver/decorator.py:643 +#: zerver/decorator.py:511 zerver/decorator.py:648 msgid "This endpoint does not accept bot requests." msgstr "" -#: zerver/decorator.py:605 +#: zerver/decorator.py:610 msgid "Must be an server administrator" msgstr "" -#: zerver/decorator.py:662 zerver/lib/streams.py:699 zerver/lib/streams.py:725 -#: zerver/lib/streams.py:727 zerver/lib/streams.py:742 -#: zerver/lib/user_groups.py:35 zerver/lib/user_groups.py:42 -#: zerver/lib/users.py:249 zerver/lib/users.py:278 zerver/views/invite.py:60 -#: zerver/views/realm_emoji.py:31 zerver/views/streams.py:336 -#: zerver/views/streams.py:630 +#: zerver/decorator.py:667 zerver/lib/streams.py:703 zerver/lib/streams.py:729 +#: zerver/lib/streams.py:731 zerver/lib/streams.py:748 +#: zerver/lib/user_groups.py:45 zerver/lib/user_groups.py:52 +#: zerver/lib/users.py:255 zerver/lib/users.py:284 zerver/views/invite.py:60 +#: zerver/views/realm_emoji.py:33 zerver/views/streams.py:338 +#: zerver/views/streams.py:639 msgid "Insufficient permission" msgstr "" -#: zerver/decorator.py:704 +#: zerver/decorator.py:709 msgid "This endpoint requires HTTP basic authentication." msgstr "" -#: zerver/decorator.py:711 +#: zerver/decorator.py:716 msgid "Invalid authorization header for basic auth" msgstr "" -#: zerver/decorator.py:713 +#: zerver/decorator.py:718 msgid "Missing authorization header for basic auth" msgstr "" -#: zerver/decorator.py:886 +#: zerver/decorator.py:893 msgid "Webhook bots can only access webhooks" msgstr "" @@ -3512,9 +3861,10 @@ msgid "New password confirmation" msgstr "" #: zerver/forms.py:496 +#, python-brace-format msgid "" -"You're making too many attempts to sign in. Try again in {} seconds or " -"contact your organization administrator for help." +"You're making too many attempts to sign in. Try again in {seconds} seconds " +"or contact your organization administrator for help." msgstr "" #: zerver/forms.py:508 @@ -3540,7 +3890,8 @@ msgid "We couldn't find that Zulip organization." msgstr "" #: zerver/lib/addressee.py:22 -msgid "Invalid email '{}'" +#, python-brace-format +msgid "Invalid email '{email}'" msgstr "" #: zerver/lib/addressee.py:61 zerver/lib/addressee.py:128 @@ -3625,11 +3976,11 @@ msgstr "" msgid "Draft does not exist" msgstr "" -#: zerver/lib/email_notifications.py:138 zerver/lib/email_notifications.py:160 +#: zerver/lib/email_notifications.py:140 zerver/lib/email_notifications.py:162 msgid "Open Zulip to see the spoiler content" msgstr "" -#: zerver/lib/email_notifications.py:563 +#: zerver/lib/email_notifications.py:591 msgid "Zulip notifications" msgstr "" @@ -3662,172 +4013,181 @@ msgstr "" msgid "Account has been deactivated." msgstr "" -#: zerver/lib/emoji.py:67 zerver/views/realm_emoji.py:59 -msgid "Emoji '{}' does not exist" +#: zerver/lib/emoji.py:88 zerver/views/realm_emoji.py:62 +#, python-brace-format +msgid "Emoji '{emoji_name}' does not exist" msgstr "" -#: zerver/lib/emoji.py:77 +#: zerver/lib/emoji.py:101 msgid "Invalid custom emoji." msgstr "" -#: zerver/lib/emoji.py:79 +#: zerver/lib/emoji.py:103 msgid "Invalid custom emoji name." msgstr "" -#: zerver/lib/emoji.py:81 +#: zerver/lib/emoji.py:105 msgid "This custom emoji has been deactivated." msgstr "" -#: zerver/lib/emoji.py:84 zerver/lib/emoji.py:89 +#: zerver/lib/emoji.py:108 zerver/lib/emoji.py:113 msgid "Invalid emoji code." msgstr "" -#: zerver/lib/emoji.py:86 zerver/lib/emoji.py:91 +#: zerver/lib/emoji.py:110 zerver/lib/emoji.py:115 msgid "Invalid emoji name." msgstr "" -#: zerver/lib/emoji.py:94 +#: zerver/lib/emoji.py:118 msgid "Invalid emoji type." msgstr "" -#: zerver/lib/emoji.py:109 +#: zerver/lib/emoji.py:133 msgid "Must be an organization administrator or emoji author" msgstr "" -#: zerver/lib/emoji.py:117 +#: zerver/lib/emoji.py:141 msgid "Emoji names must end with either a letter or digit." msgstr "" -#: zerver/lib/emoji.py:120 +#: zerver/lib/emoji.py:144 msgid "" "Emoji names must contain only lowercase English letters, digits, spaces, " "dashes, and underscores." msgstr "" -#: zerver/lib/emoji.py:123 +#: zerver/lib/emoji.py:147 msgid "Emoji name is missing" msgstr "" -#: zerver/lib/events.py:1539 +#: zerver/lib/events.py:1543 msgid "Could not allocate event queue" msgstr "" -#: zerver/lib/exceptions.py:137 +#: zerver/lib/exceptions.py:139 msgid "Not logged in: API authentication or user session required" msgstr "" -#: zerver/lib/exceptions.py:162 +#: zerver/lib/exceptions.py:164 #, python-brace-format msgid "Stream '{stream}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:174 +#: zerver/lib/exceptions.py:176 #, python-brace-format msgid "Stream with ID '{stream_id}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "organization owner" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "user" msgstr "" -#: zerver/lib/exceptions.py:187 +#: zerver/lib/exceptions.py:189 #, python-brace-format msgid "Cannot deactivate the only {entity}." msgstr "" -#: zerver/lib/exceptions.py:199 +#: zerver/lib/exceptions.py:201 #, python-brace-format msgid "Invalid Markdown include statement: {include_statement}" msgstr "" -#: zerver/lib/exceptions.py:211 +#: zerver/lib/exceptions.py:213 msgid "API usage exceeded rate limit" msgstr "" -#: zerver/lib/exceptions.py:234 zerver/lib/request.py:442 +#: zerver/lib/exceptions.py:236 zerver/lib/request.py:441 #: zerver/lib/validator.py:755 msgid "Malformed JSON" msgstr "" -#: zerver/lib/exceptions.py:245 +#: zerver/lib/exceptions.py:247 msgid "Must be an organization member" msgstr "" -#: zerver/lib/exceptions.py:256 zerver/views/invite.py:70 -#: zerver/views/invite.py:132 zerver/views/invite.py:178 +#: zerver/lib/exceptions.py:258 zerver/views/invite.py:70 +#: zerver/views/invite.py:134 zerver/views/invite.py:180 msgid "Must be an organization administrator" msgstr "" -#: zerver/lib/exceptions.py:267 +#: zerver/lib/exceptions.py:269 msgid "Must be an organization owner" msgstr "" -#: zerver/lib/exceptions.py:280 +#: zerver/lib/exceptions.py:282 msgid "Your username or password is incorrect" msgstr "" -#: zerver/lib/exceptions.py:288 +#: zerver/lib/exceptions.py:290 msgid "Account is deactivated" msgstr "" -#: zerver/lib/exceptions.py:296 +#: zerver/lib/exceptions.py:298 msgid "This organization has been deactivated" msgstr "" -#: zerver/lib/exceptions.py:305 +#: zerver/lib/exceptions.py:307 msgid "" "The mobile push notification service registration for your server has been " "deactivated" msgstr "" -#: zerver/lib/exceptions.py:314 +#: zerver/lib/exceptions.py:316 msgid "Password authentication is disabled in this organization" msgstr "" -#: zerver/lib/exceptions.py:322 +#: zerver/lib/exceptions.py:324 msgid "Your password has been disabled and needs to be reset" msgstr "" -#: zerver/lib/exceptions.py:338 +#: zerver/lib/exceptions.py:340 msgid "Invalid API key" msgstr "" -#: zerver/lib/exceptions.py:344 +#: zerver/lib/exceptions.py:346 msgid "Malformed API key" msgstr "" -#: zerver/lib/exceptions.py:381 +#: zerver/lib/exceptions.py:385 #, python-brace-format msgid "" "The '{event_type}' event isn't currently supported by the {webhook_name} " -"webhook" +"webhook; ignoring" msgstr "" -#: zerver/lib/exceptions.py:399 +#: zerver/lib/exceptions.py:404 #, python-brace-format msgid "Unable to parse request: Did {webhook_name} generate this event?" msgstr "" -#: zerver/lib/exceptions.py:422 zerver/views/auth.py:741 +#: zerver/lib/exceptions.py:427 zerver/views/auth.py:741 #: zerver/views/auth.py:1076 zerver/views/auth.py:1140 msgid "Invalid subdomain" msgstr "" -#: zerver/lib/exceptions.py:462 +#: zerver/lib/exceptions.py:467 msgid "Access denied" msgstr "" -#: zerver/lib/exceptions.py:501 +#: zerver/lib/exceptions.py:506 #, python-brace-format msgid "" "You only have permission to move the {total_messages_allowed_to_move}/" "{total_messages_in_topic} most recent messages in this topic." msgstr "" +#: zerver/lib/exceptions.py:518 +msgid "Reaction already exists." +msgstr "" + +#: zerver/lib/exceptions.py:529 +msgid "Reaction doesn't exist." +msgstr "" + #: zerver/lib/external_accounts.py:36 msgid "Twitter username" msgstr "" @@ -3940,207 +4300,215 @@ msgstr "" msgid "Version control" msgstr "" -#: zerver/lib/message.py:192 +#: zerver/lib/message.py:220 msgid "Message must not be empty" msgstr "" -#: zerver/lib/message.py:194 +#: zerver/lib/message.py:222 msgid "Message must not contain null bytes" msgstr "" -#: zerver/lib/narrow.py:107 -msgid "Operator {} not supported." +#: zerver/lib/message.py:1668 +#, python-brace-format +msgid "" +"You are not allowed to mention user group '{user_group_name}'. You must be a " +"member of '{can_mention_group_name}' to mention this group." msgstr "" -#: zerver/lib/narrow.py:197 +#: zerver/lib/narrow.py:108 +#, python-brace-format +msgid "Operator {operator} not supported." +msgstr "" + +#: zerver/lib/narrow.py:207 #, python-brace-format msgid "Invalid narrow operator: {desc}" msgstr "" -#: zerver/lib/narrow.py:1038 +#: zerver/lib/narrow.py:1054 msgid "Missing 'anchor' argument." msgstr "" -#: zerver/lib/narrow.py:1058 +#: zerver/lib/narrow.py:1074 msgid "Invalid anchor" msgstr "" -#: zerver/lib/onboarding.py:59 +#: zerver/lib/onboarding.py:57 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Using Zulip for a class guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:66 +#: zerver/lib/onboarding.py:64 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Getting started guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:78 +#: zerver/lib/onboarding.py:76 #, python-brace-format msgid "" "We also have a guide for [Setting up Zulip for a class]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:88 +#: zerver/lib/onboarding.py:86 #, python-brace-format msgid "" "We also have a guide for [Setting up your organization]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:98 +#: zerver/lib/onboarding.py:96 #, python-brace-format msgid "" "Note that this is a [demo organization]({demo_organization_help_url}) and " "will be **automatically deleted** in 30 days." msgstr "" -#: zerver/lib/onboarding.py:106 +#: zerver/lib/onboarding.py:104 msgid "Hello, and welcome to Zulip!" msgstr "" -#: zerver/lib/onboarding.py:107 +#: zerver/lib/onboarding.py:105 msgid "This is a direct message from me, Welcome Bot." msgstr "" -#: zerver/lib/onboarding.py:112 +#: zerver/lib/onboarding.py:110 msgid "" "I can also help you get set up! Just click anywhere on this message or press " "`r` to reply." msgstr "" -#: zerver/lib/onboarding.py:115 zerver/lib/onboarding.py:227 +#: zerver/lib/onboarding.py:113 zerver/lib/onboarding.py:225 msgid "Here are a few messages I understand:" msgstr "" -#: zerver/lib/onboarding.py:156 +#: zerver/lib/onboarding.py:154 msgid "" "You can [download](/apps/) the [mobile and desktop apps](/apps/). Zulip also " "works great in a browser." msgstr "" -#: zerver/lib/onboarding.py:161 +#: zerver/lib/onboarding.py:159 msgid "" "Go to [Profile settings](#settings/profile) to add a [profile picture](/help/" "change-your-profile-picture) and edit your [profile information](/help/edit-" "your-profile)." msgstr "" -#: zerver/lib/onboarding.py:167 +#: zerver/lib/onboarding.py:165 msgid "" -"Go to [Display settings](#settings/display-settings) to [switch between the " -"light and dark themes](/help/dark-theme), [pick your favorite emoji theme](/" -"help/emoji-and-emoticons#change-your-emoji-set), [change your language](/" -"help/change-your-language), and make other tweaks to your Zulip experience." +"Go to [Preferences](#settings/preferences) to [switch between the light and " +"dark themes](/help/dark-theme), [pick your favorite emoji theme](/help/emoji-" +"and-emoticons#change-your-emoji-set), [change your language](/help/change-" +"your-language), and make other tweaks to your Zulip experience." msgstr "" -#: zerver/lib/onboarding.py:177 +#: zerver/lib/onboarding.py:175 msgid "" "In Zulip, streams [determine who gets a message](/help/streams-and-topics). " "They are similar to channels in other chat apps." msgstr "" -#: zerver/lib/onboarding.py:181 +#: zerver/lib/onboarding.py:179 msgid "[Browse and subscribe to streams](#streams/all)." msgstr "" -#: zerver/lib/onboarding.py:188 +#: zerver/lib/onboarding.py:186 msgid "" "In Zulip, topics [tell you what a message is about](/help/streams-and-" "topics). They are light-weight subjects, very similar to the subject line of " "an email." msgstr "" -#: zerver/lib/onboarding.py:193 +#: zerver/lib/onboarding.py:191 msgid "" "Check out [Recent conversations](#recent) to see what's happening! You can " "return to this conversation by clicking \"Direct messages\" in the upper " "left." msgstr "" -#: zerver/lib/onboarding.py:202 +#: zerver/lib/onboarding.py:200 msgid "" "Zulip's [keyboard shortcuts](#keyboard-shortcuts) let you navigate the app " "quickly and efficiently." msgstr "" -#: zerver/lib/onboarding.py:206 +#: zerver/lib/onboarding.py:204 msgid "Press `?` any time to see a [cheat sheet](#keyboard-shortcuts)." msgstr "" -#: zerver/lib/onboarding.py:213 +#: zerver/lib/onboarding.py:211 msgid "" "Zulip uses [Markdown](/help/format-your-message-using-markdown), an " "intuitive format for **bold**, *italics*, bulleted lists, and more. Click " "[here](#message-formatting) for a cheat sheet." msgstr "" -#: zerver/lib/onboarding.py:219 +#: zerver/lib/onboarding.py:217 msgid "" "Check out our [messaging tips](/help/messaging-tips) to learn about emoji " "reactions, code blocks and much more!" msgstr "" -#: zerver/lib/onboarding.py:230 +#: zerver/lib/onboarding.py:228 msgid "" "Check out our [Getting started guide](/help/getting-started-with-zulip), or " "browse the [Help center](/help/) to learn more!" msgstr "" -#: zerver/lib/onboarding.py:239 +#: zerver/lib/onboarding.py:237 msgid "" "I’m sorry, I did not understand your message. Please try one of the " "following commands:" msgstr "" -#: zerver/lib/onboarding.py:271 +#: zerver/lib/onboarding.py:269 msgid "" "This is a private stream, as indicated by the lock icon next to the stream " "name." msgstr "" -#: zerver/lib/onboarding.py:273 +#: zerver/lib/onboarding.py:271 msgid "Private streams are only visible to stream members." msgstr "" -#: zerver/lib/onboarding.py:277 +#: zerver/lib/onboarding.py:275 #, python-brace-format msgid "" "To manage this stream, go to [Stream settings]({stream_settings_url}) and " "click on `{initial_private_stream_name}`." msgstr "" -#: zerver/lib/onboarding.py:287 +#: zerver/lib/onboarding.py:285 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `topic demonstration`." msgstr "" -#: zerver/lib/onboarding.py:293 +#: zerver/lib/onboarding.py:291 msgid "Topics are a lightweight tool to keep conversations organized." msgstr "" -#: zerver/lib/onboarding.py:295 +#: zerver/lib/onboarding.py:293 #, python-brace-format msgid "" "You can learn more about topics at [Streams and topics]" "({about_topics_help_url})." msgstr "" -#: zerver/lib/onboarding.py:300 +#: zerver/lib/onboarding.py:298 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `swimming turtles`." msgstr "" -#: zerver/lib/onboarding.py:309 +#: zerver/lib/onboarding.py:307 #, python-brace-format msgid "" "[Start a new topic]({start_topic_help_url}) any time you're not replying to " @@ -4156,11 +4524,12 @@ msgid "Invalid response format" msgstr "" #: zerver/lib/push_notifications.py:341 -msgid "Invalid GCM option to bouncer: priority {!r}" +msgid "Invalid GCM option to bouncer: priority {priority!r}" msgstr "" #: zerver/lib/push_notifications.py:351 -msgid "Invalid GCM options to bouncer: {}" +#, python-brace-format +msgid "Invalid GCM options to bouncer: {options}" msgstr "" #. error @@ -4168,30 +4537,43 @@ msgstr "" msgid "Token does not exist" msgstr "" -#: zerver/lib/push_notifications.py:746 +#: zerver/lib/push_notifications.py:758 msgid "" "This organization has disabled including message content in mobile push " "notifications" msgstr "" -#: zerver/lib/push_notifications.py:835 +#: zerver/lib/push_notifications.py:847 #, python-brace-format msgid "{full_name} mentioned @{user_group_name}:" msgstr "" -#: zerver/lib/push_notifications.py:839 +#: zerver/lib/push_notifications.py:851 #, python-brace-format msgid "{full_name} mentioned you:" msgstr "" -#: zerver/lib/push_notifications.py:841 +#: zerver/lib/push_notifications.py:853 +msgid "TODO - 2" +msgstr "" + +#: zerver/lib/push_notifications.py:855 +msgid "TODO" +msgstr "" + +#: zerver/lib/push_notifications.py:857 +#, python-brace-format +msgid "{full_name} mentioned all topic participants:" +msgstr "" + +#: zerver/lib/push_notifications.py:861 #, python-brace-format msgid "{full_name} mentioned everyone:" msgstr "" #: zerver/lib/recipient_users.py:29 zerver/lib/streams.py:268 -#: zerver/lib/streams.py:276 zerver/lib/streams.py:838 -#: zerver/tornado/views.py:164 zerver/views/events_register.py:94 +#: zerver/lib/streams.py:276 zerver/lib/streams.py:846 +#: zerver/tornado/views.py:164 zerver/views/events_register.py:95 #: zerver/views/message_send.py:182 zerver/views/message_send.py:203 msgid "User not authorized for this query" msgstr "" @@ -4206,31 +4588,33 @@ msgid "You can't send direct messages outside of your organization." msgstr "" #: zerver/lib/remote_server.py:93 -msgid "Push notifications bouncer error: {}" +#, python-brace-format +msgid "Push notifications bouncer error: {error}" msgstr "" -#: zerver/lib/request.py:92 +#: zerver/lib/request.py:91 #, python-brace-format msgid "Can't decide between '{var_name1}' and '{var_name2}' arguments" msgstr "" -#: zerver/lib/request.py:104 +#: zerver/lib/request.py:103 #, python-brace-format msgid "Missing '{var_name}' argument" msgstr "" -#: zerver/lib/request.py:117 +#: zerver/lib/request.py:116 #, python-brace-format msgid "Bad value for '{var_name}': {bad_value}" msgstr "" -#: zerver/lib/request.py:395 zerver/webhooks/ifttt/view.py:36 +#: zerver/lib/request.py:394 zerver/webhooks/ifttt/view.py:36 #: zerver/webhooks/slack_incoming/view.py:42 msgid "Malformed payload" msgstr "" #: zerver/lib/request.py:443 -msgid "Argument \"{}\" is not valid JSON." +#, python-brace-format +msgid "Argument \"{name}\" is not valid JSON." msgstr "" #: zerver/lib/scheduled_messages.py:20 @@ -4258,42 +4642,47 @@ msgstr "" msgid "New members cannot send to this stream." msgstr "" -#: zerver/lib/streams.py:301 -msgid "Not authorized to send to stream '{}'" +#: zerver/lib/streams.py:302 +#, python-brace-format +msgid "Not authorized to send to stream '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:306 +#: zerver/lib/streams.py:308 msgid "Please supply 'stream'." msgstr "" -#: zerver/lib/streams.py:309 +#: zerver/lib/streams.py:311 msgid "Please choose one: 'stream' or 'stream_id'." msgstr "" -#: zerver/lib/streams.py:315 zerver/lib/streams.py:334 -#: zerver/lib/streams.py:417 zerver/lib/streams.py:483 -#: zerver/views/streams.py:399 zerver/views/user_topics.py:101 +#: zerver/lib/streams.py:317 zerver/lib/streams.py:336 +#: zerver/lib/streams.py:419 zerver/lib/streams.py:487 +#: zerver/views/streams.py:401 zerver/views/user_topics.py:101 msgid "Invalid stream ID" msgstr "" -#: zerver/lib/streams.py:459 -msgid "Stream name '{}' is already taken." +#: zerver/lib/streams.py:462 +#, python-brace-format +msgid "Stream name '{stream_name}' is already taken." msgstr "" -#: zerver/lib/streams.py:467 zerver/lib/streams.py:587 -msgid "Invalid stream name '{}'" +#: zerver/lib/streams.py:471 zerver/lib/streams.py:591 +#, python-brace-format +msgid "Invalid stream name '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:731 -msgid "Stream(s) ({}) do not exist" +#: zerver/lib/streams.py:735 +#, python-brace-format +msgid "Stream(s) ({stream_names}) do not exist" msgstr "" -#: zerver/lib/streams.py:738 zerver/views/streams.py:334 +#: zerver/lib/streams.py:744 zerver/views/streams.py:336 msgid "Web-public streams are not enabled." msgstr "" -#: zerver/lib/streams.py:767 -msgid "Default stream group with id '{}' does not exist." +#: zerver/lib/streams.py:774 +#, python-brace-format +msgid "Default stream group with id '{group_id}' does not exist." msgstr "" #: zerver/lib/string_validation.py:38 @@ -4301,19 +4690,22 @@ msgid "Stream name can't be empty!" msgstr "" #: zerver/lib/string_validation.py:42 -msgid "Stream name too long (limit: {} characters)." +#, python-brace-format +msgid "Stream name too long (limit: {max_length} characters)." msgstr "" -#: zerver/lib/string_validation.py:48 -msgid "Invalid character in stream name, at position {}!" +#: zerver/lib/string_validation.py:50 +#, python-brace-format +msgid "Invalid character in stream name, at position {position}!" msgstr "" -#: zerver/lib/string_validation.py:54 +#: zerver/lib/string_validation.py:58 msgid "Topic can't be empty!" msgstr "" -#: zerver/lib/string_validation.py:59 -msgid "Invalid character in topic, at position {}!" +#: zerver/lib/string_validation.py:63 +#, python-brace-format +msgid "Invalid character in topic, at position {position}!" msgstr "" #: zerver/lib/subscription_info.py:295 @@ -4328,46 +4720,61 @@ msgstr "" msgid "Upload would exceed your organization's upload quota." msgstr "" -#: zerver/lib/upload/base.py:67 zerver/lib/upload/base.py:83 -#: zerver/lib/upload/base.py:177 +#: zerver/lib/upload/base.py:68 zerver/lib/upload/base.py:84 +#: zerver/lib/upload/base.py:178 msgid "Could not decode image; did you upload an image file?" msgstr "" -#: zerver/lib/upload/base.py:69 zerver/lib/upload/base.py:85 -#: zerver/lib/upload/base.py:179 +#: zerver/lib/upload/base.py:70 zerver/lib/upload/base.py:86 +#: zerver/lib/upload/base.py:180 msgid "Image size exceeds limit." msgstr "" -#: zerver/lib/upload/base.py:107 +#: zerver/lib/upload/base.py:108 msgid "Corrupt animated image." msgstr "" -#: zerver/lib/upload/base.py:116 +#: zerver/lib/upload/base.py:117 msgid "Unknown animated image format." msgstr "" -#: zerver/lib/user_groups.py:44 +#: zerver/lib/user_groups.py:54 msgid "Invalid user group" msgstr "" -#: zerver/lib/user_groups.py:56 -msgid "Invalid user group ID: {}" +#: zerver/lib/user_groups.py:67 +#, python-brace-format +msgid "Invalid user group ID: {group_id}" msgstr "" -#: zerver/lib/user_groups.py:74 -msgid "'{}' must be a system user group." +#: zerver/lib/user_groups.py:87 +#, python-brace-format +msgid "'{setting_name}' must be a system user group." msgstr "" -#: zerver/lib/user_groups.py:78 -msgid "'{}' setting cannot be set to '@role:internet' group." +#: zerver/lib/user_groups.py:92 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:internet' group." msgstr "" -#: zerver/lib/user_groups.py:83 -msgid "'{}' setting cannot be set to '@role:owners' group." +#: zerver/lib/user_groups.py:99 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:owners' group." msgstr "" -#: zerver/lib/user_groups.py:88 -msgid "'{}' setting cannot be set to '@role:nobody' group." +#: zerver/lib/user_groups.py:106 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:nobody' group." +msgstr "" + +#: zerver/lib/user_groups.py:117 +#, python-brace-format +msgid "User group name cannot exceed {max_length} characters." +msgstr "" + +#: zerver/lib/user_groups.py:125 +#, python-brace-format +msgid "User group name cannot start with '{prefix}'." msgstr "" #: zerver/lib/users.py:45 @@ -4395,44 +4802,48 @@ msgstr "" msgid "Bad name or username" msgstr "" -#: zerver/lib/users.py:95 -msgid "Invalid integration '{}'." +#: zerver/lib/users.py:96 +#, python-brace-format +msgid "Invalid integration '{integration_name}'." msgstr "" -#: zerver/lib/users.py:100 -msgid "Missing configuration parameters: {}" +#: zerver/lib/users.py:102 +#, python-brace-format +msgid "Missing configuration parameters: {keys}" msgstr "" -#: zerver/lib/users.py:109 -msgid "Invalid {} value {} ({})" +#: zerver/lib/users.py:112 +#, python-brace-format +msgid "Invalid {key} value {value} ({error})" msgstr "" -#: zerver/lib/users.py:124 +#: zerver/lib/users.py:130 msgid "Invalid configuration data!" msgstr "" -#: zerver/lib/users.py:158 +#: zerver/lib/users.py:164 msgid "Invalid bot type" msgstr "" -#: zerver/lib/users.py:163 +#: zerver/lib/users.py:169 msgid "Invalid interface type" msgstr "" -#: zerver/lib/users.py:232 zerver/lib/users.py:237 zerver/models.py:4669 -msgid "Invalid user ID: {}" +#: zerver/lib/users.py:238 zerver/lib/users.py:243 zerver/models.py:4729 +#, python-brace-format +msgid "Invalid user ID: {user_id}" msgstr "" -#: zerver/lib/users.py:245 zerver/lib/users.py:247 +#: zerver/lib/users.py:251 zerver/lib/users.py:253 msgid "No such bot" msgstr "" -#: zerver/lib/users.py:271 zerver/lib/users.py:298 zerver/lib/users.py:314 +#: zerver/lib/users.py:277 zerver/lib/users.py:304 zerver/lib/users.py:320 #: zerver/views/presence.py:44 msgid "No such user" msgstr "" -#: zerver/lib/users.py:273 +#: zerver/lib/users.py:279 msgid "User is deactivated" msgstr "" @@ -4522,7 +4933,8 @@ msgid "{key_name} key is missing from {var_name}" msgstr "" #: zerver/lib/validator.py:317 -msgid "Unexpected arguments: {}" +#, python-brace-format +msgid "Unexpected arguments: {keys}" msgstr "" #: zerver/lib/validator.py:350 @@ -4584,8 +4996,9 @@ msgstr "" msgid "Missing the HTTP event header '{header}'" msgstr "" -#: zerver/lib/webhooks/common.py:231 -msgid "The {} webhook expects time in milliseconds." +#: zerver/lib/webhooks/common.py:232 +#, python-brace-format +msgid "The {webhook} webhook expects time in milliseconds." msgstr "" #: zerver/lib/zcommand.py:30 @@ -4593,205 +5006,222 @@ msgid "There should be a leading slash in the zcommand." msgstr "" #: zerver/lib/zcommand.py:79 -msgid "No such command: {}" +#, python-brace-format +msgid "No such command: {command}" msgstr "" -#: zerver/middleware.py:464 +#: zerver/middleware.py:441 #, python-brace-format msgid "CSRF error: {reason}" msgstr "" -#: zerver/models.py:503 +#: zerver/middleware.py:607 +#, python-brace-format +msgid "Reverse proxy misconfiguration: {proxy_reason}" +msgstr "" + +#: zerver/models.py:495 msgid "stream events" msgstr "" -#: zerver/models.py:634 +#: zerver/models.py:626 msgid "Available on Zulip Cloud Standard. Upgrade to access." msgstr "" -#: zerver/models.py:692 +#: zerver/models.py:684 msgid "GIPHY integration disabled" msgstr "" -#: zerver/models.py:697 +#: zerver/models.py:689 msgid "Allow GIFs rated Y (Very young audience)" msgstr "" -#: zerver/models.py:701 +#: zerver/models.py:693 msgid "Allow GIFs rated G (General audience)" msgstr "" -#: zerver/models.py:705 +#: zerver/models.py:697 msgid "Allow GIFs rated PG (Parental guidance)" msgstr "" -#: zerver/models.py:709 +#: zerver/models.py:701 msgid "Allow GIFs rated PG-13 (Parental guidance - under 13)" msgstr "" -#: zerver/models.py:713 +#: zerver/models.py:705 msgid "Allow GIFs rated R (Restricted)" msgstr "" -#: zerver/models.py:1139 +#: zerver/models.py:1123 msgid "Invalid characters in emoji name" msgstr "" -#: zerver/models.py:1263 zerver/models.py:1265 -msgid "Bad regular expression: {}" +#: zerver/models.py:1235 zerver/models.py:1238 +#, python-brace-format +msgid "Bad regular expression: {regex}" msgstr "" -#: zerver/models.py:1266 +#: zerver/models.py:1240 msgid "Unknown regular expression error" msgstr "" -#: zerver/models.py:1274 +#: zerver/models.py:1248 msgid "Invalid URL template." msgstr "" -#: zerver/models.py:1318 +#: zerver/models.py:1292 #, python-format msgid "Group %(name)r in URL template is not present in linkifier pattern." msgstr "" -#: zerver/models.py:1330 +#: zerver/models.py:1304 #, python-format msgid "Group %(name)r in linkifier pattern is not present in URL template." msgstr "" -#: zerver/models.py:1408 zerver/views/realm_playgrounds.py:25 +#: zerver/models.py:1382 zerver/views/realm_playgrounds.py:24 msgid "Invalid characters in pygments language" msgstr "" -#: zerver/models.py:1652 +#: zerver/models.py:1412 +msgid "Missing the required variable \"code\" in the URL template" +msgstr "" + +#: zerver/models.py:1417 +msgid "\"code\" should be the only variable present in the URL template" +msgstr "" + +#: zerver/models.py:1660 msgid "Admins, moderators, members and guests" msgstr "" -#: zerver/models.py:1653 +#: zerver/models.py:1661 msgid "Admins, moderators and members" msgstr "" -#: zerver/models.py:1654 +#: zerver/models.py:1662 #, fuzzy #| msgid "Administrators" msgid "Admins and moderators" msgstr "നടത്തിപ്പുകാർ" -#: zerver/models.py:1655 +#: zerver/models.py:1663 msgid "Admins only" msgstr "" -#: zerver/models.py:1656 +#: zerver/models.py:1664 msgid "Nobody" msgstr "" -#: zerver/models.py:1960 +#: zerver/models.py:1973 msgid "Organization owner" msgstr "" -#: zerver/models.py:1961 +#: zerver/models.py:1974 msgid "Organization administrator" msgstr "" -#: zerver/models.py:1962 +#: zerver/models.py:1975 msgid "Moderator" msgstr "" -#: zerver/models.py:1963 +#: zerver/models.py:1976 msgid "Member" msgstr "" -#: zerver/models.py:1964 +#: zerver/models.py:1977 msgid "Guest" msgstr "" -#: zerver/models.py:2531 +#: zerver/models.py:2557 msgid "Web-public" msgstr "" -#: zerver/models.py:2537 +#: zerver/models.py:2563 msgid "Public" msgstr "" -#: zerver/models.py:2543 +#: zerver/models.py:2569 #, fuzzy #| msgid "Private messages" msgid "Private, shared history" msgstr "സ്വകാര്യ സന്ദേശങ്ങൾ" -#: zerver/models.py:2549 +#: zerver/models.py:2575 msgid "Private, protected history" msgstr "" -#: zerver/models.py:2557 +#: zerver/models.py:2583 msgid "Public, protected history" msgstr "" -#: zerver/models.py:2577 +#: zerver/models.py:2603 msgid "All stream members can post" msgstr "" -#: zerver/models.py:2578 +#: zerver/models.py:2604 msgid "Only organization administrators can post" msgstr "" -#: zerver/models.py:2580 +#: zerver/models.py:2606 msgid "Only organization administrators and moderators can post" msgstr "" -#: zerver/models.py:2583 +#: zerver/models.py:2609 msgid "Only organization full members can post" msgstr "" -#: zerver/models.py:3209 +#: zerver/models.py:3222 msgid "Unicode emoji" msgstr "" -#: zerver/models.py:3210 +#: zerver/models.py:3223 msgid "Custom emoji" msgstr "നിങ്ങൾക്ക് വേണ്ട ഇമോജി" -#: zerver/models.py:3211 +#: zerver/models.py:3224 msgid "Zulip extra emoji" msgstr "" -#: zerver/models.py:4672 -msgid "User with ID {} is deactivated" +#: zerver/models.py:4733 +#, python-brace-format +msgid "User with ID {user_id} is deactivated" msgstr "" -#: zerver/models.py:4675 -msgid "User with ID {} is a bot" +#: zerver/models.py:4737 +#, python-brace-format +msgid "User with ID {user_id} is a bot" msgstr "" -#: zerver/models.py:4715 +#: zerver/models.py:4777 msgid "List of options" msgstr "" -#: zerver/models.py:4718 +#: zerver/models.py:4780 msgid "Person picker" msgstr "" -#: zerver/models.py:4730 +#: zerver/models.py:4792 msgid "Short text" msgstr "" -#: zerver/models.py:4731 +#: zerver/models.py:4793 msgid "Long text" msgstr "" -#: zerver/models.py:4732 +#: zerver/models.py:4794 msgid "Date picker" msgstr "" -#: zerver/models.py:4733 +#: zerver/models.py:4795 msgid "Link" msgstr "" -#: zerver/models.py:4736 +#: zerver/models.py:4798 msgid "External account" msgstr "" -#: zerver/models.py:4741 +#: zerver/models.py:4803 msgid "Pronouns" msgstr "" @@ -4807,20 +5237,20 @@ msgstr "" msgid "An unknown browser" msgstr "" -#: zerver/tornado/event_queue.py:673 +#: zerver/tornado/event_queue.py:678 msgid "Missing 'queue_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:676 +#: zerver/tornado/event_queue.py:681 msgid "Missing 'last_event_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:683 +#: zerver/tornado/event_queue.py:688 #, python-brace-format msgid "An event newer than {event_id} has already been pruned!" msgstr "" -#: zerver/tornado/event_queue.py:693 +#: zerver/tornado/event_queue.py:698 #, python-brace-format msgid "Event {event_id} was not in this queue" msgstr "" @@ -4892,20 +5322,22 @@ msgstr "" msgid "Default custom field cannot be updated." msgstr "" -#: zerver/views/development/dev_login.py:98 +#: zerver/views/development/dev_login.py:100 msgid "Endpoint not available in production." msgstr "" -#: zerver/views/development/dev_login.py:100 +#: zerver/views/development/dev_login.py:102 msgid "DevAuthBackend not enabled." msgstr "" -#: zerver/views/events_register.py:107 zerver/views/events_register.py:111 -msgid "Invalid '{}' parameter for anonymous request" +#: zerver/views/events_register.py:108 zerver/views/events_register.py:112 +#, python-brace-format +msgid "Invalid '{key}' parameter for anonymous request" msgstr "" #: zerver/views/hotspots.py:19 -msgid "Unknown hotspot: {}" +#, python-brace-format +msgid "Unknown hotspot: {hotspot}" msgstr "" #: zerver/views/invite.py:72 @@ -4913,25 +5345,27 @@ msgid "You must specify at least one email address." msgstr "" #: zerver/views/invite.py:82 -msgid "Stream does not exist with id: {}. No invites were sent." +#, python-brace-format +msgid "Stream does not exist with id: {stream_id}. No invites were sent." msgstr "" -#: zerver/views/invite.py:87 +#: zerver/views/invite.py:89 msgid "You do not have permission to subscribe other users to streams." msgstr "" -#: zerver/views/invite.py:124 zerver/views/invite.py:127 -#: zerver/views/invite.py:146 zerver/views/invite.py:149 -#: zerver/views/invite.py:168 zerver/views/invite.py:173 +#: zerver/views/invite.py:126 zerver/views/invite.py:129 +#: zerver/views/invite.py:148 zerver/views/invite.py:151 +#: zerver/views/invite.py:170 zerver/views/invite.py:175 msgid "No such invitation" msgstr "" -#: zerver/views/invite.py:154 +#: zerver/views/invite.py:156 msgid "Invitation has already been revoked" msgstr "" -#: zerver/views/invite.py:207 -msgid "Invalid stream ID {}. No invites were sent." +#: zerver/views/invite.py:210 +#, python-brace-format +msgid "Invalid stream ID {stream_id}. No invites were sent." msgstr "" #: zerver/views/message_edit.py:98 @@ -4951,7 +5385,8 @@ msgid "Message already deleted" msgstr "" #: zerver/views/message_fetch.py:99 -msgid "Too many messages requested (maximum {})." +#, python-brace-format +msgid "Too many messages requested (maximum {max_messages})." msgstr "" #: zerver/views/message_fetch.py:104 zerver/views/message_flags.py:85 @@ -4959,7 +5394,8 @@ msgid "The anchor can only be excluded at an end of the range" msgstr "" #: zerver/views/message_flags.py:169 -msgid "No such topic '{}'" +#, python-brace-format +msgid "No such topic '{topic}'" msgstr "" #: zerver/views/message_send.py:201 @@ -5003,13 +5439,14 @@ msgstr "" msgid "Client did not pass any new values." msgstr "" -#: zerver/views/presence.py:106 +#: zerver/views/presence.py:108 msgid "" "Client must pass emoji_name if they pass either emoji_code or reaction_type." msgstr "" -#: zerver/views/presence.py:144 -msgid "Invalid status: {}" +#: zerver/views/presence.py:146 +#, python-brace-format +msgid "Invalid status: {status}" msgstr "" #: zerver/views/push_notifications.py:19 @@ -5026,10 +5463,6 @@ msgid "" "emoji_code" msgstr "" -#: zerver/views/reactions.py:68 -msgid "Reaction doesn't exist." -msgstr "" - #: zerver/views/read_receipts.py:22 #, fuzzy #| msgid "Deactivated organization" @@ -5037,29 +5470,33 @@ msgid "Read receipts are disabled in this organization." msgstr "നിഷ്ക്രീയമാക്കിയ സംഘടന" #: zerver/views/realm.py:160 -msgid "Invalid language '{}'" +#, python-brace-format +msgid "Invalid language '{language}'" msgstr "" #: zerver/views/realm.py:165 msgid "At least one authentication method must be enabled." msgstr "" -#: zerver/views/realm.py:169 -msgid "Invalid video_chat_provider {}" +#: zerver/views/realm.py:170 +#, python-brace-format +msgid "Invalid video_chat_provider {video_chat_provider}" msgstr "" -#: zerver/views/realm.py:173 -msgid "Invalid giphy_rating {}" +#: zerver/views/realm.py:178 +#, python-brace-format +msgid "Invalid giphy_rating {giphy_rating}" msgstr "" -#: zerver/views/realm.py:336 +#: zerver/views/realm.py:335 #, fuzzy #| msgid "Deactivated organization" msgid "Must be a demo organization." msgstr "നിഷ്ക്രീയമാക്കിയ സംഘടന" #: zerver/views/realm_domains.py:36 -msgid "Invalid domain: {}" +#, python-brace-format +msgid "Invalid domain: {error}" msgstr "" #: zerver/views/realm_domains.py:39 @@ -5072,18 +5509,19 @@ msgstr "" msgid "No entry found for domain {domain}." msgstr "" -#: zerver/views/realm_emoji.py:38 +#: zerver/views/realm_emoji.py:40 msgid "You must upload exactly one file." msgstr "" -#: zerver/views/realm_emoji.py:40 +#: zerver/views/realm_emoji.py:42 msgid "Only administrators can override default emoji." msgstr "" -#: zerver/views/realm_emoji.py:46 zerver/views/realm_icon.py:27 +#: zerver/views/realm_emoji.py:48 zerver/views/realm_icon.py:27 #: zerver/views/realm_logo.py:33 zerver/views/upload.py:278 -#: zerver/views/user_settings.py:352 -msgid "Uploaded file is larger than the allowed limit of {} MiB" +#: zerver/views/user_settings.py:371 +#, python-brace-format +msgid "Uploaded file is larger than the allowed limit of {max_size} MiB" msgstr "" #: zerver/views/realm_export.py:45 @@ -5123,7 +5561,7 @@ msgstr "" msgid "You must upload exactly one logo." msgstr "" -#: zerver/views/realm_playgrounds.py:33 +#: zerver/views/realm_playgrounds.py:32 msgid "Invalid playground" msgstr "" @@ -5160,63 +5598,65 @@ msgstr "" msgid "Invalid value for \"op\". Specify one of \"add\" or \"remove\"." msgstr "" -#: zerver/views/streams.py:322 +#: zerver/views/streams.py:324 msgid "Default streams cannot be made private." msgstr "" -#: zerver/views/streams.py:370 +#: zerver/views/streams.py:372 msgid "Stream already has that name!" msgstr "" -#: zerver/views/streams.py:452 zerver/views/user_groups.py:108 -#: zerver/views/user_groups.py:285 +#: zerver/views/streams.py:454 zerver/views/user_groups.py:168 +#: zerver/views/user_groups.py:347 msgid "Nothing to do. Specify at least one of \"add\" or \"delete\"." msgstr "" -#: zerver/views/streams.py:536 +#: zerver/views/streams.py:538 #, python-brace-format msgid "{user_full_name} subscribed you to the stream {stream_name}." msgstr "" -#: zerver/views/streams.py:542 +#: zerver/views/streams.py:544 #, python-brace-format msgid "{user_full_name} subscribed you to the following streams:" msgstr "" -#: zerver/views/streams.py:646 +#: zerver/views/streams.py:655 #, python-brace-format msgid "Unable to access stream ({stream_name})." msgstr "" -#: zerver/views/streams.py:659 +#: zerver/views/streams.py:668 msgid "You can only invite other Zephyr mirroring users to private streams." msgstr "" -#: zerver/views/streams.py:767 +#: zerver/views/streams.py:776 #, python-brace-format msgid "{user_name} created the following streams: {stream_str}." msgstr "" -#: zerver/views/streams.py:769 +#: zerver/views/streams.py:778 #, python-brace-format msgid "{user_name} created a new stream {stream_str}." msgstr "" -#: zerver/views/streams.py:770 +#: zerver/views/streams.py:779 msgid "new streams" msgstr "" -#: zerver/views/streams.py:802 +#: zerver/views/streams.py:811 #, python-brace-format msgid "**{policy}** stream created by {user_name}. **Description:**" msgstr "" -#: zerver/views/streams.py:1050 -msgid "Unknown subscription property: {}" +#: zerver/views/streams.py:1060 +#, python-brace-format +msgid "Unknown subscription property: {property}" msgstr "" -#: zerver/views/streams.py:1054 -msgid "Not subscribed to stream id {}" +#: zerver/views/streams.py:1066 +#, python-brace-format +msgid "Not subscribed to stream id {stream_id}" msgstr "" #: zerver/views/submessage.py:38 @@ -5240,7 +5680,7 @@ msgid "User has disabled typing notifications for direct messages" msgstr "" #: zerver/views/upload.py:183 -msgid "

File not found.

" +msgid "

This file does not exist or has been deleted.

" msgstr "" #: zerver/views/upload.py:223 @@ -5260,42 +5700,43 @@ msgstr "" msgid "You may only upload one file at a time" msgstr "" -#: zerver/views/user_groups.py:74 +#: zerver/views/user_groups.py:111 msgid "No new data supplied" msgstr "" -#: zerver/views/user_groups.py:149 +#: zerver/views/user_groups.py:209 #, python-brace-format msgid "{user_full_name} added you to the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:154 +#: zerver/views/user_groups.py:214 #, python-brace-format msgid "{user_full_name} removed you from the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:185 +#: zerver/views/user_groups.py:245 #, python-brace-format msgid "User {user_id} is already a member of this group" msgstr "" -#: zerver/views/user_groups.py:212 -msgid "There is no member '{}' in this user group" +#: zerver/views/user_groups.py:273 +#, python-brace-format +msgid "There is no member '{user_id}' in this user group" msgstr "" -#: zerver/views/user_groups.py:237 +#: zerver/views/user_groups.py:299 #, python-brace-format msgid "User group {group_id} is already a subgroup of this group." msgstr "" -#: zerver/views/user_groups.py:246 +#: zerver/views/user_groups.py:308 #, python-brace-format msgid "" "User group {user_group_id} is already a subgroup of one of the passed " "subgroups." msgstr "" -#: zerver/views/user_groups.py:266 +#: zerver/views/user_groups.py:328 #, python-brace-format msgid "User group {group_id} is not a subgroup of this group." msgstr "" @@ -5304,7 +5745,7 @@ msgstr "" msgid "Avatar changes are disabled in this organization." msgstr "" -#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:293 +#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:312 msgid "Email address changes are disabled in this organization." msgstr "" @@ -5312,31 +5753,34 @@ msgstr "" msgid "Invalid default_language" msgstr "" -#: zerver/views/user_settings.py:133 -msgid "Invalid notification sound '{}'" +#: zerver/views/user_settings.py:134 +#, python-brace-format +msgid "Invalid notification sound '{notification_sound}'" msgstr "" -#: zerver/views/user_settings.py:141 -msgid "Invalid email batching period: {} seconds" +#: zerver/views/user_settings.py:145 +#, python-brace-format +msgid "Invalid email batching period: {seconds} seconds" msgstr "" -#: zerver/views/user_settings.py:248 +#: zerver/views/user_settings.py:267 msgid "Your Zulip password is managed in LDAP" msgstr "" -#: zerver/views/user_settings.py:258 +#: zerver/views/user_settings.py:277 msgid "Wrong password!" msgstr "" -#: zerver/views/user_settings.py:263 -msgid "You're making too many attempts! Try again in {} seconds." +#: zerver/views/user_settings.py:282 +#, python-brace-format +msgid "You're making too many attempts! Try again in {seconds} seconds." msgstr "" -#: zerver/views/user_settings.py:269 +#: zerver/views/user_settings.py:288 msgid "New password is too weak!" msgstr "" -#: zerver/views/user_settings.py:342 +#: zerver/views/user_settings.py:361 msgid "You must upload exactly one avatar." msgstr "" @@ -5397,7 +5841,8 @@ msgid "Disposable email addresses are not allowed in this organization" msgstr "" #: zerver/views/users.py:712 -msgid "Email '{}' already in use" +#, python-brace-format +msgid "Email '{email}' already in use" msgstr "" #: zerver/views/video_calls.py:47 @@ -5456,7 +5901,7 @@ msgstr "" msgid "We were unable to set up mirroring for you" msgstr "" -#: zerver/webhooks/circleci/view.py:76 +#: zerver/webhooks/circleci/view.py:83 msgid "Projects using this version control system provider aren't supported" msgstr "" @@ -5465,7 +5910,7 @@ msgstr "" msgid "Invalid payload" msgstr "" -#: zerver/webhooks/front/view.py:155 +#: zerver/webhooks/front/view.py:151 msgid "Unknown webhook request" msgstr "" @@ -5513,10 +5958,11 @@ msgid "Message from Slack" msgstr "" #: zerver/webhooks/wordpress/view.py:56 -msgid "Unknown WordPress webhook action: {}" +#, python-brace-format +msgid "Unknown WordPress webhook action: {hook}" msgstr "" -#: zerver/worker/queue_processors.py:1123 +#: zerver/worker/queue_processors.py:1114 #, python-brace-format msgid "" "Your data export is complete and has been uploaded here:\n" @@ -5543,7 +5989,8 @@ msgid "Invalid token type" msgstr "" #: zilencer/views.py:109 -msgid "{} is not a valid hostname" +#, python-brace-format +msgid "{hostname} is not a valid hostname" msgstr "" #: zilencer/views.py:162 @@ -5551,7 +5998,8 @@ msgid "Missing user_id or user_uuid" msgstr "" #: zilencer/views.py:373 -msgid "Invalid property {}" +#, python-brace-format +msgid "Invalid property {property}" msgstr "" #: zilencer/views.py:375 @@ -5574,14 +6022,17 @@ msgstr "" msgid "Missing id_token parameter" msgstr "" -#: zproject/backends.py:2903 +#: zproject/backends.py:2902 msgid "Invalid OTP" msgstr "" -#: zproject/backends.py:2906 +#: zproject/backends.py:2905 msgid "Can't use both mobile_flow_otp and desktop_flow_otp together." msgstr "" +#~ msgid "Thanks for signing up!" +#~ msgstr "സൈനപ്പ് ചെയ്തതിനു നന്ദി" + #~ msgid "Check your email so we can get started." #~ msgstr "നമുക്ക് തുടങ്ങാൻ വേണ്ടി നിങ്ങളുടെ ഈമെയിൽ പരിശോധിക്കൂ" diff --git a/locale/mobile_info.json b/locale/mobile_info.json index 6897fca9cd..42f0672153 100644 --- a/locale/mobile_info.json +++ b/locale/mobile_info.json @@ -3,10 +3,18 @@ "not_translated": 102, "total": 388 }, + "be": { + "not_translated": 88, + "total": 388 + }, "bg": { "not_translated": 283, "total": 388 }, + "bqi": { + "not_translated": 321, + "total": 388 + }, "ca": { "not_translated": 174, "total": 388 @@ -28,7 +36,11 @@ "total": 388 }, "en_GB": { - "not_translated": 3, + "not_translated": 0, + "total": 388 + }, + "eo": { + "not_translated": 353, "total": 388 }, "es": { @@ -68,7 +80,7 @@ "total": 388 }, "ja": { - "not_translated": 71, + "not_translated": 38, "total": 388 }, "ko": { @@ -79,6 +91,10 @@ "not_translated": 359, "total": 388 }, + "lv": { + "not_translated": 290, + "total": 388 + }, "ml": { "not_translated": 353, "total": 388 @@ -99,8 +115,12 @@ "not_translated": 176, "total": 388 }, + "pt_BR": { + "not_translated": 339, + "total": 388 + }, "pt_PT": { - "not_translated": 102, + "not_translated": 24, "total": 388 }, "ro": { @@ -127,8 +147,12 @@ "not_translated": 326, "total": 388 }, + "tl": { + "not_translated": 365, + "total": 388 + }, "tr": { - "not_translated": 88, + "not_translated": 87, "total": 388 }, "uk": { diff --git a/locale/no/LC_MESSAGES/django.po b/locale/no/LC_MESSAGES/django.po index f26c9c4f4f..a1a7336650 100644 --- a/locale/no/LC_MESSAGES/django.po +++ b/locale/no/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-13 19:19+0000\n" +"POT-Creation-Date: 2023-07-26 03:33+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: analytics/views/stats.py:110 zerver/decorator.py:623 zerver/decorator.py:641 +#: analytics/views/stats.py:110 zerver/decorator.py:628 zerver/decorator.py:646 msgid "Not allowed for guest users" msgstr "" @@ -42,7 +42,8 @@ msgid "Group direct messages" msgstr "" #: analytics/views/stats.py:318 -msgid "Unknown chart name: {}" +#, python-brace-format +msgid "Unknown chart name: {chart_name}" msgstr "" #: analytics/views/stats.py:328 @@ -54,8 +55,8 @@ msgstr "" msgid "No analytics data available. Please contact your server administrator." msgstr "" -#: analytics/views/support.py:189 zerver/views/streams.py:304 -#: zerver/views/streams.py:308 zerver/views/streams.py:316 +#: analytics/views/support.py:189 zerver/views/streams.py:306 +#: zerver/views/streams.py:310 zerver/views/streams.py:318 msgid "Invalid parameters" msgstr "" @@ -112,30 +113,32 @@ msgid "" "{num_invites} users." msgstr "" -#: corporate/lib/stripe.py:112 -msgid "You must invoice for at least {} users." +#: corporate/lib/stripe.py:113 +#, python-brace-format +msgid "You must invoice for at least {min_licenses} users." msgstr "" -#: corporate/lib/stripe.py:117 +#: corporate/lib/stripe.py:120 +#, python-brace-format msgid "" -"Invoices with more than {} licenses can't be processed from this page. To " -"complete the upgrade, please contact {}." +"Invoices with more than {max_licenses} licenses can't be processed from this " +"page. To complete the upgrade, please contact {email}." msgstr "" -#: corporate/lib/stripe.py:225 +#: corporate/lib/stripe.py:228 #, python-brace-format msgid "Something went wrong. Please contact {email}." msgstr "" -#: corporate/lib/stripe.py:226 +#: corporate/lib/stripe.py:229 msgid "Something went wrong. Please reload the page." msgstr "" -#: corporate/lib/stripe.py:300 +#: corporate/lib/stripe.py:303 msgid "Something went wrong. Please wait a few seconds and try again." msgstr "" -#: corporate/lib/stripe.py:1020 +#: corporate/lib/stripe.py:1023 #, python-brace-format msgid "" "Your organization's request for sponsored hosting has been approved! You " @@ -169,7 +172,7 @@ msgstr "" msgid "Unable to update the plan. The plan has ended." msgstr "" -#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:253 +#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:251 msgid "" "Unable to update licenses manually. Your plan is on automatic license " "management." @@ -185,14 +188,14 @@ msgstr "" msgid "You cannot decrease the licenses in the current billing period." msgstr "" -#: corporate/views/billing_page.py:259 +#: corporate/views/billing_page.py:257 #, python-brace-format msgid "" "Your plan is already scheduled to renew with {licenses_at_next_renewal} " "licenses." msgstr "" -#: corporate/views/billing_page.py:273 +#: corporate/views/billing_page.py:271 msgid "Nothing to change." msgstr "" @@ -204,7 +207,7 @@ msgstr "" msgid "Session not found" msgstr "" -#: corporate/views/event_status.py:37 zerver/decorator.py:196 +#: corporate/views/event_status.py:37 zerver/decorator.py:197 msgid "Must be a billing administrator or an organization owner" msgstr "" @@ -255,7 +258,7 @@ msgid "" msgstr "" #: templates/500.html:4 templates/500.html:21 -#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:433 +#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:410 msgid "Internal server error" msgstr "" @@ -565,7 +568,7 @@ msgstr "" #: templates/corporate/for/events.html:34 #: templates/corporate/for/events.html:288 #: templates/corporate/for/open-source.html:36 -#: templates/corporate/for/open-source.html:720 +#: templates/corporate/for/open-source.html:727 #: templates/corporate/for/research.html:36 #: templates/corporate/for/research.html:402 #: templates/corporate/for/use-cases.html:23 @@ -585,7 +588,7 @@ msgstr "" #: templates/corporate/for/events.html:40 #: templates/corporate/for/events.html:294 #: templates/corporate/for/open-source.html:42 -#: templates/corporate/for/open-source.html:726 +#: templates/corporate/for/open-source.html:733 #: templates/corporate/for/research.html:42 #: templates/corporate/for/research.html:408 #: templates/corporate/for/use-cases.html:29 @@ -597,7 +600,7 @@ msgstr "" #: templates/corporate/for/events.html:37 #: templates/corporate/for/events.html:291 #: templates/corporate/for/open-source.html:39 -#: templates/corporate/for/open-source.html:723 +#: templates/corporate/for/open-source.html:730 #: templates/corporate/for/research.html:39 #: templates/corporate/for/research.html:405 msgid "Request sponsorship" @@ -863,52 +866,52 @@ msgid "Sign up with %(identity_provider)s" msgstr "" #: templates/zerver/accounts_send_confirm.html:5 -msgid "Confirm your email address" -msgstr "" - #: templates/zerver/accounts_send_confirm.html:17 -msgid "Thanks for signing up!" +msgid "Confirm your email address" msgstr "" #: templates/zerver/accounts_send_confirm.html:21 #, python-format msgid "" -"Check your email (%(email)s) so " -"we can get started." +"To complete your registration, check your email account (%(email)s) for a confirmation email " +"from Zulip." msgstr "" #: templates/zerver/accounts_send_confirm.html:25 msgid "" -"Still no email? We can resend it." +"If you don't see a confirmation email in your Inbox or Spam folder, we can " +"resend it." msgstr "" -#: templates/zerver/accounts_send_confirm.html:26 -msgid "Just in case, take a look at your Spam folder." -msgstr "" - -#: templates/zerver/app/index.html:121 +#: templates/zerver/app/index.html:128 msgid "" -"If this message does not go away, try reloading the " -"page." +"If this message does not go away, try reloading " +"the page." msgstr "" -#: templates/zerver/app/index.html:164 +#: templates/zerver/app/index.html:131 +msgid "" +"Error loading Zulip. Try reloading the page." +msgstr "" + +#: templates/zerver/app/index.html:174 msgid "Unable to connect to Zulip." msgstr "" -#: templates/zerver/app/index.html:165 +#: templates/zerver/app/index.html:175 msgid "Updates may be delayed." msgstr "" -#: templates/zerver/app/index.html:166 +#: templates/zerver/app/index.html:176 msgid "Retrying soon…" msgstr "" -#: templates/zerver/app/index.html:167 +#: templates/zerver/app/index.html:177 msgid "Try now." msgstr "" -#: templates/zerver/app/index.html:241 templates/zerver/app/index.html:243 +#: templates/zerver/app/index.html:251 templates/zerver/app/index.html:253 msgid "Messages" msgstr "" @@ -937,6 +940,7 @@ msgstr "" #: templates/zerver/billing_nav.html:4 #: templates/zerver/development/integrations_dev_panel.html:19 +#: templates/zerver/emails/compiled/followup_day2.html:28 #: templates/zerver/portico-header.html:5 #: templates/zerver/portico-header.html:9 msgid "Zulip" @@ -1167,6 +1171,8 @@ msgstr "" msgid "Digest" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:9 +#: templates/zerver/emails/compiled/notify_change_in_email.html:9 #: templates/zerver/emails/confirm_new_email.html:8 #: templates/zerver/emails/confirm_new_email.txt:1 #: templates/zerver/emails/notify_change_in_email.html:8 @@ -1174,6 +1180,7 @@ msgstr "" msgid "Hi," msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:11 #: templates/zerver/emails/confirm_new_email.html:10 #: templates/zerver/emails/confirm_new_email.txt:4 #, python-format @@ -1183,10 +1190,12 @@ msgid "" "please click below:" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:12 #: templates/zerver/emails/confirm_new_email.html:11 msgid "Confirm email change" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:14 #: templates/zerver/emails/confirm_new_email.html:13 #, python-format msgid "" @@ -1194,6 +1203,623 @@ msgid "" "%(support_email)s." msgstr "" +#: templates/zerver/emails/compiled/confirm_registration.html:11 +#: templates/zerver/emails/confirm_registration.html:10 +#: templates/zerver/emails/confirm_registration.txt:2 +msgid "You have requested a new Zulip organization. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:13 +#: templates/zerver/emails/confirm_registration.html:12 +#: templates/zerver/emails/confirm_registration.txt:4 +msgid "You recently signed up for Zulip. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:18 +#: templates/zerver/emails/confirm_registration.html:17 +msgid "" +"Click the button below to create the organization and register your account." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:20 +#: templates/zerver/emails/confirm_registration.html:19 +msgid "Click the button below to complete registration." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:22 +#: templates/zerver/emails/compiled/invitation.html:17 +#: templates/zerver/emails/compiled/invitation_reminder.html:15 +#: templates/zerver/emails/confirm_registration.html:21 +#: templates/zerver/emails/invitation.html:16 +#: templates/zerver/emails/invitation_reminder.html:14 +msgid "Complete registration" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:24 +#: templates/zerver/emails/compiled/invitation.html:20 +#: templates/zerver/emails/compiled/realm_reactivation.html:20 +#, python-format +msgid "" +"Contact us any time at %(support_email)s if you run into trouble, have any " +"feedback, or just want to chat!" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:8 +#, python-format +msgid "" +"\n" +"Your Zulip account on %(realm_uri)s has been deactivated, and you will " +"no longer be able to log in.\n" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:15 +#: templates/zerver/emails/deactivate.html:15 +#: templates/zerver/emails/deactivate.txt:6 +msgid "The administrators provided the following comment:" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:28 +#: templates/zerver/emails/digest.html:27 +msgid "New streams" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:35 +#: templates/zerver/emails/digest.html:34 +msgid "Click here to log in to Zulip and catch up." +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:40 +#: templates/zerver/emails/compiled/followup_day2.html:34 +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/custom_email_base.pre.html:18 +#: templates/zerver/emails/digest.html:39 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Manage email preferences" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:41 +#: templates/zerver/emails/digest.html:40 +msgid "Unsubscribe from digest emails" +msgstr "" + +#: templates/zerver/emails/compiled/email_base_default.html:95 +#: templates/zerver/emails/compiled/email_base_marketing.html:95 +#: templates/zerver/emails/email_base_default.html:33 +#: templates/zerver/emails/email_base_marketing.html:33 +msgid "Swimming fish" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:9 +#: templates/zerver/emails/find_team.html:8 +#: templates/zerver/emails/find_team.txt:1 +msgid "Thanks for your request!" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:11 +#, python-format +msgid "" +"Your email address %(email)s has accounts with the following Zulip " +"organizations hosted by %(external_host)s:" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:19 +#: templates/zerver/emails/find_team.html:18 +#: templates/zerver/emails/find_team.txt:10 +msgid "" +"If you have trouble logging in, please contact Zulip support by replying to " +"this email." +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:21 +#: templates/zerver/emails/find_team.html:20 +#: templates/zerver/emails/find_team.txt:13 +msgid "Thanks for using Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:9 +#: templates/zerver/emails/followup_day1.html:24 +#: templates/zerver/emails/followup_day1.txt:1 +msgid "Welcome to Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:14 +msgid "" +"You've created a demo Zulip organization. Note that this organization will " +"be automatically deleted in 30 days. Learn more about demo organizations here!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:16 +#, python-format +msgid "You've created the new Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:19 +#, python-format +msgid "You've joined the Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:24 +msgid "Your account details:" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:27 +#: templates/zerver/emails/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.txt:16 +#, python-format +msgid "Organization URL: %(organization_url)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:31 +#, python-format +msgid "Username: %(ldap_username)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.html:39 +#: templates/zerver/emails/followup_day1.txt:22 +msgid "Use your LDAP account to log in" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:38 +#, python-format +msgid "Email: %(email)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:42 +#, python-format +msgid "" +"(you'll need these to sign in to the mobile and desktop " +"apps)" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:47 +#, python-format +msgid "" +"Check out our guide for admins, become a Zulip pro with a " +"few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:49 +#, python-format +msgid "" +"Learn more about Zulip, become a pro with a few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:54 +msgid "Cheers," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:55 +#: templates/zerver/emails/compiled/notify_change_in_email.html:15 +#: templates/zerver/emails/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.txt:7 +msgid "Team Zulip" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:59 +msgid "" +"PS: Follow us on Twitter, star us on GitHub, or chat with us live on the Zulip community server!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:9 +msgid "Hey," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:11 +msgid "" +"I wanted to share one last thing with you: a few tips about topics, since " +"mastering topics is a key part of being a Zulip power user." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:13 +#: templates/zerver/emails/followup_day2.html:22 +msgid "Examples of short topics" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:15 +msgid "" +"Topics are like email subject lines. The big difference, though, is that " +"they're really short and lightweight. Two or three words will do it. Don't " +"overthink 'em—you can always edit the message later!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:18 +msgid "Good topics: design mockup, Bug 345, acme burgers" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:19 +msgid "" +"Not recommended: \"What do people think of this new design mockup?\", \"I'm " +"looking at Bug 345\", \"Is Acme Burgers open for lunch?\"" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:22 +msgid "Example of a topic that is too long" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:24 +msgid "" +"Why bother with topics? Well, two reasons: it makes conversations clearer " +"(imagine if email didn't have them!), and it lets you more efficiently catch " +"up on what's happened while you're away—read the topics that are relevant to " +"you, and ignore the ones that aren't!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:26 +msgid "Take it for a spin now." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:28 +#: templates/zerver/emails/compiled/notify_new_login.html:42 +#: templates/zerver/emails/notify_new_login.html:40 +#: templates/zerver/emails/notify_new_login.txt:20 +msgid "Thanks," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:35 +msgid "Unsubscribe from welcome emails" +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:10 +#: templates/zerver/emails/invitation.html:9 +#: templates/zerver/emails/invitation.txt:1 +msgid "Hi there," +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:13 +#, python-format +msgid "" +"%(referrer_name)s wants you to join them on Zulip — the team communication " +"tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:16 +#: templates/zerver/emails/compiled/invitation_reminder.html:14 +#: templates/zerver/emails/invitation.html:15 +#: templates/zerver/emails/invitation_reminder.html:13 +msgid "To get started, click the button below." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:9 +#: templates/zerver/emails/invitation_reminder.html:8 +#: templates/zerver/emails/invitation_reminder.txt:1 +msgid "Hi again," +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:11 +#, python-format +msgid "" +"This is a friendly reminder that %(referrer_name)s wants you to join them on " +"Zulip — the team communication tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:19 +#: templates/zerver/emails/invitation_reminder.html:18 +#: templates/zerver/emails/invitation_reminder.txt:8 +msgid "This is the last reminder you'll receive for this invitation." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:23 +#: templates/zerver/emails/invitation_reminder.html:22 +#, python-format +msgid "" +"\n" +" This invitation expires in two days. If the invitation expires,\n" +" you'll need to ask %(referrer_name)s for another one.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:18 +#, python-format +msgid "" +"This email does not include message content because your organization has " +"disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:20 +#, python-format +msgid "" +"This email does not include message content because you have disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:30 +#: templates/zerver/emails/missed_message.html:29 +#: templates/zerver/emails/missed_message.txt:25 +msgid "You are receiving this because you were personally mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:32 +#: templates/zerver/emails/missed_message.html:31 +#: templates/zerver/emails/missed_message.txt:27 +#, python-format +msgid "" +"You are receiving this because @%(mentioned_user_group_name)s was mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:34 +#: templates/zerver/emails/missed_message.html:39 +#: templates/zerver/emails/missed_message.txt:35 +#, python-format +msgid "" +"You are receiving this because everyone was mentioned in #%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:36 +#: templates/zerver/emails/missed_message.html:43 +#: templates/zerver/emails/missed_message.txt:39 +#, python-format +msgid "" +"You are receiving this because you have email notifications enabled for " +"#%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:39 +#, python-format +msgid "" +"Reply to this email directly, view it in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:41 +#, python-format +msgid "" +"View or reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:43 +#, python-format +msgid "" +"Reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:45 +#, python-format +msgid "" +"\n" +" Do not reply to this email. This Zulip server is not configured to " +"accept incoming emails (help).\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:11 +#: templates/zerver/emails/notify_change_in_email.html:10 +#, python-format +msgid "" +"The email associated with your Zulip account was recently changed to " +"%(new_email)s. If you did not request this change, please contact us " +"immediately at %(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.html:13 +#: templates/zerver/emails/notify_change_in_email.txt:6 +msgid "Best," +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:4 +#: templates/zerver/emails/notify_new_login.html:4 +#, python-format +msgid "" +"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:13 +#: templates/zerver/emails/notify_new_login.html:12 +#: templates/zerver/emails/notify_new_login.txt:1 +msgid "We noticed a recent login for the following Zulip account." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:18 +#: templates/zerver/emails/notify_new_login.html:16 +#, python-format +msgid "Organization: %(organization_link)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:21 +#: templates/zerver/emails/notify_new_login.html:19 +#: templates/zerver/emails/notify_new_login.txt:5 +#, python-format +msgid "Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:24 +#: templates/zerver/emails/notify_new_login.html:22 +#: templates/zerver/emails/notify_new_login.txt:7 +#, python-format +msgid "Time: %(login_time)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:27 +#: templates/zerver/emails/notify_new_login.html:25 +#: templates/zerver/emails/notify_new_login.txt:9 +#, python-format +msgid "Device: %(device_browser)s on %(device_os)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:30 +#: templates/zerver/emails/notify_new_login.html:28 +#: templates/zerver/emails/notify_new_login.txt:11 +#, python-format +msgid "IP address: %(device_ip)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:35 +#: templates/zerver/emails/notify_new_login.html:33 +#: templates/zerver/emails/notify_new_login.txt:14 +msgid "If this was you, great! There's nothing else you need to do." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:38 +#, python-format +msgid "" +"If you do not recognize this login, or think your account may have been " +"compromised, please reset your password or contact us immediately at " +"%(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:43 +#: templates/zerver/emails/notify_new_login.html:41 +#: templates/zerver/emails/notify_new_login.txt:21 +msgid "Zulip Security" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Unsubscribe from login notifications" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:10 +#: templates/zerver/emails/password_reset.html:9 +#: templates/zerver/emails/password_reset.txt:1 +#, python-format +msgid "" +"Somebody (possibly you) requested a new password for the Zulip account " +"%(email)s on %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:14 +#: templates/zerver/emails/password_reset.html:13 +msgid "Click the button below to reset your password." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:15 +#: templates/zerver/emails/password_reset.html:14 +msgid "Reset password" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:20 +#, python-format +msgid "" +"You previously had an account on %(organization_url)s, but it has been " +"deactivated. You can contact an organization administrator to reactivate your account." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:22 +#: templates/zerver/emails/password_reset.html:21 +#: templates/zerver/emails/password_reset.txt:11 +msgid "You do not have an account in that Zulip organization." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:27 +#: templates/zerver/emails/password_reset.html:26 +#: templates/zerver/emails/password_reset.txt:16 +msgid "You do have active accounts in the following organization(s)." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:34 +#: templates/zerver/emails/password_reset.html:32 +#: templates/zerver/emails/password_reset.txt:21 +msgid "" +"You can try logging in or resetting your password in the organization(s) " +"above." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:40 +#: templates/zerver/emails/password_reset.html:38 +#: templates/zerver/emails/password_reset.txt:25 +msgid "" +"If you do not recognize this activity, you can safely ignore this email." +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:8 +#: templates/zerver/emails/realm_auto_downgraded.html:8 +#, python-format +msgid "" +"\n" +" Your organization, %(organization_name_with_link)s, has been downgraded " +"to the Zulip Cloud\n" +" Free plan because of unpaid invoices. The unpaid invoices have been " +"voided.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:15 +#: templates/zerver/emails/realm_auto_downgraded.html:15 +#, python-format +msgid "" +"\n" +" To continue on the Zulip Cloud Standard plan, please upgrade again by " +"going to %(upgrade_url)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:22 +#: templates/zerver/emails/realm_auto_downgraded.html:22 +#, python-format +msgid "" +"\n" +" If you think this was a mistake or need more details, please reach out " +"to us at %(support_email)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:9 +#: templates/zerver/emails/realm_reactivation.html:8 +#: templates/zerver/emails/realm_reactivation.txt:1 +#, python-format +msgid "Dear former administrators of %(realm_name)s," +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:11 +#: templates/zerver/emails/realm_reactivation.html:10 +#: templates/zerver/emails/realm_reactivation.txt:4 +#, python-format +msgid "" +"One of your administrators requested reactivation of the previously " +"deactivated Zulip organization hosted at %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:14 +#: templates/zerver/emails/realm_reactivation.html:13 +msgid "Click the button below to reactivate your organization." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:15 +#: templates/zerver/emails/realm_reactivation.html:14 +msgid "Reactivate organization" +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:18 +#: templates/zerver/emails/realm_reactivation.html:17 +#: templates/zerver/emails/realm_reactivation.txt:10 +msgid "" +"If the request was in error, you can take no action and this link will " +"expire in 24 hours." +msgstr "" + #: templates/zerver/emails/confirm_new_email.subject.txt:1 msgid "Verify your new email address" msgstr "" @@ -1205,31 +1831,6 @@ msgid "" "<%(support_email)s>." msgstr "" -#: templates/zerver/emails/confirm_registration.html:10 -#: templates/zerver/emails/confirm_registration.txt:2 -msgid "You have requested a new Zulip organization. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:12 -#: templates/zerver/emails/confirm_registration.txt:4 -msgid "You recently signed up for Zulip. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:17 -msgid "" -"Click the button below to create the organization and register your account." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:19 -msgid "Click the button below to complete registration." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:21 -#: templates/zerver/emails/invitation.html:16 -#: templates/zerver/emails/invitation_reminder.html:14 -msgid "Complete registration" -msgstr "" - #: templates/zerver/emails/confirm_registration.subject.txt:2 msgid "Create your Zulip organization" msgstr "" @@ -1268,12 +1869,6 @@ msgid "" "at %(support_email)s." msgstr "" -#: templates/zerver/emails/custom_email_base.pre.html:18 -#: templates/zerver/emails/digest.html:39 -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Manage email preferences" -msgstr "" - #: templates/zerver/emails/custom_email_base.pre.html:18 msgid "Unsubscribe from marketing emails" msgstr "" @@ -1286,11 +1881,6 @@ msgid "" "deactivated, and you will no longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/deactivate.html:15 -#: templates/zerver/emails/deactivate.txt:6 -msgid "The administrators provided the following comment:" -msgstr "" - #: templates/zerver/emails/deactivate.subject.txt:1 #, python-format msgid "Notification of account deactivation on %(realm_name)s" @@ -1304,18 +1894,6 @@ msgid "" "longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/digest.html:27 -msgid "New streams" -msgstr "" - -#: templates/zerver/emails/digest.html:34 -msgid "Click here to log in to Zulip and catch up." -msgstr "" - -#: templates/zerver/emails/digest.html:40 -msgid "Unsubscribe from digest emails" -msgstr "" - #: templates/zerver/emails/digest.subject.txt:1 #, python-format msgid "Zulip digest for %(realm_name)s" @@ -1334,16 +1912,6 @@ msgstr "" msgid "Unsubscribe from digest emails:" msgstr "" -#: templates/zerver/emails/email_base_default.html:33 -#: templates/zerver/emails/email_base_marketing.html:33 -msgid "Swimming fish" -msgstr "" - -#: templates/zerver/emails/find_team.html:8 -#: templates/zerver/emails/find_team.txt:1 -msgid "Thanks for your request!" -msgstr "" - #: templates/zerver/emails/find_team.html:10 #, python-format msgid "" @@ -1351,18 +1919,6 @@ msgid "" "organizations hosted by %(external_host)s:" msgstr "" -#: templates/zerver/emails/find_team.html:18 -#: templates/zerver/emails/find_team.txt:10 -msgid "" -"If you have trouble logging in, please contact Zulip support by replying to " -"this email." -msgstr "" - -#: templates/zerver/emails/find_team.html:20 -#: templates/zerver/emails/find_team.txt:13 -msgid "Thanks for using Zulip!" -msgstr "" - #: templates/zerver/emails/find_team.subject.txt:1 msgid "Your Zulip accounts" msgstr "" @@ -1392,11 +1948,6 @@ msgid "" " organization: %(realm_name)s." msgstr "" -#: templates/zerver/emails/followup_day1.html:24 -#: templates/zerver/emails/followup_day1.txt:1 -msgid "Welcome to Zulip!" -msgstr "" - #: templates/zerver/emails/followup_day1.html:26 #, python-format msgid "" @@ -1411,23 +1962,12 @@ msgid "" "href=\"%(apps_page_link)s\">mobile and desktop apps:" msgstr "" -#: templates/zerver/emails/followup_day1.html:34 -#: templates/zerver/emails/followup_day1.txt:16 -#, python-format -msgid "Organization URL: %(organization_url)s" -msgstr "" - #: templates/zerver/emails/followup_day1.html:37 #: templates/zerver/emails/followup_day1.txt:20 #, python-format msgid "Your username: %(ldap_username)s" msgstr "" -#: templates/zerver/emails/followup_day1.html:39 -#: templates/zerver/emails/followup_day1.txt:22 -msgid "Use your LDAP account to log in" -msgstr "" - #: templates/zerver/emails/followup_day1.html:42 #: templates/zerver/emails/followup_day1.txt:25 #, python-format @@ -1547,10 +2087,6 @@ msgid "" "about…?”" msgstr "" -#: templates/zerver/emails/followup_day2.html:22 -msgid "Examples of short topics" -msgstr "" - #: templates/zerver/emails/followup_day2.html:25 #, python-format msgid "" @@ -1594,11 +2130,6 @@ msgid "" "(%(move_topic_to_different_stream_link)s)." msgstr "" -#: templates/zerver/emails/invitation.html:9 -#: templates/zerver/emails/invitation.txt:1 -msgid "Hi there," -msgstr "" - #: templates/zerver/emails/invitation.html:12 #, python-format msgid "" @@ -1606,11 +2137,6 @@ msgid "" "communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation.html:15 -#: templates/zerver/emails/invitation_reminder.html:13 -msgid "To get started, click the button below." -msgstr "" - #: templates/zerver/emails/invitation.subject.txt:1 #, python-format msgid "%(referrer_full_name)s has invited you to join %(referrer_realm_name)s" @@ -1628,11 +2154,6 @@ msgstr "" msgid "To get started, click the link below." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:8 -#: templates/zerver/emails/invitation_reminder.txt:1 -msgid "Hi again," -msgstr "" - #: templates/zerver/emails/invitation_reminder.html:10 #, python-format msgid "" @@ -1640,20 +2161,6 @@ msgid "" "Zulip — the team communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:18 -#: templates/zerver/emails/invitation_reminder.txt:8 -msgid "This is the last reminder you'll receive for this invitation." -msgstr "" - -#: templates/zerver/emails/invitation_reminder.html:22 -#, python-format -msgid "" -"\n" -" This invitation expires in two days. If the invitation expires,\n" -" you'll need to ask %(referrer_name)s for another one.\n" -" " -msgstr "" - #: templates/zerver/emails/invitation_reminder.subject.txt:1 #, python-format msgid "Reminder: Join %(referrer_name)s at %(referrer_realm_name)s" @@ -1704,34 +2211,31 @@ msgid "" "content appearing in email notifications." msgstr "" -#: templates/zerver/emails/missed_message.html:29 -#: templates/zerver/emails/missed_message.txt:25 -msgid "You are receiving this because you were personally mentioned." -msgstr "" - -#: templates/zerver/emails/missed_message.html:31 -#: templates/zerver/emails/missed_message.txt:27 -#, python-format -msgid "" -"You are receiving this because @%(mentioned_user_group_name)s was mentioned." -msgstr "" - #: templates/zerver/emails/missed_message.html:33 +#: templates/zerver/emails/missed_message.html:37 #: templates/zerver/emails/missed_message.txt:29 +#: templates/zerver/emails/missed_message.txt:33 #, python-format msgid "" -"You are receiving this because everyone was mentioned in #%(stream_name)s." +"You are receiving this because all topic participants were mentioned in " +"#%(stream_name)s > %(topic_name)s." msgstr "" #: templates/zerver/emails/missed_message.html:35 #: templates/zerver/emails/missed_message.txt:31 -#, python-format msgid "" -"You are receiving this because you have email notifications enabled for " -"#%(stream_name)s." +"You are receiving this because you have wildcard mention notifications " +"enabled for topics you follow." msgstr "" -#: templates/zerver/emails/missed_message.html:38 +#: templates/zerver/emails/missed_message.html:41 +#: templates/zerver/emails/missed_message.txt:37 +msgid "" +"You are receiving this because you have email notifications enabled for " +"topics you follow." +msgstr "" + +#: templates/zerver/emails/missed_message.html:46 #, python-format msgid "" "Reply to this email directly, view it in " @@ -1739,21 +2243,21 @@ msgid "" "preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:40 +#: templates/zerver/emails/missed_message.html:48 #, python-format msgid "" "View or reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:42 +#: templates/zerver/emails/missed_message.html:50 #, python-format msgid "" "Reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:44 +#: templates/zerver/emails/missed_message.html:52 #, python-format msgid "" "\n" @@ -1799,50 +2303,32 @@ msgid "" "See %(alert_notif_url)s for more details.\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:35 +#: templates/zerver/emails/missed_message.txt:43 #, python-format msgid "Reply to this email directly, or view it in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:39 +#: templates/zerver/emails/missed_message.txt:47 #, python-format msgid "View or reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:43 +#: templates/zerver/emails/missed_message.txt:51 #, python-format msgid "Reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:47 +#: templates/zerver/emails/missed_message.txt:55 msgid "" "\n" "Do not reply to this email. This Zulip server is not configured to accept\n" "incoming emails. Help:\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:54 +#: templates/zerver/emails/missed_message.txt:62 msgid "Manage email preferences: " msgstr "" -#: templates/zerver/emails/notify_change_in_email.html:10 -#, python-format -msgid "" -"The email associated with your Zulip account was recently changed to " -"%(new_email)s. If you did not request this change, please contact us " -"immediately at %(support_email)s." -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:13 -#: templates/zerver/emails/notify_change_in_email.txt:6 -msgid "Best," -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:14 -#: templates/zerver/emails/notify_change_in_email.txt:7 -msgid "Team Zulip" -msgstr "" - #: templates/zerver/emails/notify_change_in_email.subject.txt:1 #, python-format msgid "Zulip email changed for %(realm_name)s" @@ -1856,51 +2342,6 @@ msgid "" "immediately at <%(support_email)s>." msgstr "" -#: templates/zerver/emails/notify_new_login.html:4 -#, python-format -msgid "" -"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:12 -#: templates/zerver/emails/notify_new_login.txt:1 -msgid "We noticed a recent login for the following Zulip account." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:16 -#, python-format -msgid "Organization: %(organization_link)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:19 -#: templates/zerver/emails/notify_new_login.txt:5 -#, python-format -msgid "Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:22 -#: templates/zerver/emails/notify_new_login.txt:7 -#, python-format -msgid "Time: %(login_time)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:25 -#: templates/zerver/emails/notify_new_login.txt:9 -#, python-format -msgid "Device: %(device_browser)s on %(device_os)s." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:28 -#: templates/zerver/emails/notify_new_login.txt:11 -#, python-format -msgid "IP address: %(device_ip)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:33 -#: templates/zerver/emails/notify_new_login.txt:14 -msgid "If this was you, great! There's nothing else you need to do." -msgstr "" - #: templates/zerver/emails/notify_new_login.html:36 #, python-format msgid "" @@ -1909,20 +2350,6 @@ msgid "" "contact us immediately at %(support_email)s." msgstr "" -#: templates/zerver/emails/notify_new_login.html:40 -#: templates/zerver/emails/notify_new_login.txt:20 -msgid "Thanks," -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:41 -#: templates/zerver/emails/notify_new_login.txt:21 -msgid "Zulip Security" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Unsubscribe from login notifications" -msgstr "" - #: templates/zerver/emails/notify_new_login.subject.txt:1 #, python-format msgid "New login from %(device_browser)s on %(device_os)s" @@ -2013,22 +2440,6 @@ msgstr "" msgid "Zulip guide for communities" msgstr "" -#: templates/zerver/emails/password_reset.html:9 -#: templates/zerver/emails/password_reset.txt:1 -#, python-format -msgid "" -"Somebody (possibly you) requested a new password for the Zulip account " -"%(email)s on %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/password_reset.html:13 -msgid "Click the button below to reset your password." -msgstr "" - -#: templates/zerver/emails/password_reset.html:14 -msgid "Reset password" -msgstr "" - #: templates/zerver/emails/password_reset.html:19 #, python-format msgid "" @@ -2037,29 +2448,6 @@ msgid "" "href=\"%(help_link)s\">reactivate your account." msgstr "" -#: templates/zerver/emails/password_reset.html:21 -#: templates/zerver/emails/password_reset.txt:11 -msgid "You do not have an account in that Zulip organization." -msgstr "" - -#: templates/zerver/emails/password_reset.html:26 -#: templates/zerver/emails/password_reset.txt:16 -msgid "You do have active accounts in the following organization(s)." -msgstr "" - -#: templates/zerver/emails/password_reset.html:32 -#: templates/zerver/emails/password_reset.txt:21 -msgid "" -"You can try logging in or resetting your password in the organization(s) " -"above." -msgstr "" - -#: templates/zerver/emails/password_reset.html:38 -#: templates/zerver/emails/password_reset.txt:25 -msgid "" -"If you do not recognize this activity, you can safely ignore this email." -msgstr "" - #: templates/zerver/emails/password_reset.subject.txt:1 #, python-format msgid "Password reset request for %(realm_name)s" @@ -2076,64 +2464,6 @@ msgid "" "You can contact an organization administrator to reactivate your account." msgstr "" -#: templates/zerver/emails/realm_auto_downgraded.html:8 -#, python-format -msgid "" -"\n" -" Your organization, %(organization_name_with_link)s, has been downgraded " -"to the Zulip Cloud\n" -" Free plan because of unpaid invoices. The unpaid invoices have been " -"voided.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:15 -#, python-format -msgid "" -"\n" -" To continue on the Zulip Cloud Standard plan, please upgrade again by " -"going to %(upgrade_url)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:22 -#, python-format -msgid "" -"\n" -" If you think this was a mistake or need more details, please reach out " -"to us at %(support_email)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:8 -#: templates/zerver/emails/realm_reactivation.txt:1 -#, python-format -msgid "Dear former administrators of %(realm_name)s," -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:10 -#: templates/zerver/emails/realm_reactivation.txt:4 -#, python-format -msgid "" -"One of your administrators requested reactivation of the previously " -"deactivated Zulip organization hosted at %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:13 -msgid "Click the button below to reactivate your organization." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:14 -msgid "Reactivate organization" -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:17 -#: templates/zerver/emails/realm_reactivation.txt:10 -msgid "" -"If the request was in error, you can take no action and this link will " -"expire in 24 hours." -msgstr "" - #: templates/zerver/emails/realm_reactivation.subject.txt:1 msgid "Reactivate your Zulip organization" msgstr "" @@ -2918,77 +3248,79 @@ msgid "" " " msgstr "" -#: zerver/actions/create_user.py:88 +#: zerver/actions/create_user.py:93 msgid "signups" msgstr "" -#: zerver/actions/create_user.py:101 +#: zerver/actions/create_user.py:106 #, python-brace-format msgid "{user} just signed up for Zulip. (total: {user_count})" msgstr "" -#: zerver/actions/create_user.py:221 +#: zerver/actions/create_user.py:251 #, python-brace-format msgid "{user} accepted your invitation to join Zulip!" msgstr "" -#: zerver/actions/custom_profile_fields.py:129 +#: zerver/actions/custom_profile_fields.py:126 msgid "Invalid order mapping." msgstr "" -#: zerver/actions/custom_profile_fields.py:208 zerver/lib/users.py:390 +#: zerver/actions/custom_profile_fields.py:205 zerver/lib/users.py:396 #: zerver/views/custom_profile_fields.py:195 #: zerver/views/custom_profile_fields.py:216 #, python-brace-format msgid "Field id {id} not found." msgstr "" -#: zerver/actions/default_streams.py:21 -msgid "Invalid default stream group name '{}'" +#: zerver/actions/default_streams.py:25 +#, python-brace-format +msgid "Invalid default stream group name '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:24 -msgid "Default stream group name too long (limit: {} characters)" +#: zerver/actions/default_streams.py:29 +#, python-brace-format +msgid "Default stream group name too long (limit: {max_length} characters)" msgstr "" -#: zerver/actions/default_streams.py:31 -msgid "Default stream group name '{}' contains NULL (0x00) characters." +#: zerver/actions/default_streams.py:37 +#, python-brace-format +msgid "" +"Default stream group name '{group_name}' contains NULL (0x00) characters." msgstr "" -#: zerver/actions/default_streams.py:45 -msgid "Invalid default stream group {}" +#: zerver/actions/default_streams.py:53 +#, python-brace-format +msgid "Invalid default stream group {group_name}" msgstr "" -#: zerver/actions/default_streams.py:92 zerver/actions/default_streams.py:119 +#: zerver/actions/default_streams.py:101 zerver/actions/default_streams.py:128 #, python-brace-format msgid "" "'{stream_name}' is a default stream and cannot be added to '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:103 +#: zerver/actions/default_streams.py:112 zerver/actions/default_streams.py:173 #, python-brace-format msgid "Default stream group '{group_name}' already exists" msgstr "" -#: zerver/actions/default_streams.py:125 +#: zerver/actions/default_streams.py:134 #, python-brace-format msgid "" "Stream '{stream_name}' is already present in default stream group " "'{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:141 +#: zerver/actions/default_streams.py:151 #, python-brace-format msgid "" "Stream '{stream_name}' is not present in default stream group '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:155 -msgid "This default stream group is already named '{}'" -msgstr "" - -#: zerver/actions/default_streams.py:159 -msgid "Default stream group '{}' already exists" +#: zerver/actions/default_streams.py:166 +#, python-brace-format +msgid "This default stream group is already named '{group_name}'" msgstr "" #: zerver/actions/invites.py:161 @@ -3017,190 +3349,189 @@ msgid "" "invitation. We did send invitations to everyone else!" msgstr "" -#: zerver/actions/message_edit.py:92 zerver/views/scheduled_messages.py:61 +#: zerver/actions/message_edit.py:93 zerver/views/scheduled_messages.py:61 msgid "Nothing to change" msgstr "" -#: zerver/actions/message_edit.py:96 +#: zerver/actions/message_edit.py:97 msgid "Direct messages cannot be moved to streams." msgstr "" -#: zerver/actions/message_edit.py:98 +#: zerver/actions/message_edit.py:99 msgid "Direct messages cannot have topics." msgstr "" -#: zerver/actions/message_edit.py:101 +#: zerver/actions/message_edit.py:102 msgid "Invalid propagate_mode without topic edit" msgstr "" -#: zerver/actions/message_edit.py:107 +#: zerver/actions/message_edit.py:108 msgid "Cannot change message content while changing stream" msgstr "" -#: zerver/actions/message_edit.py:111 +#: zerver/actions/message_edit.py:112 msgid "Widgets cannot be edited." msgstr "" -#: zerver/actions/message_edit.py:162 +#: zerver/actions/message_edit.py:163 #, python-brace-format msgid "{user} has marked this topic as resolved." msgstr "" -#: zerver/actions/message_edit.py:164 +#: zerver/actions/message_edit.py:165 #, python-brace-format msgid "{user} has marked this topic as unresolved." msgstr "" -#: zerver/actions/message_edit.py:967 +#: zerver/actions/message_edit.py:985 #, python-brace-format msgid "This topic was moved to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:971 +#: zerver/actions/message_edit.py:989 #, python-brace-format msgid "A message was moved from this topic to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:975 +#: zerver/actions/message_edit.py:993 #, python-brace-format msgid "" "{changed_messages_count} messages were moved from this topic to " "{new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1030 +#: zerver/actions/message_edit.py:1048 #, python-brace-format msgid "This topic was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1035 +#: zerver/actions/message_edit.py:1053 #, python-brace-format msgid "" "[A message]({message_link}) was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1039 +#: zerver/actions/message_edit.py:1057 #, python-brace-format msgid "" "{changed_messages_count} messages were moved here from {old_location} by " "{user}." msgstr "" -#: zerver/actions/message_edit.py:1167 +#: zerver/actions/message_edit.py:1186 msgid "Your organization has turned off message editing" msgstr "" -#: zerver/actions/message_edit.py:1185 zerver/actions/message_edit.py:1188 +#: zerver/actions/message_edit.py:1204 zerver/actions/message_edit.py:1207 msgid "You don't have permission to edit this message" msgstr "" -#: zerver/actions/message_edit.py:1199 +#: zerver/actions/message_edit.py:1218 msgid "The time limit for editing this message has passed" msgstr "" -#: zerver/actions/message_edit.py:1214 +#: zerver/actions/message_edit.py:1233 msgid "The time limit for editing this message's topic has passed." msgstr "" -#: zerver/actions/message_edit.py:1248 zerver/actions/message_send.py:1428 +#: zerver/actions/message_edit.py:1267 zerver/actions/message_send.py:1558 msgid "You do not have permission to use wildcard mentions in this stream." msgstr "" -#: zerver/actions/message_edit.py:1257 +#: zerver/actions/message_edit.py:1280 msgid "You don't have permission to move this message" msgstr "" -#: zerver/actions/message_edit.py:1263 +#: zerver/actions/message_edit.py:1286 msgid "" "You don't have permission to move this message due to missing access to its " "stream" msgstr "" -#: zerver/actions/message_edit.py:1280 +#: zerver/actions/message_edit.py:1303 msgid "The time limit for editing this message's stream has passed" msgstr "" #: zerver/actions/message_flags.py:257 -msgid "Invalid flag: '{}'" +#, python-brace-format +msgid "Invalid flag: '{flag}'" msgstr "" #: zerver/actions/message_flags.py:259 -msgid "Flag not editable: '{}'" +#, python-brace-format +msgid "Flag not editable: '{flag}'" msgstr "" -#: zerver/actions/message_flags.py:261 -msgid "Invalid message flag operation: '{}'" +#: zerver/actions/message_flags.py:262 +#, python-brace-format +msgid "Invalid message flag operation: '{operation}'" msgstr "" -#: zerver/actions/message_flags.py:333 zerver/lib/message.py:758 -#: zerver/lib/message.py:764 +#: zerver/actions/message_flags.py:335 zerver/lib/message.py:786 +#: zerver/lib/message.py:792 msgid "Invalid message(s)" msgstr "" -#: zerver/actions/message_send.py:156 +#: zerver/actions/message_send.py:161 msgid "Unable to render message" msgstr "" -#: zerver/actions/message_send.py:997 +#: zerver/actions/message_send.py:1127 msgid "Expected exactly one stream" msgstr "" -#: zerver/actions/message_send.py:1008 +#: zerver/actions/message_send.py:1138 msgid "Invalid data type for stream" msgstr "" -#: zerver/actions/message_send.py:1024 zerver/actions/message_send.py:1034 +#: zerver/actions/message_send.py:1154 zerver/actions/message_send.py:1164 #: zerver/actions/scheduled_messages.py:53 msgid "Invalid data type for recipients" msgstr "" -#: zerver/actions/message_send.py:1042 zerver/actions/message_send.py:1050 +#: zerver/actions/message_send.py:1172 zerver/actions/message_send.py:1180 msgid "Recipient lists may contain emails or user IDs, but not both." msgstr "" -#: zerver/actions/message_send.py:1195 +#: zerver/actions/message_send.py:1325 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream ID {stream_id}, " "but there is no stream with that ID." msgstr "" -#: zerver/actions/message_send.py:1206 +#: zerver/actions/message_send.py:1336 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}, but " "that stream does not exist. Click [here]({new_stream_link}) to create it." msgstr "" -#: zerver/actions/message_send.py:1218 +#: zerver/actions/message_send.py:1348 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}. The " "stream exists but does not have any subscribers." msgstr "" -#: zerver/actions/message_send.py:1265 +#: zerver/actions/message_send.py:1395 msgid "Direct messages are disabled in this organization." msgstr "" -#: zerver/actions/message_send.py:1342 +#: zerver/actions/message_send.py:1472 msgid "Topics are required in this organization" msgstr "" -#: zerver/actions/message_send.py:1398 +#: zerver/actions/message_send.py:1528 msgid "Widgets: API programmer sent invalid JSON content" msgstr "" -#: zerver/actions/message_send.py:1404 +#: zerver/actions/message_send.py:1534 #, python-brace-format msgid "Widgets: {error_msg}" msgstr "" -#: zerver/actions/reactions.py:116 -msgid "Reaction already exists." -msgstr "" - -#: zerver/actions/realm_emoji.py:32 zerver/views/realm_emoji.py:36 +#: zerver/actions/realm_emoji.py:40 zerver/views/realm_emoji.py:38 msgid "A custom emoji with this name already exists." msgstr "" @@ -3236,18 +3567,32 @@ msgstr "" msgid "[View scheduled messages](#scheduled)" msgstr "" -#: zerver/actions/streams.py:76 +#: zerver/actions/streams.py:73 msgid "Stream is already deactivated" msgstr "" -#: zerver/actions/streams.py:841 +#: zerver/actions/streams.py:165 +msgid "Stream is not currently deactivated" +msgstr "" + +#: zerver/actions/streams.py:168 +#, python-brace-format +msgid "Stream named {stream_name} already exists" +msgstr "" + +#: zerver/actions/streams.py:230 +#, python-brace-format +msgid "Stream {stream_name} un-archived." +msgstr "" + +#: zerver/actions/streams.py:932 #, python-brace-format msgid "" "{user} changed the [access permissions](/help/stream-permissions) for this " "stream from **{old_policy}** to **{new_policy}**." msgstr "" -#: zerver/actions/streams.py:1025 +#: zerver/actions/streams.py:1118 #, python-brace-format msgid "" "{user} changed the [posting permissions](/help/stream-sending-policy) for " @@ -3257,38 +3602,38 @@ msgid "" "* **New permissions**: {new_policy}.\n" msgstr "" -#: zerver/actions/streams.py:1160 +#: zerver/actions/streams.py:1246 #, python-brace-format msgid "{user_name} renamed stream {old_stream_name} to {new_stream_name}." msgstr "" -#: zerver/actions/streams.py:1179 zerver/actions/streams.py:1181 -#: zerver/views/streams.py:793 +#: zerver/actions/streams.py:1265 zerver/actions/streams.py:1267 +#: zerver/views/streams.py:802 msgid "No description." msgstr "" -#: zerver/actions/streams.py:1184 +#: zerver/actions/streams.py:1270 #, python-brace-format msgid "{user} changed the description for this stream." msgstr "" -#: zerver/actions/streams.py:1186 +#: zerver/actions/streams.py:1272 msgid "Old description" msgstr "" -#: zerver/actions/streams.py:1190 +#: zerver/actions/streams.py:1276 msgid "New description" msgstr "" -#: zerver/actions/streams.py:1258 zerver/actions/streams.py:1263 +#: zerver/actions/streams.py:1344 zerver/actions/streams.py:1349 msgid "Forever" msgstr "" -#: zerver/actions/streams.py:1264 +#: zerver/actions/streams.py:1350 msgid "Messages in this stream will now be retained forever." msgstr "" -#: zerver/actions/streams.py:1270 +#: zerver/actions/streams.py:1356 #, python-brace-format msgid "" "{user} has changed the [message retention period](/help/message-retention-" @@ -3299,56 +3644,58 @@ msgid "" "{summary_line}" msgstr "" -#: zerver/actions/submessage.py:30 +#: zerver/actions/submessage.py:29 msgid "You cannot attach a submessage to this message." msgstr "" #: zerver/actions/typing.py:55 zerver/lib/addressee.py:33 -msgid "Invalid user ID {}" +#, python-brace-format +msgid "Invalid user ID {user_id}" msgstr "" -#: zerver/actions/user_groups.py:153 zerver/actions/user_groups.py:168 -msgid "User group '{}' already exists." +#: zerver/actions/user_groups.py:213 zerver/actions/user_groups.py:245 +#, python-brace-format +msgid "User group '{group_name}' already exists." msgstr "" -#: zerver/decorator.py:250 +#: zerver/decorator.py:251 msgid "This API is not available to incoming webhook bots." msgstr "" -#: zerver/decorator.py:277 +#: zerver/decorator.py:278 msgid "Account is not associated with this subdomain" msgstr "" -#: zerver/decorator.py:506 zerver/decorator.py:643 +#: zerver/decorator.py:511 zerver/decorator.py:648 msgid "This endpoint does not accept bot requests." msgstr "" -#: zerver/decorator.py:605 +#: zerver/decorator.py:610 msgid "Must be an server administrator" msgstr "" -#: zerver/decorator.py:662 zerver/lib/streams.py:699 zerver/lib/streams.py:725 -#: zerver/lib/streams.py:727 zerver/lib/streams.py:742 -#: zerver/lib/user_groups.py:35 zerver/lib/user_groups.py:42 -#: zerver/lib/users.py:249 zerver/lib/users.py:278 zerver/views/invite.py:60 -#: zerver/views/realm_emoji.py:31 zerver/views/streams.py:336 -#: zerver/views/streams.py:630 +#: zerver/decorator.py:667 zerver/lib/streams.py:703 zerver/lib/streams.py:729 +#: zerver/lib/streams.py:731 zerver/lib/streams.py:748 +#: zerver/lib/user_groups.py:45 zerver/lib/user_groups.py:52 +#: zerver/lib/users.py:255 zerver/lib/users.py:284 zerver/views/invite.py:60 +#: zerver/views/realm_emoji.py:33 zerver/views/streams.py:338 +#: zerver/views/streams.py:639 msgid "Insufficient permission" msgstr "" -#: zerver/decorator.py:704 +#: zerver/decorator.py:709 msgid "This endpoint requires HTTP basic authentication." msgstr "" -#: zerver/decorator.py:711 +#: zerver/decorator.py:716 msgid "Invalid authorization header for basic auth" msgstr "" -#: zerver/decorator.py:713 +#: zerver/decorator.py:718 msgid "Missing authorization header for basic auth" msgstr "" -#: zerver/decorator.py:886 +#: zerver/decorator.py:893 msgid "Webhook bots can only access webhooks" msgstr "" @@ -3422,9 +3769,10 @@ msgid "New password confirmation" msgstr "" #: zerver/forms.py:496 +#, python-brace-format msgid "" -"You're making too many attempts to sign in. Try again in {} seconds or " -"contact your organization administrator for help." +"You're making too many attempts to sign in. Try again in {seconds} seconds " +"or contact your organization administrator for help." msgstr "" #: zerver/forms.py:508 @@ -3450,7 +3798,8 @@ msgid "We couldn't find that Zulip organization." msgstr "" #: zerver/lib/addressee.py:22 -msgid "Invalid email '{}'" +#, python-brace-format +msgid "Invalid email '{email}'" msgstr "" #: zerver/lib/addressee.py:61 zerver/lib/addressee.py:128 @@ -3535,11 +3884,11 @@ msgstr "" msgid "Draft does not exist" msgstr "" -#: zerver/lib/email_notifications.py:138 zerver/lib/email_notifications.py:160 +#: zerver/lib/email_notifications.py:140 zerver/lib/email_notifications.py:162 msgid "Open Zulip to see the spoiler content" msgstr "" -#: zerver/lib/email_notifications.py:563 +#: zerver/lib/email_notifications.py:591 msgid "Zulip notifications" msgstr "" @@ -3572,172 +3921,181 @@ msgstr "" msgid "Account has been deactivated." msgstr "" -#: zerver/lib/emoji.py:67 zerver/views/realm_emoji.py:59 -msgid "Emoji '{}' does not exist" +#: zerver/lib/emoji.py:88 zerver/views/realm_emoji.py:62 +#, python-brace-format +msgid "Emoji '{emoji_name}' does not exist" msgstr "" -#: zerver/lib/emoji.py:77 +#: zerver/lib/emoji.py:101 msgid "Invalid custom emoji." msgstr "" -#: zerver/lib/emoji.py:79 +#: zerver/lib/emoji.py:103 msgid "Invalid custom emoji name." msgstr "" -#: zerver/lib/emoji.py:81 +#: zerver/lib/emoji.py:105 msgid "This custom emoji has been deactivated." msgstr "" -#: zerver/lib/emoji.py:84 zerver/lib/emoji.py:89 +#: zerver/lib/emoji.py:108 zerver/lib/emoji.py:113 msgid "Invalid emoji code." msgstr "" -#: zerver/lib/emoji.py:86 zerver/lib/emoji.py:91 +#: zerver/lib/emoji.py:110 zerver/lib/emoji.py:115 msgid "Invalid emoji name." msgstr "" -#: zerver/lib/emoji.py:94 +#: zerver/lib/emoji.py:118 msgid "Invalid emoji type." msgstr "" -#: zerver/lib/emoji.py:109 +#: zerver/lib/emoji.py:133 msgid "Must be an organization administrator or emoji author" msgstr "" -#: zerver/lib/emoji.py:117 +#: zerver/lib/emoji.py:141 msgid "Emoji names must end with either a letter or digit." msgstr "" -#: zerver/lib/emoji.py:120 +#: zerver/lib/emoji.py:144 msgid "" "Emoji names must contain only lowercase English letters, digits, spaces, " "dashes, and underscores." msgstr "" -#: zerver/lib/emoji.py:123 +#: zerver/lib/emoji.py:147 msgid "Emoji name is missing" msgstr "" -#: zerver/lib/events.py:1539 +#: zerver/lib/events.py:1543 msgid "Could not allocate event queue" msgstr "" -#: zerver/lib/exceptions.py:137 +#: zerver/lib/exceptions.py:139 msgid "Not logged in: API authentication or user session required" msgstr "" -#: zerver/lib/exceptions.py:162 +#: zerver/lib/exceptions.py:164 #, python-brace-format msgid "Stream '{stream}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:174 +#: zerver/lib/exceptions.py:176 #, python-brace-format msgid "Stream with ID '{stream_id}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "organization owner" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "user" msgstr "" -#: zerver/lib/exceptions.py:187 +#: zerver/lib/exceptions.py:189 #, python-brace-format msgid "Cannot deactivate the only {entity}." msgstr "" -#: zerver/lib/exceptions.py:199 +#: zerver/lib/exceptions.py:201 #, python-brace-format msgid "Invalid Markdown include statement: {include_statement}" msgstr "" -#: zerver/lib/exceptions.py:211 +#: zerver/lib/exceptions.py:213 msgid "API usage exceeded rate limit" msgstr "" -#: zerver/lib/exceptions.py:234 zerver/lib/request.py:442 +#: zerver/lib/exceptions.py:236 zerver/lib/request.py:441 #: zerver/lib/validator.py:755 msgid "Malformed JSON" msgstr "" -#: zerver/lib/exceptions.py:245 +#: zerver/lib/exceptions.py:247 msgid "Must be an organization member" msgstr "" -#: zerver/lib/exceptions.py:256 zerver/views/invite.py:70 -#: zerver/views/invite.py:132 zerver/views/invite.py:178 +#: zerver/lib/exceptions.py:258 zerver/views/invite.py:70 +#: zerver/views/invite.py:134 zerver/views/invite.py:180 msgid "Must be an organization administrator" msgstr "" -#: zerver/lib/exceptions.py:267 +#: zerver/lib/exceptions.py:269 msgid "Must be an organization owner" msgstr "" -#: zerver/lib/exceptions.py:280 +#: zerver/lib/exceptions.py:282 msgid "Your username or password is incorrect" msgstr "" -#: zerver/lib/exceptions.py:288 +#: zerver/lib/exceptions.py:290 msgid "Account is deactivated" msgstr "" -#: zerver/lib/exceptions.py:296 +#: zerver/lib/exceptions.py:298 msgid "This organization has been deactivated" msgstr "" -#: zerver/lib/exceptions.py:305 +#: zerver/lib/exceptions.py:307 msgid "" "The mobile push notification service registration for your server has been " "deactivated" msgstr "" -#: zerver/lib/exceptions.py:314 +#: zerver/lib/exceptions.py:316 msgid "Password authentication is disabled in this organization" msgstr "" -#: zerver/lib/exceptions.py:322 +#: zerver/lib/exceptions.py:324 msgid "Your password has been disabled and needs to be reset" msgstr "" -#: zerver/lib/exceptions.py:338 +#: zerver/lib/exceptions.py:340 msgid "Invalid API key" msgstr "" -#: zerver/lib/exceptions.py:344 +#: zerver/lib/exceptions.py:346 msgid "Malformed API key" msgstr "" -#: zerver/lib/exceptions.py:381 +#: zerver/lib/exceptions.py:385 #, python-brace-format msgid "" "The '{event_type}' event isn't currently supported by the {webhook_name} " -"webhook" +"webhook; ignoring" msgstr "" -#: zerver/lib/exceptions.py:399 +#: zerver/lib/exceptions.py:404 #, python-brace-format msgid "Unable to parse request: Did {webhook_name} generate this event?" msgstr "" -#: zerver/lib/exceptions.py:422 zerver/views/auth.py:741 +#: zerver/lib/exceptions.py:427 zerver/views/auth.py:741 #: zerver/views/auth.py:1076 zerver/views/auth.py:1140 msgid "Invalid subdomain" msgstr "" -#: zerver/lib/exceptions.py:462 +#: zerver/lib/exceptions.py:467 msgid "Access denied" msgstr "" -#: zerver/lib/exceptions.py:501 +#: zerver/lib/exceptions.py:506 #, python-brace-format msgid "" "You only have permission to move the {total_messages_allowed_to_move}/" "{total_messages_in_topic} most recent messages in this topic." msgstr "" +#: zerver/lib/exceptions.py:518 +msgid "Reaction already exists." +msgstr "" + +#: zerver/lib/exceptions.py:529 +msgid "Reaction doesn't exist." +msgstr "" + #: zerver/lib/external_accounts.py:36 msgid "Twitter username" msgstr "" @@ -3848,207 +4206,215 @@ msgstr "" msgid "Version control" msgstr "" -#: zerver/lib/message.py:192 +#: zerver/lib/message.py:220 msgid "Message must not be empty" msgstr "" -#: zerver/lib/message.py:194 +#: zerver/lib/message.py:222 msgid "Message must not contain null bytes" msgstr "" -#: zerver/lib/narrow.py:107 -msgid "Operator {} not supported." +#: zerver/lib/message.py:1668 +#, python-brace-format +msgid "" +"You are not allowed to mention user group '{user_group_name}'. You must be a " +"member of '{can_mention_group_name}' to mention this group." msgstr "" -#: zerver/lib/narrow.py:197 +#: zerver/lib/narrow.py:108 +#, python-brace-format +msgid "Operator {operator} not supported." +msgstr "" + +#: zerver/lib/narrow.py:207 #, python-brace-format msgid "Invalid narrow operator: {desc}" msgstr "" -#: zerver/lib/narrow.py:1038 +#: zerver/lib/narrow.py:1054 msgid "Missing 'anchor' argument." msgstr "" -#: zerver/lib/narrow.py:1058 +#: zerver/lib/narrow.py:1074 msgid "Invalid anchor" msgstr "" -#: zerver/lib/onboarding.py:59 +#: zerver/lib/onboarding.py:57 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Using Zulip for a class guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:66 +#: zerver/lib/onboarding.py:64 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Getting started guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:78 +#: zerver/lib/onboarding.py:76 #, python-brace-format msgid "" "We also have a guide for [Setting up Zulip for a class]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:88 +#: zerver/lib/onboarding.py:86 #, python-brace-format msgid "" "We also have a guide for [Setting up your organization]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:98 +#: zerver/lib/onboarding.py:96 #, python-brace-format msgid "" "Note that this is a [demo organization]({demo_organization_help_url}) and " "will be **automatically deleted** in 30 days." msgstr "" -#: zerver/lib/onboarding.py:106 +#: zerver/lib/onboarding.py:104 msgid "Hello, and welcome to Zulip!" msgstr "" -#: zerver/lib/onboarding.py:107 +#: zerver/lib/onboarding.py:105 msgid "This is a direct message from me, Welcome Bot." msgstr "" -#: zerver/lib/onboarding.py:112 +#: zerver/lib/onboarding.py:110 msgid "" "I can also help you get set up! Just click anywhere on this message or press " "`r` to reply." msgstr "" -#: zerver/lib/onboarding.py:115 zerver/lib/onboarding.py:227 +#: zerver/lib/onboarding.py:113 zerver/lib/onboarding.py:225 msgid "Here are a few messages I understand:" msgstr "" -#: zerver/lib/onboarding.py:156 +#: zerver/lib/onboarding.py:154 msgid "" "You can [download](/apps/) the [mobile and desktop apps](/apps/). Zulip also " "works great in a browser." msgstr "" -#: zerver/lib/onboarding.py:161 +#: zerver/lib/onboarding.py:159 msgid "" "Go to [Profile settings](#settings/profile) to add a [profile picture](/help/" "change-your-profile-picture) and edit your [profile information](/help/edit-" "your-profile)." msgstr "" -#: zerver/lib/onboarding.py:167 +#: zerver/lib/onboarding.py:165 msgid "" -"Go to [Display settings](#settings/display-settings) to [switch between the " -"light and dark themes](/help/dark-theme), [pick your favorite emoji theme](/" -"help/emoji-and-emoticons#change-your-emoji-set), [change your language](/" -"help/change-your-language), and make other tweaks to your Zulip experience." +"Go to [Preferences](#settings/preferences) to [switch between the light and " +"dark themes](/help/dark-theme), [pick your favorite emoji theme](/help/emoji-" +"and-emoticons#change-your-emoji-set), [change your language](/help/change-" +"your-language), and make other tweaks to your Zulip experience." msgstr "" -#: zerver/lib/onboarding.py:177 +#: zerver/lib/onboarding.py:175 msgid "" "In Zulip, streams [determine who gets a message](/help/streams-and-topics). " "They are similar to channels in other chat apps." msgstr "" -#: zerver/lib/onboarding.py:181 +#: zerver/lib/onboarding.py:179 msgid "[Browse and subscribe to streams](#streams/all)." msgstr "" -#: zerver/lib/onboarding.py:188 +#: zerver/lib/onboarding.py:186 msgid "" "In Zulip, topics [tell you what a message is about](/help/streams-and-" "topics). They are light-weight subjects, very similar to the subject line of " "an email." msgstr "" -#: zerver/lib/onboarding.py:193 +#: zerver/lib/onboarding.py:191 msgid "" "Check out [Recent conversations](#recent) to see what's happening! You can " "return to this conversation by clicking \"Direct messages\" in the upper " "left." msgstr "" -#: zerver/lib/onboarding.py:202 +#: zerver/lib/onboarding.py:200 msgid "" "Zulip's [keyboard shortcuts](#keyboard-shortcuts) let you navigate the app " "quickly and efficiently." msgstr "" -#: zerver/lib/onboarding.py:206 +#: zerver/lib/onboarding.py:204 msgid "Press `?` any time to see a [cheat sheet](#keyboard-shortcuts)." msgstr "" -#: zerver/lib/onboarding.py:213 +#: zerver/lib/onboarding.py:211 msgid "" "Zulip uses [Markdown](/help/format-your-message-using-markdown), an " "intuitive format for **bold**, *italics*, bulleted lists, and more. Click " "[here](#message-formatting) for a cheat sheet." msgstr "" -#: zerver/lib/onboarding.py:219 +#: zerver/lib/onboarding.py:217 msgid "" "Check out our [messaging tips](/help/messaging-tips) to learn about emoji " "reactions, code blocks and much more!" msgstr "" -#: zerver/lib/onboarding.py:230 +#: zerver/lib/onboarding.py:228 msgid "" "Check out our [Getting started guide](/help/getting-started-with-zulip), or " "browse the [Help center](/help/) to learn more!" msgstr "" -#: zerver/lib/onboarding.py:239 +#: zerver/lib/onboarding.py:237 msgid "" "I’m sorry, I did not understand your message. Please try one of the " "following commands:" msgstr "" -#: zerver/lib/onboarding.py:271 +#: zerver/lib/onboarding.py:269 msgid "" "This is a private stream, as indicated by the lock icon next to the stream " "name." msgstr "" -#: zerver/lib/onboarding.py:273 +#: zerver/lib/onboarding.py:271 msgid "Private streams are only visible to stream members." msgstr "" -#: zerver/lib/onboarding.py:277 +#: zerver/lib/onboarding.py:275 #, python-brace-format msgid "" "To manage this stream, go to [Stream settings]({stream_settings_url}) and " "click on `{initial_private_stream_name}`." msgstr "" -#: zerver/lib/onboarding.py:287 +#: zerver/lib/onboarding.py:285 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `topic demonstration`." msgstr "" -#: zerver/lib/onboarding.py:293 +#: zerver/lib/onboarding.py:291 msgid "Topics are a lightweight tool to keep conversations organized." msgstr "" -#: zerver/lib/onboarding.py:295 +#: zerver/lib/onboarding.py:293 #, python-brace-format msgid "" "You can learn more about topics at [Streams and topics]" "({about_topics_help_url})." msgstr "" -#: zerver/lib/onboarding.py:300 +#: zerver/lib/onboarding.py:298 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `swimming turtles`." msgstr "" -#: zerver/lib/onboarding.py:309 +#: zerver/lib/onboarding.py:307 #, python-brace-format msgid "" "[Start a new topic]({start_topic_help_url}) any time you're not replying to " @@ -4064,11 +4430,12 @@ msgid "Invalid response format" msgstr "" #: zerver/lib/push_notifications.py:341 -msgid "Invalid GCM option to bouncer: priority {!r}" +msgid "Invalid GCM option to bouncer: priority {priority!r}" msgstr "" #: zerver/lib/push_notifications.py:351 -msgid "Invalid GCM options to bouncer: {}" +#, python-brace-format +msgid "Invalid GCM options to bouncer: {options}" msgstr "" #. error @@ -4076,30 +4443,43 @@ msgstr "" msgid "Token does not exist" msgstr "" -#: zerver/lib/push_notifications.py:746 +#: zerver/lib/push_notifications.py:758 msgid "" "This organization has disabled including message content in mobile push " "notifications" msgstr "" -#: zerver/lib/push_notifications.py:835 +#: zerver/lib/push_notifications.py:847 #, python-brace-format msgid "{full_name} mentioned @{user_group_name}:" msgstr "" -#: zerver/lib/push_notifications.py:839 +#: zerver/lib/push_notifications.py:851 #, python-brace-format msgid "{full_name} mentioned you:" msgstr "" -#: zerver/lib/push_notifications.py:841 +#: zerver/lib/push_notifications.py:853 +msgid "TODO - 2" +msgstr "" + +#: zerver/lib/push_notifications.py:855 +msgid "TODO" +msgstr "" + +#: zerver/lib/push_notifications.py:857 +#, python-brace-format +msgid "{full_name} mentioned all topic participants:" +msgstr "" + +#: zerver/lib/push_notifications.py:861 #, python-brace-format msgid "{full_name} mentioned everyone:" msgstr "" #: zerver/lib/recipient_users.py:29 zerver/lib/streams.py:268 -#: zerver/lib/streams.py:276 zerver/lib/streams.py:838 -#: zerver/tornado/views.py:164 zerver/views/events_register.py:94 +#: zerver/lib/streams.py:276 zerver/lib/streams.py:846 +#: zerver/tornado/views.py:164 zerver/views/events_register.py:95 #: zerver/views/message_send.py:182 zerver/views/message_send.py:203 msgid "User not authorized for this query" msgstr "" @@ -4114,31 +4494,33 @@ msgid "You can't send direct messages outside of your organization." msgstr "" #: zerver/lib/remote_server.py:93 -msgid "Push notifications bouncer error: {}" +#, python-brace-format +msgid "Push notifications bouncer error: {error}" msgstr "" -#: zerver/lib/request.py:92 +#: zerver/lib/request.py:91 #, python-brace-format msgid "Can't decide between '{var_name1}' and '{var_name2}' arguments" msgstr "" -#: zerver/lib/request.py:104 +#: zerver/lib/request.py:103 #, python-brace-format msgid "Missing '{var_name}' argument" msgstr "" -#: zerver/lib/request.py:117 +#: zerver/lib/request.py:116 #, python-brace-format msgid "Bad value for '{var_name}': {bad_value}" msgstr "" -#: zerver/lib/request.py:395 zerver/webhooks/ifttt/view.py:36 +#: zerver/lib/request.py:394 zerver/webhooks/ifttt/view.py:36 #: zerver/webhooks/slack_incoming/view.py:42 msgid "Malformed payload" msgstr "" #: zerver/lib/request.py:443 -msgid "Argument \"{}\" is not valid JSON." +#, python-brace-format +msgid "Argument \"{name}\" is not valid JSON." msgstr "" #: zerver/lib/scheduled_messages.py:20 @@ -4166,42 +4548,47 @@ msgstr "" msgid "New members cannot send to this stream." msgstr "" -#: zerver/lib/streams.py:301 -msgid "Not authorized to send to stream '{}'" +#: zerver/lib/streams.py:302 +#, python-brace-format +msgid "Not authorized to send to stream '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:306 +#: zerver/lib/streams.py:308 msgid "Please supply 'stream'." msgstr "" -#: zerver/lib/streams.py:309 +#: zerver/lib/streams.py:311 msgid "Please choose one: 'stream' or 'stream_id'." msgstr "" -#: zerver/lib/streams.py:315 zerver/lib/streams.py:334 -#: zerver/lib/streams.py:417 zerver/lib/streams.py:483 -#: zerver/views/streams.py:399 zerver/views/user_topics.py:101 +#: zerver/lib/streams.py:317 zerver/lib/streams.py:336 +#: zerver/lib/streams.py:419 zerver/lib/streams.py:487 +#: zerver/views/streams.py:401 zerver/views/user_topics.py:101 msgid "Invalid stream ID" msgstr "" -#: zerver/lib/streams.py:459 -msgid "Stream name '{}' is already taken." +#: zerver/lib/streams.py:462 +#, python-brace-format +msgid "Stream name '{stream_name}' is already taken." msgstr "" -#: zerver/lib/streams.py:467 zerver/lib/streams.py:587 -msgid "Invalid stream name '{}'" +#: zerver/lib/streams.py:471 zerver/lib/streams.py:591 +#, python-brace-format +msgid "Invalid stream name '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:731 -msgid "Stream(s) ({}) do not exist" +#: zerver/lib/streams.py:735 +#, python-brace-format +msgid "Stream(s) ({stream_names}) do not exist" msgstr "" -#: zerver/lib/streams.py:738 zerver/views/streams.py:334 +#: zerver/lib/streams.py:744 zerver/views/streams.py:336 msgid "Web-public streams are not enabled." msgstr "" -#: zerver/lib/streams.py:767 -msgid "Default stream group with id '{}' does not exist." +#: zerver/lib/streams.py:774 +#, python-brace-format +msgid "Default stream group with id '{group_id}' does not exist." msgstr "" #: zerver/lib/string_validation.py:38 @@ -4209,19 +4596,22 @@ msgid "Stream name can't be empty!" msgstr "" #: zerver/lib/string_validation.py:42 -msgid "Stream name too long (limit: {} characters)." +#, python-brace-format +msgid "Stream name too long (limit: {max_length} characters)." msgstr "" -#: zerver/lib/string_validation.py:48 -msgid "Invalid character in stream name, at position {}!" +#: zerver/lib/string_validation.py:50 +#, python-brace-format +msgid "Invalid character in stream name, at position {position}!" msgstr "" -#: zerver/lib/string_validation.py:54 +#: zerver/lib/string_validation.py:58 msgid "Topic can't be empty!" msgstr "" -#: zerver/lib/string_validation.py:59 -msgid "Invalid character in topic, at position {}!" +#: zerver/lib/string_validation.py:63 +#, python-brace-format +msgid "Invalid character in topic, at position {position}!" msgstr "" #: zerver/lib/subscription_info.py:295 @@ -4236,46 +4626,61 @@ msgstr "" msgid "Upload would exceed your organization's upload quota." msgstr "" -#: zerver/lib/upload/base.py:67 zerver/lib/upload/base.py:83 -#: zerver/lib/upload/base.py:177 +#: zerver/lib/upload/base.py:68 zerver/lib/upload/base.py:84 +#: zerver/lib/upload/base.py:178 msgid "Could not decode image; did you upload an image file?" msgstr "" -#: zerver/lib/upload/base.py:69 zerver/lib/upload/base.py:85 -#: zerver/lib/upload/base.py:179 +#: zerver/lib/upload/base.py:70 zerver/lib/upload/base.py:86 +#: zerver/lib/upload/base.py:180 msgid "Image size exceeds limit." msgstr "" -#: zerver/lib/upload/base.py:107 +#: zerver/lib/upload/base.py:108 msgid "Corrupt animated image." msgstr "" -#: zerver/lib/upload/base.py:116 +#: zerver/lib/upload/base.py:117 msgid "Unknown animated image format." msgstr "" -#: zerver/lib/user_groups.py:44 +#: zerver/lib/user_groups.py:54 msgid "Invalid user group" msgstr "" -#: zerver/lib/user_groups.py:56 -msgid "Invalid user group ID: {}" +#: zerver/lib/user_groups.py:67 +#, python-brace-format +msgid "Invalid user group ID: {group_id}" msgstr "" -#: zerver/lib/user_groups.py:74 -msgid "'{}' must be a system user group." +#: zerver/lib/user_groups.py:87 +#, python-brace-format +msgid "'{setting_name}' must be a system user group." msgstr "" -#: zerver/lib/user_groups.py:78 -msgid "'{}' setting cannot be set to '@role:internet' group." +#: zerver/lib/user_groups.py:92 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:internet' group." msgstr "" -#: zerver/lib/user_groups.py:83 -msgid "'{}' setting cannot be set to '@role:owners' group." +#: zerver/lib/user_groups.py:99 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:owners' group." msgstr "" -#: zerver/lib/user_groups.py:88 -msgid "'{}' setting cannot be set to '@role:nobody' group." +#: zerver/lib/user_groups.py:106 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:nobody' group." +msgstr "" + +#: zerver/lib/user_groups.py:117 +#, python-brace-format +msgid "User group name cannot exceed {max_length} characters." +msgstr "" + +#: zerver/lib/user_groups.py:125 +#, python-brace-format +msgid "User group name cannot start with '{prefix}'." msgstr "" #: zerver/lib/users.py:45 @@ -4303,44 +4708,48 @@ msgstr "" msgid "Bad name or username" msgstr "" -#: zerver/lib/users.py:95 -msgid "Invalid integration '{}'." +#: zerver/lib/users.py:96 +#, python-brace-format +msgid "Invalid integration '{integration_name}'." msgstr "" -#: zerver/lib/users.py:100 -msgid "Missing configuration parameters: {}" +#: zerver/lib/users.py:102 +#, python-brace-format +msgid "Missing configuration parameters: {keys}" msgstr "" -#: zerver/lib/users.py:109 -msgid "Invalid {} value {} ({})" +#: zerver/lib/users.py:112 +#, python-brace-format +msgid "Invalid {key} value {value} ({error})" msgstr "" -#: zerver/lib/users.py:124 +#: zerver/lib/users.py:130 msgid "Invalid configuration data!" msgstr "" -#: zerver/lib/users.py:158 +#: zerver/lib/users.py:164 msgid "Invalid bot type" msgstr "" -#: zerver/lib/users.py:163 +#: zerver/lib/users.py:169 msgid "Invalid interface type" msgstr "" -#: zerver/lib/users.py:232 zerver/lib/users.py:237 zerver/models.py:4669 -msgid "Invalid user ID: {}" +#: zerver/lib/users.py:238 zerver/lib/users.py:243 zerver/models.py:4729 +#, python-brace-format +msgid "Invalid user ID: {user_id}" msgstr "" -#: zerver/lib/users.py:245 zerver/lib/users.py:247 +#: zerver/lib/users.py:251 zerver/lib/users.py:253 msgid "No such bot" msgstr "" -#: zerver/lib/users.py:271 zerver/lib/users.py:298 zerver/lib/users.py:314 +#: zerver/lib/users.py:277 zerver/lib/users.py:304 zerver/lib/users.py:320 #: zerver/views/presence.py:44 msgid "No such user" msgstr "" -#: zerver/lib/users.py:273 +#: zerver/lib/users.py:279 msgid "User is deactivated" msgstr "" @@ -4430,7 +4839,8 @@ msgid "{key_name} key is missing from {var_name}" msgstr "" #: zerver/lib/validator.py:317 -msgid "Unexpected arguments: {}" +#, python-brace-format +msgid "Unexpected arguments: {keys}" msgstr "" #: zerver/lib/validator.py:350 @@ -4492,8 +4902,9 @@ msgstr "" msgid "Missing the HTTP event header '{header}'" msgstr "" -#: zerver/lib/webhooks/common.py:231 -msgid "The {} webhook expects time in milliseconds." +#: zerver/lib/webhooks/common.py:232 +#, python-brace-format +msgid "The {webhook} webhook expects time in milliseconds." msgstr "" #: zerver/lib/zcommand.py:30 @@ -4501,201 +4912,218 @@ msgid "There should be a leading slash in the zcommand." msgstr "" #: zerver/lib/zcommand.py:79 -msgid "No such command: {}" +#, python-brace-format +msgid "No such command: {command}" msgstr "" -#: zerver/middleware.py:464 +#: zerver/middleware.py:441 #, python-brace-format msgid "CSRF error: {reason}" msgstr "" -#: zerver/models.py:503 +#: zerver/middleware.py:607 +#, python-brace-format +msgid "Reverse proxy misconfiguration: {proxy_reason}" +msgstr "" + +#: zerver/models.py:495 msgid "stream events" msgstr "" -#: zerver/models.py:634 +#: zerver/models.py:626 msgid "Available on Zulip Cloud Standard. Upgrade to access." msgstr "" -#: zerver/models.py:692 +#: zerver/models.py:684 msgid "GIPHY integration disabled" msgstr "" -#: zerver/models.py:697 +#: zerver/models.py:689 msgid "Allow GIFs rated Y (Very young audience)" msgstr "" -#: zerver/models.py:701 +#: zerver/models.py:693 msgid "Allow GIFs rated G (General audience)" msgstr "" -#: zerver/models.py:705 +#: zerver/models.py:697 msgid "Allow GIFs rated PG (Parental guidance)" msgstr "" -#: zerver/models.py:709 +#: zerver/models.py:701 msgid "Allow GIFs rated PG-13 (Parental guidance - under 13)" msgstr "" -#: zerver/models.py:713 +#: zerver/models.py:705 msgid "Allow GIFs rated R (Restricted)" msgstr "" -#: zerver/models.py:1139 +#: zerver/models.py:1123 msgid "Invalid characters in emoji name" msgstr "" -#: zerver/models.py:1263 zerver/models.py:1265 -msgid "Bad regular expression: {}" +#: zerver/models.py:1235 zerver/models.py:1238 +#, python-brace-format +msgid "Bad regular expression: {regex}" msgstr "" -#: zerver/models.py:1266 +#: zerver/models.py:1240 msgid "Unknown regular expression error" msgstr "" -#: zerver/models.py:1274 +#: zerver/models.py:1248 msgid "Invalid URL template." msgstr "" -#: zerver/models.py:1318 +#: zerver/models.py:1292 #, python-format msgid "Group %(name)r in URL template is not present in linkifier pattern." msgstr "" -#: zerver/models.py:1330 +#: zerver/models.py:1304 #, python-format msgid "Group %(name)r in linkifier pattern is not present in URL template." msgstr "" -#: zerver/models.py:1408 zerver/views/realm_playgrounds.py:25 +#: zerver/models.py:1382 zerver/views/realm_playgrounds.py:24 msgid "Invalid characters in pygments language" msgstr "" -#: zerver/models.py:1652 +#: zerver/models.py:1412 +msgid "Missing the required variable \"code\" in the URL template" +msgstr "" + +#: zerver/models.py:1417 +msgid "\"code\" should be the only variable present in the URL template" +msgstr "" + +#: zerver/models.py:1660 msgid "Admins, moderators, members and guests" msgstr "" -#: zerver/models.py:1653 +#: zerver/models.py:1661 msgid "Admins, moderators and members" msgstr "" -#: zerver/models.py:1654 +#: zerver/models.py:1662 msgid "Admins and moderators" msgstr "" -#: zerver/models.py:1655 +#: zerver/models.py:1663 msgid "Admins only" msgstr "" -#: zerver/models.py:1656 +#: zerver/models.py:1664 msgid "Nobody" msgstr "" -#: zerver/models.py:1960 +#: zerver/models.py:1973 msgid "Organization owner" msgstr "" -#: zerver/models.py:1961 +#: zerver/models.py:1974 msgid "Organization administrator" msgstr "" -#: zerver/models.py:1962 +#: zerver/models.py:1975 msgid "Moderator" msgstr "" -#: zerver/models.py:1963 +#: zerver/models.py:1976 msgid "Member" msgstr "" -#: zerver/models.py:1964 +#: zerver/models.py:1977 msgid "Guest" msgstr "" -#: zerver/models.py:2531 +#: zerver/models.py:2557 msgid "Web-public" msgstr "" -#: zerver/models.py:2537 +#: zerver/models.py:2563 msgid "Public" msgstr "" -#: zerver/models.py:2543 +#: zerver/models.py:2569 msgid "Private, shared history" msgstr "" -#: zerver/models.py:2549 +#: zerver/models.py:2575 msgid "Private, protected history" msgstr "" -#: zerver/models.py:2557 +#: zerver/models.py:2583 msgid "Public, protected history" msgstr "" -#: zerver/models.py:2577 +#: zerver/models.py:2603 msgid "All stream members can post" msgstr "" -#: zerver/models.py:2578 +#: zerver/models.py:2604 msgid "Only organization administrators can post" msgstr "" -#: zerver/models.py:2580 +#: zerver/models.py:2606 msgid "Only organization administrators and moderators can post" msgstr "" -#: zerver/models.py:2583 +#: zerver/models.py:2609 msgid "Only organization full members can post" msgstr "" -#: zerver/models.py:3209 +#: zerver/models.py:3222 msgid "Unicode emoji" msgstr "" -#: zerver/models.py:3210 +#: zerver/models.py:3223 msgid "Custom emoji" msgstr "" -#: zerver/models.py:3211 +#: zerver/models.py:3224 msgid "Zulip extra emoji" msgstr "" -#: zerver/models.py:4672 -msgid "User with ID {} is deactivated" +#: zerver/models.py:4733 +#, python-brace-format +msgid "User with ID {user_id} is deactivated" msgstr "" -#: zerver/models.py:4675 -msgid "User with ID {} is a bot" +#: zerver/models.py:4737 +#, python-brace-format +msgid "User with ID {user_id} is a bot" msgstr "" -#: zerver/models.py:4715 +#: zerver/models.py:4777 msgid "List of options" msgstr "" -#: zerver/models.py:4718 +#: zerver/models.py:4780 msgid "Person picker" msgstr "" -#: zerver/models.py:4730 +#: zerver/models.py:4792 msgid "Short text" msgstr "" -#: zerver/models.py:4731 +#: zerver/models.py:4793 msgid "Long text" msgstr "" -#: zerver/models.py:4732 +#: zerver/models.py:4794 msgid "Date picker" msgstr "" -#: zerver/models.py:4733 +#: zerver/models.py:4795 msgid "Link" msgstr "" -#: zerver/models.py:4736 +#: zerver/models.py:4798 msgid "External account" msgstr "" -#: zerver/models.py:4741 +#: zerver/models.py:4803 msgid "Pronouns" msgstr "" @@ -4711,20 +5139,20 @@ msgstr "" msgid "An unknown browser" msgstr "" -#: zerver/tornado/event_queue.py:673 +#: zerver/tornado/event_queue.py:678 msgid "Missing 'queue_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:676 +#: zerver/tornado/event_queue.py:681 msgid "Missing 'last_event_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:683 +#: zerver/tornado/event_queue.py:688 #, python-brace-format msgid "An event newer than {event_id} has already been pruned!" msgstr "" -#: zerver/tornado/event_queue.py:693 +#: zerver/tornado/event_queue.py:698 #, python-brace-format msgid "Event {event_id} was not in this queue" msgstr "" @@ -4792,20 +5220,22 @@ msgstr "" msgid "Default custom field cannot be updated." msgstr "" -#: zerver/views/development/dev_login.py:98 +#: zerver/views/development/dev_login.py:100 msgid "Endpoint not available in production." msgstr "" -#: zerver/views/development/dev_login.py:100 +#: zerver/views/development/dev_login.py:102 msgid "DevAuthBackend not enabled." msgstr "" -#: zerver/views/events_register.py:107 zerver/views/events_register.py:111 -msgid "Invalid '{}' parameter for anonymous request" +#: zerver/views/events_register.py:108 zerver/views/events_register.py:112 +#, python-brace-format +msgid "Invalid '{key}' parameter for anonymous request" msgstr "" #: zerver/views/hotspots.py:19 -msgid "Unknown hotspot: {}" +#, python-brace-format +msgid "Unknown hotspot: {hotspot}" msgstr "" #: zerver/views/invite.py:72 @@ -4813,25 +5243,27 @@ msgid "You must specify at least one email address." msgstr "" #: zerver/views/invite.py:82 -msgid "Stream does not exist with id: {}. No invites were sent." +#, python-brace-format +msgid "Stream does not exist with id: {stream_id}. No invites were sent." msgstr "" -#: zerver/views/invite.py:87 +#: zerver/views/invite.py:89 msgid "You do not have permission to subscribe other users to streams." msgstr "" -#: zerver/views/invite.py:124 zerver/views/invite.py:127 -#: zerver/views/invite.py:146 zerver/views/invite.py:149 -#: zerver/views/invite.py:168 zerver/views/invite.py:173 +#: zerver/views/invite.py:126 zerver/views/invite.py:129 +#: zerver/views/invite.py:148 zerver/views/invite.py:151 +#: zerver/views/invite.py:170 zerver/views/invite.py:175 msgid "No such invitation" msgstr "" -#: zerver/views/invite.py:154 +#: zerver/views/invite.py:156 msgid "Invitation has already been revoked" msgstr "" -#: zerver/views/invite.py:207 -msgid "Invalid stream ID {}. No invites were sent." +#: zerver/views/invite.py:210 +#, python-brace-format +msgid "Invalid stream ID {stream_id}. No invites were sent." msgstr "" #: zerver/views/message_edit.py:98 @@ -4851,7 +5283,8 @@ msgid "Message already deleted" msgstr "" #: zerver/views/message_fetch.py:99 -msgid "Too many messages requested (maximum {})." +#, python-brace-format +msgid "Too many messages requested (maximum {max_messages})." msgstr "" #: zerver/views/message_fetch.py:104 zerver/views/message_flags.py:85 @@ -4859,7 +5292,8 @@ msgid "The anchor can only be excluded at an end of the range" msgstr "" #: zerver/views/message_flags.py:169 -msgid "No such topic '{}'" +#, python-brace-format +msgid "No such topic '{topic}'" msgstr "" #: zerver/views/message_send.py:201 @@ -4903,13 +5337,14 @@ msgstr "" msgid "Client did not pass any new values." msgstr "" -#: zerver/views/presence.py:106 +#: zerver/views/presence.py:108 msgid "" "Client must pass emoji_name if they pass either emoji_code or reaction_type." msgstr "" -#: zerver/views/presence.py:144 -msgid "Invalid status: {}" +#: zerver/views/presence.py:146 +#, python-brace-format +msgid "Invalid status: {status}" msgstr "" #: zerver/views/push_notifications.py:19 @@ -4926,36 +5361,36 @@ msgid "" "emoji_code" msgstr "" -#: zerver/views/reactions.py:68 -msgid "Reaction doesn't exist." -msgstr "" - #: zerver/views/read_receipts.py:22 msgid "Read receipts are disabled in this organization." msgstr "" #: zerver/views/realm.py:160 -msgid "Invalid language '{}'" +#, python-brace-format +msgid "Invalid language '{language}'" msgstr "" #: zerver/views/realm.py:165 msgid "At least one authentication method must be enabled." msgstr "" -#: zerver/views/realm.py:169 -msgid "Invalid video_chat_provider {}" +#: zerver/views/realm.py:170 +#, python-brace-format +msgid "Invalid video_chat_provider {video_chat_provider}" msgstr "" -#: zerver/views/realm.py:173 -msgid "Invalid giphy_rating {}" +#: zerver/views/realm.py:178 +#, python-brace-format +msgid "Invalid giphy_rating {giphy_rating}" msgstr "" -#: zerver/views/realm.py:336 +#: zerver/views/realm.py:335 msgid "Must be a demo organization." msgstr "" #: zerver/views/realm_domains.py:36 -msgid "Invalid domain: {}" +#, python-brace-format +msgid "Invalid domain: {error}" msgstr "" #: zerver/views/realm_domains.py:39 @@ -4968,18 +5403,19 @@ msgstr "" msgid "No entry found for domain {domain}." msgstr "" -#: zerver/views/realm_emoji.py:38 +#: zerver/views/realm_emoji.py:40 msgid "You must upload exactly one file." msgstr "" -#: zerver/views/realm_emoji.py:40 +#: zerver/views/realm_emoji.py:42 msgid "Only administrators can override default emoji." msgstr "" -#: zerver/views/realm_emoji.py:46 zerver/views/realm_icon.py:27 +#: zerver/views/realm_emoji.py:48 zerver/views/realm_icon.py:27 #: zerver/views/realm_logo.py:33 zerver/views/upload.py:278 -#: zerver/views/user_settings.py:352 -msgid "Uploaded file is larger than the allowed limit of {} MiB" +#: zerver/views/user_settings.py:371 +#, python-brace-format +msgid "Uploaded file is larger than the allowed limit of {max_size} MiB" msgstr "" #: zerver/views/realm_export.py:45 @@ -5019,7 +5455,7 @@ msgstr "" msgid "You must upload exactly one logo." msgstr "" -#: zerver/views/realm_playgrounds.py:33 +#: zerver/views/realm_playgrounds.py:32 msgid "Invalid playground" msgstr "" @@ -5056,63 +5492,65 @@ msgstr "" msgid "Invalid value for \"op\". Specify one of \"add\" or \"remove\"." msgstr "" -#: zerver/views/streams.py:322 +#: zerver/views/streams.py:324 msgid "Default streams cannot be made private." msgstr "" -#: zerver/views/streams.py:370 +#: zerver/views/streams.py:372 msgid "Stream already has that name!" msgstr "" -#: zerver/views/streams.py:452 zerver/views/user_groups.py:108 -#: zerver/views/user_groups.py:285 +#: zerver/views/streams.py:454 zerver/views/user_groups.py:168 +#: zerver/views/user_groups.py:347 msgid "Nothing to do. Specify at least one of \"add\" or \"delete\"." msgstr "" -#: zerver/views/streams.py:536 +#: zerver/views/streams.py:538 #, python-brace-format msgid "{user_full_name} subscribed you to the stream {stream_name}." msgstr "" -#: zerver/views/streams.py:542 +#: zerver/views/streams.py:544 #, python-brace-format msgid "{user_full_name} subscribed you to the following streams:" msgstr "" -#: zerver/views/streams.py:646 +#: zerver/views/streams.py:655 #, python-brace-format msgid "Unable to access stream ({stream_name})." msgstr "" -#: zerver/views/streams.py:659 +#: zerver/views/streams.py:668 msgid "You can only invite other Zephyr mirroring users to private streams." msgstr "" -#: zerver/views/streams.py:767 +#: zerver/views/streams.py:776 #, python-brace-format msgid "{user_name} created the following streams: {stream_str}." msgstr "" -#: zerver/views/streams.py:769 +#: zerver/views/streams.py:778 #, python-brace-format msgid "{user_name} created a new stream {stream_str}." msgstr "" -#: zerver/views/streams.py:770 +#: zerver/views/streams.py:779 msgid "new streams" msgstr "" -#: zerver/views/streams.py:802 +#: zerver/views/streams.py:811 #, python-brace-format msgid "**{policy}** stream created by {user_name}. **Description:**" msgstr "" -#: zerver/views/streams.py:1050 -msgid "Unknown subscription property: {}" +#: zerver/views/streams.py:1060 +#, python-brace-format +msgid "Unknown subscription property: {property}" msgstr "" -#: zerver/views/streams.py:1054 -msgid "Not subscribed to stream id {}" +#: zerver/views/streams.py:1066 +#, python-brace-format +msgid "Not subscribed to stream id {stream_id}" msgstr "" #: zerver/views/submessage.py:38 @@ -5136,7 +5574,7 @@ msgid "User has disabled typing notifications for direct messages" msgstr "" #: zerver/views/upload.py:183 -msgid "

File not found.

" +msgid "

This file does not exist or has been deleted.

" msgstr "" #: zerver/views/upload.py:223 @@ -5156,42 +5594,43 @@ msgstr "" msgid "You may only upload one file at a time" msgstr "" -#: zerver/views/user_groups.py:74 +#: zerver/views/user_groups.py:111 msgid "No new data supplied" msgstr "" -#: zerver/views/user_groups.py:149 +#: zerver/views/user_groups.py:209 #, python-brace-format msgid "{user_full_name} added you to the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:154 +#: zerver/views/user_groups.py:214 #, python-brace-format msgid "{user_full_name} removed you from the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:185 +#: zerver/views/user_groups.py:245 #, python-brace-format msgid "User {user_id} is already a member of this group" msgstr "" -#: zerver/views/user_groups.py:212 -msgid "There is no member '{}' in this user group" +#: zerver/views/user_groups.py:273 +#, python-brace-format +msgid "There is no member '{user_id}' in this user group" msgstr "" -#: zerver/views/user_groups.py:237 +#: zerver/views/user_groups.py:299 #, python-brace-format msgid "User group {group_id} is already a subgroup of this group." msgstr "" -#: zerver/views/user_groups.py:246 +#: zerver/views/user_groups.py:308 #, python-brace-format msgid "" "User group {user_group_id} is already a subgroup of one of the passed " "subgroups." msgstr "" -#: zerver/views/user_groups.py:266 +#: zerver/views/user_groups.py:328 #, python-brace-format msgid "User group {group_id} is not a subgroup of this group." msgstr "" @@ -5200,7 +5639,7 @@ msgstr "" msgid "Avatar changes are disabled in this organization." msgstr "" -#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:293 +#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:312 msgid "Email address changes are disabled in this organization." msgstr "" @@ -5208,31 +5647,34 @@ msgstr "" msgid "Invalid default_language" msgstr "" -#: zerver/views/user_settings.py:133 -msgid "Invalid notification sound '{}'" +#: zerver/views/user_settings.py:134 +#, python-brace-format +msgid "Invalid notification sound '{notification_sound}'" msgstr "" -#: zerver/views/user_settings.py:141 -msgid "Invalid email batching period: {} seconds" +#: zerver/views/user_settings.py:145 +#, python-brace-format +msgid "Invalid email batching period: {seconds} seconds" msgstr "" -#: zerver/views/user_settings.py:248 +#: zerver/views/user_settings.py:267 msgid "Your Zulip password is managed in LDAP" msgstr "" -#: zerver/views/user_settings.py:258 +#: zerver/views/user_settings.py:277 msgid "Wrong password!" msgstr "" -#: zerver/views/user_settings.py:263 -msgid "You're making too many attempts! Try again in {} seconds." +#: zerver/views/user_settings.py:282 +#, python-brace-format +msgid "You're making too many attempts! Try again in {seconds} seconds." msgstr "" -#: zerver/views/user_settings.py:269 +#: zerver/views/user_settings.py:288 msgid "New password is too weak!" msgstr "" -#: zerver/views/user_settings.py:342 +#: zerver/views/user_settings.py:361 msgid "You must upload exactly one avatar." msgstr "" @@ -5293,7 +5735,8 @@ msgid "Disposable email addresses are not allowed in this organization" msgstr "" #: zerver/views/users.py:712 -msgid "Email '{}' already in use" +#, python-brace-format +msgid "Email '{email}' already in use" msgstr "" #: zerver/views/video_calls.py:47 @@ -5352,7 +5795,7 @@ msgstr "" msgid "We were unable to set up mirroring for you" msgstr "" -#: zerver/webhooks/circleci/view.py:76 +#: zerver/webhooks/circleci/view.py:83 msgid "Projects using this version control system provider aren't supported" msgstr "" @@ -5361,7 +5804,7 @@ msgstr "" msgid "Invalid payload" msgstr "" -#: zerver/webhooks/front/view.py:155 +#: zerver/webhooks/front/view.py:151 msgid "Unknown webhook request" msgstr "" @@ -5409,10 +5852,11 @@ msgid "Message from Slack" msgstr "" #: zerver/webhooks/wordpress/view.py:56 -msgid "Unknown WordPress webhook action: {}" +#, python-brace-format +msgid "Unknown WordPress webhook action: {hook}" msgstr "" -#: zerver/worker/queue_processors.py:1123 +#: zerver/worker/queue_processors.py:1114 #, python-brace-format msgid "" "Your data export is complete and has been uploaded here:\n" @@ -5439,7 +5883,8 @@ msgid "Invalid token type" msgstr "" #: zilencer/views.py:109 -msgid "{} is not a valid hostname" +#, python-brace-format +msgid "{hostname} is not a valid hostname" msgstr "" #: zilencer/views.py:162 @@ -5447,7 +5892,8 @@ msgid "Missing user_id or user_uuid" msgstr "" #: zilencer/views.py:373 -msgid "Invalid property {}" +#, python-brace-format +msgid "Invalid property {property}" msgstr "" #: zilencer/views.py:375 @@ -5470,10 +5916,10 @@ msgstr "" msgid "Missing id_token parameter" msgstr "" -#: zproject/backends.py:2903 +#: zproject/backends.py:2902 msgid "Invalid OTP" msgstr "" -#: zproject/backends.py:2906 +#: zproject/backends.py:2905 msgid "Can't use both mobile_flow_otp and desktop_flow_otp together." msgstr "" diff --git a/locale/no/translations.json b/locale/no/translations.json index bd7be4c9ba..cf7a137839 100644 --- a/locale/no/translations.json +++ b/locale/no/translations.json @@ -83,6 +83,7 @@ "Add all users": "", "Add another user...": "", "Add code playground": "", + "Add default streams": "", "Add emoji": "Legg til emoji", "Add emoji reaction": "", "Add extra emoji for members of the {realm_name} organization.": "", @@ -90,7 +91,6 @@ "Add linkifier": "", "Add members": "", "Add member…": "", - "Add new default stream": "", "Add new user group": "", "Add one or more users": "", "Add option": "", @@ -150,6 +150,7 @@ "Archive ?": "", "Archive stream": "", "Archiving stream will immediately unsubscribe everyone. This action cannot be undone.": "", + "Archiving this stream will also disable settings that were configured to use this stream:": "", "Are you sure you want to continue?": "", "Are you sure you want to create stream ''''{stream_name}'''' and subscribe {count} users to it?": "", "Are you sure you want to deactivate this organization?": "", @@ -218,6 +219,7 @@ "Click here to reveal.": "", "Click on the pencil () icon to edit and reschedule a message.": "", "Click outside the input box to save. We'll automatically notify anyone that was added or removed.": "", + "Click to view edit history.": "", "Click to view or download.": "", "Close": "Close", "Close modal": "", @@ -360,7 +362,6 @@ "Display my availability to other users": "", "Display names of reacting users when few users have reacted to a message": "", "Display on user card": "", - "Display settings": "", "Do you still want to move the latest {total_messages_allowed_to_move, plural, one {message} other {# messages}}?": "", "Do you want to add everyone?": "", "Domain": "", @@ -388,7 +389,6 @@ "Edit custom profile field": "", "Edit linkfiers": "", "Edit message": "", - "Edit or reschedule message": "", "Edit selected draft": "", "Edit selected message or view source": "", "Edit status": "", @@ -398,7 +398,6 @@ "Edit your last message": "", "Edit your profile": "", "Edit {group_name}": "", - "Edited ({last_edit_timestr})": "", "Edited by {full_name}": "", "Education (for-profit)": "", "Education (non-profit)": "", @@ -461,6 +460,7 @@ "External account type": "", "External link": "", "Failed": "", + "Failed adding one or more streams.": "", "Failed to create video call.": "", "Failed to generate preview": "", "Failed to upload %'{file}'": "", @@ -500,6 +500,9 @@ "First message": "", "First time? Read our guidelines for creating and naming streams.": "", "First time? Read our guidelines for creating user groups.": "", + "Follow topic": "", + "Followed": "", + "Followed topics": "", "For example, to configure a code playground for code blocks tagged as Python, you can set:": "", "For more examples and technical details, see the help center documentation on adding code playgrounds.": "", "For more examples, see the help center documentation on adding linkifiers.": "", @@ -600,8 +603,10 @@ "Last 30 days": "", "Last 6 months": "", "Last active": "", + "Last edited {last_edit_timestr}": "", "Last message": "", "Last modified": "", + "Last moved {last_edit_timestr}": "", "Learn more": "", "Learn more about mentions here.": "", "Learn more about starring messages here.": "", @@ -624,6 +629,7 @@ "Log out": "", "Looking for our integrations or API documentation?": "", "MOVED": "", + "Main menu": "", "Manage bot": "", "Manage streams": "", "Manage this bot": "", @@ -647,7 +653,6 @@ "Mention a time-zone-aware time": "", "Mentioned in": "", "Mentions": "", - "Menu": "", "Menus": "", "Message #{stream_name}": "", "Message #{stream_name} > {topic_name}": "", @@ -682,7 +687,6 @@ "Move some messages?": "", "Move this and all following messages in this topic": "", "Move topic": "", - "Moved ({last_edit_timestr})": "", "Moved by {full_name}": "", "Moving messages": "", "Must be invited by a subscriber; new subscribers can only see messages sent after they join; hidden from non-administrator users": "", @@ -735,9 +739,11 @@ "New password is too weak": "", "New stream announcements": "", "New stream message": "", + "New stream notifications": "", "New task": "", "New topic": "", "New user announcements": "", + "New user notifications": "", "Next message": "", "Next unread direct message": "", "Next unread topic": "", @@ -760,7 +766,6 @@ "No search results": "", "No search results.": "", "No stream subscriptions.": "", - "No streams": "", "No topics are marked as resolved.": "", "No topics match your current filter.": "", "No user group subscriptions.": "", @@ -860,6 +865,7 @@ "Please specify at least one valid recipient.": "", "Political group": "", "Posted by {full_name}": "", + "Preferences": "", "Press > for list of topics": "", "Prevent users from changing their avatar": "", "Prevent users from changing their email address": "", @@ -1105,7 +1111,6 @@ "Time zone": "", "Time's up!": "", "Tip: You can also send \"/poll Some question\"": "", - "To add syntax highlighting to a multi-line code block, add the language's first Pygments short name after the first set of back-ticks. You can also make a code block by indenting each line with 4 spaces.": "", "To invite users, please increase the number of licenses or deactivate inactive users.": "", "To preserve your reading state, this view does not mark messages as read.": "", "Today": "", @@ -1127,7 +1132,6 @@ "Two factor authentication": "", "Type": "", "URL pattern": "", - "URL prefix": "", "URL template": "", "USERS": "", "Uncheck all": "", @@ -1339,13 +1343,13 @@ "Zulip Server {display_version}": "", "Zulip Server {display_version} (modified)": "", "Zulip Server {display_version} (patched)": "", + "Zulip lets you configure notifications for each topic. You can also automatically follow or unmute topics you start or participate in.": "", "Zulip lets you mute topics and streams to avoid receiving notifications messages you are not interested in. Muting a stream effectively mutes all topics in that stream. You can also manually mute a topic in an unmuted stream, or unmute a topic in a muted stream. Learn more.": "", "Zulip needs to send email to confirm users' addresses and send notifications.": "", "Zulip needs your permission to enable desktop notifications.": "", "Zulip's translations are contributed by our amazing community of volunteer translators. If you'd like to help, see the Zulip translation guidelines.": "", "[Configure]": "", "[Disable]": "", - "[More…]": "", "[Quoting…]": "", "[Unset]": "", "and {remaining_senders, plural, one {1 other} other {# others}}.": "", diff --git a/locale/pt_BR/LC_MESSAGES/django.po b/locale/pt_BR/LC_MESSAGES/django.po index 572fc96bea..02e6c18f46 100644 --- a/locale/pt_BR/LC_MESSAGES/django.po +++ b/locale/pt_BR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Iacchus Mercurius , 2021 # Luiz François , 2021 @@ -9,18 +9,19 @@ msgid "" msgstr "" "Project-Id-Version: Zulip\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-31 01:00+0000\n" +"POT-Creation-Date: 2023-07-26 03:33+0000\n" "PO-Revision-Date: 2015-12-06 00:18+0000\n" "Last-Translator: Luiz François , 2021\n" -"Language-Team: Portuguese (Brazil) (http://app.transifex.com/zulip/zulip/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://app.transifex.com/zulip/zulip/" +"language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" -#: analytics/views/stats.py:110 zerver/decorator.py:623 -#: zerver/decorator.py:641 +#: analytics/views/stats.py:110 zerver/decorator.py:628 zerver/decorator.py:646 msgid "Not allowed for guest users" msgstr "Não permitido para visitantes" @@ -45,20 +46,24 @@ msgid "Group direct messages" msgstr "" #: analytics/views/stats.py:318 -msgid "Unknown chart name: {}" +#, python-brace-format +msgid "Unknown chart name: {chart_name}" msgstr "" #: analytics/views/stats.py:328 #, python-brace-format msgid "Start time is later than end time. Start: {start}, End: {end}" -msgstr "O tempo de início é posterior ao tempo final. Início: {start}, Fim: {end}" +msgstr "" +"O tempo de início é posterior ao tempo final. Início: {start}, Fim: {end}" #: analytics/views/stats.py:350 analytics/views/stats.py:385 msgid "No analytics data available. Please contact your server administrator." -msgstr "Sem dados de analytics disponíveis. Por favor contate seu administrador do servidor." +msgstr "" +"Sem dados de analytics disponíveis. Por favor contate seu administrador do " +"servidor." -#: analytics/views/support.py:189 zerver/views/streams.py:304 -#: zerver/views/streams.py:308 zerver/views/streams.py:316 +#: analytics/views/support.py:189 zerver/views/streams.py:306 +#: zerver/views/streams.py:310 zerver/views/streams.py:318 msgid "Invalid parameters" msgstr "Parâmetros inválidos" @@ -69,43 +74,57 @@ msgid "" "new users. Please [increase the number of licenses]({billing_page_link}) or " "[deactivate inactive users]({deactivate_user_help_page_link}) to allow new " "users to join." -msgstr "Sua organização não tem mais licenças do Zulip disponíveis e não pode mais aceitar novos usuários. Por favor [aumente o número de licenças]({billing_page_link}) ou [desative usuários inativos]({deactivate_user_help_page_link}) para permitir novos usuários" +msgstr "" +"Sua organização não tem mais licenças do Zulip disponíveis e não pode mais " +"aceitar novos usuários. Por favor [aumente o número de licenças]" +"({billing_page_link}) ou [desative usuários inativos]" +"({deactivate_user_help_page_link}) para permitir novos usuários" #: corporate/lib/registration.py:36 #, python-brace-format msgid "" "Your organization has only one Zulip license remaining. You can [increase " -"the number of licenses]({billing_page_link}) or [deactivate inactive " -"users]({deactivate_user_help_page_link}) to allow more than one user to " -"join." -msgstr "Sua organização tem apenas uma licença do Zulip disponível. Você pode [aumente o número de licenças]({billing_page_link}) ou [desative usuários inativos]({deactivate_user_help_page_link}) para permitir novos usuários" +"the number of licenses]({billing_page_link}) or [deactivate inactive users]" +"({deactivate_user_help_page_link}) to allow more than one user to join." +msgstr "" +"Sua organização tem apenas uma licença do Zulip disponível. Você pode " +"[aumente o número de licenças]({billing_page_link}) ou [desative usuários " +"inativos]({deactivate_user_help_page_link}) para permitir novos usuários" #: corporate/lib/registration.py:41 #, python-brace-format msgid "" "Your organization has only two Zulip licenses remaining. You can [increase " -"the number of licenses]({billing_page_link}) or [deactivate inactive " -"users]({deactivate_user_help_page_link}) to allow more than two users to " -"join." -msgstr "Sua organização tem apenas duas licenças do Zulip disponíveis. Você pode [aumente o número de licenças]({billing_page_link}) ou [desative usuários inativos]({deactivate_user_help_page_link}) para permitir novos usuários" +"the number of licenses]({billing_page_link}) or [deactivate inactive users]" +"({deactivate_user_help_page_link}) to allow more than two users to join." +msgstr "" +"Sua organização tem apenas duas licenças do Zulip disponíveis. Você pode " +"[aumente o número de licenças]({billing_page_link}) ou [desative usuários " +"inativos]({deactivate_user_help_page_link}) para permitir novos usuários" #: corporate/lib/registration.py:46 #, python-brace-format msgid "" -"Your organization has only three Zulip licenses remaining. You can [increase" -" the number of licenses]({billing_page_link}) or [deactivate inactive " -"users]({deactivate_user_help_page_link}) to allow more than three users to " -"join." -msgstr "Sua organização tem apenas três licenças do Zulip disponíveis. Você pode [aumente o número de licenças]({billing_page_link}) ou [desative usuários inativos]({deactivate_user_help_page_link}) para permitir novos usuários" +"Your organization has only three Zulip licenses remaining. You can [increase " +"the number of licenses]({billing_page_link}) or [deactivate inactive users]" +"({deactivate_user_help_page_link}) to allow more than three users to join." +msgstr "" +"Sua organização tem apenas três licenças do Zulip disponíveis. Você pode " +"[aumente o número de licenças]({billing_page_link}) ou [desative usuários " +"inativos]({deactivate_user_help_page_link}) para permitir novos usuários" #: corporate/lib/registration.py:57 #, python-brace-format msgid "" "A new member ({email}) was unable to join your organization because all " -"Zulip licenses are in use. Please [increase the number of " -"licenses]({billing_page_link}) or [deactivate inactive " -"users]({deactivate_user_help_page_link}) to allow new members to join." -msgstr "Um novo membro ({email}) foi impossibilitado de participar de sua organização pois todas licenças do Zulip estão sendo usadas. Por favor [aumente o número de licenças]({billing_page_link}) ou [desative usuários inativos]({deactivate_user_help_page_link}) para permitir novos usuários." +"Zulip licenses are in use. Please [increase the number of licenses]" +"({billing_page_link}) or [deactivate inactive users]" +"({deactivate_user_help_page_link}) to allow new members to join." +msgstr "" +"Um novo membro ({email}) foi impossibilitado de participar de sua " +"organização pois todas licenças do Zulip estão sendo usadas. Por favor " +"[aumente o número de licenças]({billing_page_link}) ou [desative usuários " +"inativos]({deactivate_user_help_page_link}) para permitir novos usuários." #: corporate/lib/registration.py:109 msgid "All Zulip licenses for this organization are currently in use." @@ -116,37 +135,50 @@ msgstr "Todas as licenças Zulip para esta organização estão atualmente em us msgid "" "Your organization does not have enough unused Zulip licenses to invite " "{num_invites} users." -msgstr "Sua organização não tem licenças do Zulip para convidar {num_invites} usuários." +msgstr "" +"Sua organização não tem licenças do Zulip para convidar {num_invites} " +"usuários." -#: corporate/lib/stripe.py:112 -msgid "You must invoice for at least {} users." +#: corporate/lib/stripe.py:113 +#, fuzzy, python-brace-format +#| msgid "You must invoice for at least {} users." +msgid "You must invoice for at least {min_licenses} users." msgstr "Você deve incluir na fatura ao menos {} usuários." -#: corporate/lib/stripe.py:117 +#: corporate/lib/stripe.py:120 +#, fuzzy, python-brace-format +#| msgid "" +#| "Invoices with more than {} licenses can't be processed from this page. To " +#| "complete the upgrade, please contact {}." msgid "" -"Invoices with more than {} licenses can't be processed from this page. To " -"complete the upgrade, please contact {}." -msgstr "Faturas com mais de {} licenças não podem ser processadas por esta página. Para completar o upgrade, por favor. contate {}." +"Invoices with more than {max_licenses} licenses can't be processed from this " +"page. To complete the upgrade, please contact {email}." +msgstr "" +"Faturas com mais de {} licenças não podem ser processadas por esta página. " +"Para completar o upgrade, por favor. contate {}." -#: corporate/lib/stripe.py:225 +#: corporate/lib/stripe.py:228 #, python-brace-format msgid "Something went wrong. Please contact {email}." msgstr "Algo errado aconteceu. Por favor contate {email}." -#: corporate/lib/stripe.py:226 +#: corporate/lib/stripe.py:229 msgid "Something went wrong. Please reload the page." msgstr "Algo errado aconteceu. Por favor, recarregue a página." -#: corporate/lib/stripe.py:300 +#: corporate/lib/stripe.py:303 msgid "Something went wrong. Please wait a few seconds and try again." -msgstr "Algo errado aconteceu. Por favor aguarde alguns segundos e tente de novo." +msgstr "" +"Algo errado aconteceu. Por favor aguarde alguns segundos e tente de novo." -#: corporate/lib/stripe.py:1015 +#: corporate/lib/stripe.py:1023 #, python-brace-format msgid "" -"Your organization's request for sponsored hosting has been approved! You have been upgraded to {plan_name}, free of charge. {emoji}\n" +"Your organization's request for sponsored hosting has been approved! You " +"have been upgraded to {plan_name}, free of charge. {emoji}\n" "\n" -"If you could {begin_link}list Zulip as a sponsor on your website{end_link}, we would really appreciate it!" +"If you could {begin_link}list Zulip as a sponsor on your website{end_link}, " +"we would really appreciate it!" msgstr "" #: corporate/views/billing_page.py:45 @@ -165,19 +197,23 @@ msgstr "Método de pagamento desconhecido. Por favor, contate {email}." #: corporate/views/billing_page.py:198 msgid "" -"Unable to update the plan. The plan has been expired and replaced with a new" -" plan." -msgstr "Não foi possível atualizar o plano. O plano foi expirado e substituído por um novo plano." +"Unable to update the plan. The plan has been expired and replaced with a new " +"plan." +msgstr "" +"Não foi possível atualizar o plano. O plano foi expirado e substituído por " +"um novo plano." #: corporate/views/billing_page.py:202 msgid "Unable to update the plan. The plan has ended." msgstr "Não foi possível atualizar o plano. O plano terminou." -#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:253 +#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:251 msgid "" "Unable to update licenses manually. Your plan is on automatic license " "management." -msgstr "Não foi possível atualizar as licenças manualmente. O seu plano está em gestão automática de licenças." +msgstr "" +"Não foi possível atualizar as licenças manualmente. O seu plano está em " +"gestão automática de licenças." #: corporate/views/billing_page.py:231 #, python-brace-format @@ -189,14 +225,14 @@ msgstr "Seu planos já está com {licenses} licenças no periodo atual de fatura msgid "You cannot decrease the licenses in the current billing period." msgstr "" -#: corporate/views/billing_page.py:259 +#: corporate/views/billing_page.py:257 #, python-brace-format msgid "" "Your plan is already scheduled to renew with {licenses_at_next_renewal} " "licenses." msgstr "" -#: corporate/views/billing_page.py:273 +#: corporate/views/billing_page.py:271 msgid "Nothing to change." msgstr "Nada a alterar." @@ -208,7 +244,7 @@ msgstr "Sem clientes para esta organização!" msgid "Session not found" msgstr "Sessão não encontrada" -#: corporate/views/event_status.py:37 zerver/decorator.py:196 +#: corporate/views/event_status.py:37 zerver/decorator.py:197 msgid "Must be a billing administrator or an organization owner" msgstr "" @@ -253,26 +289,29 @@ msgstr "" msgid "" "\n" " If this error is unexpected, you can\n" -" contact support.\n" +" contact " +"support.\n" " " msgstr "" #: templates/500.html:4 templates/500.html:21 -#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:433 +#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:410 msgid "Internal server error" msgstr "Erro interno do servidor" #: templates/500.html:23 msgid "" "\n" -" Your Zulip chat cannot be loaded because the server is experiencing technical difficulties.\n" +" Your Zulip chat cannot be loaded because the server " +"is experiencing technical difficulties.\n" " " msgstr "" #: templates/500.html:28 msgid "" "\n" -" This page will reload automatically when service is restored.\n" +" This page will reload automatically when service is " +"restored.\n" " " msgstr "" @@ -280,7 +319,8 @@ msgstr "" #, python-format msgid "" "\n" -" In the meantime, you can contact Zulip support.\n" +" In the meantime, you can contact Zulip support.\n" " " msgstr "" @@ -288,7 +328,8 @@ msgstr "" #, python-format msgid "" "\n" -" In the meantime, you can contact\n" +" In the meantime, you can contact\n" " this server's administrators for support.\n" " " msgstr "" @@ -297,8 +338,10 @@ msgstr "" #, python-format msgid "" "\n" -" If you administer this server, you may want to check out the\n" -" Zulip server troubleshooting guide.\n" +" If you administer this server, you may want to " +"check out the\n" +" Zulip server " +"troubleshooting guide.\n" " " msgstr "" @@ -451,7 +494,8 @@ msgstr "Email alterado!" #, python-format msgid "" "\n" -" This confirms that the email address for your Zulip account has changed\n" +" This confirms that the email address for your Zulip account has " +"changed\n" " from %(old_email_html_tag)s to %(new_email_html_tag)s\n" " " msgstr "" @@ -473,9 +517,14 @@ msgstr "Opa. Não pudemos encontrar seu link de confirmação no sistema." #, python-format msgid "" "\n" -" Anyway, shoot us a line at %(support_email_html_tag)s and we'll get this resolved shortly.\n" +" Anyway, shoot us a line at %(support_email_html_tag)s " +"and we'll get this resolved shortly.\n" +" " +msgstr "" +"\n" +" De qualquer forma, mande-nos uma mensagem em " +"%(support_email_html_tag)s e nós logo resolveremos isso.\n" " " -msgstr "\n De qualquer forma, mande-nos uma mensagem em %(support_email_html_tag)s e nós logo resolveremos isso.\n " #: templates/confirmation/link_expired.html:4 msgid "Confirmation link expired or deactivated" @@ -487,7 +536,9 @@ msgstr "Opa. O link de confirmação expirou ou foi desativado." #: templates/confirmation/link_expired.html:15 msgid "Please contact your organization administrator for a new link." -msgstr "Entre em contato com o administrador da sua organização para obter um novo link." +msgstr "" +"Entre em contato com o administrador da sua organização para obter um novo " +"link." #: templates/confirmation/link_malformed.html:4 msgid "Confirmation link malformed" @@ -501,7 +552,11 @@ msgstr "Opa. O link de confirmação está corrompido." msgid "" "Make sure you copied the link correctly in to your browser. If you're still " "encountering this page, it's probably our fault. We're sorry." -msgstr "Certifique-se de que o link foi copiado corretamente para o seu navegador. Se \nvocê ainda está encontrando esta página, provavelmente a culpa é nossa. \nNós lamentamos." +msgstr "" +"Certifique-se de que o link foi copiado corretamente para o seu navegador. " +"Se \n" +"você ainda está encontrando esta página, provavelmente a culpa é nossa. \n" +"Nós lamentamos." #: templates/corporate/billing.html:5 templates/corporate/billing.html:24 msgid "Billing" @@ -560,7 +615,7 @@ msgstr "" #: templates/corporate/for/events.html:34 #: templates/corporate/for/events.html:288 #: templates/corporate/for/open-source.html:36 -#: templates/corporate/for/open-source.html:720 +#: templates/corporate/for/open-source.html:727 #: templates/corporate/for/research.html:36 #: templates/corporate/for/research.html:402 #: templates/corporate/for/use-cases.html:23 @@ -580,7 +635,7 @@ msgstr "" #: templates/corporate/for/events.html:40 #: templates/corporate/for/events.html:294 #: templates/corporate/for/open-source.html:42 -#: templates/corporate/for/open-source.html:726 +#: templates/corporate/for/open-source.html:733 #: templates/corporate/for/research.html:42 #: templates/corporate/for/research.html:408 #: templates/corporate/for/use-cases.html:29 @@ -592,7 +647,7 @@ msgstr "" #: templates/corporate/for/events.html:37 #: templates/corporate/for/events.html:291 #: templates/corporate/for/open-source.html:39 -#: templates/corporate/for/open-source.html:723 +#: templates/corporate/for/open-source.html:730 #: templates/corporate/for/research.html:39 #: templates/corporate/for/research.html:405 msgid "Request sponsorship" @@ -688,8 +743,8 @@ msgstr "" msgid "Leave blank if your organization does not have a website." msgstr "Deixe em branco se sua organização não tem um site." -#: templates/corporate/sponsorship.html:32 -#: templates/corporate/upgrade.html:158 templates/corporate/upgrade.html:223 +#: templates/corporate/sponsorship.html:32 templates/corporate/upgrade.html:158 +#: templates/corporate/upgrade.html:223 msgid "Convert demo organization before upgrading." msgstr "" @@ -789,7 +844,9 @@ msgstr "Maior controle" #: templates/corporate/zulipchat_migration_tos.html:3 msgid "" "\n" -" This team chat is now being hosted on Zulip Cloud. Please accept the Zulip Terms of Service to continue.\n" +" This team chat is now being hosted on Zulip Cloud. Please accept the " +"Zulip Terms of Service to " +"continue.\n" " " msgstr "" @@ -831,9 +888,9 @@ msgstr "" msgid "Continue" msgstr "" -#: templates/zerver/accounts_home.html:5 -#: templates/zerver/accounts_home.html:72 templates/zerver/login.html:154 -#: templates/zerver/portico-header.html:43 templates/zerver/register.html:230 +#: templates/zerver/accounts_home.html:5 templates/zerver/accounts_home.html:72 +#: templates/zerver/login.html:154 templates/zerver/portico-header.html:43 +#: templates/zerver/register.html:230 msgid "Sign up" msgstr "Inscrever-se" @@ -846,8 +903,7 @@ msgid "You need an invitation to join this organization." msgstr "Você precisa de um convite para ingressar nesta organização." #: templates/zerver/accounts_home.html:76 templates/zerver/login.html:50 -#: templates/zerver/login.html:133 -#: templates/zerver/realm_creation_form.html:52 +#: templates/zerver/login.html:133 templates/zerver/realm_creation_form.html:52 msgid "OR" msgstr "OU" @@ -857,51 +913,58 @@ msgid "Sign up with %(identity_provider)s" msgstr "Inscrever-se com %(identity_provider)s" #: templates/zerver/accounts_send_confirm.html:5 +#: templates/zerver/accounts_send_confirm.html:17 msgid "Confirm your email address" msgstr "" -#: templates/zerver/accounts_send_confirm.html:17 -msgid "Thanks for signing up!" -msgstr "Obrigado por inscrever-se!" - #: templates/zerver/accounts_send_confirm.html:21 #, python-format msgid "" -"Check your email (%(email)s) so " -"we can get started." +"To complete your registration, check your email account (%(email)s) for a confirmation email " +"from Zulip." msgstr "" #: templates/zerver/accounts_send_confirm.html:25 -msgid "Still no email? We can resend it." -msgstr "Nenhum email ainda? Nós podemos reenviá-lo." - -#: templates/zerver/accounts_send_confirm.html:26 -msgid "Just in case, take a look at your Spam folder." -msgstr "Por um acaso, dê uma olhada na sua pasta de Spam." - -#: templates/zerver/app/index.html:121 +#, fuzzy +#| msgid "" +#| "Still no email? We can resend it." msgid "" -"If this message does not go away, try reloading the" -" page." +"If you don't see a confirmation email in your Inbox or Spam folder, we can " +"resend it." +msgstr "" +"Nenhum email ainda? Nós podemos reenviá-lo." + +#: templates/zerver/app/index.html:128 +msgid "" +"If this message does not go away, try reloading " +"the page." msgstr "" -#: templates/zerver/app/index.html:164 +#: templates/zerver/app/index.html:131 +msgid "" +"Error loading Zulip. Try reloading the page." +msgstr "" + +#: templates/zerver/app/index.html:174 msgid "Unable to connect to Zulip." msgstr "Não foi possível conectar-se ao Zulip." -#: templates/zerver/app/index.html:165 +#: templates/zerver/app/index.html:175 msgid "Updates may be delayed." msgstr "" -#: templates/zerver/app/index.html:166 +#: templates/zerver/app/index.html:176 msgid "Retrying soon…" msgstr "Tentando novamente em breve..." -#: templates/zerver/app/index.html:167 +#: templates/zerver/app/index.html:177 msgid "Try now." msgstr "Tentar agora." -#: templates/zerver/app/index.html:241 templates/zerver/app/index.html:243 +#: templates/zerver/app/index.html:251 templates/zerver/app/index.html:253 msgid "Messages" msgstr "Mensagens" @@ -917,15 +980,20 @@ msgstr "" msgid "" "\n" " It appears you ended up here by accident. This site\n" -" is meant to be an intermediate step in the authentication process\n" -" and shouldn't be accessed manually. If you came here directly,\n" -" you probably got the address wrong. If you got stuck here while trying\n" -" to log in, this is most likely a server bug or misconfiguration.\n" +" is meant to be an intermediate step in the " +"authentication process\n" +" and shouldn't be accessed manually. If you came here " +"directly,\n" +" you probably got the address wrong. If you got stuck " +"here while trying\n" +" to log in, this is most likely a server bug or " +"misconfiguration.\n" " " msgstr "" #: templates/zerver/billing_nav.html:4 #: templates/zerver/development/integrations_dev_panel.html:19 +#: templates/zerver/emails/compiled/followup_day2.html:28 #: templates/zerver/portico-header.html:5 #: templates/zerver/portico-header.html:9 msgid "Zulip" @@ -958,9 +1026,9 @@ msgstr "" #: templates/zerver/change_email_address_visibility_modal.html:22 #, python-format msgid "" -"You can also change this setting after you join." +"You can also change this setting after you join." msgstr "" #: templates/zerver/change_email_address_visibility_modal.html:26 @@ -986,8 +1054,10 @@ msgstr "" #: templates/zerver/config_error.html:18 msgid "" "\n" -" You are trying to log in using LDAP without creating an\n" -" organization first. Please use EmailAuthBackend to create\n" +" You are trying to log in using LDAP without creating " +"an\n" +" organization first. Please use EmailAuthBackend to " +"create\n" " your organization and then try again.\n" " " msgstr "" @@ -1036,8 +1106,10 @@ msgstr "" msgid "" "\n" " Or import\n" -" from Slack, Mattermost,\n" -" Gitter, or Rocket.Chat.\n" +" from Slack, Mattermost,\n" +" Gitter, or Rocket.Chat.\n" " " msgstr "" @@ -1049,7 +1121,8 @@ msgstr "Organização desativada" #, python-format msgid "" "\n" -" The organization you are trying to join, %(deactivated_domain_name)s, has been deactivated.\n" +" The organization you are trying to join, " +"%(deactivated_domain_name)s, has been deactivated.\n" " " msgstr "" @@ -1057,7 +1130,8 @@ msgstr "" #, python-format msgid "" "\n" -" It has moved to %(deactivated_redirect)s.\n" +" It has moved to %(deactivated_redirect)s.\n" " " msgstr "" @@ -1065,7 +1139,8 @@ msgstr "" #, python-format msgid "" "\n" -" Please contact %(support_email)s to reactivate\n" +" Please contact %(support_email)s to reactivate\n" " this group.\n" " " msgstr "" @@ -1082,7 +1157,9 @@ msgstr "" msgid "" "Use your web browser to finish logging in, then come back here to paste in " "your login token." -msgstr "Use o seu navegador para terminar o início de sessão, e depois volte aqui para colar o seu token de início de sessão." +msgstr "" +"Use o seu navegador para terminar o início de sessão, e depois volte aqui " +"para colar o seu token de início de sessão." #: templates/zerver/desktop_login.html:18 msgid "Paste token here" @@ -1149,6 +1226,8 @@ msgstr "Usuários normais" msgid "Digest" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:9 +#: templates/zerver/emails/compiled/notify_change_in_email.html:9 #: templates/zerver/emails/confirm_new_email.html:8 #: templates/zerver/emails/confirm_new_email.txt:1 #: templates/zerver/emails/notify_change_in_email.html:8 @@ -1156,6 +1235,7 @@ msgstr "" msgid "Hi," msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:11 #: templates/zerver/emails/confirm_new_email.html:10 #: templates/zerver/emails/confirm_new_email.txt:4 #, python-format @@ -1165,10 +1245,12 @@ msgid "" "please click below:" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:12 #: templates/zerver/emails/confirm_new_email.html:11 msgid "Confirm email change" msgstr "Confirmar alteração de e-mail" +#: templates/zerver/emails/compiled/confirm_new_email.html:14 #: templates/zerver/emails/confirm_new_email.html:13 #, python-format msgid "" @@ -1176,6 +1258,628 @@ msgid "" "%(support_email)s." msgstr "" +#: templates/zerver/emails/compiled/confirm_registration.html:11 +#: templates/zerver/emails/confirm_registration.html:10 +#: templates/zerver/emails/confirm_registration.txt:2 +msgid "You have requested a new Zulip organization. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:13 +#: templates/zerver/emails/confirm_registration.html:12 +#: templates/zerver/emails/confirm_registration.txt:4 +msgid "You recently signed up for Zulip. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:18 +#: templates/zerver/emails/confirm_registration.html:17 +msgid "" +"Click the button below to create the organization and register your account." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:20 +#: templates/zerver/emails/confirm_registration.html:19 +msgid "Click the button below to complete registration." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:22 +#: templates/zerver/emails/compiled/invitation.html:17 +#: templates/zerver/emails/compiled/invitation_reminder.html:15 +#: templates/zerver/emails/confirm_registration.html:21 +#: templates/zerver/emails/invitation.html:16 +#: templates/zerver/emails/invitation_reminder.html:14 +msgid "Complete registration" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:24 +#: templates/zerver/emails/compiled/invitation.html:20 +#: templates/zerver/emails/compiled/realm_reactivation.html:20 +#, python-format +msgid "" +"Contact us any time at %(support_email)s if you run into trouble, have any " +"feedback, or just want to chat!" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:8 +#, python-format +msgid "" +"\n" +"Your Zulip account on %(realm_uri)s has been deactivated, and you will " +"no longer be able to log in.\n" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:15 +#: templates/zerver/emails/deactivate.html:15 +#: templates/zerver/emails/deactivate.txt:6 +msgid "The administrators provided the following comment:" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:28 +#: templates/zerver/emails/digest.html:27 +msgid "New streams" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:35 +#: templates/zerver/emails/digest.html:34 +msgid "Click here to log in to Zulip and catch up." +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:40 +#: templates/zerver/emails/compiled/followup_day2.html:34 +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/custom_email_base.pre.html:18 +#: templates/zerver/emails/digest.html:39 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Manage email preferences" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:41 +#: templates/zerver/emails/digest.html:40 +msgid "Unsubscribe from digest emails" +msgstr "" + +#: templates/zerver/emails/compiled/email_base_default.html:95 +#: templates/zerver/emails/compiled/email_base_marketing.html:95 +#: templates/zerver/emails/email_base_default.html:33 +#: templates/zerver/emails/email_base_marketing.html:33 +msgid "Swimming fish" +msgstr "Peixe nadando" + +#: templates/zerver/emails/compiled/find_team.html:9 +#: templates/zerver/emails/find_team.html:8 +#: templates/zerver/emails/find_team.txt:1 +msgid "Thanks for your request!" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:11 +#, python-format +msgid "" +"Your email address %(email)s has accounts with the following Zulip " +"organizations hosted by %(external_host)s:" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:19 +#: templates/zerver/emails/find_team.html:18 +#: templates/zerver/emails/find_team.txt:10 +msgid "" +"If you have trouble logging in, please contact Zulip support by replying to " +"this email." +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:21 +#: templates/zerver/emails/find_team.html:20 +#: templates/zerver/emails/find_team.txt:13 +msgid "Thanks for using Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:9 +#: templates/zerver/emails/followup_day1.html:24 +#: templates/zerver/emails/followup_day1.txt:1 +msgid "Welcome to Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:14 +msgid "" +"You've created a demo Zulip organization. Note that this organization will " +"be automatically deleted in 30 days. Learn more about demo organizations here!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:16 +#, fuzzy, python-format +#| msgid "Create a new Zulip organization" +msgid "You've created the new Zulip organization %(realm_name)s." +msgstr "Criar uma nova organização Zulip" + +#: templates/zerver/emails/compiled/followup_day1.html:19 +#, python-format +msgid "You've joined the Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:24 +#, fuzzy +#| msgid "Your account" +msgid "Your account details:" +msgstr "Sua conta" + +#: templates/zerver/emails/compiled/followup_day1.html:27 +#: templates/zerver/emails/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.txt:16 +#, python-format +msgid "Organization URL: %(organization_url)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:31 +#, python-format +msgid "Username: %(ldap_username)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.html:39 +#: templates/zerver/emails/followup_day1.txt:22 +msgid "Use your LDAP account to log in" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:38 +#, python-format +msgid "Email: %(email)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:42 +#, python-format +msgid "" +"(you'll need these to sign in to the mobile and desktop " +"apps)" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:47 +#, python-format +msgid "" +"Check out our guide for admins, become a Zulip pro with a " +"few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:49 +#, python-format +msgid "" +"Learn more about Zulip, become a pro with a few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:54 +msgid "Cheers," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:55 +#: templates/zerver/emails/compiled/notify_change_in_email.html:15 +#: templates/zerver/emails/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.txt:7 +msgid "Team Zulip" +msgstr "Equipe Zulip" + +#: templates/zerver/emails/compiled/followup_day1.html:59 +msgid "" +"PS: Follow us on Twitter, star us on GitHub, or chat with us live on the Zulip community server!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:9 +msgid "Hey," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:11 +msgid "" +"I wanted to share one last thing with you: a few tips about topics, since " +"mastering topics is a key part of being a Zulip power user." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:13 +#: templates/zerver/emails/followup_day2.html:22 +msgid "Examples of short topics" +msgstr "Exemplos de tópicos curtos" + +#: templates/zerver/emails/compiled/followup_day2.html:15 +msgid "" +"Topics are like email subject lines. The big difference, though, is that " +"they're really short and lightweight. Two or three words will do it. Don't " +"overthink 'em—you can always edit the message later!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:18 +msgid "Good topics: design mockup, Bug 345, acme burgers" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:19 +msgid "" +"Not recommended: \"What do people think of this new design mockup?\", \"I'm " +"looking at Bug 345\", \"Is Acme Burgers open for lunch?\"" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:22 +#, fuzzy +#| msgid "Examples of short topics" +msgid "Example of a topic that is too long" +msgstr "Exemplos de tópicos curtos" + +#: templates/zerver/emails/compiled/followup_day2.html:24 +msgid "" +"Why bother with topics? Well, two reasons: it makes conversations clearer " +"(imagine if email didn't have them!), and it lets you more efficiently catch " +"up on what's happened while you're away—read the topics that are relevant to " +"you, and ignore the ones that aren't!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:26 +msgid "Take it for a spin now." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:28 +#: templates/zerver/emails/compiled/notify_new_login.html:42 +#: templates/zerver/emails/notify_new_login.html:40 +#: templates/zerver/emails/notify_new_login.txt:20 +msgid "Thanks," +msgstr "Obrigado," + +#: templates/zerver/emails/compiled/followup_day2.html:35 +msgid "Unsubscribe from welcome emails" +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:10 +#: templates/zerver/emails/invitation.html:9 +#: templates/zerver/emails/invitation.txt:1 +msgid "Hi there," +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:13 +#, python-format +msgid "" +"%(referrer_name)s wants you to join them on Zulip — the team communication " +"tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:16 +#: templates/zerver/emails/compiled/invitation_reminder.html:14 +#: templates/zerver/emails/invitation.html:15 +#: templates/zerver/emails/invitation_reminder.html:13 +msgid "To get started, click the button below." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:9 +#: templates/zerver/emails/invitation_reminder.html:8 +#: templates/zerver/emails/invitation_reminder.txt:1 +msgid "Hi again," +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:11 +#, python-format +msgid "" +"This is a friendly reminder that %(referrer_name)s wants you to join them on " +"Zulip — the team communication tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:19 +#: templates/zerver/emails/invitation_reminder.html:18 +#: templates/zerver/emails/invitation_reminder.txt:8 +msgid "This is the last reminder you'll receive for this invitation." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:23 +#: templates/zerver/emails/invitation_reminder.html:22 +#, python-format +msgid "" +"\n" +" This invitation expires in two days. If the invitation expires,\n" +" you'll need to ask %(referrer_name)s for another one.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:18 +#, python-format +msgid "" +"This email does not include message content because your organization has " +"disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:20 +#, python-format +msgid "" +"This email does not include message content because you have disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:30 +#: templates/zerver/emails/missed_message.html:29 +#: templates/zerver/emails/missed_message.txt:25 +msgid "You are receiving this because you were personally mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:32 +#: templates/zerver/emails/missed_message.html:31 +#: templates/zerver/emails/missed_message.txt:27 +#, python-format +msgid "" +"You are receiving this because @%(mentioned_user_group_name)s was mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:34 +#: templates/zerver/emails/missed_message.html:39 +#: templates/zerver/emails/missed_message.txt:35 +#, python-format +msgid "" +"You are receiving this because everyone was mentioned in #%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:36 +#: templates/zerver/emails/missed_message.html:43 +#: templates/zerver/emails/missed_message.txt:39 +#, python-format +msgid "" +"You are receiving this because you have email notifications enabled for " +"#%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:39 +#, python-format +msgid "" +"Reply to this email directly, view it in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:41 +#, python-format +msgid "" +"View or reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:43 +#, python-format +msgid "" +"Reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:45 +#, python-format +msgid "" +"\n" +" Do not reply to this email. This Zulip server is not configured to " +"accept incoming emails (help).\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:11 +#: templates/zerver/emails/notify_change_in_email.html:10 +#, python-format +msgid "" +"The email associated with your Zulip account was recently changed to " +"%(new_email)s. If you did not request this change, please contact us " +"immediately at %(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.html:13 +#: templates/zerver/emails/notify_change_in_email.txt:6 +msgid "Best," +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:4 +#: templates/zerver/emails/notify_new_login.html:4 +#, python-format +msgid "" +"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:13 +#: templates/zerver/emails/notify_new_login.html:12 +#: templates/zerver/emails/notify_new_login.txt:1 +msgid "We noticed a recent login for the following Zulip account." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:18 +#: templates/zerver/emails/notify_new_login.html:16 +#, python-format +msgid "Organization: %(organization_link)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:21 +#: templates/zerver/emails/notify_new_login.html:19 +#: templates/zerver/emails/notify_new_login.txt:5 +#, python-format +msgid "Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:24 +#: templates/zerver/emails/notify_new_login.html:22 +#: templates/zerver/emails/notify_new_login.txt:7 +#, python-format +msgid "Time: %(login_time)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:27 +#: templates/zerver/emails/notify_new_login.html:25 +#: templates/zerver/emails/notify_new_login.txt:9 +#, python-format +msgid "Device: %(device_browser)s on %(device_os)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:30 +#: templates/zerver/emails/notify_new_login.html:28 +#: templates/zerver/emails/notify_new_login.txt:11 +#, python-format +msgid "IP address: %(device_ip)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:35 +#: templates/zerver/emails/notify_new_login.html:33 +#: templates/zerver/emails/notify_new_login.txt:14 +msgid "If this was you, great! There's nothing else you need to do." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:38 +#, python-format +msgid "" +"If you do not recognize this login, or think your account may have been " +"compromised, please reset your password or contact us immediately at " +"%(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:43 +#: templates/zerver/emails/notify_new_login.html:41 +#: templates/zerver/emails/notify_new_login.txt:21 +msgid "Zulip Security" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Unsubscribe from login notifications" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:10 +#: templates/zerver/emails/password_reset.html:9 +#: templates/zerver/emails/password_reset.txt:1 +#, python-format +msgid "" +"Somebody (possibly you) requested a new password for the Zulip account " +"%(email)s on %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:14 +#: templates/zerver/emails/password_reset.html:13 +msgid "Click the button below to reset your password." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:15 +#: templates/zerver/emails/password_reset.html:14 +msgid "Reset password" +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:20 +#, python-format +msgid "" +"You previously had an account on %(organization_url)s, but it has been " +"deactivated. You can contact an organization administrator to reactivate your account." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:22 +#: templates/zerver/emails/password_reset.html:21 +#: templates/zerver/emails/password_reset.txt:11 +msgid "You do not have an account in that Zulip organization." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:27 +#: templates/zerver/emails/password_reset.html:26 +#: templates/zerver/emails/password_reset.txt:16 +msgid "You do have active accounts in the following organization(s)." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:34 +#: templates/zerver/emails/password_reset.html:32 +#: templates/zerver/emails/password_reset.txt:21 +msgid "" +"You can try logging in or resetting your password in the organization(s) " +"above." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:40 +#: templates/zerver/emails/password_reset.html:38 +#: templates/zerver/emails/password_reset.txt:25 +msgid "" +"If you do not recognize this activity, you can safely ignore this email." +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:8 +#: templates/zerver/emails/realm_auto_downgraded.html:8 +#, python-format +msgid "" +"\n" +" Your organization, %(organization_name_with_link)s, has been downgraded " +"to the Zulip Cloud\n" +" Free plan because of unpaid invoices. The unpaid invoices have been " +"voided.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:15 +#: templates/zerver/emails/realm_auto_downgraded.html:15 +#, python-format +msgid "" +"\n" +" To continue on the Zulip Cloud Standard plan, please upgrade again by " +"going to %(upgrade_url)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:22 +#: templates/zerver/emails/realm_auto_downgraded.html:22 +#, python-format +msgid "" +"\n" +" If you think this was a mistake or need more details, please reach out " +"to us at %(support_email)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:9 +#: templates/zerver/emails/realm_reactivation.html:8 +#: templates/zerver/emails/realm_reactivation.txt:1 +#, python-format +msgid "Dear former administrators of %(realm_name)s," +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:11 +#: templates/zerver/emails/realm_reactivation.html:10 +#: templates/zerver/emails/realm_reactivation.txt:4 +#, python-format +msgid "" +"One of your administrators requested reactivation of the previously " +"deactivated Zulip organization hosted at %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:14 +#: templates/zerver/emails/realm_reactivation.html:13 +msgid "Click the button below to reactivate your organization." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:15 +#: templates/zerver/emails/realm_reactivation.html:14 +msgid "Reactivate organization" +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:18 +#: templates/zerver/emails/realm_reactivation.html:17 +#: templates/zerver/emails/realm_reactivation.txt:10 +msgid "" +"If the request was in error, you can take no action and this link will " +"expire in 24 hours." +msgstr "" + #: templates/zerver/emails/confirm_new_email.subject.txt:1 msgid "Verify your new email address" msgstr "" @@ -1187,31 +1891,6 @@ msgid "" "<%(support_email)s>." msgstr "" -#: templates/zerver/emails/confirm_registration.html:10 -#: templates/zerver/emails/confirm_registration.txt:2 -msgid "You have requested a new Zulip organization. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:12 -#: templates/zerver/emails/confirm_registration.txt:4 -msgid "You recently signed up for Zulip. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:17 -msgid "" -"Click the button below to create the organization and register your account." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:19 -msgid "Click the button below to complete registration." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:21 -#: templates/zerver/emails/invitation.html:16 -#: templates/zerver/emails/invitation_reminder.html:14 -msgid "Complete registration" -msgstr "" - #: templates/zerver/emails/confirm_registration.subject.txt:2 msgid "Create your Zulip organization" msgstr "" @@ -1246,14 +1925,8 @@ msgstr "" #: templates/zerver/emails/realm_reactivation.txt:16 #, python-format msgid "" -"If you have any questions, please contact this Zulip server's administrators" -" at %(support_email)s." -msgstr "" - -#: templates/zerver/emails/custom_email_base.pre.html:18 -#: templates/zerver/emails/digest.html:39 -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Manage email preferences" +"If you have any questions, please contact this Zulip server's administrators " +"at %(support_email)s." msgstr "" #: templates/zerver/emails/custom_email_base.pre.html:18 @@ -1264,12 +1937,8 @@ msgstr "" #, python-format msgid "" "\n" -"Your Zulip account on %(realm_uri)s has been deactivated, and you will no longer be able to log in.\n" -msgstr "" - -#: templates/zerver/emails/deactivate.html:15 -#: templates/zerver/emails/deactivate.txt:6 -msgid "The administrators provided the following comment:" +"Your Zulip account on %(realm_uri)s has been " +"deactivated, and you will no longer be able to log in.\n" msgstr "" #: templates/zerver/emails/deactivate.subject.txt:1 @@ -1281,19 +1950,8 @@ msgstr "" #, python-format msgid "" "\n" -"Your Zulip account on %(realm_uri)s has been deactivated, and you will no longer be able to log in.\n" -msgstr "" - -#: templates/zerver/emails/digest.html:27 -msgid "New streams" -msgstr "" - -#: templates/zerver/emails/digest.html:34 -msgid "Click here to log in to Zulip and catch up." -msgstr "" - -#: templates/zerver/emails/digest.html:40 -msgid "Unsubscribe from digest emails" +"Your Zulip account on %(realm_uri)s has been deactivated, and you will no " +"longer be able to log in.\n" msgstr "" #: templates/zerver/emails/digest.subject.txt:1 @@ -1314,16 +1972,6 @@ msgstr "" msgid "Unsubscribe from digest emails:" msgstr "" -#: templates/zerver/emails/email_base_default.html:33 -#: templates/zerver/emails/email_base_marketing.html:33 -msgid "Swimming fish" -msgstr "Peixe nadando" - -#: templates/zerver/emails/find_team.html:8 -#: templates/zerver/emails/find_team.txt:1 -msgid "Thanks for your request!" -msgstr "" - #: templates/zerver/emails/find_team.html:10 #, python-format msgid "" @@ -1331,18 +1979,6 @@ msgid "" "organizations hosted by %(external_host)s:" msgstr "" -#: templates/zerver/emails/find_team.html:18 -#: templates/zerver/emails/find_team.txt:10 -msgid "" -"If you have trouble logging in, please contact Zulip support by replying to " -"this email." -msgstr "" - -#: templates/zerver/emails/find_team.html:20 -#: templates/zerver/emails/find_team.txt:13 -msgid "Thanks for using Zulip!" -msgstr "" - #: templates/zerver/emails/find_team.subject.txt:1 msgid "Your Zulip accounts" msgstr "" @@ -1358,7 +1994,8 @@ msgstr "" #, python-format msgid "" "Congratulations, you have created a new Zulip demo organization. Note\n" -" that this organization will be automatically deleted in 30 days. Learn more\n" +" that this organization will be automatically deleted in 30 days. Learn " +"more\n" " about demo organizations here!\n" " " @@ -1371,11 +2008,6 @@ msgid "" " organization: %(realm_name)s." msgstr "" -#: templates/zerver/emails/followup_day1.html:24 -#: templates/zerver/emails/followup_day1.txt:1 -msgid "Welcome to Zulip!" -msgstr "" - #: templates/zerver/emails/followup_day1.html:26 #, python-format msgid "" @@ -1390,23 +2022,12 @@ msgid "" "href=\"%(apps_page_link)s\">mobile and desktop apps:" msgstr "" -#: templates/zerver/emails/followup_day1.html:34 -#: templates/zerver/emails/followup_day1.txt:16 -#, python-format -msgid "Organization URL: %(organization_url)s" -msgstr "" - #: templates/zerver/emails/followup_day1.html:37 #: templates/zerver/emails/followup_day1.txt:20 #, python-format msgid "Your username: %(ldap_username)s" msgstr "" -#: templates/zerver/emails/followup_day1.html:39 -#: templates/zerver/emails/followup_day1.txt:22 -msgid "Use your LDAP account to log in" -msgstr "" - #: templates/zerver/emails/followup_day1.html:42 #: templates/zerver/emails/followup_day1.txt:25 #, python-format @@ -1428,8 +2049,8 @@ msgstr "" #, python-format msgid "" "We also have a guide for Setting up your " -"organization." +"href=\"%(getting_organization_started_link)s\">Setting up your organization." msgstr "" #: templates/zerver/emails/followup_day1.html:57 @@ -1452,8 +2073,8 @@ msgstr "" #, python-format msgid "" " Congratulations, you have created a new demo Zulip organization. Note that " -"this organization will be automatically deleted in 30 days. Learn more about" -" demo organizations here: %(demo_organizations_help_link)s!" +"this organization will be automatically deleted in 30 days. Learn more about " +"demo organizations here: %(demo_organizations_help_link)s!" msgstr "" #: templates/zerver/emails/followup_day1.txt:7 @@ -1509,8 +2130,8 @@ msgstr "" #: templates/zerver/emails/followup_day2.html:13 #: templates/zerver/emails/followup_day2.txt:3 msgid "" -"Using topics, you can read Zulip one conversation at a time. You'll see each" -" message in context, no matter how many different discussions are going on." +"Using topics, you can read Zulip one conversation at a time. You'll see each " +"message in context, no matter how many different discussions are going on." msgstr "" #: templates/zerver/emails/followup_day2.html:16 @@ -1522,22 +2143,18 @@ msgstr "" msgid "" "To kick off a new conversation, just pick a stream and start a new topic. " "This way, the new conversation thread won't interrupt ongoing discussions. " -"For a good topic name, think about finishing the sentence: “Hey, can we chat" -" about…?”" +"For a good topic name, think about finishing the sentence: “Hey, can we chat " +"about…?”" msgstr "" -#: templates/zerver/emails/followup_day2.html:22 -msgid "Examples of short topics" -msgstr "Exemplos de tópicos curtos" - #: templates/zerver/emails/followup_day2.html:25 #, python-format msgid "" "Don't stress about picking the perfect name for your topic. If anything is " -"out of place, it's easy to move " -"messages, rename topics, or even " -"move a topic to a " -"different stream." +"out of place, it's easy to move messages, rename topics, or even move a topic to a different " +"stream." msgstr "" #: templates/zerver/emails/followup_day2.html:28 @@ -1573,11 +2190,6 @@ msgid "" "(%(move_topic_to_different_stream_link)s)." msgstr "" -#: templates/zerver/emails/invitation.html:9 -#: templates/zerver/emails/invitation.txt:1 -msgid "Hi there," -msgstr "" - #: templates/zerver/emails/invitation.html:12 #, python-format msgid "" @@ -1585,11 +2197,6 @@ msgid "" "communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation.html:15 -#: templates/zerver/emails/invitation_reminder.html:13 -msgid "To get started, click the button below." -msgstr "" - #: templates/zerver/emails/invitation.subject.txt:1 #, python-format msgid "%(referrer_full_name)s has invited you to join %(referrer_realm_name)s" @@ -1607,30 +2214,11 @@ msgstr "" msgid "To get started, click the link below." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:8 -#: templates/zerver/emails/invitation_reminder.txt:1 -msgid "Hi again," -msgstr "" - #: templates/zerver/emails/invitation_reminder.html:10 #, python-format msgid "" -"This is a friendly reminder that %(referrer_name)s wants you to join them on" -" Zulip — the team communication tool designed for productivity." -msgstr "" - -#: templates/zerver/emails/invitation_reminder.html:18 -#: templates/zerver/emails/invitation_reminder.txt:8 -msgid "This is the last reminder you'll receive for this invitation." -msgstr "" - -#: templates/zerver/emails/invitation_reminder.html:22 -#, python-format -msgid "" -"\n" -" This invitation expires in two days. If the invitation expires,\n" -" you'll need to ask %(referrer_name)s for another one.\n" -" " +"This is a friendly reminder that %(referrer_name)s wants you to join them on " +"Zulip — the team communication tool designed for productivity." msgstr "" #: templates/zerver/emails/invitation_reminder.subject.txt:1 @@ -1656,8 +2244,8 @@ msgstr "" #: templates/zerver/emails/macros.html:14 #, python-format msgid "" -"If you have any questions, please contact this Zulip server's administrators" -" at %(email)s." +"If you have any questions, please contact this Zulip server's administrators " +"at %(email)s." msgstr "" #: templates/zerver/emails/macros.html:18 @@ -1683,34 +2271,31 @@ msgid "" "content appearing in email notifications." msgstr "" -#: templates/zerver/emails/missed_message.html:29 -#: templates/zerver/emails/missed_message.txt:25 -msgid "You are receiving this because you were personally mentioned." -msgstr "" - -#: templates/zerver/emails/missed_message.html:31 -#: templates/zerver/emails/missed_message.txt:27 -#, python-format -msgid "" -"You are receiving this because @%(mentioned_user_group_name)s was mentioned." -msgstr "" - #: templates/zerver/emails/missed_message.html:33 +#: templates/zerver/emails/missed_message.html:37 #: templates/zerver/emails/missed_message.txt:29 +#: templates/zerver/emails/missed_message.txt:33 #, python-format msgid "" -"You are receiving this because everyone was mentioned in #%(stream_name)s." +"You are receiving this because all topic participants were mentioned in " +"#%(stream_name)s > %(topic_name)s." msgstr "" #: templates/zerver/emails/missed_message.html:35 #: templates/zerver/emails/missed_message.txt:31 -#, python-format msgid "" -"You are receiving this because you have email notifications enabled for " -"#%(stream_name)s." +"You are receiving this because you have wildcard mention notifications " +"enabled for topics you follow." msgstr "" -#: templates/zerver/emails/missed_message.html:38 +#: templates/zerver/emails/missed_message.html:41 +#: templates/zerver/emails/missed_message.txt:37 +msgid "" +"You are receiving this because you have email notifications enabled for " +"topics you follow." +msgstr "" + +#: templates/zerver/emails/missed_message.html:46 #, python-format msgid "" "Reply to this email directly, view it in " @@ -1718,25 +2303,26 @@ msgid "" "preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:40 +#: templates/zerver/emails/missed_message.html:48 #, python-format msgid "" "View or reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:42 +#: templates/zerver/emails/missed_message.html:50 #, python-format msgid "" "Reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:44 +#: templates/zerver/emails/missed_message.html:52 #, python-format msgid "" "\n" -" Do not reply to this email. This Zulip server is not configured to accept incoming emails (help).\n" +" Do not reply to this email. This Zulip server is not configured to " +"accept incoming emails (help).\n" " " msgstr "" @@ -1763,7 +2349,8 @@ msgstr "" #, python-format msgid "" "\n" -"This email does not include message content because your organization has disabled message content appearing in email notifications.\n" +"This email does not include message content because your organization has " +"disabled message content appearing in email notifications.\n" "See %(hide_content_url)s for more details.\n" msgstr "" @@ -1771,54 +2358,37 @@ msgstr "" #, python-format msgid "" "\n" -"This email does not include message content because you have disabled message content appearing in email notifications.\n" +"This email does not include message content because you have disabled " +"message content appearing in email notifications.\n" "See %(alert_notif_url)s for more details.\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:35 -#, python-format -msgid "Reply to this email directly, or view it in %(realm_name)s Zulip:" -msgstr "" - -#: templates/zerver/emails/missed_message.txt:39 -#, python-format -msgid "View or reply in %(realm_name)s Zulip:" -msgstr "" - #: templates/zerver/emails/missed_message.txt:43 #, python-format -msgid "Reply in %(realm_name)s Zulip:" +msgid "Reply to this email directly, or view it in %(realm_name)s Zulip:" msgstr "" #: templates/zerver/emails/missed_message.txt:47 +#, python-format +msgid "View or reply in %(realm_name)s Zulip:" +msgstr "" + +#: templates/zerver/emails/missed_message.txt:51 +#, python-format +msgid "Reply in %(realm_name)s Zulip:" +msgstr "" + +#: templates/zerver/emails/missed_message.txt:55 msgid "" "\n" "Do not reply to this email. This Zulip server is not configured to accept\n" "incoming emails. Help:\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:54 +#: templates/zerver/emails/missed_message.txt:62 msgid "Manage email preferences: " msgstr "" -#: templates/zerver/emails/notify_change_in_email.html:10 -#, python-format -msgid "" -"The email associated with your Zulip account was recently changed to " -"%(new_email)s. If you did not request this change, please contact us " -"immediately at %(support_email)s." -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:13 -#: templates/zerver/emails/notify_change_in_email.txt:6 -msgid "Best," -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:14 -#: templates/zerver/emails/notify_change_in_email.txt:7 -msgid "Team Zulip" -msgstr "Equipe Zulip" - #: templates/zerver/emails/notify_change_in_email.subject.txt:1 #, python-format msgid "Zulip email changed for %(realm_name)s" @@ -1832,52 +2402,6 @@ msgid "" "immediately at <%(support_email)s>." msgstr "" -#: templates/zerver/emails/notify_new_login.html:4 -#, python-format -msgid "" -"Organization: %(organization_url)s Time: %(login_time)s Email: " -"%(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:12 -#: templates/zerver/emails/notify_new_login.txt:1 -msgid "We noticed a recent login for the following Zulip account." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:16 -#, python-format -msgid "Organization: %(organization_link)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:19 -#: templates/zerver/emails/notify_new_login.txt:5 -#, python-format -msgid "Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:22 -#: templates/zerver/emails/notify_new_login.txt:7 -#, python-format -msgid "Time: %(login_time)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:25 -#: templates/zerver/emails/notify_new_login.txt:9 -#, python-format -msgid "Device: %(device_browser)s on %(device_os)s." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:28 -#: templates/zerver/emails/notify_new_login.txt:11 -#, python-format -msgid "IP address: %(device_ip)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:33 -#: templates/zerver/emails/notify_new_login.txt:14 -msgid "If this was you, great! There's nothing else you need to do." -msgstr "" - #: templates/zerver/emails/notify_new_login.html:36 #, python-format msgid "" @@ -1886,20 +2410,6 @@ msgid "" "contact us immediately at %(support_email)s." msgstr "" -#: templates/zerver/emails/notify_new_login.html:40 -#: templates/zerver/emails/notify_new_login.txt:20 -msgid "Thanks," -msgstr "Obrigado," - -#: templates/zerver/emails/notify_new_login.html:41 -#: templates/zerver/emails/notify_new_login.txt:21 -msgid "Zulip Security" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Unsubscribe from login notifications" -msgstr "" - #: templates/zerver/emails/notify_new_login.subject.txt:1 #, python-format msgid "New login from %(device_browser)s on %(device_os)s" @@ -1914,15 +2424,17 @@ msgstr "" #, python-format msgid "" "\n" -"If you do not recognize this login, or think your account may have been compromised, please reset your password at %(reset_link)s or contact us immediately at %(support_email)s." +"If you do not recognize this login, or think your account may have been " +"compromised, please reset your password at %(reset_link)s or contact us " +"immediately at %(support_email)s." msgstr "" #: templates/zerver/emails/onboarding_zulip_guide.html:9 #: templates/zerver/emails/onboarding_zulip_guide.txt:1 msgid "" -"As you are getting started with Zulip, we'd love to help you discover how it" -" can work best for your needs. Check out this guide to key Zulip features " -"for organizations like yours!" +"As you are getting started with Zulip, we'd love to help you discover how it " +"can work best for your needs. Check out this guide to key Zulip features for " +"organizations like yours!" msgstr "" #: templates/zerver/emails/onboarding_zulip_guide.html:13 @@ -1988,22 +2500,6 @@ msgstr "" msgid "Zulip guide for communities" msgstr "" -#: templates/zerver/emails/password_reset.html:9 -#: templates/zerver/emails/password_reset.txt:1 -#, python-format -msgid "" -"Somebody (possibly you) requested a new password for the Zulip account " -"%(email)s on %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/password_reset.html:13 -msgid "Click the button below to reset your password." -msgstr "" - -#: templates/zerver/emails/password_reset.html:14 -msgid "Reset password" -msgstr "" - #: templates/zerver/emails/password_reset.html:19 #, python-format msgid "" @@ -2012,29 +2508,6 @@ msgid "" "href=\"%(help_link)s\">reactivate your account." msgstr "" -#: templates/zerver/emails/password_reset.html:21 -#: templates/zerver/emails/password_reset.txt:11 -msgid "You do not have an account in that Zulip organization." -msgstr "" - -#: templates/zerver/emails/password_reset.html:26 -#: templates/zerver/emails/password_reset.txt:16 -msgid "You do have active accounts in the following organization(s)." -msgstr "" - -#: templates/zerver/emails/password_reset.html:32 -#: templates/zerver/emails/password_reset.txt:21 -msgid "" -"You can try logging in or resetting your password in the organization(s) " -"above." -msgstr "" - -#: templates/zerver/emails/password_reset.html:38 -#: templates/zerver/emails/password_reset.txt:25 -msgid "" -"If you do not recognize this activity, you can safely ignore this email." -msgstr "" - #: templates/zerver/emails/password_reset.subject.txt:1 #, python-format msgid "Password reset request for %(realm_name)s" @@ -2047,62 +2520,8 @@ msgstr "" #: templates/zerver/emails/password_reset.txt:8 #, python-format msgid "" -"You previously had an account on %(realm_uri)s, but it has been deactivated." -" You can contact an organization administrator to reactivate your account." -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:8 -#, python-format -msgid "" -"\n" -" Your organization, %(organization_name_with_link)s, has been downgraded to the Zulip Cloud\n" -" Free plan because of unpaid invoices. The unpaid invoices have been voided.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:15 -#, python-format -msgid "" -"\n" -" To continue on the Zulip Cloud Standard plan, please upgrade again by going to %(upgrade_url)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:22 -#, python-format -msgid "" -"\n" -" If you think this was a mistake or need more details, please reach out to us at %(support_email)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:8 -#: templates/zerver/emails/realm_reactivation.txt:1 -#, python-format -msgid "Dear former administrators of %(realm_name)s," -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:10 -#: templates/zerver/emails/realm_reactivation.txt:4 -#, python-format -msgid "" -"One of your administrators requested reactivation of the previously " -"deactivated Zulip organization hosted at %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:13 -msgid "Click the button below to reactivate your organization." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:14 -msgid "Reactivate organization" -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:17 -#: templates/zerver/emails/realm_reactivation.txt:10 -msgid "" -"If the request was in error, you can take no action and this link will " -"expire in 24 hours." +"You previously had an account on %(realm_uri)s, but it has been deactivated. " +"You can contact an organization administrator to reactivate your account." msgstr "" #: templates/zerver/emails/realm_reactivation.subject.txt:1 @@ -2125,7 +2544,8 @@ msgstr "" msgid "" "\n" " Emails sent! You will only receive emails at addresses\n" -" associated with Zulip organizations. The addresses entered\n" +" associated with Zulip organizations. The addresses " +"entered\n" " on the previous page are listed below:\n" " " msgstr "" @@ -2133,10 +2553,13 @@ msgstr "" #: templates/zerver/find_account.html:38 msgid "" "\n" -" Enter your email address to receive an email with the URLs\n" +" Enter your email address to receive an email with the " +"URLs\n" " for all the Zulip Cloud organizations in which you have\n" -" active accounts. If you have also forgotten your password,\n" -" you can reset it.\n" +" active accounts. If you have also forgotten your " +"password,\n" +" you can reset it.\n" " " msgstr "" @@ -2385,8 +2808,7 @@ msgstr "" msgid "REST API" msgstr "" -#: templates/zerver/invalid_email.html:4 -#: templates/zerver/invalid_email.html:13 +#: templates/zerver/invalid_email.html:4 templates/zerver/invalid_email.html:13 msgid "Invalid email" msgstr "" @@ -2430,8 +2852,7 @@ msgstr "" msgid "Please sign up using an allowed email address." msgstr "" -#: templates/zerver/invalid_realm.html:4 -#: templates/zerver/invalid_realm.html:12 +#: templates/zerver/invalid_realm.html:4 templates/zerver/invalid_realm.html:12 msgid "Organization does not exist" msgstr "A organização não existe" @@ -2460,8 +2881,7 @@ msgid "View without an account" msgstr "" #: templates/zerver/login.html:69 -msgid "" -"You've already registered with this email address. Please log in below." +msgid "You've already registered with this email address. Please log in below." msgstr "" #: templates/zerver/login.html:98 @@ -2493,13 +2913,15 @@ msgstr "" #: templates/zerver/new_user_email_address_visibility.html:5 msgid "" -"Administrators of this Zulip organization will be able to see this email address.\n" +"Administrators of this Zulip organization will be able to see this email " +"address.\n" " " msgstr "" #: templates/zerver/new_user_email_address_visibility.html:8 msgid "" -"Administrators and moderators of this Zulip organization will be able to see this email address.\n" +"Administrators and moderators of this Zulip organization will be able to see " +"this email address.\n" " " msgstr "" @@ -2511,7 +2933,8 @@ msgstr "" #: templates/zerver/new_user_email_address_visibility.html:14 msgid "" -"Other users in this Zulip organization will be able to see this email address.\n" +"Other users in this Zulip organization will be able to see this email " +"address.\n" " " msgstr "" @@ -2530,9 +2953,8 @@ msgstr "" #: templates/zerver/no_spare_licenses.html:16 #, python-format msgid "" -"New members cannot currently join %(realm_name)s because all Zulip Cloud licenses " -"are in use." +"New members cannot currently join %(realm_name)s because all Zulip Cloud licenses are in use." msgstr "" #: templates/zerver/no_spare_licenses.html:19 @@ -2568,8 +2990,11 @@ msgstr "" #: templates/zerver/realm_creation_disabled.html:15 msgid "" "\n" -" Creating a new organization on this server requires a valid organization creation link.\n" -" Please see documentation on creating a new organization for more information.\n" +" Creating a new organization on this server requires a " +"valid organization creation link.\n" +" Please see documentation on " +"creating a new organization for more information.\n" " " msgstr "" @@ -2605,7 +3030,9 @@ msgstr "" #: templates/zerver/realm_creation_link_invalid.html:16 msgid "" "\n" -" Unfortunately, this is not a valid link for creating an organization. Please obtain a new link and try again.\n" +" Unfortunately, this is not a valid link for creating " +"an organization. Please obtain a new link and try " +"again.\n" " " msgstr "" @@ -2703,9 +3130,10 @@ msgstr "" #: templates/zerver/register.html:150 msgid "" -"This is used for mobile applications and other tools that require a " -"password." -msgstr "Isso é usado para aplicativos móveis e outras ferramentas que exigem uma senha." +"This is used for mobile applications and other tools that require a password." +msgstr "" +"Isso é usado para aplicativos móveis e outras ferramentas que exigem uma " +"senha." #: templates/zerver/register.html:158 msgid "Password strength" @@ -2797,7 +3225,8 @@ msgstr "" msgid "" "\n" " To use one of these to log in to Zulip, you must first\n" -" verify it with GitHub.\n" +" verify it with " +"GitHub.\n" " " msgstr "" @@ -2832,7 +3261,8 @@ msgstr "Configurações de email atualizadas" #, python-format msgid "" "\n" -" You've successfully unsubscribed from Zulip %(subscription_type)s emails for\n" +" You've successfully unsubscribed from Zulip " +"%(subscription_type)s emails for\n" " %(realm_name)s.\n" " " msgstr "" @@ -2841,8 +3271,10 @@ msgstr "" #, python-format msgid "" "\n" -" You can undo this change or review your preferences in your\n" -" notification settings.\n" +" You can undo this change or review your preferences in " +"your\n" +" notification settings.\n" " " msgstr "" @@ -2863,7 +3295,8 @@ msgstr "" #, python-format msgid "" "\n" -" Zulip supports modern browsers\n" +" Zulip supports modern browsers\n" " like Firefox, Chrome, and Edge.\n" " " msgstr "" @@ -2872,87 +3305,90 @@ msgstr "" #, python-format msgid "" "\n" -" You can also use the Zulip desktop app.\n" +" You can also use the Zulip desktop app.\n" " " msgstr "" -#: zerver/actions/create_user.py:88 +#: zerver/actions/create_user.py:93 msgid "signups" msgstr "" -#: zerver/actions/create_user.py:101 +#: zerver/actions/create_user.py:106 #, python-brace-format msgid "{user} just signed up for Zulip. (total: {user_count})" msgstr "" -#: zerver/actions/create_user.py:221 +#: zerver/actions/create_user.py:251 #, python-brace-format msgid "{user} accepted your invitation to join Zulip!" msgstr "" -#: zerver/actions/custom_profile_fields.py:129 +#: zerver/actions/custom_profile_fields.py:126 msgid "Invalid order mapping." msgstr "" -#: zerver/actions/custom_profile_fields.py:208 zerver/lib/users.py:390 +#: zerver/actions/custom_profile_fields.py:205 zerver/lib/users.py:396 #: zerver/views/custom_profile_fields.py:195 #: zerver/views/custom_profile_fields.py:216 #, python-brace-format msgid "Field id {id} not found." msgstr "" -#: zerver/actions/default_streams.py:21 -msgid "Invalid default stream group name '{}'" +#: zerver/actions/default_streams.py:25 +#, python-brace-format +msgid "Invalid default stream group name '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:24 -msgid "Default stream group name too long (limit: {} characters)" +#: zerver/actions/default_streams.py:29 +#, python-brace-format +msgid "Default stream group name too long (limit: {max_length} characters)" msgstr "" -#: zerver/actions/default_streams.py:31 -msgid "Default stream group name '{}' contains NULL (0x00) characters." +#: zerver/actions/default_streams.py:37 +#, python-brace-format +msgid "" +"Default stream group name '{group_name}' contains NULL (0x00) characters." msgstr "" -#: zerver/actions/default_streams.py:45 -msgid "Invalid default stream group {}" +#: zerver/actions/default_streams.py:53 +#, python-brace-format +msgid "Invalid default stream group {group_name}" msgstr "" -#: zerver/actions/default_streams.py:92 zerver/actions/default_streams.py:119 +#: zerver/actions/default_streams.py:101 zerver/actions/default_streams.py:128 #, python-brace-format msgid "" "'{stream_name}' is a default stream and cannot be added to '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:103 +#: zerver/actions/default_streams.py:112 zerver/actions/default_streams.py:173 #, python-brace-format msgid "Default stream group '{group_name}' already exists" msgstr "" -#: zerver/actions/default_streams.py:125 +#: zerver/actions/default_streams.py:134 #, python-brace-format msgid "" "Stream '{stream_name}' is already present in default stream group " "'{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:141 +#: zerver/actions/default_streams.py:151 #, python-brace-format msgid "" "Stream '{stream_name}' is not present in default stream group '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:155 -msgid "This default stream group is already named '{}'" -msgstr "" - -#: zerver/actions/default_streams.py:159 -msgid "Default stream group '{}' already exists" +#: zerver/actions/default_streams.py:166 +#, python-brace-format +msgid "This default stream group is already named '{group_name}'" msgstr "" #: zerver/actions/invites.py:161 msgid "" -"To protect users, Zulip limits the number of invitations you can send in one" -" day. Because you have reached the limit, no invitations were sent." +"To protect users, Zulip limits the number of invitations you can send in one " +"day. Because you have reached the limit, no invitations were sent." msgstr "" #: zerver/actions/invites.py:233 @@ -2975,190 +3411,190 @@ msgid "" "invitation. We did send invitations to everyone else!" msgstr "" -#: zerver/actions/message_edit.py:92 zerver/views/scheduled_messages.py:59 +#: zerver/actions/message_edit.py:93 zerver/views/scheduled_messages.py:61 msgid "Nothing to change" msgstr "Nada para mudar" -#: zerver/actions/message_edit.py:96 +#: zerver/actions/message_edit.py:97 msgid "Direct messages cannot be moved to streams." msgstr "" -#: zerver/actions/message_edit.py:98 +#: zerver/actions/message_edit.py:99 msgid "Direct messages cannot have topics." msgstr "" -#: zerver/actions/message_edit.py:101 +#: zerver/actions/message_edit.py:102 msgid "Invalid propagate_mode without topic edit" msgstr "" -#: zerver/actions/message_edit.py:107 +#: zerver/actions/message_edit.py:108 msgid "Cannot change message content while changing stream" msgstr "" -#: zerver/actions/message_edit.py:111 +#: zerver/actions/message_edit.py:112 msgid "Widgets cannot be edited." msgstr "" -#: zerver/actions/message_edit.py:162 +#: zerver/actions/message_edit.py:163 #, python-brace-format msgid "{user} has marked this topic as resolved." msgstr "" -#: zerver/actions/message_edit.py:164 +#: zerver/actions/message_edit.py:165 #, python-brace-format msgid "{user} has marked this topic as unresolved." msgstr "" -#: zerver/actions/message_edit.py:967 +#: zerver/actions/message_edit.py:985 #, python-brace-format msgid "This topic was moved to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:971 +#: zerver/actions/message_edit.py:989 #, python-brace-format msgid "A message was moved from this topic to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:975 +#: zerver/actions/message_edit.py:993 #, python-brace-format msgid "" "{changed_messages_count} messages were moved from this topic to " "{new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1030 +#: zerver/actions/message_edit.py:1048 #, python-brace-format msgid "This topic was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1035 +#: zerver/actions/message_edit.py:1053 #, python-brace-format msgid "" "[A message]({message_link}) was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1039 +#: zerver/actions/message_edit.py:1057 #, python-brace-format msgid "" "{changed_messages_count} messages were moved here from {old_location} by " "{user}." msgstr "" -#: zerver/actions/message_edit.py:1167 +#: zerver/actions/message_edit.py:1186 msgid "Your organization has turned off message editing" msgstr "" -#: zerver/actions/message_edit.py:1185 zerver/actions/message_edit.py:1188 +#: zerver/actions/message_edit.py:1204 zerver/actions/message_edit.py:1207 msgid "You don't have permission to edit this message" msgstr "Você não tem permissão para editar esta mensagem" -#: zerver/actions/message_edit.py:1199 +#: zerver/actions/message_edit.py:1218 msgid "The time limit for editing this message has passed" msgstr "" -#: zerver/actions/message_edit.py:1214 +#: zerver/actions/message_edit.py:1233 msgid "The time limit for editing this message's topic has passed." msgstr "" -#: zerver/actions/message_edit.py:1248 zerver/actions/message_send.py:1428 +#: zerver/actions/message_edit.py:1267 zerver/actions/message_send.py:1558 msgid "You do not have permission to use wildcard mentions in this stream." msgstr "" -#: zerver/actions/message_edit.py:1257 +#: zerver/actions/message_edit.py:1280 msgid "You don't have permission to move this message" msgstr "" -#: zerver/actions/message_edit.py:1263 +#: zerver/actions/message_edit.py:1286 msgid "" "You don't have permission to move this message due to missing access to its " "stream" msgstr "" -#: zerver/actions/message_edit.py:1280 +#: zerver/actions/message_edit.py:1303 msgid "The time limit for editing this message's stream has passed" msgstr "" #: zerver/actions/message_flags.py:257 -msgid "Invalid flag: '{}'" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Invalid domain: {}" +msgid "Invalid flag: '{flag}'" +msgstr "Domínio inválido: {}" #: zerver/actions/message_flags.py:259 -msgid "Flag not editable: '{}'" +#, python-brace-format +msgid "Flag not editable: '{flag}'" msgstr "" -#: zerver/actions/message_flags.py:261 -msgid "Invalid message flag operation: '{}'" +#: zerver/actions/message_flags.py:262 +#, python-brace-format +msgid "Invalid message flag operation: '{operation}'" msgstr "" -#: zerver/actions/message_flags.py:333 zerver/lib/message.py:758 -#: zerver/lib/message.py:764 +#: zerver/actions/message_flags.py:335 zerver/lib/message.py:786 +#: zerver/lib/message.py:792 msgid "Invalid message(s)" msgstr "" -#: zerver/actions/message_send.py:156 +#: zerver/actions/message_send.py:161 msgid "Unable to render message" msgstr "Incapaz de processar a mensagem" -#: zerver/actions/message_send.py:997 +#: zerver/actions/message_send.py:1127 msgid "Expected exactly one stream" msgstr "" -#: zerver/actions/message_send.py:1008 +#: zerver/actions/message_send.py:1138 msgid "Invalid data type for stream" msgstr "" -#: zerver/actions/message_send.py:1024 zerver/actions/message_send.py:1034 +#: zerver/actions/message_send.py:1154 zerver/actions/message_send.py:1164 #: zerver/actions/scheduled_messages.py:53 msgid "Invalid data type for recipients" msgstr "" -#: zerver/actions/message_send.py:1042 zerver/actions/message_send.py:1050 +#: zerver/actions/message_send.py:1172 zerver/actions/message_send.py:1180 msgid "Recipient lists may contain emails or user IDs, but not both." msgstr "" -#: zerver/actions/message_send.py:1195 +#: zerver/actions/message_send.py:1325 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream ID {stream_id}, " "but there is no stream with that ID." msgstr "" -#: zerver/actions/message_send.py:1206 +#: zerver/actions/message_send.py:1336 #, python-brace-format msgid "" -"Your bot {bot_identity} tried to send a message to stream {stream_name}, but" -" that stream does not exist. Click [here]({new_stream_link}) to create it." +"Your bot {bot_identity} tried to send a message to stream {stream_name}, but " +"that stream does not exist. Click [here]({new_stream_link}) to create it." msgstr "" -#: zerver/actions/message_send.py:1218 +#: zerver/actions/message_send.py:1348 #, python-brace-format msgid "" -"Your bot {bot_identity} tried to send a message to stream {stream_name}. The" -" stream exists but does not have any subscribers." +"Your bot {bot_identity} tried to send a message to stream {stream_name}. The " +"stream exists but does not have any subscribers." msgstr "" -#: zerver/actions/message_send.py:1265 +#: zerver/actions/message_send.py:1395 msgid "Direct messages are disabled in this organization." msgstr "" -#: zerver/actions/message_send.py:1342 +#: zerver/actions/message_send.py:1472 msgid "Topics are required in this organization" msgstr "" -#: zerver/actions/message_send.py:1398 +#: zerver/actions/message_send.py:1528 msgid "Widgets: API programmer sent invalid JSON content" msgstr "" -#: zerver/actions/message_send.py:1404 +#: zerver/actions/message_send.py:1534 #, python-brace-format msgid "Widgets: {error_msg}" msgstr "" -#: zerver/actions/reactions.py:116 -msgid "Reaction already exists." -msgstr "" - -#: zerver/actions/realm_emoji.py:32 zerver/views/realm_emoji.py:36 +#: zerver/actions/realm_emoji.py:40 zerver/views/realm_emoji.py:38 msgid "A custom emoji with this name already exists." msgstr "" @@ -3175,8 +3611,7 @@ msgid "Scheduled message was already sent" msgstr "" #: zerver/actions/scheduled_messages.py:166 -#: zerver/views/scheduled_messages.py:87 -#: zerver/views/scheduled_messages.py:127 +#: zerver/views/scheduled_messages.py:89 zerver/views/scheduled_messages.py:129 msgid "Scheduled delivery time must be in the future." msgstr "" @@ -3195,117 +3630,135 @@ msgstr "" msgid "[View scheduled messages](#scheduled)" msgstr "" -#: zerver/actions/streams.py:76 +#: zerver/actions/streams.py:73 msgid "Stream is already deactivated" msgstr "" -#: zerver/actions/streams.py:841 +#: zerver/actions/streams.py:165 +msgid "Stream is not currently deactivated" +msgstr "" + +#: zerver/actions/streams.py:168 +#, python-brace-format +msgid "Stream named {stream_name} already exists" +msgstr "" + +#: zerver/actions/streams.py:230 +#, python-brace-format +msgid "Stream {stream_name} un-archived." +msgstr "" + +#: zerver/actions/streams.py:932 #, python-brace-format msgid "" "{user} changed the [access permissions](/help/stream-permissions) for this " "stream from **{old_policy}** to **{new_policy}**." msgstr "" -#: zerver/actions/streams.py:1025 +#: zerver/actions/streams.py:1118 #, python-brace-format msgid "" -"{user} changed the [posting permissions](/help/stream-sending-policy) for this stream:\n" +"{user} changed the [posting permissions](/help/stream-sending-policy) for " +"this stream:\n" "\n" "* **Old permissions**: {old_policy}.\n" "* **New permissions**: {new_policy}.\n" msgstr "" -#: zerver/actions/streams.py:1160 +#: zerver/actions/streams.py:1246 #, python-brace-format msgid "{user_name} renamed stream {old_stream_name} to {new_stream_name}." msgstr "" -#: zerver/actions/streams.py:1179 zerver/actions/streams.py:1181 -#: zerver/views/streams.py:793 +#: zerver/actions/streams.py:1265 zerver/actions/streams.py:1267 +#: zerver/views/streams.py:802 msgid "No description." msgstr "" -#: zerver/actions/streams.py:1184 -#, python-brace-format -msgid "{user} changed the description for this stream." -msgstr "" - -#: zerver/actions/streams.py:1186 -msgid "Old description" -msgstr "" - -#: zerver/actions/streams.py:1190 -msgid "New description" -msgstr "" - -#: zerver/actions/streams.py:1258 zerver/actions/streams.py:1263 -msgid "Forever" -msgstr "" - -#: zerver/actions/streams.py:1264 -msgid "Messages in this stream will now be retained forever." -msgstr "" - #: zerver/actions/streams.py:1270 #, python-brace-format +msgid "{user} changed the description for this stream." +msgstr "" + +#: zerver/actions/streams.py:1272 +msgid "Old description" +msgstr "" + +#: zerver/actions/streams.py:1276 +msgid "New description" +msgstr "" + +#: zerver/actions/streams.py:1344 zerver/actions/streams.py:1349 +msgid "Forever" +msgstr "" + +#: zerver/actions/streams.py:1350 +msgid "Messages in this stream will now be retained forever." +msgstr "" + +#: zerver/actions/streams.py:1356 +#, python-brace-format msgid "" -"{user} has changed the [message retention period](/help/message-retention-policy) for this stream:\n" +"{user} has changed the [message retention period](/help/message-retention-" +"policy) for this stream:\n" "* **Old retention period**: {old_retention_period}\n" "* **New retention period**: {new_retention_period}\n" "\n" "{summary_line}" msgstr "" -#: zerver/actions/submessage.py:30 +#: zerver/actions/submessage.py:29 msgid "You cannot attach a submessage to this message." msgstr "" #: zerver/actions/typing.py:55 zerver/lib/addressee.py:33 -msgid "Invalid user ID {}" +#, python-brace-format +msgid "Invalid user ID {user_id}" msgstr "" -#: zerver/actions/user_groups.py:153 zerver/actions/user_groups.py:168 -msgid "User group '{}' already exists." +#: zerver/actions/user_groups.py:213 zerver/actions/user_groups.py:245 +#, python-brace-format +msgid "User group '{group_name}' already exists." msgstr "" -#: zerver/decorator.py:250 +#: zerver/decorator.py:251 msgid "This API is not available to incoming webhook bots." msgstr "" -#: zerver/decorator.py:277 +#: zerver/decorator.py:278 msgid "Account is not associated with this subdomain" msgstr "A conta não está associada a este subdomínio" -#: zerver/decorator.py:506 zerver/decorator.py:643 +#: zerver/decorator.py:511 zerver/decorator.py:648 msgid "This endpoint does not accept bot requests." msgstr "" -#: zerver/decorator.py:605 +#: zerver/decorator.py:610 msgid "Must be an server administrator" msgstr "" -#: zerver/decorator.py:662 zerver/lib/streams.py:699 zerver/lib/streams.py:725 -#: zerver/lib/streams.py:727 zerver/lib/streams.py:742 -#: zerver/lib/user_groups.py:34 zerver/lib/user_groups.py:41 -#: zerver/lib/users.py:249 zerver/lib/users.py:278 zerver/views/invite.py:60 -#: zerver/views/realm_emoji.py:31 zerver/views/streams.py:336 -#: zerver/views/streams.py:630 +#: zerver/decorator.py:667 zerver/lib/streams.py:703 zerver/lib/streams.py:729 +#: zerver/lib/streams.py:731 zerver/lib/streams.py:748 +#: zerver/lib/user_groups.py:45 zerver/lib/user_groups.py:52 +#: zerver/lib/users.py:255 zerver/lib/users.py:284 zerver/views/invite.py:60 +#: zerver/views/realm_emoji.py:33 zerver/views/streams.py:338 +#: zerver/views/streams.py:639 msgid "Insufficient permission" msgstr "Permissão insuficiente" -#: zerver/decorator.py:704 +#: zerver/decorator.py:709 msgid "This endpoint requires HTTP basic authentication." msgstr "" -#: zerver/decorator.py:711 +#: zerver/decorator.py:716 msgid "Invalid authorization header for basic auth" msgstr "Cabeçalho de autorização inválido para autenticação básica" -#: zerver/decorator.py:713 +#: zerver/decorator.py:718 msgid "Missing authorization header for basic auth" msgstr "" -#: zerver/decorator.py:886 +#: zerver/decorator.py:893 msgid "Webhook bots can only access webhooks" msgstr "Os bots de webhook só podem acessar webhooks" @@ -3379,9 +3832,10 @@ msgid "New password confirmation" msgstr "" #: zerver/forms.py:496 +#, python-brace-format msgid "" -"You're making too many attempts to sign in. Try again in {} seconds or " -"contact your organization administrator for help." +"You're making too many attempts to sign in. Try again in {seconds} seconds " +"or contact your organization administrator for help." msgstr "" #: zerver/forms.py:508 @@ -3407,8 +3861,10 @@ msgid "We couldn't find that Zulip organization." msgstr "" #: zerver/lib/addressee.py:22 -msgid "Invalid email '{}'" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Invalid domain: {}" +msgid "Invalid email '{email}'" +msgstr "Domínio inválido: {}" #: zerver/lib/addressee.py:61 zerver/lib/addressee.py:128 #: zerver/views/typing.py:43 @@ -3492,11 +3948,11 @@ msgstr "" msgid "Draft does not exist" msgstr "" -#: zerver/lib/email_notifications.py:138 zerver/lib/email_notifications.py:160 +#: zerver/lib/email_notifications.py:140 zerver/lib/email_notifications.py:162 msgid "Open Zulip to see the spoiler content" msgstr "" -#: zerver/lib/email_notifications.py:563 +#: zerver/lib/email_notifications.py:591 msgid "Zulip notifications" msgstr "" @@ -3529,173 +3985,182 @@ msgstr "Já tem uma conta." msgid "Account has been deactivated." msgstr "" -#: zerver/lib/emoji.py:67 zerver/views/realm_emoji.py:59 -msgid "Emoji '{}' does not exist" -msgstr "" +#: zerver/lib/emoji.py:88 zerver/views/realm_emoji.py:62 +#, fuzzy, python-brace-format +#| msgid "Token does not exist" +msgid "Emoji '{emoji_name}' does not exist" +msgstr "A token não existe" -#: zerver/lib/emoji.py:77 +#: zerver/lib/emoji.py:101 msgid "Invalid custom emoji." msgstr "" -#: zerver/lib/emoji.py:79 +#: zerver/lib/emoji.py:103 msgid "Invalid custom emoji name." msgstr "Nome de emoji customizado inválido." -#: zerver/lib/emoji.py:81 +#: zerver/lib/emoji.py:105 msgid "This custom emoji has been deactivated." msgstr "Este emoji customizado foi desativado." -#: zerver/lib/emoji.py:84 zerver/lib/emoji.py:89 +#: zerver/lib/emoji.py:108 zerver/lib/emoji.py:113 msgid "Invalid emoji code." msgstr "Código de emoji inválido." -#: zerver/lib/emoji.py:86 zerver/lib/emoji.py:91 +#: zerver/lib/emoji.py:110 zerver/lib/emoji.py:115 msgid "Invalid emoji name." msgstr "Nome do emoji é inválido." -#: zerver/lib/emoji.py:94 +#: zerver/lib/emoji.py:118 msgid "Invalid emoji type." msgstr "Tipo de emoji inválido." -#: zerver/lib/emoji.py:109 +#: zerver/lib/emoji.py:133 msgid "Must be an organization administrator or emoji author" msgstr "" -#: zerver/lib/emoji.py:117 +#: zerver/lib/emoji.py:141 msgid "Emoji names must end with either a letter or digit." msgstr "" -#: zerver/lib/emoji.py:120 +#: zerver/lib/emoji.py:144 msgid "" "Emoji names must contain only lowercase English letters, digits, spaces, " "dashes, and underscores." msgstr "" -#: zerver/lib/emoji.py:123 +#: zerver/lib/emoji.py:147 msgid "Emoji name is missing" msgstr "" -#: zerver/lib/events.py:1539 +#: zerver/lib/events.py:1543 msgid "Could not allocate event queue" msgstr "Não foi possível alocar fila de eventos" -#: zerver/lib/exceptions.py:137 +#: zerver/lib/exceptions.py:139 msgid "Not logged in: API authentication or user session required" msgstr "Não conectado: autenticação de API ou sessão de usuário é necessário" -#: zerver/lib/exceptions.py:162 +#: zerver/lib/exceptions.py:164 #, python-brace-format msgid "Stream '{stream}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:174 +#: zerver/lib/exceptions.py:176 #, python-brace-format msgid "Stream with ID '{stream_id}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "organization owner" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "user" msgstr "" -#: zerver/lib/exceptions.py:187 +#: zerver/lib/exceptions.py:189 #, python-brace-format msgid "Cannot deactivate the only {entity}." msgstr "" -#: zerver/lib/exceptions.py:199 +#: zerver/lib/exceptions.py:201 #, python-brace-format msgid "Invalid Markdown include statement: {include_statement}" msgstr "" -#: zerver/lib/exceptions.py:211 +#: zerver/lib/exceptions.py:213 msgid "API usage exceeded rate limit" msgstr "" -#: zerver/lib/exceptions.py:234 zerver/lib/request.py:442 +#: zerver/lib/exceptions.py:236 zerver/lib/request.py:441 #: zerver/lib/validator.py:755 msgid "Malformed JSON" msgstr "JSON corrompido" -#: zerver/lib/exceptions.py:245 +#: zerver/lib/exceptions.py:247 msgid "Must be an organization member" msgstr "" -#: zerver/lib/exceptions.py:256 zerver/views/invite.py:70 -#: zerver/views/invite.py:132 zerver/views/invite.py:178 +#: zerver/lib/exceptions.py:258 zerver/views/invite.py:70 +#: zerver/views/invite.py:134 zerver/views/invite.py:180 msgid "Must be an organization administrator" msgstr "" -#: zerver/lib/exceptions.py:267 +#: zerver/lib/exceptions.py:269 msgid "Must be an organization owner" msgstr "" -#: zerver/lib/exceptions.py:280 +#: zerver/lib/exceptions.py:282 msgid "Your username or password is incorrect" msgstr "" -#: zerver/lib/exceptions.py:288 +#: zerver/lib/exceptions.py:290 msgid "Account is deactivated" msgstr "" -#: zerver/lib/exceptions.py:296 +#: zerver/lib/exceptions.py:298 msgid "This organization has been deactivated" msgstr "" -#: zerver/lib/exceptions.py:305 +#: zerver/lib/exceptions.py:307 msgid "" "The mobile push notification service registration for your server has been " "deactivated" msgstr "" -#: zerver/lib/exceptions.py:314 +#: zerver/lib/exceptions.py:316 msgid "Password authentication is disabled in this organization" msgstr "" -#: zerver/lib/exceptions.py:322 +#: zerver/lib/exceptions.py:324 msgid "Your password has been disabled and needs to be reset" msgstr "" -#: zerver/lib/exceptions.py:338 +#: zerver/lib/exceptions.py:340 msgid "Invalid API key" msgstr "Chave de API inválida" -#: zerver/lib/exceptions.py:344 +#: zerver/lib/exceptions.py:346 msgid "Malformed API key" msgstr "" -#: zerver/lib/exceptions.py:381 +#: zerver/lib/exceptions.py:385 #, python-brace-format msgid "" "The '{event_type}' event isn't currently supported by the {webhook_name} " -"webhook" +"webhook; ignoring" msgstr "" -#: zerver/lib/exceptions.py:399 +#: zerver/lib/exceptions.py:404 #, python-brace-format msgid "Unable to parse request: Did {webhook_name} generate this event?" msgstr "" -#: zerver/lib/exceptions.py:422 zerver/views/auth.py:741 +#: zerver/lib/exceptions.py:427 zerver/views/auth.py:741 #: zerver/views/auth.py:1076 zerver/views/auth.py:1140 msgid "Invalid subdomain" msgstr "Subdomínio inválido" -#: zerver/lib/exceptions.py:462 +#: zerver/lib/exceptions.py:467 msgid "Access denied" msgstr "Acesso negado" -#: zerver/lib/exceptions.py:501 +#: zerver/lib/exceptions.py:506 #, python-brace-format msgid "" -"You only have permission to move the " -"{total_messages_allowed_to_move}/{total_messages_in_topic} most recent " -"messages in this topic." +"You only have permission to move the {total_messages_allowed_to_move}/" +"{total_messages_in_topic} most recent messages in this topic." msgstr "" +#: zerver/lib/exceptions.py:518 +msgid "Reaction already exists." +msgstr "" + +#: zerver/lib/exceptions.py:529 +msgid "Reaction doesn't exist." +msgstr "Esta reação não existe." + #: zerver/lib/external_accounts.py:36 msgid "Twitter username" msgstr "" @@ -3806,208 +4271,215 @@ msgstr "" msgid "Version control" msgstr "" -#: zerver/lib/message.py:192 +#: zerver/lib/message.py:220 msgid "Message must not be empty" msgstr "A mensagem não pode ser vazia" -#: zerver/lib/message.py:194 +#: zerver/lib/message.py:222 msgid "Message must not contain null bytes" msgstr "" -#: zerver/lib/narrow.py:107 -msgid "Operator {} not supported." +#: zerver/lib/message.py:1668 +#, python-brace-format +msgid "" +"You are not allowed to mention user group '{user_group_name}'. You must be a " +"member of '{can_mention_group_name}' to mention this group." msgstr "" -#: zerver/lib/narrow.py:197 +#: zerver/lib/narrow.py:108 +#, python-brace-format +msgid "Operator {operator} not supported." +msgstr "" + +#: zerver/lib/narrow.py:207 #, python-brace-format msgid "Invalid narrow operator: {desc}" msgstr "" -#: zerver/lib/narrow.py:1038 +#: zerver/lib/narrow.py:1054 msgid "Missing 'anchor' argument." msgstr "" -#: zerver/lib/narrow.py:1058 +#: zerver/lib/narrow.py:1074 msgid "Invalid anchor" msgstr "" -#: zerver/lib/onboarding.py:59 +#: zerver/lib/onboarding.py:57 #, python-brace-format msgid "" -"If you are new to Zulip, check out our [Using Zulip for a class " -"guide]({getting_started_url})!" +"If you are new to Zulip, check out our [Using Zulip for a class guide]" +"({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:66 +#: zerver/lib/onboarding.py:64 #, python-brace-format msgid "" -"If you are new to Zulip, check out our [Getting started " -"guide]({getting_started_url})!" +"If you are new to Zulip, check out our [Getting started guide]" +"({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:78 +#: zerver/lib/onboarding.py:76 #, python-brace-format msgid "" -"We also have a guide for [Setting up Zulip for a " -"class]({organization_setup_url})." +"We also have a guide for [Setting up Zulip for a class]" +"({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:88 +#: zerver/lib/onboarding.py:86 #, python-brace-format msgid "" -"We also have a guide for [Setting up your " -"organization]({organization_setup_url})." +"We also have a guide for [Setting up your organization]" +"({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:98 +#: zerver/lib/onboarding.py:96 #, python-brace-format msgid "" "Note that this is a [demo organization]({demo_organization_help_url}) and " "will be **automatically deleted** in 30 days." msgstr "" -#: zerver/lib/onboarding.py:106 +#: zerver/lib/onboarding.py:104 msgid "Hello, and welcome to Zulip!" msgstr "" -#: zerver/lib/onboarding.py:107 +#: zerver/lib/onboarding.py:105 msgid "This is a direct message from me, Welcome Bot." msgstr "" -#: zerver/lib/onboarding.py:112 +#: zerver/lib/onboarding.py:110 msgid "" -"I can also help you get set up! Just click anywhere on this message or press" -" `r` to reply." +"I can also help you get set up! Just click anywhere on this message or press " +"`r` to reply." msgstr "" -#: zerver/lib/onboarding.py:115 zerver/lib/onboarding.py:227 +#: zerver/lib/onboarding.py:113 zerver/lib/onboarding.py:225 msgid "Here are a few messages I understand:" msgstr "" -#: zerver/lib/onboarding.py:156 +#: zerver/lib/onboarding.py:154 msgid "" -"You can [download](/apps/) the [mobile and desktop apps](/apps/). Zulip also" -" works great in a browser." +"You can [download](/apps/) the [mobile and desktop apps](/apps/). Zulip also " +"works great in a browser." msgstr "" -#: zerver/lib/onboarding.py:161 +#: zerver/lib/onboarding.py:159 msgid "" -"Go to [Profile settings](#settings/profile) to add a [profile " -"picture](/help/change-your-profile-picture) and edit your [profile " -"information](/help/edit-your-profile)." +"Go to [Profile settings](#settings/profile) to add a [profile picture](/help/" +"change-your-profile-picture) and edit your [profile information](/help/edit-" +"your-profile)." msgstr "" -#: zerver/lib/onboarding.py:167 +#: zerver/lib/onboarding.py:165 msgid "" -"Go to [Display settings](#settings/display-settings) to [switch between the " -"light and dark themes](/help/dark-theme), [pick your favorite emoji " -"theme](/help/emoji-and-emoticons#change-your-emoji-set), [change your " -"language](/help/change-your-language), and make other tweaks to your Zulip " -"experience." +"Go to [Preferences](#settings/preferences) to [switch between the light and " +"dark themes](/help/dark-theme), [pick your favorite emoji theme](/help/emoji-" +"and-emoticons#change-your-emoji-set), [change your language](/help/change-" +"your-language), and make other tweaks to your Zulip experience." msgstr "" -#: zerver/lib/onboarding.py:177 +#: zerver/lib/onboarding.py:175 msgid "" "In Zulip, streams [determine who gets a message](/help/streams-and-topics). " "They are similar to channels in other chat apps." msgstr "" -#: zerver/lib/onboarding.py:181 +#: zerver/lib/onboarding.py:179 msgid "[Browse and subscribe to streams](#streams/all)." msgstr "" -#: zerver/lib/onboarding.py:188 +#: zerver/lib/onboarding.py:186 msgid "" "In Zulip, topics [tell you what a message is about](/help/streams-and-" -"topics). They are light-weight subjects, very similar to the subject line of" -" an email." +"topics). They are light-weight subjects, very similar to the subject line of " +"an email." msgstr "" -#: zerver/lib/onboarding.py:193 +#: zerver/lib/onboarding.py:191 msgid "" "Check out [Recent conversations](#recent) to see what's happening! You can " "return to this conversation by clicking \"Direct messages\" in the upper " "left." msgstr "" -#: zerver/lib/onboarding.py:202 +#: zerver/lib/onboarding.py:200 msgid "" "Zulip's [keyboard shortcuts](#keyboard-shortcuts) let you navigate the app " "quickly and efficiently." msgstr "" -#: zerver/lib/onboarding.py:206 +#: zerver/lib/onboarding.py:204 msgid "Press `?` any time to see a [cheat sheet](#keyboard-shortcuts)." msgstr "" -#: zerver/lib/onboarding.py:213 +#: zerver/lib/onboarding.py:211 msgid "" "Zulip uses [Markdown](/help/format-your-message-using-markdown), an " "intuitive format for **bold**, *italics*, bulleted lists, and more. Click " "[here](#message-formatting) for a cheat sheet." msgstr "" -#: zerver/lib/onboarding.py:219 +#: zerver/lib/onboarding.py:217 msgid "" "Check out our [messaging tips](/help/messaging-tips) to learn about emoji " "reactions, code blocks and much more!" msgstr "" -#: zerver/lib/onboarding.py:230 +#: zerver/lib/onboarding.py:228 msgid "" "Check out our [Getting started guide](/help/getting-started-with-zulip), or " "browse the [Help center](/help/) to learn more!" msgstr "" -#: zerver/lib/onboarding.py:239 +#: zerver/lib/onboarding.py:237 msgid "" "I’m sorry, I did not understand your message. Please try one of the " "following commands:" msgstr "" -#: zerver/lib/onboarding.py:271 +#: zerver/lib/onboarding.py:269 msgid "" "This is a private stream, as indicated by the lock icon next to the stream " "name." msgstr "" -#: zerver/lib/onboarding.py:273 +#: zerver/lib/onboarding.py:271 msgid "Private streams are only visible to stream members." msgstr "" -#: zerver/lib/onboarding.py:277 +#: zerver/lib/onboarding.py:275 #, python-brace-format msgid "" "To manage this stream, go to [Stream settings]({stream_settings_url}) and " "click on `{initial_private_stream_name}`." msgstr "" -#: zerver/lib/onboarding.py:287 +#: zerver/lib/onboarding.py:285 #, python-brace-format msgid "" -"This is a message on stream #**{default_notification_stream_name}** with the" -" topic `topic demonstration`." +"This is a message on stream #**{default_notification_stream_name}** with the " +"topic `topic demonstration`." msgstr "" -#: zerver/lib/onboarding.py:293 +#: zerver/lib/onboarding.py:291 msgid "Topics are a lightweight tool to keep conversations organized." msgstr "" -#: zerver/lib/onboarding.py:295 +#: zerver/lib/onboarding.py:293 #, python-brace-format msgid "" -"You can learn more about topics at [Streams and " -"topics]({about_topics_help_url})." +"You can learn more about topics at [Streams and topics]" +"({about_topics_help_url})." msgstr "" -#: zerver/lib/onboarding.py:300 +#: zerver/lib/onboarding.py:298 #, python-brace-format msgid "" -"This is a message on stream #**{default_notification_stream_name}** with the" -" topic `swimming turtles`." +"This is a message on stream #**{default_notification_stream_name}** with the " +"topic `swimming turtles`." msgstr "" -#: zerver/lib/onboarding.py:309 +#: zerver/lib/onboarding.py:307 #, python-brace-format msgid "" "[Start a new topic]({start_topic_help_url}) any time you're not replying to " @@ -4023,44 +4495,57 @@ msgid "Invalid response format" msgstr "" #: zerver/lib/push_notifications.py:341 -msgid "Invalid GCM option to bouncer: priority {!r}" +msgid "Invalid GCM option to bouncer: priority {priority!r}" msgstr "" #: zerver/lib/push_notifications.py:351 -msgid "Invalid GCM options to bouncer: {}" +#, python-brace-format +msgid "Invalid GCM options to bouncer: {options}" msgstr "" #. error -#: zerver/lib/push_notifications.py:575 zilencer/views.py:205 +#: zerver/lib/push_notifications.py:575 zilencer/views.py:208 msgid "Token does not exist" msgstr "A token não existe" -#: zerver/lib/push_notifications.py:746 +#: zerver/lib/push_notifications.py:758 msgid "" "This organization has disabled including message content in mobile push " "notifications" msgstr "" -#: zerver/lib/push_notifications.py:835 +#: zerver/lib/push_notifications.py:847 #, python-brace-format msgid "{full_name} mentioned @{user_group_name}:" msgstr "" -#: zerver/lib/push_notifications.py:839 +#: zerver/lib/push_notifications.py:851 #, python-brace-format msgid "{full_name} mentioned you:" msgstr "" -#: zerver/lib/push_notifications.py:841 +#: zerver/lib/push_notifications.py:853 +msgid "TODO - 2" +msgstr "" + +#: zerver/lib/push_notifications.py:855 +msgid "TODO" +msgstr "" + +#: zerver/lib/push_notifications.py:857 +#, python-brace-format +msgid "{full_name} mentioned all topic participants:" +msgstr "" + +#: zerver/lib/push_notifications.py:861 #, python-brace-format msgid "{full_name} mentioned everyone:" msgstr "" #: zerver/lib/recipient_users.py:29 zerver/lib/streams.py:268 -#: zerver/lib/streams.py:276 zerver/lib/streams.py:838 -#: zerver/tornado/views.py:164 zerver/views/events_register.py:94 +#: zerver/lib/streams.py:276 zerver/lib/streams.py:846 +#: zerver/tornado/views.py:164 zerver/views/events_register.py:95 #: zerver/views/message_send.py:182 zerver/views/message_send.py:203 -#: zerver/views/users.py:686 msgid "User not authorized for this query" msgstr "Usuário não autorizado para esta consulta" @@ -4074,31 +4559,33 @@ msgid "You can't send direct messages outside of your organization." msgstr "" #: zerver/lib/remote_server.py:93 -msgid "Push notifications bouncer error: {}" +#, python-brace-format +msgid "Push notifications bouncer error: {error}" msgstr "" -#: zerver/lib/request.py:92 +#: zerver/lib/request.py:91 #, python-brace-format msgid "Can't decide between '{var_name1}' and '{var_name2}' arguments" msgstr "" -#: zerver/lib/request.py:104 +#: zerver/lib/request.py:103 #, python-brace-format msgid "Missing '{var_name}' argument" msgstr "" -#: zerver/lib/request.py:117 +#: zerver/lib/request.py:116 #, python-brace-format msgid "Bad value for '{var_name}': {bad_value}" msgstr "" -#: zerver/lib/request.py:395 zerver/webhooks/ifttt/view.py:36 +#: zerver/lib/request.py:394 zerver/webhooks/ifttt/view.py:36 #: zerver/webhooks/slack_incoming/view.py:42 msgid "Malformed payload" msgstr "" #: zerver/lib/request.py:443 -msgid "Argument \"{}\" is not valid JSON." +#, python-brace-format +msgid "Argument \"{name}\" is not valid JSON." msgstr "" #: zerver/lib/scheduled_messages.py:20 @@ -4111,7 +4598,9 @@ msgstr "" #: zerver/lib/streams.py:228 msgid "Only organization administrators can send to this stream." -msgstr "Somente usuários administradores de uma organização podem enviar mensagens neste stream." +msgstr "" +"Somente usuários administradores de uma organização podem enviar mensagens " +"neste stream." #: zerver/lib/streams.py:234 msgid "" @@ -4126,42 +4615,48 @@ msgstr "" msgid "New members cannot send to this stream." msgstr "" -#: zerver/lib/streams.py:301 -msgid "Not authorized to send to stream '{}'" +#: zerver/lib/streams.py:302 +#, python-brace-format +msgid "Not authorized to send to stream '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:306 +#: zerver/lib/streams.py:308 msgid "Please supply 'stream'." msgstr "" -#: zerver/lib/streams.py:309 +#: zerver/lib/streams.py:311 msgid "Please choose one: 'stream' or 'stream_id'." msgstr "" -#: zerver/lib/streams.py:315 zerver/lib/streams.py:334 -#: zerver/lib/streams.py:417 zerver/lib/streams.py:483 -#: zerver/views/streams.py:399 zerver/views/user_topics.py:101 +#: zerver/lib/streams.py:317 zerver/lib/streams.py:336 +#: zerver/lib/streams.py:419 zerver/lib/streams.py:487 +#: zerver/views/streams.py:401 zerver/views/user_topics.py:101 msgid "Invalid stream ID" msgstr "" -#: zerver/lib/streams.py:459 -msgid "Stream name '{}' is already taken." +#: zerver/lib/streams.py:462 +#, python-brace-format +msgid "Stream name '{stream_name}' is already taken." msgstr "" -#: zerver/lib/streams.py:467 zerver/lib/streams.py:587 -msgid "Invalid stream name '{}'" +#: zerver/lib/streams.py:471 zerver/lib/streams.py:591 +#, python-brace-format +msgid "Invalid stream name '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:731 -msgid "Stream(s) ({}) do not exist" +#: zerver/lib/streams.py:735 +#, fuzzy, python-brace-format +#| msgid "Stream(s) ({}) do not exist" +msgid "Stream(s) ({stream_names}) do not exist" msgstr "Stream(s) ({}) não existente" -#: zerver/lib/streams.py:738 zerver/views/streams.py:334 +#: zerver/lib/streams.py:744 zerver/views/streams.py:336 msgid "Web-public streams are not enabled." msgstr "" -#: zerver/lib/streams.py:767 -msgid "Default stream group with id '{}' does not exist." +#: zerver/lib/streams.py:774 +#, python-brace-format +msgid "Default stream group with id '{group_id}' does not exist." msgstr "" #: zerver/lib/string_validation.py:38 @@ -4169,20 +4664,25 @@ msgid "Stream name can't be empty!" msgstr "" #: zerver/lib/string_validation.py:42 -msgid "Stream name too long (limit: {} characters)." +#, python-brace-format +msgid "Stream name too long (limit: {max_length} characters)." msgstr "" -#: zerver/lib/string_validation.py:48 -msgid "Invalid character in stream name, at position {}!" -msgstr "" +#: zerver/lib/string_validation.py:50 +#, fuzzy, python-brace-format +#| msgid "Invalid characters in emoji name" +msgid "Invalid character in stream name, at position {position}!" +msgstr "Caracteres inválidos no nome do emoji" -#: zerver/lib/string_validation.py:54 +#: zerver/lib/string_validation.py:58 msgid "Topic can't be empty!" msgstr "" -#: zerver/lib/string_validation.py:59 -msgid "Invalid character in topic, at position {}!" -msgstr "" +#: zerver/lib/string_validation.py:63 +#, fuzzy, python-brace-format +#| msgid "Invalid characters in emoji name" +msgid "Invalid character in topic, at position {position}!" +msgstr "Caracteres inválidos no nome do emoji" #: zerver/lib/subscription_info.py:295 msgid "Subscriber data is not available for this stream" @@ -4196,46 +4696,61 @@ msgstr "" msgid "Upload would exceed your organization's upload quota." msgstr "" -#: zerver/lib/upload/base.py:67 zerver/lib/upload/base.py:83 -#: zerver/lib/upload/base.py:177 +#: zerver/lib/upload/base.py:68 zerver/lib/upload/base.py:84 +#: zerver/lib/upload/base.py:178 msgid "Could not decode image; did you upload an image file?" msgstr "" -#: zerver/lib/upload/base.py:69 zerver/lib/upload/base.py:85 -#: zerver/lib/upload/base.py:179 +#: zerver/lib/upload/base.py:70 zerver/lib/upload/base.py:86 +#: zerver/lib/upload/base.py:180 msgid "Image size exceeds limit." msgstr "" -#: zerver/lib/upload/base.py:107 +#: zerver/lib/upload/base.py:108 msgid "Corrupt animated image." msgstr "" -#: zerver/lib/upload/base.py:116 +#: zerver/lib/upload/base.py:117 msgid "Unknown animated image format." msgstr "" -#: zerver/lib/user_groups.py:43 +#: zerver/lib/user_groups.py:54 msgid "Invalid user group" msgstr "" -#: zerver/lib/user_groups.py:55 -msgid "Invalid user group ID: {}" -msgstr "" - -#: zerver/lib/user_groups.py:73 -msgid "'{}' must be a system user group." -msgstr "" - -#: zerver/lib/user_groups.py:77 -msgid "'{}' setting cannot be set to '@role:internet' group." -msgstr "" - -#: zerver/lib/user_groups.py:82 -msgid "'{}' setting cannot be set to '@role:owners' group." +#: zerver/lib/user_groups.py:67 +#, python-brace-format +msgid "Invalid user group ID: {group_id}" msgstr "" #: zerver/lib/user_groups.py:87 -msgid "'{}' setting cannot be set to '@role:nobody' group." +#, python-brace-format +msgid "'{setting_name}' must be a system user group." +msgstr "" + +#: zerver/lib/user_groups.py:92 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:internet' group." +msgstr "" + +#: zerver/lib/user_groups.py:99 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:owners' group." +msgstr "" + +#: zerver/lib/user_groups.py:106 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:nobody' group." +msgstr "" + +#: zerver/lib/user_groups.py:117 +#, python-brace-format +msgid "User group name cannot exceed {max_length} characters." +msgstr "" + +#: zerver/lib/user_groups.py:125 +#, python-brace-format +msgid "User group name cannot start with '{prefix}'." msgstr "" #: zerver/lib/users.py:45 @@ -4263,44 +4778,48 @@ msgstr "" msgid "Bad name or username" msgstr "Nome ou nome de usuário inválidos" -#: zerver/lib/users.py:95 -msgid "Invalid integration '{}'." +#: zerver/lib/users.py:96 +#, python-brace-format +msgid "Invalid integration '{integration_name}'." msgstr "" -#: zerver/lib/users.py:100 -msgid "Missing configuration parameters: {}" +#: zerver/lib/users.py:102 +#, python-brace-format +msgid "Missing configuration parameters: {keys}" msgstr "" -#: zerver/lib/users.py:109 -msgid "Invalid {} value {} ({})" +#: zerver/lib/users.py:112 +#, python-brace-format +msgid "Invalid {key} value {value} ({error})" msgstr "" -#: zerver/lib/users.py:124 +#: zerver/lib/users.py:130 msgid "Invalid configuration data!" msgstr "" -#: zerver/lib/users.py:158 +#: zerver/lib/users.py:164 msgid "Invalid bot type" msgstr "" -#: zerver/lib/users.py:163 +#: zerver/lib/users.py:169 msgid "Invalid interface type" msgstr "Tipo de interface inválido" -#: zerver/lib/users.py:232 zerver/lib/users.py:237 zerver/models.py:4642 -msgid "Invalid user ID: {}" +#: zerver/lib/users.py:238 zerver/lib/users.py:243 zerver/models.py:4729 +#, python-brace-format +msgid "Invalid user ID: {user_id}" msgstr "" -#: zerver/lib/users.py:245 zerver/lib/users.py:247 +#: zerver/lib/users.py:251 zerver/lib/users.py:253 msgid "No such bot" msgstr "Não existe tal bot" -#: zerver/lib/users.py:271 zerver/lib/users.py:298 zerver/lib/users.py:314 +#: zerver/lib/users.py:277 zerver/lib/users.py:304 zerver/lib/users.py:320 #: zerver/views/presence.py:44 msgid "No such user" msgstr "Não existe tal usuário" -#: zerver/lib/users.py:273 +#: zerver/lib/users.py:279 msgid "User is deactivated" msgstr "" @@ -4390,7 +4909,8 @@ msgid "{key_name} key is missing from {var_name}" msgstr "" #: zerver/lib/validator.py:317 -msgid "Unexpected arguments: {}" +#, python-brace-format +msgid "Unexpected arguments: {keys}" msgstr "" #: zerver/lib/validator.py:350 @@ -4452,8 +4972,9 @@ msgstr "" msgid "Missing the HTTP event header '{header}'" msgstr "" -#: zerver/lib/webhooks/common.py:231 -msgid "The {} webhook expects time in milliseconds." +#: zerver/lib/webhooks/common.py:232 +#, python-brace-format +msgid "The {webhook} webhook expects time in milliseconds." msgstr "" #: zerver/lib/zcommand.py:30 @@ -4461,201 +4982,218 @@ msgid "There should be a leading slash in the zcommand." msgstr "" #: zerver/lib/zcommand.py:79 -msgid "No such command: {}" +#, python-brace-format +msgid "No such command: {command}" msgstr "" -#: zerver/middleware.py:464 +#: zerver/middleware.py:441 #, python-brace-format msgid "CSRF error: {reason}" msgstr "" -#: zerver/models.py:500 +#: zerver/middleware.py:607 +#, python-brace-format +msgid "Reverse proxy misconfiguration: {proxy_reason}" +msgstr "" + +#: zerver/models.py:495 msgid "stream events" msgstr "" -#: zerver/models.py:631 +#: zerver/models.py:626 msgid "Available on Zulip Cloud Standard. Upgrade to access." msgstr "" -#: zerver/models.py:689 +#: zerver/models.py:684 msgid "GIPHY integration disabled" msgstr "" -#: zerver/models.py:694 +#: zerver/models.py:689 msgid "Allow GIFs rated Y (Very young audience)" msgstr "" -#: zerver/models.py:698 +#: zerver/models.py:693 msgid "Allow GIFs rated G (General audience)" msgstr "" -#: zerver/models.py:702 +#: zerver/models.py:697 msgid "Allow GIFs rated PG (Parental guidance)" msgstr "" -#: zerver/models.py:706 +#: zerver/models.py:701 msgid "Allow GIFs rated PG-13 (Parental guidance - under 13)" msgstr "" -#: zerver/models.py:710 +#: zerver/models.py:705 msgid "Allow GIFs rated R (Restricted)" msgstr "" -#: zerver/models.py:1136 +#: zerver/models.py:1123 msgid "Invalid characters in emoji name" msgstr "Caracteres inválidos no nome do emoji" -#: zerver/models.py:1260 zerver/models.py:1262 -msgid "Bad regular expression: {}" +#: zerver/models.py:1235 zerver/models.py:1238 +#, python-brace-format +msgid "Bad regular expression: {regex}" msgstr "" -#: zerver/models.py:1263 +#: zerver/models.py:1240 msgid "Unknown regular expression error" msgstr "" -#: zerver/models.py:1271 +#: zerver/models.py:1248 msgid "Invalid URL template." msgstr "" -#: zerver/models.py:1315 +#: zerver/models.py:1292 #, python-format msgid "Group %(name)r in URL template is not present in linkifier pattern." msgstr "" -#: zerver/models.py:1327 +#: zerver/models.py:1304 #, python-format msgid "Group %(name)r in linkifier pattern is not present in URL template." msgstr "" -#: zerver/models.py:1405 zerver/views/realm_playgrounds.py:25 +#: zerver/models.py:1382 zerver/views/realm_playgrounds.py:24 msgid "Invalid characters in pygments language" msgstr "" -#: zerver/models.py:1649 +#: zerver/models.py:1412 +msgid "Missing the required variable \"code\" in the URL template" +msgstr "" + +#: zerver/models.py:1417 +msgid "\"code\" should be the only variable present in the URL template" +msgstr "" + +#: zerver/models.py:1660 msgid "Admins, moderators, members and guests" msgstr "" -#: zerver/models.py:1650 +#: zerver/models.py:1661 msgid "Admins, moderators and members" msgstr "" -#: zerver/models.py:1651 +#: zerver/models.py:1662 msgid "Admins and moderators" msgstr "Admins e moderadores" -#: zerver/models.py:1652 +#: zerver/models.py:1663 msgid "Admins only" msgstr "Apenas admins" -#: zerver/models.py:1653 +#: zerver/models.py:1664 msgid "Nobody" msgstr "" -#: zerver/models.py:1957 +#: zerver/models.py:1973 msgid "Organization owner" msgstr "" -#: zerver/models.py:1958 +#: zerver/models.py:1974 msgid "Organization administrator" msgstr "" -#: zerver/models.py:1959 +#: zerver/models.py:1975 msgid "Moderator" msgstr "" -#: zerver/models.py:1960 +#: zerver/models.py:1976 msgid "Member" msgstr "" -#: zerver/models.py:1961 +#: zerver/models.py:1977 msgid "Guest" msgstr "" -#: zerver/models.py:2528 +#: zerver/models.py:2557 msgid "Web-public" msgstr "" -#: zerver/models.py:2534 +#: zerver/models.py:2563 msgid "Public" msgstr "" -#: zerver/models.py:2540 +#: zerver/models.py:2569 msgid "Private, shared history" msgstr "" -#: zerver/models.py:2546 +#: zerver/models.py:2575 msgid "Private, protected history" msgstr "" -#: zerver/models.py:2554 +#: zerver/models.py:2583 msgid "Public, protected history" msgstr "" -#: zerver/models.py:2574 +#: zerver/models.py:2603 msgid "All stream members can post" msgstr "Todos os membros da stream podem postar" -#: zerver/models.py:2575 +#: zerver/models.py:2604 msgid "Only organization administrators can post" msgstr "" -#: zerver/models.py:2577 +#: zerver/models.py:2606 msgid "Only organization administrators and moderators can post" msgstr "" -#: zerver/models.py:2580 +#: zerver/models.py:2609 msgid "Only organization full members can post" msgstr "" -#: zerver/models.py:3206 +#: zerver/models.py:3222 msgid "Unicode emoji" msgstr "" -#: zerver/models.py:3207 +#: zerver/models.py:3223 msgid "Custom emoji" msgstr "Emoji customizado" -#: zerver/models.py:3208 +#: zerver/models.py:3224 msgid "Zulip extra emoji" msgstr "Emoji extra do Zulip" -#: zerver/models.py:4645 -msgid "User with ID {} is deactivated" +#: zerver/models.py:4733 +#, python-brace-format +msgid "User with ID {user_id} is deactivated" msgstr "" -#: zerver/models.py:4648 -msgid "User with ID {} is a bot" +#: zerver/models.py:4737 +#, python-brace-format +msgid "User with ID {user_id} is a bot" msgstr "" -#: zerver/models.py:4688 +#: zerver/models.py:4777 msgid "List of options" msgstr "" -#: zerver/models.py:4691 +#: zerver/models.py:4780 msgid "Person picker" msgstr "" -#: zerver/models.py:4703 +#: zerver/models.py:4792 msgid "Short text" msgstr "" -#: zerver/models.py:4704 +#: zerver/models.py:4793 msgid "Long text" msgstr "" -#: zerver/models.py:4705 +#: zerver/models.py:4794 msgid "Date picker" msgstr "" -#: zerver/models.py:4706 +#: zerver/models.py:4795 msgid "Link" msgstr "" -#: zerver/models.py:4709 +#: zerver/models.py:4798 msgid "External account" msgstr "" -#: zerver/models.py:4714 +#: zerver/models.py:4803 msgid "Pronouns" msgstr "" @@ -4671,20 +5209,20 @@ msgstr "" msgid "An unknown browser" msgstr "" -#: zerver/tornado/event_queue.py:673 +#: zerver/tornado/event_queue.py:678 msgid "Missing 'queue_id' argument" msgstr "Faltando o argumento 'queue_id'" -#: zerver/tornado/event_queue.py:676 +#: zerver/tornado/event_queue.py:681 msgid "Missing 'last_event_id' argument" msgstr "Faltando o argumento 'last_event_id'" -#: zerver/tornado/event_queue.py:683 +#: zerver/tornado/event_queue.py:688 #, python-brace-format msgid "An event newer than {event_id} has already been pruned!" msgstr "" -#: zerver/tornado/event_queue.py:693 +#: zerver/tornado/event_queue.py:698 #, python-brace-format msgid "Event {event_id} was not in this queue" msgstr "" @@ -4752,20 +5290,22 @@ msgstr "" msgid "Default custom field cannot be updated." msgstr "" -#: zerver/views/development/dev_login.py:98 +#: zerver/views/development/dev_login.py:100 msgid "Endpoint not available in production." msgstr "" -#: zerver/views/development/dev_login.py:100 +#: zerver/views/development/dev_login.py:102 msgid "DevAuthBackend not enabled." msgstr "" -#: zerver/views/events_register.py:107 zerver/views/events_register.py:111 -msgid "Invalid '{}' parameter for anonymous request" +#: zerver/views/events_register.py:108 zerver/views/events_register.py:112 +#, python-brace-format +msgid "Invalid '{key}' parameter for anonymous request" msgstr "" #: zerver/views/hotspots.py:19 -msgid "Unknown hotspot: {}" +#, python-brace-format +msgid "Unknown hotspot: {hotspot}" msgstr "" #: zerver/views/invite.py:72 @@ -4773,25 +5313,27 @@ msgid "You must specify at least one email address." msgstr "Você deve especificar pelo menos um endereço de e-mail." #: zerver/views/invite.py:82 -msgid "Stream does not exist with id: {}. No invites were sent." +#, python-brace-format +msgid "Stream does not exist with id: {stream_id}. No invites were sent." msgstr "" -#: zerver/views/invite.py:87 +#: zerver/views/invite.py:89 msgid "You do not have permission to subscribe other users to streams." msgstr "" -#: zerver/views/invite.py:124 zerver/views/invite.py:127 -#: zerver/views/invite.py:146 zerver/views/invite.py:149 -#: zerver/views/invite.py:168 zerver/views/invite.py:173 +#: zerver/views/invite.py:126 zerver/views/invite.py:129 +#: zerver/views/invite.py:148 zerver/views/invite.py:151 +#: zerver/views/invite.py:170 zerver/views/invite.py:175 msgid "No such invitation" msgstr "" -#: zerver/views/invite.py:154 +#: zerver/views/invite.py:156 msgid "Invitation has already been revoked" msgstr "" -#: zerver/views/invite.py:207 -msgid "Invalid stream ID {}. No invites were sent." +#: zerver/views/invite.py:210 +#, python-brace-format +msgid "Invalid stream ID {stream_id}. No invites were sent." msgstr "" #: zerver/views/message_edit.py:98 @@ -4811,7 +5353,8 @@ msgid "Message already deleted" msgstr "" #: zerver/views/message_fetch.py:99 -msgid "Too many messages requested (maximum {})." +#, python-brace-format +msgid "Too many messages requested (maximum {max_messages})." msgstr "" #: zerver/views/message_fetch.py:104 zerver/views/message_flags.py:85 @@ -4819,7 +5362,8 @@ msgid "The anchor can only be excluded at an end of the range" msgstr "" #: zerver/views/message_flags.py:169 -msgid "No such topic '{}'" +#, python-brace-format +msgid "No such topic '{topic}'" msgstr "" #: zerver/views/message_send.py:201 @@ -4863,14 +5407,16 @@ msgstr "" msgid "Client did not pass any new values." msgstr "" -#: zerver/views/presence.py:106 +#: zerver/views/presence.py:108 msgid "" "Client must pass emoji_name if they pass either emoji_code or reaction_type." msgstr "" -#: zerver/views/presence.py:144 -msgid "Invalid status: {}" -msgstr "" +#: zerver/views/presence.py:146 +#, fuzzy, python-brace-format +#| msgid "Invalid attachment" +msgid "Invalid status: {status}" +msgstr "Anexo inválido" #: zerver/views/push_notifications.py:19 msgid "Empty or invalid length token" @@ -4886,36 +5432,37 @@ msgid "" "emoji_code" msgstr "" -#: zerver/views/reactions.py:68 -msgid "Reaction doesn't exist." -msgstr "Esta reação não existe." - #: zerver/views/read_receipts.py:22 msgid "Read receipts are disabled in this organization." msgstr "" #: zerver/views/realm.py:160 -msgid "Invalid language '{}'" +#, python-brace-format +msgid "Invalid language '{language}'" msgstr "" #: zerver/views/realm.py:165 msgid "At least one authentication method must be enabled." msgstr "Pelo menos um método de autenticação deve ser ativado." -#: zerver/views/realm.py:169 -msgid "Invalid video_chat_provider {}" +#: zerver/views/realm.py:170 +#, python-brace-format +msgid "Invalid video_chat_provider {video_chat_provider}" msgstr "" -#: zerver/views/realm.py:173 -msgid "Invalid giphy_rating {}" +#: zerver/views/realm.py:178 +#, python-brace-format +msgid "Invalid giphy_rating {giphy_rating}" msgstr "" -#: zerver/views/realm.py:336 +#: zerver/views/realm.py:335 msgid "Must be a demo organization." msgstr "" #: zerver/views/realm_domains.py:36 -msgid "Invalid domain: {}" +#, fuzzy, python-brace-format +#| msgid "Invalid domain: {}" +msgid "Invalid domain: {error}" msgstr "Domínio inválido: {}" #: zerver/views/realm_domains.py:39 @@ -4928,18 +5475,19 @@ msgstr "" msgid "No entry found for domain {domain}." msgstr "" -#: zerver/views/realm_emoji.py:38 +#: zerver/views/realm_emoji.py:40 msgid "You must upload exactly one file." msgstr "Você deve carregar exatamente um arquivo." -#: zerver/views/realm_emoji.py:40 +#: zerver/views/realm_emoji.py:42 msgid "Only administrators can override default emoji." msgstr "" -#: zerver/views/realm_emoji.py:46 zerver/views/realm_icon.py:27 -#: zerver/views/realm_logo.py:33 zerver/views/upload.py:275 -#: zerver/views/user_settings.py:352 -msgid "Uploaded file is larger than the allowed limit of {} MiB" +#: zerver/views/realm_emoji.py:48 zerver/views/realm_icon.py:27 +#: zerver/views/realm_logo.py:33 zerver/views/upload.py:278 +#: zerver/views/user_settings.py:371 +#, python-brace-format +msgid "Uploaded file is larger than the allowed limit of {max_size} MiB" msgstr "" #: zerver/views/realm_export.py:45 @@ -4979,15 +5527,15 @@ msgstr "" msgid "You must upload exactly one logo." msgstr "" -#: zerver/views/realm_playgrounds.py:33 +#: zerver/views/realm_playgrounds.py:32 msgid "Invalid playground" msgstr "" -#: zerver/views/scheduled_messages.py:64 +#: zerver/views/scheduled_messages.py:66 msgid "Recipient required when updating type of scheduled message." msgstr "" -#: zerver/views/scheduled_messages.py:69 +#: zerver/views/scheduled_messages.py:71 msgid "Topic required when updating scheduled message type to stream." msgstr "" @@ -5016,70 +5564,72 @@ msgstr "" msgid "Invalid value for \"op\". Specify one of \"add\" or \"remove\"." msgstr "" -#: zerver/views/streams.py:322 +#: zerver/views/streams.py:324 msgid "Default streams cannot be made private." msgstr "" -#: zerver/views/streams.py:370 +#: zerver/views/streams.py:372 msgid "Stream already has that name!" msgstr "A Stream já possui este nome!" -#: zerver/views/streams.py:452 zerver/views/user_groups.py:107 -#: zerver/views/user_groups.py:276 +#: zerver/views/streams.py:454 zerver/views/user_groups.py:168 +#: zerver/views/user_groups.py:347 msgid "Nothing to do. Specify at least one of \"add\" or \"delete\"." msgstr "Nada a fazer. Especifique pelo menos se 'adicionar' ou 'excluir'." -#: zerver/views/streams.py:536 +#: zerver/views/streams.py:538 #, python-brace-format msgid "{user_full_name} subscribed you to the stream {stream_name}." msgstr "" -#: zerver/views/streams.py:542 +#: zerver/views/streams.py:544 #, python-brace-format msgid "{user_full_name} subscribed you to the following streams:" msgstr "" -#: zerver/views/streams.py:646 +#: zerver/views/streams.py:655 #, python-brace-format msgid "Unable to access stream ({stream_name})." msgstr "" -#: zerver/views/streams.py:659 +#: zerver/views/streams.py:668 msgid "You can only invite other Zephyr mirroring users to private streams." msgstr "" -#: zerver/views/streams.py:767 +#: zerver/views/streams.py:776 #, python-brace-format msgid "{user_name} created the following streams: {stream_str}." msgstr "" -#: zerver/views/streams.py:769 +#: zerver/views/streams.py:778 #, python-brace-format msgid "{user_name} created a new stream {stream_str}." msgstr "" -#: zerver/views/streams.py:770 +#: zerver/views/streams.py:779 msgid "new streams" msgstr "" -#: zerver/views/streams.py:802 +#: zerver/views/streams.py:811 #, python-brace-format msgid "**{policy}** stream created by {user_name}. **Description:**" msgstr "" -#: zerver/views/streams.py:1050 -msgid "Unknown subscription property: {}" +#: zerver/views/streams.py:1060 +#, python-brace-format +msgid "Unknown subscription property: {property}" msgstr "" -#: zerver/views/streams.py:1054 -msgid "Not subscribed to stream id {}" +#: zerver/views/streams.py:1066 +#, python-brace-format +msgid "Not subscribed to stream id {stream_id}" msgstr "" #: zerver/views/submessage.py:38 msgid "Invalid json for submessage" msgstr "" -#: zerver/views/thumbnail.py:43 zerver/views/upload.py:182 +#: zerver/views/thumbnail.py:43 zerver/views/upload.py:185 msgid "

You are not authorized to view this file.

" msgstr "" @@ -5095,56 +5645,64 @@ msgstr "" msgid "User has disabled typing notifications for direct messages" msgstr "" -#: zerver/views/upload.py:180 -msgid "

File not found.

" +#: zerver/views/upload.py:183 +msgid "

This file does not exist or has been deleted.

" msgstr "" -#: zerver/views/upload.py:220 +#: zerver/views/upload.py:223 msgid "Invalid token" msgstr "" -#: zerver/views/upload.py:222 +#: zerver/views/upload.py:225 msgid "Invalid filename" msgstr "" -#: zerver/views/upload.py:265 +#: zerver/views/upload.py:268 msgid "You must specify a file to upload" msgstr "Você deve especificar um arquivo para fazer o upload" -#: zerver/views/upload.py:267 zerver/views/users.py:424 +#: zerver/views/upload.py:270 zerver/views/users.py:424 #: zerver/views/users.py:526 msgid "You may only upload one file at a time" msgstr "Você só pode fazer upload de um arquivo por vez" -#: zerver/views/user_groups.py:73 +#: zerver/views/user_groups.py:111 msgid "No new data supplied" msgstr "Nenhum novo dado fornecido" -#: zerver/views/user_groups.py:148 +#: zerver/views/user_groups.py:209 #, python-brace-format msgid "{user_full_name} added you to the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:153 +#: zerver/views/user_groups.py:214 #, python-brace-format msgid "{user_full_name} removed you from the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:184 +#: zerver/views/user_groups.py:245 #, python-brace-format msgid "User {user_id} is already a member of this group" msgstr "" -#: zerver/views/user_groups.py:211 -msgid "There is no member '{}' in this user group" +#: zerver/views/user_groups.py:273 +#, python-brace-format +msgid "There is no member '{user_id}' in this user group" msgstr "" -#: zerver/views/user_groups.py:236 +#: zerver/views/user_groups.py:299 #, python-brace-format msgid "User group {group_id} is already a subgroup of this group." msgstr "" -#: zerver/views/user_groups.py:257 +#: zerver/views/user_groups.py:308 +#, python-brace-format +msgid "" +"User group {user_group_id} is already a subgroup of one of the passed " +"subgroups." +msgstr "" + +#: zerver/views/user_groups.py:328 #, python-brace-format msgid "User group {group_id} is not a subgroup of this group." msgstr "" @@ -5153,7 +5711,7 @@ msgstr "" msgid "Avatar changes are disabled in this organization." msgstr "" -#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:293 +#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:312 msgid "Email address changes are disabled in this organization." msgstr "Mudanças no endereço de e-mail desativadas nesta organização." @@ -5161,31 +5719,34 @@ msgstr "Mudanças no endereço de e-mail desativadas nesta organização." msgid "Invalid default_language" msgstr "" -#: zerver/views/user_settings.py:133 -msgid "Invalid notification sound '{}'" +#: zerver/views/user_settings.py:134 +#, python-brace-format +msgid "Invalid notification sound '{notification_sound}'" msgstr "" -#: zerver/views/user_settings.py:141 -msgid "Invalid email batching period: {} seconds" +#: zerver/views/user_settings.py:145 +#, python-brace-format +msgid "Invalid email batching period: {seconds} seconds" msgstr "" -#: zerver/views/user_settings.py:248 +#: zerver/views/user_settings.py:267 msgid "Your Zulip password is managed in LDAP" msgstr "" -#: zerver/views/user_settings.py:258 +#: zerver/views/user_settings.py:277 msgid "Wrong password!" msgstr "Senha incorreta!" -#: zerver/views/user_settings.py:263 -msgid "You're making too many attempts! Try again in {} seconds." +#: zerver/views/user_settings.py:282 +#, python-brace-format +msgid "You're making too many attempts! Try again in {seconds} seconds." msgstr "" -#: zerver/views/user_settings.py:269 +#: zerver/views/user_settings.py:288 msgid "New password is too weak!" msgstr "" -#: zerver/views/user_settings.py:342 +#: zerver/views/user_settings.py:361 msgid "You must upload exactly one avatar." msgstr "Você deve fazer o upload de precisamente um avatar." @@ -5232,6 +5793,12 @@ msgstr "" msgid "Username already in use" msgstr "Nome de usuário já em uso" +#: zerver/views/users.py:686 +#, fuzzy +#| msgid "User not authorized for this query" +msgid "User not authorized to create users" +msgstr "Usuário não autorizado para esta consulta" + #: zerver/views/users.py:701 #, python-brace-format msgid "Email '{email}' not allowed in this organization" @@ -5242,8 +5809,10 @@ msgid "Disposable email addresses are not allowed in this organization" msgstr "" #: zerver/views/users.py:712 -msgid "Email '{}' already in use" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Username already in use" +msgid "Email '{email}' already in use" +msgstr "Nome de usuário já em uso" #: zerver/views/video_calls.py:47 msgid "Invalid Zoom access token" @@ -5301,7 +5870,7 @@ msgstr "Cache do Kerberos inválido" msgid "We were unable to set up mirroring for you" msgstr "" -#: zerver/webhooks/circleci/view.py:76 +#: zerver/webhooks/circleci/view.py:83 msgid "Projects using this version control system provider aren't supported" msgstr "" @@ -5310,7 +5879,7 @@ msgstr "" msgid "Invalid payload" msgstr "" -#: zerver/webhooks/front/view.py:155 +#: zerver/webhooks/front/view.py:151 msgid "Unknown webhook request" msgstr "" @@ -5337,8 +5906,8 @@ msgstr "" #: zerver/webhooks/newrelic/view.py:152 msgid "" -"The newrelic webhook requires state be in " -"[created|activated|acknowledged|closed]" +"The newrelic webhook requires state be in [created|activated|acknowledged|" +"closed]" msgstr "" #: zerver/webhooks/papertrail/view.py:29 @@ -5358,10 +5927,11 @@ msgid "Message from Slack" msgstr "Mensagem do Slack" #: zerver/webhooks/wordpress/view.py:56 -msgid "Unknown WordPress webhook action: {}" +#, python-brace-format +msgid "Unknown WordPress webhook action: {hook}" msgstr "" -#: zerver/worker/queue_processors.py:1123 +#: zerver/worker/queue_processors.py:1114 #, python-brace-format msgid "" "Your data export is complete and has been uploaded here:\n" @@ -5378,47 +5948,60 @@ msgid "Must validate with valid Zulip server API key" msgstr "" #. error -#: zilencer/views.py:62 zilencer/views.py:64 +#: zilencer/views.py:65 zilencer/views.py:67 msgid "Invalid UUID" msgstr "" #. error -#: zilencer/views.py:69 +#: zilencer/views.py:72 msgid "Invalid token type" msgstr "Tipo de token inválido" -#: zilencer/views.py:106 -msgid "{} is not a valid hostname" +#: zilencer/views.py:109 +#, python-brace-format +msgid "{hostname} is not a valid hostname" msgstr "" -#: zilencer/views.py:159 +#: zilencer/views.py:162 msgid "Missing user_id or user_uuid" msgstr "" -#: zilencer/views.py:370 -msgid "Invalid property {}" -msgstr "" +#: zilencer/views.py:373 +#, fuzzy, python-brace-format +#| msgid "Invalid parameters" +msgid "Invalid property {property}" +msgstr "Parâmetros inválidos" -#: zilencer/views.py:372 +#: zilencer/views.py:375 msgid "Data is out of order." msgstr "" -#: zilencer/views.py:395 +#: zilencer/views.py:398 msgid "Invalid data." msgstr "Dado inválido." -#: zproject/backends.py:521 +#: zilencer/views.py:497 +msgid "Malformed audit log data" +msgstr "" + +#: zproject/backends.py:520 msgid "You need to reset your password." msgstr "" -#: zproject/backends.py:2203 +#: zproject/backends.py:2202 msgid "Missing id_token parameter" msgstr "" -#: zproject/backends.py:2904 +#: zproject/backends.py:2902 msgid "Invalid OTP" msgstr "OTP inválido" -#: zproject/backends.py:2907 +#: zproject/backends.py:2905 msgid "Can't use both mobile_flow_otp and desktop_flow_otp together." msgstr "" + +#~ msgid "Thanks for signing up!" +#~ msgstr "Obrigado por inscrever-se!" + +#~ msgid "Just in case, take a look at your Spam folder." +#~ msgstr "Por um acaso, dê uma olhada na sua pasta de Spam." diff --git a/locale/pt_BR/translations.json b/locale/pt_BR/translations.json index 5344165867..c83855cd29 100644 --- a/locale/pt_BR/translations.json +++ b/locale/pt_BR/translations.json @@ -35,7 +35,7 @@ "{name} is not subscribed to this stream. They will not be notified unless you subscribe them.": "{name} não está inscrito nessa stream. Eles não serão notificados a menos que você os inscreva.", "{username} has {number_of_invites_by_user} unexpired invitations.": "", "Subscribe": "", - "Click here to learn about exporting private streams and messages.": "Clique aqui para aprender sobre como exportar streams e mensagens particulares.", + "Click here to learn about exporting private streams and direct messages.": "", "Upgrade for more space.": "Faça Upgrade para ter mais espaço.", " to add a new line": "", " to send": "", @@ -83,6 +83,7 @@ "Add all users": "", "Add another user...": "Adicionar outro usuário...", "Add code playground": "Adicionar code playground", + "Add default streams": "", "Add emoji": "Adicionar emoji", "Add emoji reaction": "Adicionar emoji de reação", "Add extra emoji for members of the {realm_name} organization.": "Adicionar emoji extra para os membros da organização {real_name}.", @@ -90,7 +91,6 @@ "Add linkifier": "Adicionar linkifier", "Add members": "", "Add member…": "Adicionar membro...", - "Add new default stream": "Adicionar nova stream padrão", "Add new user group": "", "Add one or more users": "Adicionar um ou mais usuários", "Add option": "", @@ -150,6 +150,7 @@ "Archive ?": "", "Archive stream": "Stream ativa", "Archiving stream will immediately unsubscribe everyone. This action cannot be undone.": "", + "Archiving this stream will also disable settings that were configured to use this stream:": "", "Are you sure you want to continue?": "", "Are you sure you want to create stream ''''{stream_name}'''' and subscribe {count} users to it?": "Você tem certeza que quer criar a stream \"\"{stream_name}\"\" e inscrever {count} usuários nela?", "Are you sure you want to deactivate this organization?": "Tem certeza que você quer desativar esta organização?", @@ -218,6 +219,7 @@ "Click here to reveal.": "", "Click on the pencil () icon to edit and reschedule a message.": "", "Click outside the input box to save. We'll automatically notify anyone that was added or removed.": "", + "Click to view edit history.": "", "Click to view or download.": "", "Close": "Fechar", "Close modal": "", @@ -360,7 +362,6 @@ "Display my availability to other users": "", "Display names of reacting users when few users have reacted to a message": "", "Display on user card": "", - "Display settings": "", "Do you still want to move the latest {total_messages_allowed_to_move, plural, one {message} other {# messages}}?": "", "Do you want to add everyone?": "", "Domain": "", @@ -388,7 +389,6 @@ "Edit custom profile field": "", "Edit linkfiers": "", "Edit message": "", - "Edit or reschedule message": "", "Edit selected draft": "Editar rascunho selecionado", "Edit selected message or view source": "", "Edit status": "", @@ -398,7 +398,6 @@ "Edit your last message": "Editar sua ultima mensagem", "Edit your profile": "", "Edit {group_name}": "", - "Edited ({last_edit_timestr})": "", "Edited by {full_name}": "", "Education (for-profit)": "", "Education (non-profit)": "", @@ -461,6 +460,7 @@ "External account type": "", "External link": "", "Failed": "", + "Failed adding one or more streams.": "", "Failed to create video call.": "", "Failed to generate preview": "", "Failed to upload %'{file}'": "", @@ -500,6 +500,9 @@ "First message": "Primeira mensagem", "First time? Read our guidelines for creating and naming streams.": "", "First time? Read our guidelines for creating user groups.": "", + "Follow topic": "", + "Followed": "", + "Followed topics": "", "For example, to configure a code playground for code blocks tagged as Python, you can set:": "", "For more examples and technical details, see the help center documentation on adding code playgrounds.": "", "For more examples, see the help center documentation on adding linkifiers.": "", @@ -542,6 +545,7 @@ "High contrast mode": "", "Hint": "", "Hint (up to 80 characters)": "", + "How would you like to invite users?": "", "Humans": "Humanos", "Idle": "", "If you don't know your password, you can reset it.": "", @@ -599,8 +603,10 @@ "Last 30 days": "", "Last 6 months": "", "Last active": "", + "Last edited {last_edit_timestr}": "", "Last message": "Última mensagem", "Last modified": "", + "Last moved {last_edit_timestr}": "", "Learn more": "Saiba mais", "Learn more about mentions here.": "", "Learn more about starring messages here.": "", @@ -623,6 +629,7 @@ "Log out": "Logout", "Looking for our integrations or API documentation?": "", "MOVED": "", + "Main menu": "", "Manage bot": "", "Manage streams": "Gerenciar streams", "Manage this bot": "", @@ -646,7 +653,6 @@ "Mention a time-zone-aware time": "", "Mentioned in": "Mencionado em", "Mentions": "menções", - "Menu": "Menu", "Menus": "Menus", "Message #{stream_name}": "", "Message #{stream_name} > {topic_name}": "", @@ -681,7 +687,6 @@ "Move some messages?": "", "Move this and all following messages in this topic": "", "Move topic": "", - "Moved ({last_edit_timestr})": "", "Moved by {full_name}": "", "Moving messages": "", "Must be invited by a subscriber; new subscribers can only see messages sent after they join; hidden from non-administrator users": "", @@ -734,9 +739,11 @@ "New password is too weak": "", "New stream announcements": "", "New stream message": "Nova mensagem na stream", + "New stream notifications": "", "New task": "", "New topic": "", "New user announcements": "", + "New user notifications": "", "Next message": "Pŕoxima mensagem", "Next unread direct message": "", "Next unread topic": "Próximo tópico não lido", @@ -759,7 +766,6 @@ "No search results": "Sem resultados da busca", "No search results.": "", "No stream subscriptions.": "", - "No streams": "", "No topics are marked as resolved.": "", "No topics match your current filter.": "", "No user group subscriptions.": "", @@ -859,6 +865,7 @@ "Please specify at least one valid recipient.": "", "Political group": "", "Posted by {full_name}": "", + "Preferences": "", "Press > for list of topics": "", "Prevent users from changing their avatar": "", "Prevent users from changing their email address": "", @@ -952,6 +959,7 @@ "Select emoji": "", "Select language": "", "Send": "", + "Send an email": "", "Send automated notice to new topic": "", "Send automated notice to old topic": "", "Send digest emails when I'm away": "", @@ -1103,7 +1111,6 @@ "Time zone": "", "Time's up!": "", "Tip: You can also send \"/poll Some question\"": "", - "To add syntax highlighting to a multi-line code block, add the language's first Pygments short name after the first set of back-ticks. You can also make a code block by indenting each line with 4 spaces.": "", "To invite users, please increase the number of licenses or deactivate inactive users.": "", "To preserve your reading state, this view does not mark messages as read.": "", "Today": "", @@ -1125,7 +1132,6 @@ "Two factor authentication": "", "Type": "", "URL pattern": "", - "URL prefix": "", "URL template": "", "USERS": "USUÁRIOS", "Uncheck all": "", @@ -1268,7 +1274,7 @@ "You and": "", "You and {display_reply_to}": "", "You and {recipients}": "", - "You are about to disable all notifications for private messages, @‑mentions and alerts, which may cause you to miss messages that require your timely attention. If you would like to temporarily disable all desktop notifications, consider turning on \"Do not disturb\" instead.": "", + "You are about to disable all notifications for direct messages, @‑mentions and alerts, which may cause you to miss messages that require your timely attention. If you would like to temporarily disable all desktop notifications, consider turning on \"Do not disturb\" instead.": "", "You are not allowed to send direct messages in this organization.": "", "You are not currently subscribed to this stream.": "", "You are not subscribed to any streams.": "", @@ -1296,6 +1302,7 @@ "You do not have permission to unresolve topics with messages older than {N, plural, one {# hour} other {# hours}} in this organization.": "", "You do not have permission to unresolve topics with messages older than {N, plural, one {# minute} other {# minutes}} in this organization.": "", "You do not have permission to use wildcard mentions in this stream.": "", + "You do not have permissions to generate invite links in this organization.": "", "You don't have any direct message conversations yet.": "", "You get": "", "You have muted .": "", @@ -1336,13 +1343,13 @@ "Zulip Server {display_version}": "", "Zulip Server {display_version} (modified)": "", "Zulip Server {display_version} (patched)": "", + "Zulip lets you configure notifications for each topic. You can also automatically follow or unmute topics you start or participate in.": "", "Zulip lets you mute topics and streams to avoid receiving notifications messages you are not interested in. Muting a stream effectively mutes all topics in that stream. You can also manually mute a topic in an unmuted stream, or unmute a topic in a muted stream. Learn more.": "", "Zulip needs to send email to confirm users' addresses and send notifications.": "", "Zulip needs your permission to enable desktop notifications.": "", "Zulip's translations are contributed by our amazing community of volunteer translators. If you'd like to help, see the Zulip translation guidelines.": "", "[Configure]": "", "[Disable]": "", - "[More…]": "", "[Quoting…]": "", "[Unset]": "", "and {remaining_senders, plural, one {1 other} other {# others}}.": "", @@ -1365,7 +1372,6 @@ "marketing": "", "more conversations": "", "more topics": "", - "or": "ou", "she/her": "", "they/them": "", "{N, plural, one {Done! {N} message marked as read.} other {Done! {N} messages marked as read.}}": "{N, plural, one {} many {} other {}}", diff --git a/locale/pt_PT/LC_MESSAGES/django.po b/locale/pt_PT/LC_MESSAGES/django.po index 3d98a0d69a..6f9dff4be4 100644 --- a/locale/pt_PT/LC_MESSAGES/django.po +++ b/locale/pt_PT/LC_MESSAGES/django.po @@ -38,7 +38,7 @@ msgstr "Canais privados" #: analytics/views/stats.py:296 msgid "Direct messages" -msgstr "" +msgstr "Mensagens directas" #: analytics/views/stats.py:297 msgid "Group direct messages" @@ -891,7 +891,7 @@ msgstr "" #: templates/zerver/app/index.html:165 msgid "Updates may be delayed." -msgstr "" +msgstr "As actualizações podem ser atrasadas." #: templates/zerver/app/index.html:166 msgid "Retrying soon…" diff --git a/locale/pt_PT/translations.json b/locale/pt_PT/translations.json index 8b0482e6af..bd3f23f7c8 100644 --- a/locale/pt_PT/translations.json +++ b/locale/pt_PT/translations.json @@ -347,8 +347,8 @@ "Detailed keyboard shortcuts documentation": "Documentação detalhada de atalhos de teclado", "Detailed message formatting documentation": "Documentação detalhada de formatação de mensagens", "Detailed search filters documentation": "", - "Direct message": "", - "Direct messages": "", + "Direct message": "Mensagem directa", + "Direct messages": "Mensagens directas", "Direct messages and mentions": "", "Direct messages are disabled in this organization.": "", "Direct messages disabled": "", @@ -875,7 +875,7 @@ "Pronouns": "Pronomes", "Public": "Público", "Question": "Pergunta", - "Quote and reply": "", + "Quote and reply": "Citar e responder", "Quote and reply to message": "Citar e responder à mensagem", "Quoted original email (in replies)": "E-mail original citado (em respostas)", "React to selected message with": "Reagir à mensagem seleccionada com", @@ -956,7 +956,7 @@ "Send automated notice to old topic": "Enviar aviso automático para o velho tema", "Send digest emails when I'm away": "Enviar e-mails de resumo quando estou ausente", "Send digest emails when user is away": "Enviar e-mails de resumo quando o utilizador estiver ausente", - "Send direct message": "", + "Send direct message": "Enviar mensagem directa", "Send email notifications for new logins to my account": "Enviar notificações e-mail de novos inícios de sessão para a minha conta", "Send emails introducing Zulip to new users": "Enviar e-mails de introdução do Zulip a novos utilizadores", "Send later": "", @@ -1197,7 +1197,7 @@ "Version {zulip_version}": "Versão {zulip_version}", "Video call provider": "Serviço de videochamada", "View all streams": "", - "View direct messages": "", + "View direct messages": "Ver mensagens directas", "View drafts": "Ver rascunhos", "View edit history": "Ver histórico de edição", "View file": "Ver ficheiro", @@ -1208,7 +1208,7 @@ "View messages sent": "Ver mensagens enviadas", "View messages with yourself": "", "View profile": "", - "View read receipts": "", + "View read receipts": "Ver recibos de leitura", "View recent conversations": "", "View scheduled messages": "", "View stream": "Ver canal", @@ -1382,7 +1382,7 @@ "{minutes} min to edit": "{minutes} minutos para editar", "{minutes} minutes ago": "há {minutos} minutos", "{modal_heading_text}": "", - "{num_of_people, plural, one {This message has been read by {num_of_people} person:} other {This message has been read by {num_of_people} people:}}": "{num_of_people, plural, one {} many {} other {}}", + "{num_of_people, plural, one {This message has been read by {num_of_people} person:} other {This message has been read by {num_of_people} people:}}": "{num_of_people, plural, one {Esta mensagem foi lida por {num_of_people} pessoa:} many {Esta mensagem foi lida por {num_of_people} pessoas:} other {Esta mensagem foi lida por {num_of_people} pessoas:}}", "{seconds} sec to edit": "{seconds} segundos para editar", "{user_time} local time": "", "{username} [said]({link_to_message}):": "{username} [disse]({link_to_message}):", diff --git a/locale/si/LC_MESSAGES/django.po b/locale/si/LC_MESSAGES/django.po index 87439f8ac9..4ba5c0b7e5 100644 --- a/locale/si/LC_MESSAGES/django.po +++ b/locale/si/LC_MESSAGES/django.po @@ -3,16 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# හෙළබස සමූහය, 2021 -# හෙළබස සමූහය, 2022 -# හෙළබස සමූහය, 2022 +# HelaBasa Group , 2021 +# HelaBasa Group , 2022 +# HelaBasa Group , 2022 msgid "" msgstr "" "Project-Id-Version: Zulip\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-05-31 01:00+0000\n" "PO-Revision-Date: 2015-12-06 00:18+0000\n" -"Last-Translator: හෙළබස සමූහය, 2022\n" +"Last-Translator: HelaBasa Group , 2022\n" "Language-Team: Sinhala (http://app.transifex.com/zulip/zulip/language/si/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/locale/sr/LC_MESSAGES/django.po b/locale/sr/LC_MESSAGES/django.po index 230cf8aacf..c571382589 100644 --- a/locale/sr/LC_MESSAGES/django.po +++ b/locale/sr/LC_MESSAGES/django.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Alex Vandiver , 2023 # Iorek Byrnison , 2023 # Марко М. Костић (Marko M. Kostić) , 2015-2016 msgid "" @@ -11,7 +12,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-05-31 01:00+0000\n" "PO-Revision-Date: 2015-12-06 00:18+0000\n" -"Last-Translator: Iorek Byrnison , 2023\n" +"Last-Translator: Alex Vandiver , 2023\n" "Language-Team: Serbian (http://app.transifex.com/zulip/zulip/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -3382,7 +3383,7 @@ msgstr "Потврда нове лозинке" msgid "" "You're making too many attempts to sign in. Try again in {} seconds or " "contact your organization administrator for help." -msgstr "Покушавате превише пута да се пријавите. Покушате поново за {email} секунди или контактирајте администратора организације за помоћ." +msgstr "Покушавате превише пута да се пријавите. Покушате поново за {} секунди или контактирајте администратора организације за помоћ." #: zerver/forms.py:508 msgid "" diff --git a/locale/ta/LC_MESSAGES/django.po b/locale/ta/LC_MESSAGES/django.po index e9fa12c1a5..911937b7cd 100644 --- a/locale/ta/LC_MESSAGES/django.po +++ b/locale/ta/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Zulip\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-13 19:19+0000\n" +"POT-Creation-Date: 2023-07-26 03:33+0000\n" "PO-Revision-Date: 2018-04-11 21:06+0000\n" "Last-Translator: Tim Abbott \n" "Language-Team: Tamil (http://www.transifex.com/zulip/zulip/language/ta/)\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: analytics/views/stats.py:110 zerver/decorator.py:623 zerver/decorator.py:641 +#: analytics/views/stats.py:110 zerver/decorator.py:628 zerver/decorator.py:646 msgid "Not allowed for guest users" msgstr "" @@ -51,7 +51,8 @@ msgid "Group direct messages" msgstr "தனிப்பட்ட செய்தி" #: analytics/views/stats.py:318 -msgid "Unknown chart name: {}" +#, python-brace-format +msgid "Unknown chart name: {chart_name}" msgstr "" #: analytics/views/stats.py:328 @@ -63,8 +64,8 @@ msgstr "" msgid "No analytics data available. Please contact your server administrator." msgstr "" -#: analytics/views/support.py:189 zerver/views/streams.py:304 -#: zerver/views/streams.py:308 zerver/views/streams.py:316 +#: analytics/views/support.py:189 zerver/views/streams.py:306 +#: zerver/views/streams.py:310 zerver/views/streams.py:318 #, fuzzy #| msgid "Enable notifications" msgid "Invalid parameters" @@ -123,30 +124,32 @@ msgid "" "{num_invites} users." msgstr "" -#: corporate/lib/stripe.py:112 -msgid "You must invoice for at least {} users." +#: corporate/lib/stripe.py:113 +#, python-brace-format +msgid "You must invoice for at least {min_licenses} users." msgstr "" -#: corporate/lib/stripe.py:117 +#: corporate/lib/stripe.py:120 +#, python-brace-format msgid "" -"Invoices with more than {} licenses can't be processed from this page. To " -"complete the upgrade, please contact {}." +"Invoices with more than {max_licenses} licenses can't be processed from this " +"page. To complete the upgrade, please contact {email}." msgstr "" -#: corporate/lib/stripe.py:225 +#: corporate/lib/stripe.py:228 #, python-brace-format msgid "Something went wrong. Please contact {email}." msgstr "" -#: corporate/lib/stripe.py:226 +#: corporate/lib/stripe.py:229 msgid "Something went wrong. Please reload the page." msgstr "" -#: corporate/lib/stripe.py:300 +#: corporate/lib/stripe.py:303 msgid "Something went wrong. Please wait a few seconds and try again." msgstr "" -#: corporate/lib/stripe.py:1020 +#: corporate/lib/stripe.py:1023 #, python-brace-format msgid "" "Your organization's request for sponsored hosting has been approved! You " @@ -180,7 +183,7 @@ msgstr "" msgid "Unable to update the plan. The plan has ended." msgstr "" -#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:253 +#: corporate/views/billing_page.py:225 corporate/views/billing_page.py:251 msgid "" "Unable to update licenses manually. Your plan is on automatic license " "management." @@ -196,14 +199,14 @@ msgstr "" msgid "You cannot decrease the licenses in the current billing period." msgstr "" -#: corporate/views/billing_page.py:259 +#: corporate/views/billing_page.py:257 #, python-brace-format msgid "" "Your plan is already scheduled to renew with {licenses_at_next_renewal} " "licenses." msgstr "" -#: corporate/views/billing_page.py:273 +#: corporate/views/billing_page.py:271 msgid "Nothing to change." msgstr "" @@ -217,7 +220,7 @@ msgstr "நிர்வாகிகள்" msgid "Session not found" msgstr "" -#: corporate/views/event_status.py:37 zerver/decorator.py:196 +#: corporate/views/event_status.py:37 zerver/decorator.py:197 msgid "Must be a billing administrator or an organization owner" msgstr "" @@ -270,7 +273,7 @@ msgid "" msgstr "" #: templates/500.html:4 templates/500.html:21 -#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:433 +#: zerver/actions/scheduled_messages.py:411 zerver/middleware.py:410 msgid "Internal server error" msgstr "" @@ -582,7 +585,7 @@ msgstr "" #: templates/corporate/for/events.html:34 #: templates/corporate/for/events.html:288 #: templates/corporate/for/open-source.html:36 -#: templates/corporate/for/open-source.html:720 +#: templates/corporate/for/open-source.html:727 #: templates/corporate/for/research.html:36 #: templates/corporate/for/research.html:402 #: templates/corporate/for/use-cases.html:23 @@ -602,7 +605,7 @@ msgstr "" #: templates/corporate/for/events.html:40 #: templates/corporate/for/events.html:294 #: templates/corporate/for/open-source.html:42 -#: templates/corporate/for/open-source.html:726 +#: templates/corporate/for/open-source.html:733 #: templates/corporate/for/research.html:42 #: templates/corporate/for/research.html:408 #: templates/corporate/for/use-cases.html:29 @@ -614,7 +617,7 @@ msgstr "" #: templates/corporate/for/events.html:37 #: templates/corporate/for/events.html:291 #: templates/corporate/for/open-source.html:39 -#: templates/corporate/for/open-source.html:723 +#: templates/corporate/for/open-source.html:730 #: templates/corporate/for/research.html:39 #: templates/corporate/for/research.html:405 msgid "Request sponsorship" @@ -892,52 +895,52 @@ msgid "Sign up with %(identity_provider)s" msgstr "" #: templates/zerver/accounts_send_confirm.html:5 -msgid "Confirm your email address" -msgstr "" - #: templates/zerver/accounts_send_confirm.html:17 -msgid "Thanks for signing up!" +msgid "Confirm your email address" msgstr "" #: templates/zerver/accounts_send_confirm.html:21 #, python-format msgid "" -"Check your email (%(email)s) so " -"we can get started." +"To complete your registration, check your email account (%(email)s) for a confirmation email " +"from Zulip." msgstr "" #: templates/zerver/accounts_send_confirm.html:25 msgid "" -"Still no email? We can resend it." +"If you don't see a confirmation email in your Inbox or Spam folder, we can " +"resend it." msgstr "" -#: templates/zerver/accounts_send_confirm.html:26 -msgid "Just in case, take a look at your Spam folder." -msgstr "" - -#: templates/zerver/app/index.html:121 +#: templates/zerver/app/index.html:128 msgid "" -"If this message does not go away, try reloading the " -"page." +"If this message does not go away, try reloading " +"the page." msgstr "" -#: templates/zerver/app/index.html:164 +#: templates/zerver/app/index.html:131 +msgid "" +"Error loading Zulip. Try reloading the page." +msgstr "" + +#: templates/zerver/app/index.html:174 msgid "Unable to connect to Zulip." msgstr "" -#: templates/zerver/app/index.html:165 +#: templates/zerver/app/index.html:175 msgid "Updates may be delayed." msgstr "" -#: templates/zerver/app/index.html:166 +#: templates/zerver/app/index.html:176 msgid "Retrying soon…" msgstr "" -#: templates/zerver/app/index.html:167 +#: templates/zerver/app/index.html:177 msgid "Try now." msgstr "" -#: templates/zerver/app/index.html:241 templates/zerver/app/index.html:243 +#: templates/zerver/app/index.html:251 templates/zerver/app/index.html:253 #, fuzzy #| msgid "Private messages" msgid "Messages" @@ -968,6 +971,7 @@ msgstr "" #: templates/zerver/billing_nav.html:4 #: templates/zerver/development/integrations_dev_panel.html:19 +#: templates/zerver/emails/compiled/followup_day2.html:28 #: templates/zerver/portico-header.html:5 #: templates/zerver/portico-header.html:9 msgid "Zulip" @@ -1204,6 +1208,8 @@ msgstr "" msgid "Digest" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:9 +#: templates/zerver/emails/compiled/notify_change_in_email.html:9 #: templates/zerver/emails/confirm_new_email.html:8 #: templates/zerver/emails/confirm_new_email.txt:1 #: templates/zerver/emails/notify_change_in_email.html:8 @@ -1211,6 +1217,7 @@ msgstr "" msgid "Hi," msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:11 #: templates/zerver/emails/confirm_new_email.html:10 #: templates/zerver/emails/confirm_new_email.txt:4 #, python-format @@ -1220,10 +1227,12 @@ msgid "" "please click below:" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:12 #: templates/zerver/emails/confirm_new_email.html:11 msgid "Confirm email change" msgstr "" +#: templates/zerver/emails/compiled/confirm_new_email.html:14 #: templates/zerver/emails/confirm_new_email.html:13 #, python-format msgid "" @@ -1231,6 +1240,638 @@ msgid "" "%(support_email)s." msgstr "" +#: templates/zerver/emails/compiled/confirm_registration.html:11 +#: templates/zerver/emails/confirm_registration.html:10 +#: templates/zerver/emails/confirm_registration.txt:2 +msgid "You have requested a new Zulip organization. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:13 +#: templates/zerver/emails/confirm_registration.html:12 +#: templates/zerver/emails/confirm_registration.txt:4 +msgid "You recently signed up for Zulip. Awesome!" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:18 +#: templates/zerver/emails/confirm_registration.html:17 +msgid "" +"Click the button below to create the organization and register your account." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:20 +#: templates/zerver/emails/confirm_registration.html:19 +msgid "Click the button below to complete registration." +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:22 +#: templates/zerver/emails/compiled/invitation.html:17 +#: templates/zerver/emails/compiled/invitation_reminder.html:15 +#: templates/zerver/emails/confirm_registration.html:21 +#: templates/zerver/emails/invitation.html:16 +#: templates/zerver/emails/invitation_reminder.html:14 +msgid "Complete registration" +msgstr "" + +#: templates/zerver/emails/compiled/confirm_registration.html:24 +#: templates/zerver/emails/compiled/invitation.html:20 +#: templates/zerver/emails/compiled/realm_reactivation.html:20 +#, python-format +msgid "" +"Contact us any time at %(support_email)s if you run into trouble, have any " +"feedback, or just want to chat!" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:8 +#, python-format +msgid "" +"\n" +"Your Zulip account on %(realm_uri)s has been deactivated, and you will " +"no longer be able to log in.\n" +msgstr "" + +#: templates/zerver/emails/compiled/deactivate.html:15 +#: templates/zerver/emails/deactivate.html:15 +#: templates/zerver/emails/deactivate.txt:6 +msgid "The administrators provided the following comment:" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:28 +#: templates/zerver/emails/digest.html:27 +#, fuzzy +#| msgid "All streams" +msgid "New streams" +msgstr "அனைத்து தகவலரங்கங்கள்" + +#: templates/zerver/emails/compiled/digest.html:35 +#: templates/zerver/emails/digest.html:34 +msgid "Click here to log in to Zulip and catch up." +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:40 +#: templates/zerver/emails/compiled/followup_day2.html:34 +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/custom_email_base.pre.html:18 +#: templates/zerver/emails/digest.html:39 +#: templates/zerver/emails/notify_new_login.html:46 +msgid "Manage email preferences" +msgstr "" + +#: templates/zerver/emails/compiled/digest.html:41 +#: templates/zerver/emails/digest.html:40 +#, fuzzy +#| msgid "Enable notifications" +msgid "Unsubscribe from digest emails" +msgstr "அறிவிப்புகளை இயக்கு" + +#: templates/zerver/emails/compiled/email_base_default.html:95 +#: templates/zerver/emails/compiled/email_base_marketing.html:95 +#: templates/zerver/emails/email_base_default.html:33 +#: templates/zerver/emails/email_base_marketing.html:33 +msgid "Swimming fish" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:9 +#: templates/zerver/emails/find_team.html:8 +#: templates/zerver/emails/find_team.txt:1 +msgid "Thanks for your request!" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:11 +#, python-format +msgid "" +"Your email address %(email)s has accounts with the following Zulip " +"organizations hosted by %(external_host)s:" +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:19 +#: templates/zerver/emails/find_team.html:18 +#: templates/zerver/emails/find_team.txt:10 +msgid "" +"If you have trouble logging in, please contact Zulip support by replying to " +"this email." +msgstr "" + +#: templates/zerver/emails/compiled/find_team.html:21 +#: templates/zerver/emails/find_team.html:20 +#: templates/zerver/emails/find_team.txt:13 +msgid "Thanks for using Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:9 +#: templates/zerver/emails/followup_day1.html:24 +#: templates/zerver/emails/followup_day1.txt:1 +msgid "Welcome to Zulip!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:14 +msgid "" +"You've created a demo Zulip organization. Note that this organization will " +"be automatically deleted in 30 days. Learn more about demo organizations here!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:16 +#, python-format +msgid "You've created the new Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:19 +#, python-format +msgid "You've joined the Zulip organization %(realm_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:24 +msgid "Your account details:" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:27 +#: templates/zerver/emails/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.txt:16 +#, fuzzy, python-format +#| msgid "Administrators" +msgid "Organization URL: %(organization_url)s" +msgstr "நிர்வாகிகள்" + +#: templates/zerver/emails/compiled/followup_day1.html:31 +#, python-format +msgid "Username: %(ldap_username)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:34 +#: templates/zerver/emails/followup_day1.html:39 +#: templates/zerver/emails/followup_day1.txt:22 +msgid "Use your LDAP account to log in" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:38 +#, python-format +msgid "Email: %(email)s" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:42 +#, python-format +msgid "" +"(you'll need these to sign in to the mobile and desktop " +"apps)" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:47 +#, python-format +msgid "" +"Check out our guide for admins, become a Zulip pro with a " +"few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:49 +#, python-format +msgid "" +"Learn more about Zulip, become a pro with a few keyboard shortcuts, or dive right in!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:54 +msgid "Cheers," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day1.html:55 +#: templates/zerver/emails/compiled/notify_change_in_email.html:15 +#: templates/zerver/emails/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.txt:7 +#, fuzzy +#| msgid "Zulip" +msgid "Team Zulip" +msgstr "சுலிப்பு" + +#: templates/zerver/emails/compiled/followup_day1.html:59 +msgid "" +"PS: Follow us on Twitter, star us on GitHub, or chat with us live on the Zulip community server!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:9 +msgid "Hey," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:11 +msgid "" +"I wanted to share one last thing with you: a few tips about topics, since " +"mastering topics is a key part of being a Zulip power user." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:13 +#: templates/zerver/emails/followup_day2.html:22 +msgid "Examples of short topics" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:15 +msgid "" +"Topics are like email subject lines. The big difference, though, is that " +"they're really short and lightweight. Two or three words will do it. Don't " +"overthink 'em—you can always edit the message later!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:18 +msgid "Good topics: design mockup, Bug 345, acme burgers" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:19 +msgid "" +"Not recommended: \"What do people think of this new design mockup?\", \"I'm " +"looking at Bug 345\", \"Is Acme Burgers open for lunch?\"" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:22 +msgid "Example of a topic that is too long" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:24 +msgid "" +"Why bother with topics? Well, two reasons: it makes conversations clearer " +"(imagine if email didn't have them!), and it lets you more efficiently catch " +"up on what's happened while you're away—read the topics that are relevant to " +"you, and ignore the ones that aren't!" +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:26 +msgid "Take it for a spin now." +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:28 +#: templates/zerver/emails/compiled/notify_new_login.html:42 +#: templates/zerver/emails/notify_new_login.html:40 +#: templates/zerver/emails/notify_new_login.txt:20 +msgid "Thanks," +msgstr "" + +#: templates/zerver/emails/compiled/followup_day2.html:35 +#, fuzzy +#| msgid "Enable notifications" +msgid "Unsubscribe from welcome emails" +msgstr "அறிவிப்புகளை இயக்கு" + +#: templates/zerver/emails/compiled/invitation.html:10 +#: templates/zerver/emails/invitation.html:9 +#: templates/zerver/emails/invitation.txt:1 +msgid "Hi there," +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:13 +#, python-format +msgid "" +"%(referrer_name)s wants you to join them on Zulip — the team communication " +"tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation.html:16 +#: templates/zerver/emails/compiled/invitation_reminder.html:14 +#: templates/zerver/emails/invitation.html:15 +#: templates/zerver/emails/invitation_reminder.html:13 +msgid "To get started, click the button below." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:9 +#: templates/zerver/emails/invitation_reminder.html:8 +#: templates/zerver/emails/invitation_reminder.txt:1 +msgid "Hi again," +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:11 +#, python-format +msgid "" +"This is a friendly reminder that %(referrer_name)s wants you to join them on " +"Zulip — the team communication tool designed for productivity." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:19 +#: templates/zerver/emails/invitation_reminder.html:18 +#: templates/zerver/emails/invitation_reminder.txt:8 +msgid "This is the last reminder you'll receive for this invitation." +msgstr "" + +#: templates/zerver/emails/compiled/invitation_reminder.html:23 +#: templates/zerver/emails/invitation_reminder.html:22 +#, python-format +msgid "" +"\n" +" This invitation expires in two days. If the invitation expires,\n" +" you'll need to ask %(referrer_name)s for another one.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:18 +#, python-format +msgid "" +"This email does not include message content because your organization has " +"disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:20 +#, python-format +msgid "" +"This email does not include message content because you have disabled message content appearing in " +"email notifications." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:30 +#: templates/zerver/emails/missed_message.html:29 +#: templates/zerver/emails/missed_message.txt:25 +msgid "You are receiving this because you were personally mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:32 +#: templates/zerver/emails/missed_message.html:31 +#: templates/zerver/emails/missed_message.txt:27 +#, python-format +msgid "" +"You are receiving this because @%(mentioned_user_group_name)s was mentioned." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:34 +#: templates/zerver/emails/missed_message.html:39 +#: templates/zerver/emails/missed_message.txt:35 +#, python-format +msgid "" +"You are receiving this because everyone was mentioned in #%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:36 +#: templates/zerver/emails/missed_message.html:43 +#: templates/zerver/emails/missed_message.txt:39 +#, python-format +msgid "" +"You are receiving this because you have email notifications enabled for " +"#%(stream_name)s." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:39 +#, python-format +msgid "" +"Reply to this email directly, view it in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:41 +#, python-format +msgid "" +"View or reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:43 +#, python-format +msgid "" +"Reply in %(realm_name)s Zulip, or manage email preferences." +msgstr "" + +#: templates/zerver/emails/compiled/missed_message.html:45 +#, python-format +msgid "" +"\n" +" Do not reply to this email. This Zulip server is not configured to " +"accept incoming emails (help).\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:11 +#: templates/zerver/emails/notify_change_in_email.html:10 +#, python-format +msgid "" +"The email associated with your Zulip account was recently changed to " +"%(new_email)s. If you did not request this change, please contact us " +"immediately at %(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_change_in_email.html:14 +#: templates/zerver/emails/notify_change_in_email.html:13 +#: templates/zerver/emails/notify_change_in_email.txt:6 +msgid "Best," +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:4 +#: templates/zerver/emails/notify_new_login.html:4 +#, fuzzy, python-format +#| msgid "Administrators" +msgid "" +"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" +msgstr "நிர்வாகிகள்" + +#: templates/zerver/emails/compiled/notify_new_login.html:13 +#: templates/zerver/emails/notify_new_login.html:12 +#: templates/zerver/emails/notify_new_login.txt:1 +msgid "We noticed a recent login for the following Zulip account." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:18 +#: templates/zerver/emails/notify_new_login.html:16 +#, fuzzy, python-format +#| msgid "Administrators" +msgid "Organization: %(organization_link)s" +msgstr "நிர்வாகிகள்" + +#: templates/zerver/emails/compiled/notify_new_login.html:21 +#: templates/zerver/emails/notify_new_login.html:19 +#: templates/zerver/emails/notify_new_login.txt:5 +#, python-format +msgid "Email: %(user_email)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:24 +#: templates/zerver/emails/notify_new_login.html:22 +#: templates/zerver/emails/notify_new_login.txt:7 +#, python-format +msgid "Time: %(login_time)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:27 +#: templates/zerver/emails/notify_new_login.html:25 +#: templates/zerver/emails/notify_new_login.txt:9 +#, python-format +msgid "Device: %(device_browser)s on %(device_os)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:30 +#: templates/zerver/emails/notify_new_login.html:28 +#: templates/zerver/emails/notify_new_login.txt:11 +#, python-format +msgid "IP address: %(device_ip)s" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:35 +#: templates/zerver/emails/notify_new_login.html:33 +#: templates/zerver/emails/notify_new_login.txt:14 +msgid "If this was you, great! There's nothing else you need to do." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:38 +#, python-format +msgid "" +"If you do not recognize this login, or think your account may have been " +"compromised, please reset your password or contact us immediately at " +"%(support_email)s." +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:43 +#: templates/zerver/emails/notify_new_login.html:41 +#: templates/zerver/emails/notify_new_login.txt:21 +msgid "Zulip Security" +msgstr "" + +#: templates/zerver/emails/compiled/notify_new_login.html:48 +#: templates/zerver/emails/notify_new_login.html:46 +#, fuzzy +#| msgid "Enable notifications" +msgid "Unsubscribe from login notifications" +msgstr "அறிவிப்புகளை இயக்கு" + +#: templates/zerver/emails/compiled/password_reset.html:10 +#: templates/zerver/emails/password_reset.html:9 +#: templates/zerver/emails/password_reset.txt:1 +#, python-format +msgid "" +"Somebody (possibly you) requested a new password for the Zulip account " +"%(email)s on %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:14 +#: templates/zerver/emails/password_reset.html:13 +msgid "Click the button below to reset your password." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:15 +#: templates/zerver/emails/password_reset.html:14 +#, fuzzy +#| msgid "Password" +msgid "Reset password" +msgstr "கடவுச்சொல்" + +#: templates/zerver/emails/compiled/password_reset.html:20 +#, python-format +msgid "" +"You previously had an account on %(organization_url)s, but it has been " +"deactivated. You can contact an organization administrator to reactivate your account." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:22 +#: templates/zerver/emails/password_reset.html:21 +#: templates/zerver/emails/password_reset.txt:11 +msgid "You do not have an account in that Zulip organization." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:27 +#: templates/zerver/emails/password_reset.html:26 +#: templates/zerver/emails/password_reset.txt:16 +msgid "You do have active accounts in the following organization(s)." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:34 +#: templates/zerver/emails/password_reset.html:32 +#: templates/zerver/emails/password_reset.txt:21 +msgid "" +"You can try logging in or resetting your password in the organization(s) " +"above." +msgstr "" + +#: templates/zerver/emails/compiled/password_reset.html:40 +#: templates/zerver/emails/password_reset.html:38 +#: templates/zerver/emails/password_reset.txt:25 +msgid "" +"If you do not recognize this activity, you can safely ignore this email." +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:8 +#: templates/zerver/emails/realm_auto_downgraded.html:8 +#, python-format +msgid "" +"\n" +" Your organization, %(organization_name_with_link)s, has been downgraded " +"to the Zulip Cloud\n" +" Free plan because of unpaid invoices. The unpaid invoices have been " +"voided.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:15 +#: templates/zerver/emails/realm_auto_downgraded.html:15 +#, python-format +msgid "" +"\n" +" To continue on the Zulip Cloud Standard plan, please upgrade again by " +"going to %(upgrade_url)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_auto_downgraded.html:22 +#: templates/zerver/emails/realm_auto_downgraded.html:22 +#, python-format +msgid "" +"\n" +" If you think this was a mistake or need more details, please reach out " +"to us at %(support_email)s.\n" +" " +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:9 +#: templates/zerver/emails/realm_reactivation.html:8 +#: templates/zerver/emails/realm_reactivation.txt:1 +#, python-format +msgid "Dear former administrators of %(realm_name)s," +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:11 +#: templates/zerver/emails/realm_reactivation.html:10 +#: templates/zerver/emails/realm_reactivation.txt:4 +#, python-format +msgid "" +"One of your administrators requested reactivation of the previously " +"deactivated Zulip organization hosted at %(realm_uri)s." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:14 +#: templates/zerver/emails/realm_reactivation.html:13 +msgid "Click the button below to reactivate your organization." +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:15 +#: templates/zerver/emails/realm_reactivation.html:14 +msgid "Reactivate organization" +msgstr "" + +#: templates/zerver/emails/compiled/realm_reactivation.html:18 +#: templates/zerver/emails/realm_reactivation.html:17 +#: templates/zerver/emails/realm_reactivation.txt:10 +msgid "" +"If the request was in error, you can take no action and this link will " +"expire in 24 hours." +msgstr "" + #: templates/zerver/emails/confirm_new_email.subject.txt:1 msgid "Verify your new email address" msgstr "" @@ -1242,31 +1883,6 @@ msgid "" "<%(support_email)s>." msgstr "" -#: templates/zerver/emails/confirm_registration.html:10 -#: templates/zerver/emails/confirm_registration.txt:2 -msgid "You have requested a new Zulip organization. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:12 -#: templates/zerver/emails/confirm_registration.txt:4 -msgid "You recently signed up for Zulip. Awesome!" -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:17 -msgid "" -"Click the button below to create the organization and register your account." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:19 -msgid "Click the button below to complete registration." -msgstr "" - -#: templates/zerver/emails/confirm_registration.html:21 -#: templates/zerver/emails/invitation.html:16 -#: templates/zerver/emails/invitation_reminder.html:14 -msgid "Complete registration" -msgstr "" - #: templates/zerver/emails/confirm_registration.subject.txt:2 msgid "Create your Zulip organization" msgstr "" @@ -1305,12 +1921,6 @@ msgid "" "at %(support_email)s." msgstr "" -#: templates/zerver/emails/custom_email_base.pre.html:18 -#: templates/zerver/emails/digest.html:39 -#: templates/zerver/emails/notify_new_login.html:46 -msgid "Manage email preferences" -msgstr "" - #: templates/zerver/emails/custom_email_base.pre.html:18 #, fuzzy #| msgid "Enable notifications" @@ -1325,11 +1935,6 @@ msgid "" "deactivated, and you will no longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/deactivate.html:15 -#: templates/zerver/emails/deactivate.txt:6 -msgid "The administrators provided the following comment:" -msgstr "" - #: templates/zerver/emails/deactivate.subject.txt:1 #, python-format msgid "Notification of account deactivation on %(realm_name)s" @@ -1343,22 +1948,6 @@ msgid "" "longer be able to log in.\n" msgstr "" -#: templates/zerver/emails/digest.html:27 -#, fuzzy -#| msgid "All streams" -msgid "New streams" -msgstr "அனைத்து தகவலரங்கங்கள்" - -#: templates/zerver/emails/digest.html:34 -msgid "Click here to log in to Zulip and catch up." -msgstr "" - -#: templates/zerver/emails/digest.html:40 -#, fuzzy -#| msgid "Enable notifications" -msgid "Unsubscribe from digest emails" -msgstr "அறிவிப்புகளை இயக்கு" - #: templates/zerver/emails/digest.subject.txt:1 #, python-format msgid "Zulip digest for %(realm_name)s" @@ -1379,16 +1968,6 @@ msgstr "" msgid "Unsubscribe from digest emails:" msgstr "அறிவிப்புகளை இயக்கு" -#: templates/zerver/emails/email_base_default.html:33 -#: templates/zerver/emails/email_base_marketing.html:33 -msgid "Swimming fish" -msgstr "" - -#: templates/zerver/emails/find_team.html:8 -#: templates/zerver/emails/find_team.txt:1 -msgid "Thanks for your request!" -msgstr "" - #: templates/zerver/emails/find_team.html:10 #, python-format msgid "" @@ -1396,18 +1975,6 @@ msgid "" "organizations hosted by %(external_host)s:" msgstr "" -#: templates/zerver/emails/find_team.html:18 -#: templates/zerver/emails/find_team.txt:10 -msgid "" -"If you have trouble logging in, please contact Zulip support by replying to " -"this email." -msgstr "" - -#: templates/zerver/emails/find_team.html:20 -#: templates/zerver/emails/find_team.txt:13 -msgid "Thanks for using Zulip!" -msgstr "" - #: templates/zerver/emails/find_team.subject.txt:1 msgid "Your Zulip accounts" msgstr "" @@ -1437,11 +2004,6 @@ msgid "" " organization: %(realm_name)s." msgstr "" -#: templates/zerver/emails/followup_day1.html:24 -#: templates/zerver/emails/followup_day1.txt:1 -msgid "Welcome to Zulip!" -msgstr "" - #: templates/zerver/emails/followup_day1.html:26 #, python-format msgid "" @@ -1456,24 +2018,12 @@ msgid "" "href=\"%(apps_page_link)s\">mobile and desktop apps:" msgstr "" -#: templates/zerver/emails/followup_day1.html:34 -#: templates/zerver/emails/followup_day1.txt:16 -#, fuzzy, python-format -#| msgid "Administrators" -msgid "Organization URL: %(organization_url)s" -msgstr "நிர்வாகிகள்" - #: templates/zerver/emails/followup_day1.html:37 #: templates/zerver/emails/followup_day1.txt:20 #, python-format msgid "Your username: %(ldap_username)s" msgstr "" -#: templates/zerver/emails/followup_day1.html:39 -#: templates/zerver/emails/followup_day1.txt:22 -msgid "Use your LDAP account to log in" -msgstr "" - #: templates/zerver/emails/followup_day1.html:42 #: templates/zerver/emails/followup_day1.txt:25 #, python-format @@ -1595,10 +2145,6 @@ msgid "" "about…?”" msgstr "" -#: templates/zerver/emails/followup_day2.html:22 -msgid "Examples of short topics" -msgstr "" - #: templates/zerver/emails/followup_day2.html:25 #, python-format msgid "" @@ -1643,11 +2189,6 @@ msgid "" "(%(move_topic_to_different_stream_link)s)." msgstr "" -#: templates/zerver/emails/invitation.html:9 -#: templates/zerver/emails/invitation.txt:1 -msgid "Hi there," -msgstr "" - #: templates/zerver/emails/invitation.html:12 #, python-format msgid "" @@ -1655,11 +2196,6 @@ msgid "" "communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation.html:15 -#: templates/zerver/emails/invitation_reminder.html:13 -msgid "To get started, click the button below." -msgstr "" - #: templates/zerver/emails/invitation.subject.txt:1 #, python-format msgid "%(referrer_full_name)s has invited you to join %(referrer_realm_name)s" @@ -1677,11 +2213,6 @@ msgstr "" msgid "To get started, click the link below." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:8 -#: templates/zerver/emails/invitation_reminder.txt:1 -msgid "Hi again," -msgstr "" - #: templates/zerver/emails/invitation_reminder.html:10 #, python-format msgid "" @@ -1689,20 +2220,6 @@ msgid "" "Zulip — the team communication tool designed for productivity." msgstr "" -#: templates/zerver/emails/invitation_reminder.html:18 -#: templates/zerver/emails/invitation_reminder.txt:8 -msgid "This is the last reminder you'll receive for this invitation." -msgstr "" - -#: templates/zerver/emails/invitation_reminder.html:22 -#, python-format -msgid "" -"\n" -" This invitation expires in two days. If the invitation expires,\n" -" you'll need to ask %(referrer_name)s for another one.\n" -" " -msgstr "" - #: templates/zerver/emails/invitation_reminder.subject.txt:1 #, python-format msgid "Reminder: Join %(referrer_name)s at %(referrer_realm_name)s" @@ -1753,34 +2270,31 @@ msgid "" "content appearing in email notifications." msgstr "" -#: templates/zerver/emails/missed_message.html:29 -#: templates/zerver/emails/missed_message.txt:25 -msgid "You are receiving this because you were personally mentioned." -msgstr "" - -#: templates/zerver/emails/missed_message.html:31 -#: templates/zerver/emails/missed_message.txt:27 -#, python-format -msgid "" -"You are receiving this because @%(mentioned_user_group_name)s was mentioned." -msgstr "" - #: templates/zerver/emails/missed_message.html:33 +#: templates/zerver/emails/missed_message.html:37 #: templates/zerver/emails/missed_message.txt:29 +#: templates/zerver/emails/missed_message.txt:33 #, python-format msgid "" -"You are receiving this because everyone was mentioned in #%(stream_name)s." +"You are receiving this because all topic participants were mentioned in " +"#%(stream_name)s > %(topic_name)s." msgstr "" #: templates/zerver/emails/missed_message.html:35 #: templates/zerver/emails/missed_message.txt:31 -#, python-format msgid "" -"You are receiving this because you have email notifications enabled for " -"#%(stream_name)s." +"You are receiving this because you have wildcard mention notifications " +"enabled for topics you follow." msgstr "" -#: templates/zerver/emails/missed_message.html:38 +#: templates/zerver/emails/missed_message.html:41 +#: templates/zerver/emails/missed_message.txt:37 +msgid "" +"You are receiving this because you have email notifications enabled for " +"topics you follow." +msgstr "" + +#: templates/zerver/emails/missed_message.html:46 #, python-format msgid "" "Reply to this email directly, view it in " @@ -1788,21 +2302,21 @@ msgid "" "preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:40 +#: templates/zerver/emails/missed_message.html:48 #, python-format msgid "" "View or reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:42 +#: templates/zerver/emails/missed_message.html:50 #, python-format msgid "" "Reply in %(realm_name)s Zulip, or manage email preferences." msgstr "" -#: templates/zerver/emails/missed_message.html:44 +#: templates/zerver/emails/missed_message.html:52 #, python-format msgid "" "\n" @@ -1850,52 +2364,32 @@ msgid "" "See %(alert_notif_url)s for more details.\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:35 +#: templates/zerver/emails/missed_message.txt:43 #, python-format msgid "Reply to this email directly, or view it in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:39 +#: templates/zerver/emails/missed_message.txt:47 #, python-format msgid "View or reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:43 +#: templates/zerver/emails/missed_message.txt:51 #, python-format msgid "Reply in %(realm_name)s Zulip:" msgstr "" -#: templates/zerver/emails/missed_message.txt:47 +#: templates/zerver/emails/missed_message.txt:55 msgid "" "\n" "Do not reply to this email. This Zulip server is not configured to accept\n" "incoming emails. Help:\n" msgstr "" -#: templates/zerver/emails/missed_message.txt:54 +#: templates/zerver/emails/missed_message.txt:62 msgid "Manage email preferences: " msgstr "" -#: templates/zerver/emails/notify_change_in_email.html:10 -#, python-format -msgid "" -"The email associated with your Zulip account was recently changed to " -"%(new_email)s. If you did not request this change, please contact us " -"immediately at %(support_email)s." -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:13 -#: templates/zerver/emails/notify_change_in_email.txt:6 -msgid "Best," -msgstr "" - -#: templates/zerver/emails/notify_change_in_email.html:14 -#: templates/zerver/emails/notify_change_in_email.txt:7 -#, fuzzy -#| msgid "Zulip" -msgid "Team Zulip" -msgstr "சுலிப்பு" - #: templates/zerver/emails/notify_change_in_email.subject.txt:1 #, python-format msgid "Zulip email changed for %(realm_name)s" @@ -1909,53 +2403,6 @@ msgid "" "immediately at <%(support_email)s>." msgstr "" -#: templates/zerver/emails/notify_new_login.html:4 -#, fuzzy, python-format -#| msgid "Administrators" -msgid "" -"Organization: %(organization_url)s Time: %(login_time)s Email: %(user_email)s" -msgstr "நிர்வாகிகள்" - -#: templates/zerver/emails/notify_new_login.html:12 -#: templates/zerver/emails/notify_new_login.txt:1 -msgid "We noticed a recent login for the following Zulip account." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:16 -#, fuzzy, python-format -#| msgid "Administrators" -msgid "Organization: %(organization_link)s" -msgstr "நிர்வாகிகள்" - -#: templates/zerver/emails/notify_new_login.html:19 -#: templates/zerver/emails/notify_new_login.txt:5 -#, python-format -msgid "Email: %(user_email)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:22 -#: templates/zerver/emails/notify_new_login.txt:7 -#, python-format -msgid "Time: %(login_time)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:25 -#: templates/zerver/emails/notify_new_login.txt:9 -#, python-format -msgid "Device: %(device_browser)s on %(device_os)s." -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:28 -#: templates/zerver/emails/notify_new_login.txt:11 -#, python-format -msgid "IP address: %(device_ip)s" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:33 -#: templates/zerver/emails/notify_new_login.txt:14 -msgid "If this was you, great! There's nothing else you need to do." -msgstr "" - #: templates/zerver/emails/notify_new_login.html:36 #, python-format msgid "" @@ -1964,22 +2411,6 @@ msgid "" "contact us immediately at %(support_email)s." msgstr "" -#: templates/zerver/emails/notify_new_login.html:40 -#: templates/zerver/emails/notify_new_login.txt:20 -msgid "Thanks," -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:41 -#: templates/zerver/emails/notify_new_login.txt:21 -msgid "Zulip Security" -msgstr "" - -#: templates/zerver/emails/notify_new_login.html:46 -#, fuzzy -#| msgid "Enable notifications" -msgid "Unsubscribe from login notifications" -msgstr "அறிவிப்புகளை இயக்கு" - #: templates/zerver/emails/notify_new_login.subject.txt:1 #, python-format msgid "New login from %(device_browser)s on %(device_os)s" @@ -2073,24 +2504,6 @@ msgstr "" msgid "Zulip guide for communities" msgstr "" -#: templates/zerver/emails/password_reset.html:9 -#: templates/zerver/emails/password_reset.txt:1 -#, python-format -msgid "" -"Somebody (possibly you) requested a new password for the Zulip account " -"%(email)s on %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/password_reset.html:13 -msgid "Click the button below to reset your password." -msgstr "" - -#: templates/zerver/emails/password_reset.html:14 -#, fuzzy -#| msgid "Password" -msgid "Reset password" -msgstr "கடவுச்சொல்" - #: templates/zerver/emails/password_reset.html:19 #, python-format msgid "" @@ -2099,29 +2512,6 @@ msgid "" "href=\"%(help_link)s\">reactivate your account." msgstr "" -#: templates/zerver/emails/password_reset.html:21 -#: templates/zerver/emails/password_reset.txt:11 -msgid "You do not have an account in that Zulip organization." -msgstr "" - -#: templates/zerver/emails/password_reset.html:26 -#: templates/zerver/emails/password_reset.txt:16 -msgid "You do have active accounts in the following organization(s)." -msgstr "" - -#: templates/zerver/emails/password_reset.html:32 -#: templates/zerver/emails/password_reset.txt:21 -msgid "" -"You can try logging in or resetting your password in the organization(s) " -"above." -msgstr "" - -#: templates/zerver/emails/password_reset.html:38 -#: templates/zerver/emails/password_reset.txt:25 -msgid "" -"If you do not recognize this activity, you can safely ignore this email." -msgstr "" - #: templates/zerver/emails/password_reset.subject.txt:1 #, python-format msgid "Password reset request for %(realm_name)s" @@ -2138,64 +2528,6 @@ msgid "" "You can contact an organization administrator to reactivate your account." msgstr "" -#: templates/zerver/emails/realm_auto_downgraded.html:8 -#, python-format -msgid "" -"\n" -" Your organization, %(organization_name_with_link)s, has been downgraded " -"to the Zulip Cloud\n" -" Free plan because of unpaid invoices. The unpaid invoices have been " -"voided.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:15 -#, python-format -msgid "" -"\n" -" To continue on the Zulip Cloud Standard plan, please upgrade again by " -"going to %(upgrade_url)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_auto_downgraded.html:22 -#, python-format -msgid "" -"\n" -" If you think this was a mistake or need more details, please reach out " -"to us at %(support_email)s.\n" -" " -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:8 -#: templates/zerver/emails/realm_reactivation.txt:1 -#, python-format -msgid "Dear former administrators of %(realm_name)s," -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:10 -#: templates/zerver/emails/realm_reactivation.txt:4 -#, python-format -msgid "" -"One of your administrators requested reactivation of the previously " -"deactivated Zulip organization hosted at %(realm_uri)s." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:13 -msgid "Click the button below to reactivate your organization." -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:14 -msgid "Reactivate organization" -msgstr "" - -#: templates/zerver/emails/realm_reactivation.html:17 -#: templates/zerver/emails/realm_reactivation.txt:10 -msgid "" -"If the request was in error, you can take no action and this link will " -"expire in 24 hours." -msgstr "" - #: templates/zerver/emails/realm_reactivation.subject.txt:1 msgid "Reactivate your Zulip organization" msgstr "" @@ -3002,77 +3334,81 @@ msgid "" " " msgstr "" -#: zerver/actions/create_user.py:88 +#: zerver/actions/create_user.py:93 msgid "signups" msgstr "" -#: zerver/actions/create_user.py:101 +#: zerver/actions/create_user.py:106 #, python-brace-format msgid "{user} just signed up for Zulip. (total: {user_count})" msgstr "" -#: zerver/actions/create_user.py:221 +#: zerver/actions/create_user.py:251 #, python-brace-format msgid "{user} accepted your invitation to join Zulip!" msgstr "" -#: zerver/actions/custom_profile_fields.py:129 +#: zerver/actions/custom_profile_fields.py:126 msgid "Invalid order mapping." msgstr "" -#: zerver/actions/custom_profile_fields.py:208 zerver/lib/users.py:390 +#: zerver/actions/custom_profile_fields.py:205 zerver/lib/users.py:396 #: zerver/views/custom_profile_fields.py:195 #: zerver/views/custom_profile_fields.py:216 #, python-brace-format msgid "Field id {id} not found." msgstr "" -#: zerver/actions/default_streams.py:21 -msgid "Invalid default stream group name '{}'" +#: zerver/actions/default_streams.py:25 +#, fuzzy, python-brace-format +#| msgid "Enable notifications" +msgid "Invalid default stream group name '{group_name}'" +msgstr "அறிவிப்புகளை இயக்கு" + +#: zerver/actions/default_streams.py:29 +#, python-brace-format +msgid "Default stream group name too long (limit: {max_length} characters)" msgstr "" -#: zerver/actions/default_streams.py:24 -msgid "Default stream group name too long (limit: {} characters)" +#: zerver/actions/default_streams.py:37 +#, python-brace-format +msgid "" +"Default stream group name '{group_name}' contains NULL (0x00) characters." msgstr "" -#: zerver/actions/default_streams.py:31 -msgid "Default stream group name '{}' contains NULL (0x00) characters." -msgstr "" +#: zerver/actions/default_streams.py:53 +#, fuzzy, python-brace-format +#| msgid "Enable notifications" +msgid "Invalid default stream group {group_name}" +msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/actions/default_streams.py:45 -msgid "Invalid default stream group {}" -msgstr "" - -#: zerver/actions/default_streams.py:92 zerver/actions/default_streams.py:119 +#: zerver/actions/default_streams.py:101 zerver/actions/default_streams.py:128 #, python-brace-format msgid "" "'{stream_name}' is a default stream and cannot be added to '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:103 +#: zerver/actions/default_streams.py:112 zerver/actions/default_streams.py:173 #, python-brace-format msgid "Default stream group '{group_name}' already exists" msgstr "" -#: zerver/actions/default_streams.py:125 +#: zerver/actions/default_streams.py:134 #, python-brace-format msgid "" "Stream '{stream_name}' is already present in default stream group " "'{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:141 +#: zerver/actions/default_streams.py:151 #, python-brace-format msgid "" "Stream '{stream_name}' is not present in default stream group '{group_name}'" msgstr "" -#: zerver/actions/default_streams.py:155 -msgid "This default stream group is already named '{}'" -msgstr "" - -#: zerver/actions/default_streams.py:159 -msgid "Default stream group '{}' already exists" +#: zerver/actions/default_streams.py:166 +#, python-brace-format +msgid "This default stream group is already named '{group_name}'" msgstr "" #: zerver/actions/invites.py:161 @@ -3101,200 +3437,199 @@ msgid "" "invitation. We did send invitations to everyone else!" msgstr "" -#: zerver/actions/message_edit.py:92 zerver/views/scheduled_messages.py:61 +#: zerver/actions/message_edit.py:93 zerver/views/scheduled_messages.py:61 msgid "Nothing to change" msgstr "" -#: zerver/actions/message_edit.py:96 +#: zerver/actions/message_edit.py:97 #, fuzzy #| msgid "Private messages" msgid "Direct messages cannot be moved to streams." msgstr "தனிப்பட்ட செய்தி" -#: zerver/actions/message_edit.py:98 +#: zerver/actions/message_edit.py:99 #, fuzzy #| msgid "Private messages" msgid "Direct messages cannot have topics." msgstr "தனிப்பட்ட செய்தி" -#: zerver/actions/message_edit.py:101 +#: zerver/actions/message_edit.py:102 msgid "Invalid propagate_mode without topic edit" msgstr "" -#: zerver/actions/message_edit.py:107 +#: zerver/actions/message_edit.py:108 msgid "Cannot change message content while changing stream" msgstr "" -#: zerver/actions/message_edit.py:111 +#: zerver/actions/message_edit.py:112 msgid "Widgets cannot be edited." msgstr "" -#: zerver/actions/message_edit.py:162 +#: zerver/actions/message_edit.py:163 #, python-brace-format msgid "{user} has marked this topic as resolved." msgstr "" -#: zerver/actions/message_edit.py:164 +#: zerver/actions/message_edit.py:165 #, python-brace-format msgid "{user} has marked this topic as unresolved." msgstr "" -#: zerver/actions/message_edit.py:967 +#: zerver/actions/message_edit.py:985 #, python-brace-format msgid "This topic was moved to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:971 +#: zerver/actions/message_edit.py:989 #, python-brace-format msgid "A message was moved from this topic to {new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:975 +#: zerver/actions/message_edit.py:993 #, python-brace-format msgid "" "{changed_messages_count} messages were moved from this topic to " "{new_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1030 +#: zerver/actions/message_edit.py:1048 #, python-brace-format msgid "This topic was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1035 +#: zerver/actions/message_edit.py:1053 #, python-brace-format msgid "" "[A message]({message_link}) was moved here from {old_location} by {user}." msgstr "" -#: zerver/actions/message_edit.py:1039 +#: zerver/actions/message_edit.py:1057 #, python-brace-format msgid "" "{changed_messages_count} messages were moved here from {old_location} by " "{user}." msgstr "" -#: zerver/actions/message_edit.py:1167 +#: zerver/actions/message_edit.py:1186 msgid "Your organization has turned off message editing" msgstr "" -#: zerver/actions/message_edit.py:1185 zerver/actions/message_edit.py:1188 +#: zerver/actions/message_edit.py:1204 zerver/actions/message_edit.py:1207 msgid "You don't have permission to edit this message" msgstr "" -#: zerver/actions/message_edit.py:1199 +#: zerver/actions/message_edit.py:1218 msgid "The time limit for editing this message has passed" msgstr "" -#: zerver/actions/message_edit.py:1214 +#: zerver/actions/message_edit.py:1233 msgid "The time limit for editing this message's topic has passed." msgstr "" -#: zerver/actions/message_edit.py:1248 zerver/actions/message_send.py:1428 +#: zerver/actions/message_edit.py:1267 zerver/actions/message_send.py:1558 msgid "You do not have permission to use wildcard mentions in this stream." msgstr "" -#: zerver/actions/message_edit.py:1257 +#: zerver/actions/message_edit.py:1280 msgid "You don't have permission to move this message" msgstr "" -#: zerver/actions/message_edit.py:1263 +#: zerver/actions/message_edit.py:1286 msgid "" "You don't have permission to move this message due to missing access to its " "stream" msgstr "" -#: zerver/actions/message_edit.py:1280 +#: zerver/actions/message_edit.py:1303 msgid "The time limit for editing this message's stream has passed" msgstr "" #: zerver/actions/message_flags.py:257 -msgid "Invalid flag: '{}'" -msgstr "" - -#: zerver/actions/message_flags.py:259 -msgid "Flag not editable: '{}'" -msgstr "" - -#: zerver/actions/message_flags.py:261 -#, fuzzy +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid message flag operation: '{}'" +msgid "Invalid flag: '{flag}'" msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/actions/message_flags.py:333 zerver/lib/message.py:758 -#: zerver/lib/message.py:764 +#: zerver/actions/message_flags.py:259 +#, python-brace-format +msgid "Flag not editable: '{flag}'" +msgstr "" + +#: zerver/actions/message_flags.py:262 +#, fuzzy, python-brace-format +#| msgid "Enable notifications" +msgid "Invalid message flag operation: '{operation}'" +msgstr "அறிவிப்புகளை இயக்கு" + +#: zerver/actions/message_flags.py:335 zerver/lib/message.py:786 +#: zerver/lib/message.py:792 msgid "Invalid message(s)" msgstr "" -#: zerver/actions/message_send.py:156 +#: zerver/actions/message_send.py:161 msgid "Unable to render message" msgstr "" -#: zerver/actions/message_send.py:997 +#: zerver/actions/message_send.py:1127 msgid "Expected exactly one stream" msgstr "" -#: zerver/actions/message_send.py:1008 +#: zerver/actions/message_send.py:1138 msgid "Invalid data type for stream" msgstr "" -#: zerver/actions/message_send.py:1024 zerver/actions/message_send.py:1034 +#: zerver/actions/message_send.py:1154 zerver/actions/message_send.py:1164 #: zerver/actions/scheduled_messages.py:53 msgid "Invalid data type for recipients" msgstr "" -#: zerver/actions/message_send.py:1042 zerver/actions/message_send.py:1050 +#: zerver/actions/message_send.py:1172 zerver/actions/message_send.py:1180 msgid "Recipient lists may contain emails or user IDs, but not both." msgstr "" -#: zerver/actions/message_send.py:1195 +#: zerver/actions/message_send.py:1325 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream ID {stream_id}, " "but there is no stream with that ID." msgstr "" -#: zerver/actions/message_send.py:1206 +#: zerver/actions/message_send.py:1336 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}, but " "that stream does not exist. Click [here]({new_stream_link}) to create it." msgstr "" -#: zerver/actions/message_send.py:1218 +#: zerver/actions/message_send.py:1348 #, python-brace-format msgid "" "Your bot {bot_identity} tried to send a message to stream {stream_name}. The " "stream exists but does not have any subscribers." msgstr "" -#: zerver/actions/message_send.py:1265 +#: zerver/actions/message_send.py:1395 #, fuzzy #| msgid "Administrators" msgid "Direct messages are disabled in this organization." msgstr "நிர்வாகிகள்" -#: zerver/actions/message_send.py:1342 +#: zerver/actions/message_send.py:1472 #, fuzzy #| msgid "Administrators" msgid "Topics are required in this organization" msgstr "நிர்வாகிகள்" -#: zerver/actions/message_send.py:1398 +#: zerver/actions/message_send.py:1528 msgid "Widgets: API programmer sent invalid JSON content" msgstr "" -#: zerver/actions/message_send.py:1404 +#: zerver/actions/message_send.py:1534 #, python-brace-format msgid "Widgets: {error_msg}" msgstr "" -#: zerver/actions/reactions.py:116 -msgid "Reaction already exists." -msgstr "" - -#: zerver/actions/realm_emoji.py:32 zerver/views/realm_emoji.py:36 +#: zerver/actions/realm_emoji.py:40 zerver/views/realm_emoji.py:38 msgid "A custom emoji with this name already exists." msgstr "" @@ -3332,18 +3667,32 @@ msgstr "" msgid "[View scheduled messages](#scheduled)" msgstr "" -#: zerver/actions/streams.py:76 +#: zerver/actions/streams.py:73 msgid "Stream is already deactivated" msgstr "" -#: zerver/actions/streams.py:841 +#: zerver/actions/streams.py:165 +msgid "Stream is not currently deactivated" +msgstr "" + +#: zerver/actions/streams.py:168 +#, python-brace-format +msgid "Stream named {stream_name} already exists" +msgstr "" + +#: zerver/actions/streams.py:230 +#, python-brace-format +msgid "Stream {stream_name} un-archived." +msgstr "" + +#: zerver/actions/streams.py:932 #, python-brace-format msgid "" "{user} changed the [access permissions](/help/stream-permissions) for this " "stream from **{old_policy}** to **{new_policy}**." msgstr "" -#: zerver/actions/streams.py:1025 +#: zerver/actions/streams.py:1118 #, python-brace-format msgid "" "{user} changed the [posting permissions](/help/stream-sending-policy) for " @@ -3353,38 +3702,38 @@ msgid "" "* **New permissions**: {new_policy}.\n" msgstr "" -#: zerver/actions/streams.py:1160 +#: zerver/actions/streams.py:1246 #, python-brace-format msgid "{user_name} renamed stream {old_stream_name} to {new_stream_name}." msgstr "" -#: zerver/actions/streams.py:1179 zerver/actions/streams.py:1181 -#: zerver/views/streams.py:793 +#: zerver/actions/streams.py:1265 zerver/actions/streams.py:1267 +#: zerver/views/streams.py:802 msgid "No description." msgstr "" -#: zerver/actions/streams.py:1184 +#: zerver/actions/streams.py:1270 #, python-brace-format msgid "{user} changed the description for this stream." msgstr "" -#: zerver/actions/streams.py:1186 +#: zerver/actions/streams.py:1272 msgid "Old description" msgstr "" -#: zerver/actions/streams.py:1190 +#: zerver/actions/streams.py:1276 msgid "New description" msgstr "" -#: zerver/actions/streams.py:1258 zerver/actions/streams.py:1263 +#: zerver/actions/streams.py:1344 zerver/actions/streams.py:1349 msgid "Forever" msgstr "" -#: zerver/actions/streams.py:1264 +#: zerver/actions/streams.py:1350 msgid "Messages in this stream will now be retained forever." msgstr "" -#: zerver/actions/streams.py:1270 +#: zerver/actions/streams.py:1356 #, python-brace-format msgid "" "{user} has changed the [message retention period](/help/message-retention-" @@ -3395,56 +3744,59 @@ msgid "" "{summary_line}" msgstr "" -#: zerver/actions/submessage.py:30 +#: zerver/actions/submessage.py:29 msgid "You cannot attach a submessage to this message." msgstr "" #: zerver/actions/typing.py:55 zerver/lib/addressee.py:33 -msgid "Invalid user ID {}" +#, fuzzy, python-brace-format +#| msgid "Enable notifications" +msgid "Invalid user ID {user_id}" +msgstr "அறிவிப்புகளை இயக்கு" + +#: zerver/actions/user_groups.py:213 zerver/actions/user_groups.py:245 +#, python-brace-format +msgid "User group '{group_name}' already exists." msgstr "" -#: zerver/actions/user_groups.py:153 zerver/actions/user_groups.py:168 -msgid "User group '{}' already exists." -msgstr "" - -#: zerver/decorator.py:250 +#: zerver/decorator.py:251 msgid "This API is not available to incoming webhook bots." msgstr "" -#: zerver/decorator.py:277 +#: zerver/decorator.py:278 msgid "Account is not associated with this subdomain" msgstr "" -#: zerver/decorator.py:506 zerver/decorator.py:643 +#: zerver/decorator.py:511 zerver/decorator.py:648 msgid "This endpoint does not accept bot requests." msgstr "" -#: zerver/decorator.py:605 +#: zerver/decorator.py:610 msgid "Must be an server administrator" msgstr "" -#: zerver/decorator.py:662 zerver/lib/streams.py:699 zerver/lib/streams.py:725 -#: zerver/lib/streams.py:727 zerver/lib/streams.py:742 -#: zerver/lib/user_groups.py:35 zerver/lib/user_groups.py:42 -#: zerver/lib/users.py:249 zerver/lib/users.py:278 zerver/views/invite.py:60 -#: zerver/views/realm_emoji.py:31 zerver/views/streams.py:336 -#: zerver/views/streams.py:630 +#: zerver/decorator.py:667 zerver/lib/streams.py:703 zerver/lib/streams.py:729 +#: zerver/lib/streams.py:731 zerver/lib/streams.py:748 +#: zerver/lib/user_groups.py:45 zerver/lib/user_groups.py:52 +#: zerver/lib/users.py:255 zerver/lib/users.py:284 zerver/views/invite.py:60 +#: zerver/views/realm_emoji.py:33 zerver/views/streams.py:338 +#: zerver/views/streams.py:639 msgid "Insufficient permission" msgstr "" -#: zerver/decorator.py:704 +#: zerver/decorator.py:709 msgid "This endpoint requires HTTP basic authentication." msgstr "" -#: zerver/decorator.py:711 +#: zerver/decorator.py:716 msgid "Invalid authorization header for basic auth" msgstr "" -#: zerver/decorator.py:713 +#: zerver/decorator.py:718 msgid "Missing authorization header for basic auth" msgstr "" -#: zerver/decorator.py:886 +#: zerver/decorator.py:893 msgid "Webhook bots can only access webhooks" msgstr "" @@ -3520,9 +3872,10 @@ msgid "New password confirmation" msgstr "" #: zerver/forms.py:496 +#, python-brace-format msgid "" -"You're making too many attempts to sign in. Try again in {} seconds or " -"contact your organization administrator for help." +"You're making too many attempts to sign in. Try again in {seconds} seconds " +"or contact your organization administrator for help." msgstr "" #: zerver/forms.py:508 @@ -3548,9 +3901,9 @@ msgid "We couldn't find that Zulip organization." msgstr "" #: zerver/lib/addressee.py:22 -#, fuzzy +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid email '{}'" +msgid "Invalid email '{email}'" msgstr "அறிவிப்புகளை இயக்கு" #: zerver/lib/addressee.py:61 zerver/lib/addressee.py:128 @@ -3635,11 +3988,11 @@ msgstr "" msgid "Draft does not exist" msgstr "" -#: zerver/lib/email_notifications.py:138 zerver/lib/email_notifications.py:160 +#: zerver/lib/email_notifications.py:140 zerver/lib/email_notifications.py:162 msgid "Open Zulip to see the spoiler content" msgstr "" -#: zerver/lib/email_notifications.py:563 +#: zerver/lib/email_notifications.py:591 #, fuzzy #| msgid "Enable notifications" msgid "Zulip notifications" @@ -3674,176 +4027,185 @@ msgstr "" msgid "Account has been deactivated." msgstr "" -#: zerver/lib/emoji.py:67 zerver/views/realm_emoji.py:59 -msgid "Emoji '{}' does not exist" +#: zerver/lib/emoji.py:88 zerver/views/realm_emoji.py:62 +#, python-brace-format +msgid "Emoji '{emoji_name}' does not exist" msgstr "" -#: zerver/lib/emoji.py:77 +#: zerver/lib/emoji.py:101 msgid "Invalid custom emoji." msgstr "" -#: zerver/lib/emoji.py:79 +#: zerver/lib/emoji.py:103 msgid "Invalid custom emoji name." msgstr "" -#: zerver/lib/emoji.py:81 +#: zerver/lib/emoji.py:105 msgid "This custom emoji has been deactivated." msgstr "" -#: zerver/lib/emoji.py:84 zerver/lib/emoji.py:89 +#: zerver/lib/emoji.py:108 zerver/lib/emoji.py:113 msgid "Invalid emoji code." msgstr "" -#: zerver/lib/emoji.py:86 zerver/lib/emoji.py:91 +#: zerver/lib/emoji.py:110 zerver/lib/emoji.py:115 msgid "Invalid emoji name." msgstr "" -#: zerver/lib/emoji.py:94 +#: zerver/lib/emoji.py:118 msgid "Invalid emoji type." msgstr "" -#: zerver/lib/emoji.py:109 +#: zerver/lib/emoji.py:133 msgid "Must be an organization administrator or emoji author" msgstr "" -#: zerver/lib/emoji.py:117 +#: zerver/lib/emoji.py:141 msgid "Emoji names must end with either a letter or digit." msgstr "" -#: zerver/lib/emoji.py:120 +#: zerver/lib/emoji.py:144 msgid "" "Emoji names must contain only lowercase English letters, digits, spaces, " "dashes, and underscores." msgstr "" -#: zerver/lib/emoji.py:123 +#: zerver/lib/emoji.py:147 msgid "Emoji name is missing" msgstr "" -#: zerver/lib/events.py:1539 +#: zerver/lib/events.py:1543 msgid "Could not allocate event queue" msgstr "" -#: zerver/lib/exceptions.py:137 +#: zerver/lib/exceptions.py:139 msgid "Not logged in: API authentication or user session required" msgstr "" -#: zerver/lib/exceptions.py:162 +#: zerver/lib/exceptions.py:164 #, python-brace-format msgid "Stream '{stream}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:174 +#: zerver/lib/exceptions.py:176 #, python-brace-format msgid "Stream with ID '{stream_id}' does not exist" msgstr "" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 #, fuzzy #| msgid "Administrators" msgid "organization owner" msgstr "நிர்வாகிகள்" -#: zerver/lib/exceptions.py:183 +#: zerver/lib/exceptions.py:185 msgid "user" msgstr "" -#: zerver/lib/exceptions.py:187 +#: zerver/lib/exceptions.py:189 #, python-brace-format msgid "Cannot deactivate the only {entity}." msgstr "" -#: zerver/lib/exceptions.py:199 +#: zerver/lib/exceptions.py:201 #, python-brace-format msgid "Invalid Markdown include statement: {include_statement}" msgstr "" -#: zerver/lib/exceptions.py:211 +#: zerver/lib/exceptions.py:213 msgid "API usage exceeded rate limit" msgstr "" -#: zerver/lib/exceptions.py:234 zerver/lib/request.py:442 +#: zerver/lib/exceptions.py:236 zerver/lib/request.py:441 #: zerver/lib/validator.py:755 msgid "Malformed JSON" msgstr "" -#: zerver/lib/exceptions.py:245 +#: zerver/lib/exceptions.py:247 #, fuzzy #| msgid "Administrators" msgid "Must be an organization member" msgstr "நிர்வாகிகள்" -#: zerver/lib/exceptions.py:256 zerver/views/invite.py:70 -#: zerver/views/invite.py:132 zerver/views/invite.py:178 +#: zerver/lib/exceptions.py:258 zerver/views/invite.py:70 +#: zerver/views/invite.py:134 zerver/views/invite.py:180 msgid "Must be an organization administrator" msgstr "" -#: zerver/lib/exceptions.py:267 +#: zerver/lib/exceptions.py:269 msgid "Must be an organization owner" msgstr "" -#: zerver/lib/exceptions.py:280 +#: zerver/lib/exceptions.py:282 msgid "Your username or password is incorrect" msgstr "" -#: zerver/lib/exceptions.py:288 +#: zerver/lib/exceptions.py:290 msgid "Account is deactivated" msgstr "" -#: zerver/lib/exceptions.py:296 +#: zerver/lib/exceptions.py:298 msgid "This organization has been deactivated" msgstr "" -#: zerver/lib/exceptions.py:305 +#: zerver/lib/exceptions.py:307 msgid "" "The mobile push notification service registration for your server has been " "deactivated" msgstr "" -#: zerver/lib/exceptions.py:314 +#: zerver/lib/exceptions.py:316 msgid "Password authentication is disabled in this organization" msgstr "" -#: zerver/lib/exceptions.py:322 +#: zerver/lib/exceptions.py:324 msgid "Your password has been disabled and needs to be reset" msgstr "" -#: zerver/lib/exceptions.py:338 +#: zerver/lib/exceptions.py:340 msgid "Invalid API key" msgstr "" -#: zerver/lib/exceptions.py:344 +#: zerver/lib/exceptions.py:346 msgid "Malformed API key" msgstr "" -#: zerver/lib/exceptions.py:381 +#: zerver/lib/exceptions.py:385 #, python-brace-format msgid "" "The '{event_type}' event isn't currently supported by the {webhook_name} " -"webhook" +"webhook; ignoring" msgstr "" -#: zerver/lib/exceptions.py:399 +#: zerver/lib/exceptions.py:404 #, python-brace-format msgid "Unable to parse request: Did {webhook_name} generate this event?" msgstr "" -#: zerver/lib/exceptions.py:422 zerver/views/auth.py:741 +#: zerver/lib/exceptions.py:427 zerver/views/auth.py:741 #: zerver/views/auth.py:1076 zerver/views/auth.py:1140 msgid "Invalid subdomain" msgstr "" -#: zerver/lib/exceptions.py:462 +#: zerver/lib/exceptions.py:467 msgid "Access denied" msgstr "" -#: zerver/lib/exceptions.py:501 +#: zerver/lib/exceptions.py:506 #, python-brace-format msgid "" "You only have permission to move the {total_messages_allowed_to_move}/" "{total_messages_in_topic} most recent messages in this topic." msgstr "" +#: zerver/lib/exceptions.py:518 +msgid "Reaction already exists." +msgstr "" + +#: zerver/lib/exceptions.py:529 +msgid "Reaction doesn't exist." +msgstr "" + #: zerver/lib/external_accounts.py:36 msgid "Twitter username" msgstr "" @@ -3958,207 +4320,215 @@ msgstr "" msgid "Version control" msgstr "" -#: zerver/lib/message.py:192 +#: zerver/lib/message.py:220 msgid "Message must not be empty" msgstr "" -#: zerver/lib/message.py:194 +#: zerver/lib/message.py:222 msgid "Message must not contain null bytes" msgstr "" -#: zerver/lib/narrow.py:107 -msgid "Operator {} not supported." +#: zerver/lib/message.py:1668 +#, python-brace-format +msgid "" +"You are not allowed to mention user group '{user_group_name}'. You must be a " +"member of '{can_mention_group_name}' to mention this group." msgstr "" -#: zerver/lib/narrow.py:197 +#: zerver/lib/narrow.py:108 +#, python-brace-format +msgid "Operator {operator} not supported." +msgstr "" + +#: zerver/lib/narrow.py:207 #, python-brace-format msgid "Invalid narrow operator: {desc}" msgstr "" -#: zerver/lib/narrow.py:1038 +#: zerver/lib/narrow.py:1054 msgid "Missing 'anchor' argument." msgstr "" -#: zerver/lib/narrow.py:1058 +#: zerver/lib/narrow.py:1074 msgid "Invalid anchor" msgstr "" -#: zerver/lib/onboarding.py:59 +#: zerver/lib/onboarding.py:57 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Using Zulip for a class guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:66 +#: zerver/lib/onboarding.py:64 #, python-brace-format msgid "" "If you are new to Zulip, check out our [Getting started guide]" "({getting_started_url})!" msgstr "" -#: zerver/lib/onboarding.py:78 +#: zerver/lib/onboarding.py:76 #, python-brace-format msgid "" "We also have a guide for [Setting up Zulip for a class]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:88 +#: zerver/lib/onboarding.py:86 #, python-brace-format msgid "" "We also have a guide for [Setting up your organization]" "({organization_setup_url})." msgstr "" -#: zerver/lib/onboarding.py:98 +#: zerver/lib/onboarding.py:96 #, python-brace-format msgid "" "Note that this is a [demo organization]({demo_organization_help_url}) and " "will be **automatically deleted** in 30 days." msgstr "" -#: zerver/lib/onboarding.py:106 +#: zerver/lib/onboarding.py:104 msgid "Hello, and welcome to Zulip!" msgstr "" -#: zerver/lib/onboarding.py:107 +#: zerver/lib/onboarding.py:105 msgid "This is a direct message from me, Welcome Bot." msgstr "" -#: zerver/lib/onboarding.py:112 +#: zerver/lib/onboarding.py:110 msgid "" "I can also help you get set up! Just click anywhere on this message or press " "`r` to reply." msgstr "" -#: zerver/lib/onboarding.py:115 zerver/lib/onboarding.py:227 +#: zerver/lib/onboarding.py:113 zerver/lib/onboarding.py:225 msgid "Here are a few messages I understand:" msgstr "" -#: zerver/lib/onboarding.py:156 +#: zerver/lib/onboarding.py:154 msgid "" "You can [download](/apps/) the [mobile and desktop apps](/apps/). Zulip also " "works great in a browser." msgstr "" -#: zerver/lib/onboarding.py:161 +#: zerver/lib/onboarding.py:159 msgid "" "Go to [Profile settings](#settings/profile) to add a [profile picture](/help/" "change-your-profile-picture) and edit your [profile information](/help/edit-" "your-profile)." msgstr "" -#: zerver/lib/onboarding.py:167 +#: zerver/lib/onboarding.py:165 msgid "" -"Go to [Display settings](#settings/display-settings) to [switch between the " -"light and dark themes](/help/dark-theme), [pick your favorite emoji theme](/" -"help/emoji-and-emoticons#change-your-emoji-set), [change your language](/" -"help/change-your-language), and make other tweaks to your Zulip experience." +"Go to [Preferences](#settings/preferences) to [switch between the light and " +"dark themes](/help/dark-theme), [pick your favorite emoji theme](/help/emoji-" +"and-emoticons#change-your-emoji-set), [change your language](/help/change-" +"your-language), and make other tweaks to your Zulip experience." msgstr "" -#: zerver/lib/onboarding.py:177 +#: zerver/lib/onboarding.py:175 msgid "" "In Zulip, streams [determine who gets a message](/help/streams-and-topics). " "They are similar to channels in other chat apps." msgstr "" -#: zerver/lib/onboarding.py:181 +#: zerver/lib/onboarding.py:179 msgid "[Browse and subscribe to streams](#streams/all)." msgstr "" -#: zerver/lib/onboarding.py:188 +#: zerver/lib/onboarding.py:186 msgid "" "In Zulip, topics [tell you what a message is about](/help/streams-and-" "topics). They are light-weight subjects, very similar to the subject line of " "an email." msgstr "" -#: zerver/lib/onboarding.py:193 +#: zerver/lib/onboarding.py:191 msgid "" "Check out [Recent conversations](#recent) to see what's happening! You can " "return to this conversation by clicking \"Direct messages\" in the upper " "left." msgstr "" -#: zerver/lib/onboarding.py:202 +#: zerver/lib/onboarding.py:200 msgid "" "Zulip's [keyboard shortcuts](#keyboard-shortcuts) let you navigate the app " "quickly and efficiently." msgstr "" -#: zerver/lib/onboarding.py:206 +#: zerver/lib/onboarding.py:204 msgid "Press `?` any time to see a [cheat sheet](#keyboard-shortcuts)." msgstr "" -#: zerver/lib/onboarding.py:213 +#: zerver/lib/onboarding.py:211 msgid "" "Zulip uses [Markdown](/help/format-your-message-using-markdown), an " "intuitive format for **bold**, *italics*, bulleted lists, and more. Click " "[here](#message-formatting) for a cheat sheet." msgstr "" -#: zerver/lib/onboarding.py:219 +#: zerver/lib/onboarding.py:217 msgid "" "Check out our [messaging tips](/help/messaging-tips) to learn about emoji " "reactions, code blocks and much more!" msgstr "" -#: zerver/lib/onboarding.py:230 +#: zerver/lib/onboarding.py:228 msgid "" "Check out our [Getting started guide](/help/getting-started-with-zulip), or " "browse the [Help center](/help/) to learn more!" msgstr "" -#: zerver/lib/onboarding.py:239 +#: zerver/lib/onboarding.py:237 msgid "" "I’m sorry, I did not understand your message. Please try one of the " "following commands:" msgstr "" -#: zerver/lib/onboarding.py:271 +#: zerver/lib/onboarding.py:269 msgid "" "This is a private stream, as indicated by the lock icon next to the stream " "name." msgstr "" -#: zerver/lib/onboarding.py:273 +#: zerver/lib/onboarding.py:271 msgid "Private streams are only visible to stream members." msgstr "" -#: zerver/lib/onboarding.py:277 +#: zerver/lib/onboarding.py:275 #, python-brace-format msgid "" "To manage this stream, go to [Stream settings]({stream_settings_url}) and " "click on `{initial_private_stream_name}`." msgstr "" -#: zerver/lib/onboarding.py:287 +#: zerver/lib/onboarding.py:285 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `topic demonstration`." msgstr "" -#: zerver/lib/onboarding.py:293 +#: zerver/lib/onboarding.py:291 msgid "Topics are a lightweight tool to keep conversations organized." msgstr "" -#: zerver/lib/onboarding.py:295 +#: zerver/lib/onboarding.py:293 #, python-brace-format msgid "" "You can learn more about topics at [Streams and topics]" "({about_topics_help_url})." msgstr "" -#: zerver/lib/onboarding.py:300 +#: zerver/lib/onboarding.py:298 #, python-brace-format msgid "" "This is a message on stream #**{default_notification_stream_name}** with the " "topic `swimming turtles`." msgstr "" -#: zerver/lib/onboarding.py:309 +#: zerver/lib/onboarding.py:307 #, python-brace-format msgid "" "[Start a new topic]({start_topic_help_url}) any time you're not replying to " @@ -4178,13 +4548,13 @@ msgstr "அறிவிப்புகளை இயக்கு" #: zerver/lib/push_notifications.py:341 #, fuzzy #| msgid "Enable notifications" -msgid "Invalid GCM option to bouncer: priority {!r}" +msgid "Invalid GCM option to bouncer: priority {priority!r}" msgstr "அறிவிப்புகளை இயக்கு" #: zerver/lib/push_notifications.py:351 -#, fuzzy +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid GCM options to bouncer: {}" +msgid "Invalid GCM options to bouncer: {options}" msgstr "அறிவிப்புகளை இயக்கு" #. error @@ -4192,30 +4562,43 @@ msgstr "அறிவிப்புகளை இயக்கு" msgid "Token does not exist" msgstr "" -#: zerver/lib/push_notifications.py:746 +#: zerver/lib/push_notifications.py:758 msgid "" "This organization has disabled including message content in mobile push " "notifications" msgstr "" -#: zerver/lib/push_notifications.py:835 +#: zerver/lib/push_notifications.py:847 #, python-brace-format msgid "{full_name} mentioned @{user_group_name}:" msgstr "" -#: zerver/lib/push_notifications.py:839 +#: zerver/lib/push_notifications.py:851 #, python-brace-format msgid "{full_name} mentioned you:" msgstr "" -#: zerver/lib/push_notifications.py:841 +#: zerver/lib/push_notifications.py:853 +msgid "TODO - 2" +msgstr "" + +#: zerver/lib/push_notifications.py:855 +msgid "TODO" +msgstr "" + +#: zerver/lib/push_notifications.py:857 +#, python-brace-format +msgid "{full_name} mentioned all topic participants:" +msgstr "" + +#: zerver/lib/push_notifications.py:861 #, python-brace-format msgid "{full_name} mentioned everyone:" msgstr "" #: zerver/lib/recipient_users.py:29 zerver/lib/streams.py:268 -#: zerver/lib/streams.py:276 zerver/lib/streams.py:838 -#: zerver/tornado/views.py:164 zerver/views/events_register.py:94 +#: zerver/lib/streams.py:276 zerver/lib/streams.py:846 +#: zerver/tornado/views.py:164 zerver/views/events_register.py:95 #: zerver/views/message_send.py:182 zerver/views/message_send.py:203 msgid "User not authorized for this query" msgstr "" @@ -4230,31 +4613,33 @@ msgid "You can't send direct messages outside of your organization." msgstr "" #: zerver/lib/remote_server.py:93 -msgid "Push notifications bouncer error: {}" +#, python-brace-format +msgid "Push notifications bouncer error: {error}" msgstr "" -#: zerver/lib/request.py:92 +#: zerver/lib/request.py:91 #, python-brace-format msgid "Can't decide between '{var_name1}' and '{var_name2}' arguments" msgstr "" -#: zerver/lib/request.py:104 +#: zerver/lib/request.py:103 #, python-brace-format msgid "Missing '{var_name}' argument" msgstr "" -#: zerver/lib/request.py:117 +#: zerver/lib/request.py:116 #, python-brace-format msgid "Bad value for '{var_name}': {bad_value}" msgstr "" -#: zerver/lib/request.py:395 zerver/webhooks/ifttt/view.py:36 +#: zerver/lib/request.py:394 zerver/webhooks/ifttt/view.py:36 #: zerver/webhooks/slack_incoming/view.py:42 msgid "Malformed payload" msgstr "" #: zerver/lib/request.py:443 -msgid "Argument \"{}\" is not valid JSON." +#, python-brace-format +msgid "Argument \"{name}\" is not valid JSON." msgstr "" #: zerver/lib/scheduled_messages.py:20 @@ -4282,46 +4667,50 @@ msgstr "" msgid "New members cannot send to this stream." msgstr "" -#: zerver/lib/streams.py:301 -msgid "Not authorized to send to stream '{}'" +#: zerver/lib/streams.py:302 +#, python-brace-format +msgid "Not authorized to send to stream '{stream_name}'" msgstr "" -#: zerver/lib/streams.py:306 +#: zerver/lib/streams.py:308 msgid "Please supply 'stream'." msgstr "" -#: zerver/lib/streams.py:309 +#: zerver/lib/streams.py:311 msgid "Please choose one: 'stream' or 'stream_id'." msgstr "" -#: zerver/lib/streams.py:315 zerver/lib/streams.py:334 -#: zerver/lib/streams.py:417 zerver/lib/streams.py:483 -#: zerver/views/streams.py:399 zerver/views/user_topics.py:101 +#: zerver/lib/streams.py:317 zerver/lib/streams.py:336 +#: zerver/lib/streams.py:419 zerver/lib/streams.py:487 +#: zerver/views/streams.py:401 zerver/views/user_topics.py:101 #, fuzzy #| msgid "Enable notifications" msgid "Invalid stream ID" msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/lib/streams.py:459 -msgid "Stream name '{}' is already taken." +#: zerver/lib/streams.py:462 +#, python-brace-format +msgid "Stream name '{stream_name}' is already taken." msgstr "" -#: zerver/lib/streams.py:467 zerver/lib/streams.py:587 -#, fuzzy +#: zerver/lib/streams.py:471 zerver/lib/streams.py:591 +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid stream name '{}'" +msgid "Invalid stream name '{stream_name}'" msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/lib/streams.py:731 -msgid "Stream(s) ({}) do not exist" +#: zerver/lib/streams.py:735 +#, python-brace-format +msgid "Stream(s) ({stream_names}) do not exist" msgstr "" -#: zerver/lib/streams.py:738 zerver/views/streams.py:334 +#: zerver/lib/streams.py:744 zerver/views/streams.py:336 msgid "Web-public streams are not enabled." msgstr "" -#: zerver/lib/streams.py:767 -msgid "Default stream group with id '{}' does not exist." +#: zerver/lib/streams.py:774 +#, python-brace-format +msgid "Default stream group with id '{group_id}' does not exist." msgstr "" #: zerver/lib/string_validation.py:38 @@ -4329,23 +4718,24 @@ msgid "Stream name can't be empty!" msgstr "" #: zerver/lib/string_validation.py:42 -msgid "Stream name too long (limit: {} characters)." +#, python-brace-format +msgid "Stream name too long (limit: {max_length} characters)." msgstr "" -#: zerver/lib/string_validation.py:48 -#, fuzzy +#: zerver/lib/string_validation.py:50 +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid character in stream name, at position {}!" +msgid "Invalid character in stream name, at position {position}!" msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/lib/string_validation.py:54 +#: zerver/lib/string_validation.py:58 msgid "Topic can't be empty!" msgstr "" -#: zerver/lib/string_validation.py:59 -#, fuzzy +#: zerver/lib/string_validation.py:63 +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid character in topic, at position {}!" +msgid "Invalid character in topic, at position {position}!" msgstr "அறிவிப்புகளை இயக்கு" #: zerver/lib/subscription_info.py:295 @@ -4360,48 +4750,62 @@ msgstr "" msgid "Upload would exceed your organization's upload quota." msgstr "" -#: zerver/lib/upload/base.py:67 zerver/lib/upload/base.py:83 -#: zerver/lib/upload/base.py:177 +#: zerver/lib/upload/base.py:68 zerver/lib/upload/base.py:84 +#: zerver/lib/upload/base.py:178 msgid "Could not decode image; did you upload an image file?" msgstr "" -#: zerver/lib/upload/base.py:69 zerver/lib/upload/base.py:85 -#: zerver/lib/upload/base.py:179 +#: zerver/lib/upload/base.py:70 zerver/lib/upload/base.py:86 +#: zerver/lib/upload/base.py:180 msgid "Image size exceeds limit." msgstr "" -#: zerver/lib/upload/base.py:107 +#: zerver/lib/upload/base.py:108 msgid "Corrupt animated image." msgstr "" -#: zerver/lib/upload/base.py:116 +#: zerver/lib/upload/base.py:117 msgid "Unknown animated image format." msgstr "" -#: zerver/lib/user_groups.py:44 +#: zerver/lib/user_groups.py:54 msgid "Invalid user group" msgstr "" -#: zerver/lib/user_groups.py:56 -#, fuzzy +#: zerver/lib/user_groups.py:67 +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid user group ID: {}" +msgid "Invalid user group ID: {group_id}" msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/lib/user_groups.py:74 -msgid "'{}' must be a system user group." +#: zerver/lib/user_groups.py:87 +#, python-brace-format +msgid "'{setting_name}' must be a system user group." msgstr "" -#: zerver/lib/user_groups.py:78 -msgid "'{}' setting cannot be set to '@role:internet' group." +#: zerver/lib/user_groups.py:92 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:internet' group." msgstr "" -#: zerver/lib/user_groups.py:83 -msgid "'{}' setting cannot be set to '@role:owners' group." +#: zerver/lib/user_groups.py:99 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:owners' group." msgstr "" -#: zerver/lib/user_groups.py:88 -msgid "'{}' setting cannot be set to '@role:nobody' group." +#: zerver/lib/user_groups.py:106 +#, python-brace-format +msgid "'{setting_name}' setting cannot be set to 'role:nobody' group." +msgstr "" + +#: zerver/lib/user_groups.py:117 +#, python-brace-format +msgid "User group name cannot exceed {max_length} characters." +msgstr "" + +#: zerver/lib/user_groups.py:125 +#, python-brace-format +msgid "User group name cannot start with '{prefix}'." msgstr "" #: zerver/lib/users.py:45 @@ -4429,50 +4833,51 @@ msgstr "" msgid "Bad name or username" msgstr "" -#: zerver/lib/users.py:95 -#, fuzzy +#: zerver/lib/users.py:96 +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid integration '{}'." +msgid "Invalid integration '{integration_name}'." msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/lib/users.py:100 -msgid "Missing configuration parameters: {}" +#: zerver/lib/users.py:102 +#, python-brace-format +msgid "Missing configuration parameters: {keys}" msgstr "" -#: zerver/lib/users.py:109 -#, fuzzy +#: zerver/lib/users.py:112 +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid {} value {} ({})" +msgid "Invalid {key} value {value} ({error})" msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/lib/users.py:124 +#: zerver/lib/users.py:130 msgid "Invalid configuration data!" msgstr "" -#: zerver/lib/users.py:158 +#: zerver/lib/users.py:164 msgid "Invalid bot type" msgstr "" -#: zerver/lib/users.py:163 +#: zerver/lib/users.py:169 msgid "Invalid interface type" msgstr "" -#: zerver/lib/users.py:232 zerver/lib/users.py:237 zerver/models.py:4669 -#, fuzzy +#: zerver/lib/users.py:238 zerver/lib/users.py:243 zerver/models.py:4729 +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid user ID: {}" +msgid "Invalid user ID: {user_id}" msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/lib/users.py:245 zerver/lib/users.py:247 +#: zerver/lib/users.py:251 zerver/lib/users.py:253 msgid "No such bot" msgstr "" -#: zerver/lib/users.py:271 zerver/lib/users.py:298 zerver/lib/users.py:314 +#: zerver/lib/users.py:277 zerver/lib/users.py:304 zerver/lib/users.py:320 #: zerver/views/presence.py:44 msgid "No such user" msgstr "" -#: zerver/lib/users.py:273 +#: zerver/lib/users.py:279 msgid "User is deactivated" msgstr "" @@ -4563,7 +4968,8 @@ msgid "{key_name} key is missing from {var_name}" msgstr "" #: zerver/lib/validator.py:317 -msgid "Unexpected arguments: {}" +#, python-brace-format +msgid "Unexpected arguments: {keys}" msgstr "" #: zerver/lib/validator.py:350 @@ -4625,8 +5031,9 @@ msgstr "" msgid "Missing the HTTP event header '{header}'" msgstr "" -#: zerver/lib/webhooks/common.py:231 -msgid "The {} webhook expects time in milliseconds." +#: zerver/lib/webhooks/common.py:232 +#, python-brace-format +msgid "The {webhook} webhook expects time in milliseconds." msgstr "" #: zerver/lib/zcommand.py:30 @@ -4634,221 +5041,238 @@ msgid "There should be a leading slash in the zcommand." msgstr "" #: zerver/lib/zcommand.py:79 -msgid "No such command: {}" +#, python-brace-format +msgid "No such command: {command}" msgstr "" -#: zerver/middleware.py:464 +#: zerver/middleware.py:441 #, python-brace-format msgid "CSRF error: {reason}" msgstr "" -#: zerver/models.py:503 +#: zerver/middleware.py:607 +#, python-brace-format +msgid "Reverse proxy misconfiguration: {proxy_reason}" +msgstr "" + +#: zerver/models.py:495 #, fuzzy #| msgid "Username" msgid "stream events" msgstr "பயனர்பெயர்" -#: zerver/models.py:634 +#: zerver/models.py:626 msgid "Available on Zulip Cloud Standard. Upgrade to access." msgstr "" -#: zerver/models.py:692 +#: zerver/models.py:684 msgid "GIPHY integration disabled" msgstr "" -#: zerver/models.py:697 +#: zerver/models.py:689 msgid "Allow GIFs rated Y (Very young audience)" msgstr "" -#: zerver/models.py:701 +#: zerver/models.py:693 msgid "Allow GIFs rated G (General audience)" msgstr "" -#: zerver/models.py:705 +#: zerver/models.py:697 msgid "Allow GIFs rated PG (Parental guidance)" msgstr "" -#: zerver/models.py:709 +#: zerver/models.py:701 msgid "Allow GIFs rated PG-13 (Parental guidance - under 13)" msgstr "" -#: zerver/models.py:713 +#: zerver/models.py:705 msgid "Allow GIFs rated R (Restricted)" msgstr "" -#: zerver/models.py:1139 +#: zerver/models.py:1123 msgid "Invalid characters in emoji name" msgstr "" -#: zerver/models.py:1263 zerver/models.py:1265 -msgid "Bad regular expression: {}" +#: zerver/models.py:1235 zerver/models.py:1238 +#, python-brace-format +msgid "Bad regular expression: {regex}" msgstr "" -#: zerver/models.py:1266 +#: zerver/models.py:1240 msgid "Unknown regular expression error" msgstr "" -#: zerver/models.py:1274 +#: zerver/models.py:1248 #, fuzzy #| msgid "Enable notifications" msgid "Invalid URL template." msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/models.py:1318 +#: zerver/models.py:1292 #, python-format msgid "Group %(name)r in URL template is not present in linkifier pattern." msgstr "" -#: zerver/models.py:1330 +#: zerver/models.py:1304 #, python-format msgid "Group %(name)r in linkifier pattern is not present in URL template." msgstr "" -#: zerver/models.py:1408 zerver/views/realm_playgrounds.py:25 +#: zerver/models.py:1382 zerver/views/realm_playgrounds.py:24 msgid "Invalid characters in pygments language" msgstr "" -#: zerver/models.py:1652 +#: zerver/models.py:1412 +msgid "Missing the required variable \"code\" in the URL template" +msgstr "" + +#: zerver/models.py:1417 +msgid "\"code\" should be the only variable present in the URL template" +msgstr "" + +#: zerver/models.py:1660 msgid "Admins, moderators, members and guests" msgstr "" -#: zerver/models.py:1653 +#: zerver/models.py:1661 msgid "Admins, moderators and members" msgstr "" -#: zerver/models.py:1654 +#: zerver/models.py:1662 #, fuzzy #| msgid "Administrators" msgid "Admins and moderators" msgstr "நிர்வாகிகள்" -#: zerver/models.py:1655 +#: zerver/models.py:1663 msgid "Admins only" msgstr "" -#: zerver/models.py:1656 +#: zerver/models.py:1664 msgid "Nobody" msgstr "" -#: zerver/models.py:1960 +#: zerver/models.py:1973 #, fuzzy #| msgid "Administrators" msgid "Organization owner" msgstr "நிர்வாகிகள்" -#: zerver/models.py:1961 +#: zerver/models.py:1974 #, fuzzy #| msgid "Administrators" msgid "Organization administrator" msgstr "நிர்வாகிகள்" -#: zerver/models.py:1962 +#: zerver/models.py:1975 msgid "Moderator" msgstr "" -#: zerver/models.py:1963 +#: zerver/models.py:1976 msgid "Member" msgstr "" -#: zerver/models.py:1964 +#: zerver/models.py:1977 msgid "Guest" msgstr "" -#: zerver/models.py:2531 +#: zerver/models.py:2557 msgid "Web-public" msgstr "" -#: zerver/models.py:2537 +#: zerver/models.py:2563 #, fuzzy #| msgid "All streams" msgid "Public" msgstr "அனைத்து தகவலரங்கங்கள்" -#: zerver/models.py:2543 +#: zerver/models.py:2569 #, fuzzy #| msgid "Private messages" msgid "Private, shared history" msgstr "தனிப்பட்ட செய்தி" -#: zerver/models.py:2549 +#: zerver/models.py:2575 msgid "Private, protected history" msgstr "" -#: zerver/models.py:2557 +#: zerver/models.py:2583 msgid "Public, protected history" msgstr "" -#: zerver/models.py:2577 +#: zerver/models.py:2603 msgid "All stream members can post" msgstr "" -#: zerver/models.py:2578 +#: zerver/models.py:2604 #, fuzzy #| msgid "Administrators" msgid "Only organization administrators can post" msgstr "நிர்வாகிகள்" -#: zerver/models.py:2580 +#: zerver/models.py:2606 #, fuzzy #| msgid "Administrators" msgid "Only organization administrators and moderators can post" msgstr "நிர்வாகிகள்" -#: zerver/models.py:2583 +#: zerver/models.py:2609 #, fuzzy #| msgid "Administrators" msgid "Only organization full members can post" msgstr "நிர்வாகிகள்" -#: zerver/models.py:3209 +#: zerver/models.py:3222 msgid "Unicode emoji" msgstr "" -#: zerver/models.py:3210 +#: zerver/models.py:3223 msgid "Custom emoji" msgstr "" -#: zerver/models.py:3211 +#: zerver/models.py:3224 msgid "Zulip extra emoji" msgstr "" -#: zerver/models.py:4672 -msgid "User with ID {} is deactivated" +#: zerver/models.py:4733 +#, python-brace-format +msgid "User with ID {user_id} is deactivated" msgstr "" -#: zerver/models.py:4675 -msgid "User with ID {} is a bot" +#: zerver/models.py:4737 +#, python-brace-format +msgid "User with ID {user_id} is a bot" msgstr "" -#: zerver/models.py:4715 +#: zerver/models.py:4777 msgid "List of options" msgstr "" -#: zerver/models.py:4718 +#: zerver/models.py:4780 msgid "Person picker" msgstr "" -#: zerver/models.py:4730 +#: zerver/models.py:4792 msgid "Short text" msgstr "" -#: zerver/models.py:4731 +#: zerver/models.py:4793 msgid "Long text" msgstr "" -#: zerver/models.py:4732 +#: zerver/models.py:4794 msgid "Date picker" msgstr "" -#: zerver/models.py:4733 +#: zerver/models.py:4795 msgid "Link" msgstr "" -#: zerver/models.py:4736 +#: zerver/models.py:4798 msgid "External account" msgstr "" -#: zerver/models.py:4741 +#: zerver/models.py:4803 msgid "Pronouns" msgstr "" @@ -4864,20 +5288,20 @@ msgstr "" msgid "An unknown browser" msgstr "" -#: zerver/tornado/event_queue.py:673 +#: zerver/tornado/event_queue.py:678 msgid "Missing 'queue_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:676 +#: zerver/tornado/event_queue.py:681 msgid "Missing 'last_event_id' argument" msgstr "" -#: zerver/tornado/event_queue.py:683 +#: zerver/tornado/event_queue.py:688 #, python-brace-format msgid "An event newer than {event_id} has already been pruned!" msgstr "" -#: zerver/tornado/event_queue.py:693 +#: zerver/tornado/event_queue.py:698 #, python-brace-format msgid "Event {event_id} was not in this queue" msgstr "" @@ -4947,20 +5371,22 @@ msgstr "" msgid "Default custom field cannot be updated." msgstr "" -#: zerver/views/development/dev_login.py:98 +#: zerver/views/development/dev_login.py:100 msgid "Endpoint not available in production." msgstr "" -#: zerver/views/development/dev_login.py:100 +#: zerver/views/development/dev_login.py:102 msgid "DevAuthBackend not enabled." msgstr "" -#: zerver/views/events_register.py:107 zerver/views/events_register.py:111 -msgid "Invalid '{}' parameter for anonymous request" +#: zerver/views/events_register.py:108 zerver/views/events_register.py:112 +#, python-brace-format +msgid "Invalid '{key}' parameter for anonymous request" msgstr "" #: zerver/views/hotspots.py:19 -msgid "Unknown hotspot: {}" +#, python-brace-format +msgid "Unknown hotspot: {hotspot}" msgstr "" #: zerver/views/invite.py:72 @@ -4968,25 +5394,27 @@ msgid "You must specify at least one email address." msgstr "" #: zerver/views/invite.py:82 -msgid "Stream does not exist with id: {}. No invites were sent." +#, python-brace-format +msgid "Stream does not exist with id: {stream_id}. No invites were sent." msgstr "" -#: zerver/views/invite.py:87 +#: zerver/views/invite.py:89 msgid "You do not have permission to subscribe other users to streams." msgstr "" -#: zerver/views/invite.py:124 zerver/views/invite.py:127 -#: zerver/views/invite.py:146 zerver/views/invite.py:149 -#: zerver/views/invite.py:168 zerver/views/invite.py:173 +#: zerver/views/invite.py:126 zerver/views/invite.py:129 +#: zerver/views/invite.py:148 zerver/views/invite.py:151 +#: zerver/views/invite.py:170 zerver/views/invite.py:175 msgid "No such invitation" msgstr "" -#: zerver/views/invite.py:154 +#: zerver/views/invite.py:156 msgid "Invitation has already been revoked" msgstr "" -#: zerver/views/invite.py:207 -msgid "Invalid stream ID {}. No invites were sent." +#: zerver/views/invite.py:210 +#, python-brace-format +msgid "Invalid stream ID {stream_id}. No invites were sent." msgstr "" #: zerver/views/message_edit.py:98 @@ -5006,7 +5434,8 @@ msgid "Message already deleted" msgstr "" #: zerver/views/message_fetch.py:99 -msgid "Too many messages requested (maximum {})." +#, python-brace-format +msgid "Too many messages requested (maximum {max_messages})." msgstr "" #: zerver/views/message_fetch.py:104 zerver/views/message_flags.py:85 @@ -5014,7 +5443,8 @@ msgid "The anchor can only be excluded at an end of the range" msgstr "" #: zerver/views/message_flags.py:169 -msgid "No such topic '{}'" +#, python-brace-format +msgid "No such topic '{topic}'" msgstr "" #: zerver/views/message_send.py:201 @@ -5060,15 +5490,15 @@ msgstr "" msgid "Client did not pass any new values." msgstr "" -#: zerver/views/presence.py:106 +#: zerver/views/presence.py:108 msgid "" "Client must pass emoji_name if they pass either emoji_code or reaction_type." msgstr "" -#: zerver/views/presence.py:144 -#, fuzzy +#: zerver/views/presence.py:146 +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid status: {}" +msgid "Invalid status: {status}" msgstr "அறிவிப்புகளை இயக்கு" #: zerver/views/push_notifications.py:19 @@ -5085,10 +5515,6 @@ msgid "" "emoji_code" msgstr "" -#: zerver/views/reactions.py:68 -msgid "Reaction doesn't exist." -msgstr "" - #: zerver/views/read_receipts.py:22 #, fuzzy #| msgid "Administrators" @@ -5096,34 +5522,37 @@ msgid "Read receipts are disabled in this organization." msgstr "நிர்வாகிகள்" #: zerver/views/realm.py:160 -#, fuzzy +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid language '{}'" +msgid "Invalid language '{language}'" msgstr "அறிவிப்புகளை இயக்கு" #: zerver/views/realm.py:165 msgid "At least one authentication method must be enabled." msgstr "" -#: zerver/views/realm.py:169 -msgid "Invalid video_chat_provider {}" +#: zerver/views/realm.py:170 +#, python-brace-format +msgid "Invalid video_chat_provider {video_chat_provider}" msgstr "" -#: zerver/views/realm.py:173 -#, fuzzy +#: zerver/views/realm.py:178 +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid giphy_rating {}" +msgid "Invalid giphy_rating {giphy_rating}" msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/views/realm.py:336 +#: zerver/views/realm.py:335 #, fuzzy #| msgid "Administrators" msgid "Must be a demo organization." msgstr "நிர்வாகிகள்" #: zerver/views/realm_domains.py:36 -msgid "Invalid domain: {}" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Enable notifications" +msgid "Invalid domain: {error}" +msgstr "அறிவிப்புகளை இயக்கு" #: zerver/views/realm_domains.py:39 #, python-brace-format @@ -5135,20 +5564,21 @@ msgstr "" msgid "No entry found for domain {domain}." msgstr "" -#: zerver/views/realm_emoji.py:38 +#: zerver/views/realm_emoji.py:40 msgid "You must upload exactly one file." msgstr "" -#: zerver/views/realm_emoji.py:40 +#: zerver/views/realm_emoji.py:42 #, fuzzy #| msgid "Administrators" msgid "Only administrators can override default emoji." msgstr "நிர்வாகிகள்" -#: zerver/views/realm_emoji.py:46 zerver/views/realm_icon.py:27 +#: zerver/views/realm_emoji.py:48 zerver/views/realm_icon.py:27 #: zerver/views/realm_logo.py:33 zerver/views/upload.py:278 -#: zerver/views/user_settings.py:352 -msgid "Uploaded file is larger than the allowed limit of {} MiB" +#: zerver/views/user_settings.py:371 +#, python-brace-format +msgid "Uploaded file is larger than the allowed limit of {max_size} MiB" msgstr "" #: zerver/views/realm_export.py:45 @@ -5188,7 +5618,7 @@ msgstr "" msgid "You must upload exactly one logo." msgstr "" -#: zerver/views/realm_playgrounds.py:33 +#: zerver/views/realm_playgrounds.py:32 #, fuzzy #| msgid "Enable notifications" msgid "Invalid playground" @@ -5231,66 +5661,69 @@ msgstr "" msgid "Invalid value for \"op\". Specify one of \"add\" or \"remove\"." msgstr "" -#: zerver/views/streams.py:322 +#: zerver/views/streams.py:324 msgid "Default streams cannot be made private." msgstr "" -#: zerver/views/streams.py:370 +#: zerver/views/streams.py:372 msgid "Stream already has that name!" msgstr "" -#: zerver/views/streams.py:452 zerver/views/user_groups.py:108 -#: zerver/views/user_groups.py:285 +#: zerver/views/streams.py:454 zerver/views/user_groups.py:168 +#: zerver/views/user_groups.py:347 msgid "Nothing to do. Specify at least one of \"add\" or \"delete\"." msgstr "" -#: zerver/views/streams.py:536 +#: zerver/views/streams.py:538 #, python-brace-format msgid "{user_full_name} subscribed you to the stream {stream_name}." msgstr "" -#: zerver/views/streams.py:542 +#: zerver/views/streams.py:544 #, python-brace-format msgid "{user_full_name} subscribed you to the following streams:" msgstr "" -#: zerver/views/streams.py:646 +#: zerver/views/streams.py:655 #, python-brace-format msgid "Unable to access stream ({stream_name})." msgstr "" -#: zerver/views/streams.py:659 +#: zerver/views/streams.py:668 msgid "You can only invite other Zephyr mirroring users to private streams." msgstr "" -#: zerver/views/streams.py:767 +#: zerver/views/streams.py:776 #, python-brace-format msgid "{user_name} created the following streams: {stream_str}." msgstr "" -#: zerver/views/streams.py:769 +#: zerver/views/streams.py:778 #, python-brace-format msgid "{user_name} created a new stream {stream_str}." msgstr "" -#: zerver/views/streams.py:770 +#: zerver/views/streams.py:779 #, fuzzy #| msgid "All streams" msgid "new streams" msgstr "அனைத்து தகவலரங்கங்கள்" -#: zerver/views/streams.py:802 +#: zerver/views/streams.py:811 #, python-brace-format msgid "**{policy}** stream created by {user_name}. **Description:**" msgstr "" -#: zerver/views/streams.py:1050 -msgid "Unknown subscription property: {}" +#: zerver/views/streams.py:1060 +#, python-brace-format +msgid "Unknown subscription property: {property}" msgstr "" -#: zerver/views/streams.py:1054 -msgid "Not subscribed to stream id {}" -msgstr "" +#: zerver/views/streams.py:1066 +#, fuzzy, python-brace-format +#| msgid "Enable notifications" +msgid "Not subscribed to stream id {stream_id}" +msgstr "அறிவிப்புகளை இயக்கு" #: zerver/views/submessage.py:38 msgid "Invalid json for submessage" @@ -5313,7 +5746,7 @@ msgid "User has disabled typing notifications for direct messages" msgstr "" #: zerver/views/upload.py:183 -msgid "

File not found.

" +msgid "

This file does not exist or has been deleted.

" msgstr "" #: zerver/views/upload.py:223 @@ -5333,42 +5766,43 @@ msgstr "" msgid "You may only upload one file at a time" msgstr "" -#: zerver/views/user_groups.py:74 +#: zerver/views/user_groups.py:111 msgid "No new data supplied" msgstr "" -#: zerver/views/user_groups.py:149 +#: zerver/views/user_groups.py:209 #, python-brace-format msgid "{user_full_name} added you to the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:154 +#: zerver/views/user_groups.py:214 #, python-brace-format msgid "{user_full_name} removed you from the group {group_name}." msgstr "" -#: zerver/views/user_groups.py:185 +#: zerver/views/user_groups.py:245 #, python-brace-format msgid "User {user_id} is already a member of this group" msgstr "" -#: zerver/views/user_groups.py:212 -msgid "There is no member '{}' in this user group" +#: zerver/views/user_groups.py:273 +#, python-brace-format +msgid "There is no member '{user_id}' in this user group" msgstr "" -#: zerver/views/user_groups.py:237 +#: zerver/views/user_groups.py:299 #, python-brace-format msgid "User group {group_id} is already a subgroup of this group." msgstr "" -#: zerver/views/user_groups.py:246 +#: zerver/views/user_groups.py:308 #, python-brace-format msgid "" "User group {user_group_id} is already a subgroup of one of the passed " "subgroups." msgstr "" -#: zerver/views/user_groups.py:266 +#: zerver/views/user_groups.py:328 #, python-brace-format msgid "User group {group_id} is not a subgroup of this group." msgstr "" @@ -5377,7 +5811,7 @@ msgstr "" msgid "Avatar changes are disabled in this organization." msgstr "" -#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:293 +#: zerver/views/user_settings.py:85 zerver/views/user_settings.py:312 msgid "Email address changes are disabled in this organization." msgstr "" @@ -5385,33 +5819,35 @@ msgstr "" msgid "Invalid default_language" msgstr "" -#: zerver/views/user_settings.py:133 -#, fuzzy +#: zerver/views/user_settings.py:134 +#, fuzzy, python-brace-format #| msgid "Enable notifications" -msgid "Invalid notification sound '{}'" +msgid "Invalid notification sound '{notification_sound}'" msgstr "அறிவிப்புகளை இயக்கு" -#: zerver/views/user_settings.py:141 -msgid "Invalid email batching period: {} seconds" +#: zerver/views/user_settings.py:145 +#, python-brace-format +msgid "Invalid email batching period: {seconds} seconds" msgstr "" -#: zerver/views/user_settings.py:248 +#: zerver/views/user_settings.py:267 msgid "Your Zulip password is managed in LDAP" msgstr "" -#: zerver/views/user_settings.py:258 +#: zerver/views/user_settings.py:277 msgid "Wrong password!" msgstr "" -#: zerver/views/user_settings.py:263 -msgid "You're making too many attempts! Try again in {} seconds." +#: zerver/views/user_settings.py:282 +#, python-brace-format +msgid "You're making too many attempts! Try again in {seconds} seconds." msgstr "" -#: zerver/views/user_settings.py:269 +#: zerver/views/user_settings.py:288 msgid "New password is too weak!" msgstr "" -#: zerver/views/user_settings.py:342 +#: zerver/views/user_settings.py:361 msgid "You must upload exactly one avatar." msgstr "" @@ -5474,7 +5910,8 @@ msgid "Disposable email addresses are not allowed in this organization" msgstr "" #: zerver/views/users.py:712 -msgid "Email '{}' already in use" +#, python-brace-format +msgid "Email '{email}' already in use" msgstr "" #: zerver/views/video_calls.py:47 @@ -5535,7 +5972,7 @@ msgstr "" msgid "We were unable to set up mirroring for you" msgstr "" -#: zerver/webhooks/circleci/view.py:76 +#: zerver/webhooks/circleci/view.py:83 msgid "Projects using this version control system provider aren't supported" msgstr "" @@ -5544,7 +5981,7 @@ msgstr "" msgid "Invalid payload" msgstr "" -#: zerver/webhooks/front/view.py:155 +#: zerver/webhooks/front/view.py:151 msgid "Unknown webhook request" msgstr "" @@ -5592,10 +6029,11 @@ msgid "Message from Slack" msgstr "" #: zerver/webhooks/wordpress/view.py:56 -msgid "Unknown WordPress webhook action: {}" +#, python-brace-format +msgid "Unknown WordPress webhook action: {hook}" msgstr "" -#: zerver/worker/queue_processors.py:1123 +#: zerver/worker/queue_processors.py:1114 #, python-brace-format msgid "" "Your data export is complete and has been uploaded here:\n" @@ -5624,7 +6062,8 @@ msgid "Invalid token type" msgstr "" #: zilencer/views.py:109 -msgid "{} is not a valid hostname" +#, python-brace-format +msgid "{hostname} is not a valid hostname" msgstr "" #: zilencer/views.py:162 @@ -5632,8 +6071,10 @@ msgid "Missing user_id or user_uuid" msgstr "" #: zilencer/views.py:373 -msgid "Invalid property {}" -msgstr "" +#, fuzzy, python-brace-format +#| msgid "Enable notifications" +msgid "Invalid property {property}" +msgstr "அறிவிப்புகளை இயக்கு" #: zilencer/views.py:375 msgid "Data is out of order." @@ -5655,11 +6096,11 @@ msgstr "" msgid "Missing id_token parameter" msgstr "" -#: zproject/backends.py:2903 +#: zproject/backends.py:2902 msgid "Invalid OTP" msgstr "" -#: zproject/backends.py:2906 +#: zproject/backends.py:2905 msgid "Can't use both mobile_flow_otp and desktop_flow_otp together." msgstr "" @@ -5729,11 +6170,6 @@ msgstr "" #~ msgid "Back to streams" #~ msgstr "தனிப்பட்ட செய்தி" -#, fuzzy -#~| msgid "Enable notifications" -#~ msgid "Subscribe to more streams" -#~ msgstr "அறிவிப்புகளை இயக்கு" - #~ msgid "Enabled" #~ msgstr "செயல்படுத்தப்பட்டது" diff --git a/locale/tr/LC_MESSAGES/django.po b/locale/tr/LC_MESSAGES/django.po index fc882f055e..ed38e827d4 100644 --- a/locale/tr/LC_MESSAGES/django.po +++ b/locale/tr/LC_MESSAGES/django.po @@ -4,6 +4,7 @@ # # Translators: # Cihan Alkan , 2018 +# Eren Dogan, 2023 # Gokdeniz.Kucukali, 2021 # Gokdeniz.Kucukali, 2021 # Hüseyin Fahri Uzun , 2019-2021 @@ -18,7 +19,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-05-31 01:00+0000\n" "PO-Revision-Date: 2015-12-06 00:18+0000\n" -"Last-Translator: Oktay, 2022\n" +"Last-Translator: Eren Dogan, 2023\n" "Language-Team: Turkish (http://app.transifex.com/zulip/zulip/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,11 +46,11 @@ msgstr "Özel kanallar" #: analytics/views/stats.py:296 msgid "Direct messages" -msgstr "" +msgstr "Direkt mesajlar" #: analytics/views/stats.py:297 msgid "Group direct messages" -msgstr "" +msgstr "Grup direkt mesaları" #: analytics/views/stats.py:318 msgid "Unknown chart name: {}" @@ -249,11 +250,11 @@ msgstr "Hata" #: templates/404.html:17 msgid "Method not allowed (405)" -msgstr "" +msgstr "Methoda izin verilmiyor (405)" #: templates/404.html:19 msgid "Page not found (404)" -msgstr "" +msgstr "Sayfa bulunamadı (404)" #: templates/404.html:22 #, python-format @@ -328,31 +329,31 @@ msgstr "%(target_name)s için Zulip analitikleri" #: templates/analytics/stats.html:25 msgid "Organization summary" -msgstr "" +msgstr "Organizasyon özeti" #: templates/analytics/stats.html:27 msgid "Number of users" -msgstr "" +msgstr "Kullanıcı sayısı" #: templates/analytics/stats.html:28 msgid "Users active during the last 15 days" -msgstr "" +msgstr "Son 15 günde aktif olan kullanıcılar" #: templates/analytics/stats.html:29 msgid "Number of guests" -msgstr "" +msgstr "Misafir sayısı" #: templates/analytics/stats.html:30 msgid "Total number of messages" -msgstr "" +msgstr "Toplam mesaj sayısı" #: templates/analytics/stats.html:31 msgid "Number of messages in the last 30 days" -msgstr "" +msgstr "Son 30 gündeki mesaj sayısı" #: templates/analytics/stats.html:32 msgid "File storage in use" -msgstr "" +msgstr "Dosya kullanımda" #: templates/analytics/stats.html:37 msgid "Active users" @@ -448,7 +449,7 @@ msgstr "Tüm grafiklerin tam güncellemesi günde bir defa gerçekleşir. “Zam #: templates/confirmation/confirm_email_change.html:4 msgid "Email changed" -msgstr "" +msgstr "E-posta değistirildi" #: templates/confirmation/confirm_email_change.html:12 msgid "Email changed!" diff --git a/locale/tr/translations.json b/locale/tr/translations.json index afd648a3f1..2a9487c256 100644 --- a/locale/tr/translations.json +++ b/locale/tr/translations.json @@ -348,7 +348,7 @@ "Detailed message formatting documentation": "Detaylı ileti format dökümantasyonu", "Detailed search filters documentation": "", "Direct message": "", - "Direct messages": "", + "Direct messages": "Direkt mesajlar", "Direct messages and mentions": "", "Direct messages are disabled in this organization.": "", "Direct messages disabled": "",