Django 1.10: Fix i18n tests.

SimpleCookie does not accept unicode strings and the name of
Simplified Chinese is changed to zh-HANS.
This commit is contained in:
Umair Khan 2016-11-08 15:36:32 +05:00
parent ee3ec96f38
commit 86b75aade2
3 changed files with 2594 additions and 2 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,291 @@
{
"EDITED": "EDITED",
"Current password": "Current password",
"Stream color": "Stream color",
"Deactivate now": "Deactivate now",
"Error deactivating account": "Error deactivating account",
"Are you sure you want to do this?": "Are you sure you want to do this?",
"View Source / Edit Topic": "View Source / Edit Topic",
"I want:": "I want:",
"No description.": "No description.",
"Unmute the topic <b>__topic_name__</b>": "Unmute the topic <b>__topic_name__</b>",
"Do you want to skip to your latest messages?": "Do you want to skip to your latest messages?",
"(no topic)": "(no topic)",
"Yes, delete this stream": "Yes, delete this stream",
"Add extra emoji for members of the __realm_name__ organization.": "Add extra emoji for members of the __realm_name__ organization.",
"Get API key": "Get API key",
"Delete stream": "Delete stream",
"Topic editing only": "Topic editing only",
"New users must be invited by e-mail!": "New users must be invited by e-mail!",
"Users can edit old messages": "Users can edit old messages",
"Upload avatar": "Upload avatar",
"Remove from default": "Remove from default",
"Only Admins may now create new streams!": "Only Admins may now create new streams!",
"If checked, only users with an e-mail address ending in __atdomains_string__ will be able to join the organization.": "If checked, only users with an e-mail address ending in __atdomains_string__ will be able to join the organization.",
"E-mail invitation required": "E-mail invitation required",
"Mark all messages in <b>__topic_name__</b> as read": "Mark all messages in <b>__topic_name__</b> as read",
"You can send emails to __page_params.product_name__! Just copy and use this address as an email recipient, and:": "You can send emails to __page_params.product_name__! Just copy and use this address as an email recipient, and:",
"Old password": "Old password",
"Please remove @all / @everyone or acknowledge that you will be spamming everyone!": "Please remove @all / @everyone or acknowledge that you will be spamming everyone!",
"Emoji URL": "Emoji URL",
"You'll receive notifications when a message arrives and __page_params.product_name__ isn't in focus or the message is offscreen.": "You'll receive notifications when a message arrives and __page_params.product_name__ isn't in focus or the message is offscreen.",
"Narrow to stream &quot;__display_recipient__&quot;": "Narrow to stream &quot;__display_recipient__&quot;",
"Full name": "Full name",
"Message edit limit in minutes (0 for no limit)": "Message edit limit in minutes (0 for no limit)",
"Other notifications I want:": "Other notifications I want:",
"Users can no longer edit their past messages!": "Users can no longer edit their past messages!",
"Error adding subscription": "Error adding subscription",
"New Alert Word": "New Alert Word",
"Private message": "Private message",
"Deleting this stream will immediately unsubscribe everyone, and the stream's content will not be recoverable.": "Deleting this stream will immediately unsubscribe everyone, and the stream's content will not be recoverable.",
"Choose avatar": "Choose avatar",
"Unpin stream <b>__stream.name__</b> from top": "Unpin stream <b>__stream.name__</b> from top",
"Updated notification settings!": "Updated notification settings!",
"Send to stream": "Send to stream",
"\n <p class=\"bot-settings-note padded-container\">\n Looking for our <a href=\"/integrations\" target=\"_blank\">Integrations</a>\n or <a href=\"{{ server_uri }}/api\" target=\"_blank\">API</a> documentation?\n </p>\n ": "\n <p class=\"bot-settings-note padded-container\">\n Looking for our <a href=\"/integrations\" target=\"_blank\">Integrations</a>\n or <a href=\"{{ server_uri }}/api\" target=\"_blank\">API</a> documentation?\n </p>\n ",
"Receive audible notifications": "Receive audible notifications",
"Digest emails when I'm away": "Digest emails when I'm away",
"Bots": "Bots",
"Narrow": "Narrow",
"Save Changes": "Save Changes",
"Email": "Email",
"Narrow to private messages with __message.sender_full_name__": "Narrow to private messages with __message.sender_full_name__",
"Compose a message to <b>__name__</b>": "Compose a message to <b>__name__</b>",
"Note that any bots that you maintain will be disabled.": "Note that any bots that you maintain will be disabled.",
"Any user may now invite new users!": "Any user may now invite new users!",
"mouse_face": "mouse_face",
"Mobile push notifications always (even when online)": "Mobile push notifications always (even when online)",
"Customize avatar": "Customize avatar",
"Please specify a stream": "Please specify a stream",
"Topic": "Topic",
"Administrator settings": "Administrator settings",
"Any user may now create new streams!": "Any user may now create new streams!",
"YES": "YES",
"Link to this conversation": "Link to this conversation",
"This is an <span class=\"icon-vector-lock\"></span> <b>invite-only stream</b>. Only people who have been invited can access its content, but&nbsp;any&nbsp;member&nbsp;of&nbsp;the&nbsp;stream can&nbsp;invite&nbsp;others.": "This is an <span class=\"icon-vector-lock\"></span> <b>invite-only stream</b>. Only people who have been invited can access its content, but&nbsp;any&nbsp;member&nbsp;of&nbsp;the&nbsp;stream can&nbsp;invite&nbsp;others.",
"Add emoji": "Add emoji",
"Make stream public": "Make stream public",
"Unsubscribe from __stream__": "Unsubscribe from __stream__",
"\n <p>Please re-enter your password to confirm your identity.\n (<a href=\"/accounts/password/reset/\" target=\"_blank\">Forgotten it?</a>)</p>\n ": "\n <p>Please re-enter your password to confirm your identity.\n (<a href=\"/accounts/password/reset/\" target=\"_blank\">Forgotten it?</a>)</p>\n ",
"Pin stream <b>__stream.name__</b> to top": "Pin stream <b>__stream.name__</b> to top",
"Your Bots": "Your Bots",
"Users restricted to __domains_string__": "Users restricted to __domains_string__",
"Message sent when you were not subscribed": "Message sent when you were not subscribed",
"Your Account": "Your Account",
"\n <b>Streams</b> are like chat rooms or mailing lists. You can easily\n <b>join</b>, <b>leave</b>, and <b>make</b> them.\n ": "\n <b>Streams</b> are like chat rooms or mailing lists. You can easily\n <b>join</b>, <b>leave</b>, and <b>make</b> them.\n ",
"Mark all messages in <b>__stream.name__</b> as read": "Mark all messages in <b>__stream.name__</b> as read",
"The email will be forwarded to this stream": "The email will be forwarded to this stream",
"Alert Word": "Alert Word",
"The email body will become the __page_params.product_name__ message": "The email body will become the __page_params.product_name__ message",
"Narrow to stream &quot;__display_recipient__&quot;, topic &quot;__subject__&quot;": "Narrow to stream &quot;__display_recipient__&quot;, topic &quot;__subject__&quot;",
"Reply": "Reply",
"Unmute the topic <b>__subject__</b>": "Unmute the topic <b>__subject__</b>",
"Save": "Save",
"Compose a message to stream <b>__stream.name__</b>": "Compose a message to stream <b>__stream.name__</b>",
"See the rest of this message": "See the rest of this message",
"Change stream description": "Change stream description",
"Username": "Username",
"Desktop notifications": "Desktop notifications",
"\n <p>Lets everyone know about the new stream,<br />\n even if you don't add them.</p>\n ": "\n <p>Lets everyone know about the new stream,<br />\n even if you don't add them.</p>\n ",
"Email address": "Email address",
"Are you sure you want to message all <strong>__count__</strong> people in this stream?": "Are you sure you want to message all <strong>__count__</strong> people in this stream?",
"Failed to generate preview": "Failed to generate preview",
"Mute the topic <b>__subject__</b>": "Mute the topic <b>__subject__</b>",
"Check all": "Check all",
"\n <p class=\"alert-word-settings-note\">\n {{t \"Alert words allow you to be notified as if you were @-mentioned\n when certain words or phrases are used in Zulip.\"}}\n </p>\n ": "\n <p class=\"alert-word-settings-note\">\n {{t \"Alert words allow you to be notified as if you were @-mentioned\n when certain words or phrases are used in Zulip.\"}}\n </p>\n ",
"Users can now edit the content and topics of all their past messages!": "Users can now edit the content and topics of all their past messages!",
"Add a New Alert Word": "Add a New Alert Word",
"Already subscribed to __stream__": "Already subscribed to __stream__",
"Streams Deletion": "Streams Deletion",
"Delete Alert Word": "Delete Alert Word",
"Narrow to topic <b>__topic_name__</b>": "Narrow to topic <b>__topic_name__</b>",
"Emoji name": "Emoji name",
"Generate new API Key": "Generate new API Key",
"Un-collapse": "Un-collapse",
"Clear avatar": "Clear avatar",
"Receive desktop notifications": "Receive desktop notifications",
"Settings": "Settings",
"Send __message.sender_full_name__ a private message": "Send __message.sender_full_name__ a private message",
"Change only this message topic": "Change only this message topic",
"Error getting API key": "Error getting API key",
"You and __display_reply_to__": "You and __display_reply_to__",
"Select Default Language": "Select Default Language",
"API Key": "API Key",
"[More...]": "[More...]",
"Rename stream": "Rename stream",
"New password": "New password",
"Show/change your API key": "Show/change your API key",
"<strong>__name__</strong> is not subscribed to this stream.": "<strong>__name__</strong> is not subscribed to this stream.",
"Choose custom color": "Choose custom color",
"[Condense this message]": "[Condense this message]",
"Narrow to private messages with <b>__name__</b>": "Narrow to private messages with <b>__name__</b>",
"You need to be running Zephyr mirroring in order to send messages!": "You need to be running Zephyr mirroring in order to send messages!",
"Your API key:": "Your API key:",
"Error creating stream": "Error creating stream",
"Delete": "Delete",
"Generate new API key": "Generate new API key",
"The recipient __recipient__ is not valid ": "The recipient __recipient__ is not valid ",
"Change Password": "Change Password",
"A stream needs to have a name": "A stream needs to have a name",
"Sent by <b>__message.sender_full_name__</b>": "Sent by <b>__message.sender_full_name__</b>",
"Email notifications when offline": "Email notifications when offline",
"Image": "Image",
"Add a New Emoji": "Add a New Emoji",
"bot": "bot",
"<p>Messages in __page_params.product_name__ go to a <b>stream</b> and have a <b>topic</b>.</p>": "<p>Messages in __page_params.product_name__ go to a <b>stream</b> and have a <b>topic</b>.</p>",
"Full Bot Name": "Full Bot Name",
"Collapse": "Collapse",
"Display user list on left side in narrow windows.": "Display user list on left side in narrow windows.",
"Filter users": "Filter users",
"Owner": "Owner",
"The stream description has been updated!": "The stream description has been updated!",
"Yes": "Yes",
"This is a <span class=\"icon-vector-globe\"></span> <b>public stream</b>. Anybody in your organization can join.": "This is a <span class=\"icon-vector-globe\"></span> <b>public stream</b>. Anybody in your organization can join.",
"Error updating time format setting": "Error updating time format setting",
"Authentication Methods": "Authentication Methods",
"New users must have e-mails ending in __atdomains_string__!": "New users must have e-mails ending in __atdomains_string__!",
"If checked, users can edit the content and topics of their old messages.": "If checked, users can edit the content and topics of their old messages.",
"Only admins may create streams": "Only admins may create streams",
"A stream with this name already exists": "A stream with this name already exists",
"No": "No",
"Deactivate": "Deactivate",
"Apply this change to all stream subscriptions?": "Apply this change to all stream subscriptions?",
"Stream messages": "Stream messages",
"Administration": "Administration",
"Narrow to messages sent by <b>__name__</b>": "Narrow to messages sent by <b>__name__</b>",
"Narrow to messages sent by __message.sender_full_name__": "Narrow to messages sent by __message.sender_full_name__",
"__minutes__ min to edit": "__minutes__ min to edit",
"Add": "Add",
"Error listing emoji": "Error listing emoji",
"Narrow to stream <b>__stream.name__</b>": "Narrow to stream <b>__stream.name__</b>",
"Default language changed!": "Default language changed!",
"The stream has been renamed!": "The stream has been renamed!",
"Preview": "Preview",
"Edit User": "Edit User",
"Method": "Method",
"Error checking subscription": "Error checking subscription",
"Deactivate Your Account": "Deactivate Your Account",
"__count__ invite remaining": "__count__ invite remaining",
"By deactivating your account, you will be logged out immediately.": "By deactivating your account, you will be logged out immediately.",
"Error updating the stream description": "Error updating the stream description",
"Reactivate": "Reactivate",
"Notifications": "Notifications",
"Remove admin": "Remove admin",
"Default Streams": "Default Streams",
"If non-zero, users can edit their message for this many minutes after it is sent. If zero, users can edit all their past messages.": "If non-zero, users can edit their message for this many minutes after it is sent. If zero, users can edit all their past messages.",
"Unsubscribe": "Unsubscribe",
"Create Bot": "Create Bot",
"Error removing subscription": "Error removing subscription",
"Error renaming stream": "Error renaming stream",
"Save changes": "Save changes",
"Unable to subscribe user": "Unable to subscribe user",
"The email subject will become the __page_params.product_name__ topic": "The email subject will become the __page_params.product_name__ topic",
"Name changed!": "Name changed!",
"It's been a while! Since you were last here, you received <b>__unread_count__</b> new messages.": "It's been a while! Since you were last here, you received <b>__unread_count__</b> new messages.",
"Pin stream to top of left sidebar": "Pin stream to top of left sidebar",
"Listen on": "Listen on",
"If checked, only administrators may invite new users.": "If checked, only administrators may invite new users.",
"Stream Name": "Stream Name",
"Enabled": "Enabled",
"Make stream private": "Make stream private",
"New users must be invited by an admin!": "New users must be invited by an admin!",
"Updated __product_name__ Labs settings!": "Updated __product_name__ Labs settings!",
"Your organization's name": "Your organization's name",
"Password": "Password",
"\n <p class=\"api-key-note\">For most bots using the API, you'll want to give each bot\n its own name and API key using the above section. But if you\n want to write a bot that can access your own private\n messages, you should use your personal API key.\n </p>\n ": "\n <p class=\"api-key-note\">For most bots using the API, you'll want to give each bot\n its own name and API key using the above section. But if you\n want to write a bot that can access your own private\n messages, you should use your personal API key.\n </p>\n ",
"Next": "Next",
"Custom emoji": "Custom emoji",
"Stream settings": "Stream settings",
"If checked, only administrators may create new streams.": "If checked, only administrators may create new streams.",
"Please specify a topic": "Please specify a topic",
"User invited successfully.": "User invited successfully.",
"Unless I say otherwise for a particular stream, I want:": "Unless I say otherwise for a particular stream, I want:",
"Optional": "Optional",
"Add Alert Word": "Add Alert Word",
"Nothing to preview": "Nothing to preview",
"Error changing settings": "Error changing settings",
"If checked, users must be invited in order to join your organization.": "If checked, users must be invited in order to join your organization.",
"Mute the topic <b>__topic_name__</b>": "Mute the topic <b>__topic_name__</b>",
"Only admins may invite": "Only admins may invite",
"You have nothing to send!": "You have nothing to send!",
"The recipients __recipients__ are not valid ": "The recipients __recipients__ are not valid ",
"__seconds__ sec to edit": "__seconds__ sec to edit",
"View Source": "View Source",
"Cancel": "Cancel",
"Close": "Close",
"Subscribe to __stream__": "Subscribe to __stream__",
"Change notification settings for individual streams on your <a href=\"/#subscriptions\">Streams page</a>.": "Change notification settings for individual streams on your <a href=\"/#subscriptions\">Streams page</a>.",
"Deactivated Users": "Deactivated Users",
"Add New Default Stream": "Add New Default Stream",
"Error changing name": "Error changing name",
"Change later messages to this topic": "Change later messages to this topic",
"Subscribed": "Subscribed",
"View source": "View source",
"__page_params.product_name__ Labs": "__page_params.product_name__ Labs",
"Exit Tutorial": "Exit Tutorial",
"{{#if msg/starred}}Unstar{{else}}Star{{/if}} this message": "{{#if msg/starred}}Unstar{{else}}Star{{/if}} this message",
"Mobile push notifications when offline": "Mobile push notifications when offline",
"Muted streams don't show up in your home view or generate notifications unless you are mentioned.": "Muted streams don't show up in your home view or generate notifications unless you are mentioned.",
"Edit bot": "Edit bot",
"right": "right",
"Message to stream <b>__message.stream__</b>": "Message to stream <b>__message.stream__</b>",
"__lang__ is now the default language! You will need to reload the window for your changes to take effect": "__lang__ is now the default language! You will need to reload the window for your changes to take effect",
"New users may have arbitrary e-mails!": "New users may have arbitrary e-mails!",
"Private messages and @-mentions": "Private messages and @-mentions",
"Configure the default streams new users are subscribed to when joining the {{domain}} organization.": "Configure the default streams new users are subscribed to when joining the {{domain}} organization.",
"This is an invite-only stream": "This is an invite-only stream",
"Failed!": "Failed!",
"Mute the stream <b>__stream.name__</b>": "Mute the stream <b>__stream.name__</b>",
"Users": "Users",
"Display Settings": "Display Settings",
"Subscribe": "Subscribe",
"Name successfully updated!": "Name successfully updated!",
"Password strength": "Password strength",
"Warning: the below features are experimental features and may not work as well as you would like.": "Warning: the below features are experimental features and may not work as well as you would like.",
"Audible notifications": "Audible notifications",
"Error listing streams": "Error listing streams",
"Error updating default language setting": "Error updating default language setting",
"By deactivating <strong><span class=\"user_name\"></span></strong> &lt;<span class=\"email\"></span>&gt;, they will be logged out immediately.": "By deactivating <strong><span class=\"user_name\"></span></strong> &lt;<span class=\"email\"></span>&gt;, they will be logged out immediately.",
"\n <p>You can <b>narrow</b> to a stream or topic by <b>clicking on it</b>, or\n see messages from all streams at once from your Home view.</p>\n ": "\n <p>You can <b>narrow</b> to a stream or topic by <b>clicking on it</b>, or\n see messages from all streams at once from your Home view.</p>\n ",
"Authentication methods saved!": "Authentication methods saved!",
"Change previous and following messages to this topic": "Change previous and following messages to this topic",
"more conversations": "more conversations",
"bot_user_name": "bot_user_name",
"Time's up!": "Time's up!",
"Narrow to your private messages with __display_reply_to__": "Narrow to your private messages with __display_reply_to__",
"Configure the authentication methods for the __domain__ organization.": "Configure the authentication methods for the __domain__ organization.",
"Name": "Name",
"Error listing users or bots": "Error listing users or bots",
"\n <p><b>Reply</b> to a message by <b>clicking on it</b>. The stream\n and topic will automatically be filled in.</p>\n ": "\n <p><b>Reply</b> to a message by <b>clicking on it</b>. The stream\n and topic will automatically be filled in.</p>\n ",
"Edit": "Edit",
"Stream membership": "Stream membership",
"\n The <b>topic</b> of a conversation is one or two words that describe\n what it is about, for example: <b>Bug #345</b>, <b>lunch</b>, or\n <b>logo</b>. Don't overthink it.\n ": "\n The <b>topic</b> of a conversation is one or two words that describe\n what it is about, for example: <b>Bug #345</b>, <b>lunch</b>, or\n <b>logo</b>. Don't overthink it.\n ",
"Alert words can't be empty!": "Alert words can't be empty!",
"Make this message take up less space on the screen": "Make this message take up less space on the screen",
"Forgotten it?": "Forgotten it?",
"Default Language": "Default Language",
"Error updating user list placement setting": "Error updating user list placement setting",
"more topics": "more topics",
"New users may sign up online!": "New users may sign up online!",
"Time will be displayed in the __format__-hour format! You will need to reload the window for your changes to take effect": "Time will be displayed in the __format__-hour format! You will need to reload the window for your changes to take effect",
"Unmute the stream <b>__stream.name__</b>": "Unmute the stream <b>__stream.name__</b>",
"Deactivate Account": "Deactivate Account",
"Uncheck all": "Uncheck all",
"Display time in 24-hour format (17:00 instead of 5:00 PM)": "Display time in 24-hour format (17:00 instead of 5:00 PM)",
"Their password will be cleared from our systems, and any bots they maintain will be disabled.": "Their password will be cleared from our systems, and any bots they maintain will be disabled.",
"Confirm password": "Confirm password",
"Alert words allow you to be notified as if you were @-mentioned\n when certain words or phrases are used in Zulip.": "Alert words allow you to be notified as if you were @-mentioned\n when certain words or phrases are used in Zulip.",
"Always auto-scroll to new messages": "Always auto-scroll to new messages",
"Create new stream": "Create new stream",
"Delete bot": "Delete bot",
"Custom emoji added!": "Custom emoji added!",
"Actions": "Actions",
"Enable desktop notifications for new streams": "Enable desktop notifications for new streams",
"Organization settings": "Organization settings",
"User list will appear on the __side__ hand side! You will need to reload the window for your changes to take effect.": "User list will appear on the __side__ hand side! You will need to reload the window for your changes to take effect.",
"Filter by stream name": "Filter by stream name",
"Custom Alert Words": "Custom Alert Words",
"Make admin": "Make admin",
"Please specify at least one recipient": "Please specify at least one recipient",
"left": "left"
}

View File

@ -3,6 +3,7 @@ from __future__ import absolute_import
from typing import Any
import django
import mock
from django.test import TestCase
from django.conf import settings
@ -50,7 +51,9 @@ class TranslationTestCase(ZulipTestCase):
]
for lang, word in languages:
self.client.cookies = SimpleCookie({settings.LANGUAGE_COOKIE_NAME: lang})
# Applying str function to LANGUAGE_COOKIE_NAME to convert unicode
# into an ascii otherwise SimpleCookie will raise an exception
self.client.cookies = SimpleCookie({str(settings.LANGUAGE_COOKIE_NAME): lang})
response = self.fetch('get', '/integrations/', 200)
self.assert_in_response(word, response)
@ -60,9 +63,14 @@ class TranslationTestCase(ZulipTestCase):
languages = [('en', u'Register'),
('de', u'Registrieren'),
('sr', u'Региструј се'),
('zh-cn', u'注册'),
]
# 'zh-cn' was deprecated in Django 1.10
if django.VERSION >= (1, 10):
languages.append(('zh-hans', u'注册'))
else:
languages.append(('zh-cn', u'注册'))
for lang, word in languages:
response = self.fetch('get', '/{}/integrations/'.format(lang), 200)
self.assert_in_response(word, response)