Merge pull request #5338 from vector-im/dbkr/i18n_script

Switch to gen-i18n script
This commit is contained in:
Luke Barnard 2017-10-19 11:25:40 +01:00 committed by GitHub
commit ae9263fa59
3 changed files with 220 additions and 218 deletions

View file

@ -28,9 +28,10 @@ function getColorName(hex) {
## Adding new strings ## Adding new strings
1. Check if the import ``import { _t } from 'matrix-react-sdk/lib/languageHandler';`` is present. If not add it to the other import statements. Also import `_td` if needed. 1. Check if the import ``import { _t } from 'matrix-react-sdk/lib/languageHandler';`` is present. If not add it to the other import statements. Also import `_td` if needed.
2. Add ``_t()`` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method). If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time. 1. Add ``_t()`` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method). If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time.
3. Add the String to the ``en_EN.json`` file in ``src/i18n/strings`` (respect which repository you are on). 1. Run `npm run i18n` to update ``src/i18n/strings/en_EN.json`` (if it fails because it can't find the script, your dev environment predates the script, so reinstall/link react-sdk with `npm link ../matrix-react-sdk`). If it segfaults, you may be on Node 6, so try a newer version of node.
1. If you added a string with a plural, you can add other English plural variants to ``src/i18n/strings/en_EN.json`` (remeber to edit the one in the same project as the source file containing your new translation).
## Adding variables inside a string. ## Adding variables inside a string.

View file

@ -28,6 +28,7 @@
"scripts": { "scripts": {
"reskindex": "reskindex -h src/header", "reskindex": "reskindex -h src/header",
"reskindex:watch": "reskindex -h src/header -w", "reskindex:watch": "reskindex -h src/header -w",
"i18n": "matrix-gen-i18n",
"build:res": "node scripts/copy-res.js", "build:res": "node scripts/copy-res.js",
"build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js", "build:modernizr": "modernizr -c .modernizr.json -d src/vector/modernizr.js",
"build:compile": "npm run reskindex && babel --source-maps -d lib src", "build:compile": "npm run reskindex && babel --source-maps -d lib src",

View file

@ -1,217 +1,217 @@
{ {
"%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s on %(osName)s", "Riot is not supported on mobile web. Install the app?": "Riot is not supported on mobile web. Install the app?",
"<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.", "Collecting app version information": "Collecting app version information",
"A new version of Riot is available.": "A new version of Riot is available.", "Collecting logs": "Collecting logs",
"Add an email address above to configure email notifications": "Add an email address above to configure email notifications", "Uploading report": "Uploading report",
"Advanced notification settings": "Advanced notification settings", "Waiting for response from server": "Waiting for response from server",
"All messages": "All messages", "Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s",
"All messages (loud)": "All messages (loud)", "Unknown device": "Unknown device",
"All Rooms": "All Rooms", "%(appName)s via %(browserName)s on %(osName)s": "%(appName)s via %(browserName)s on %(osName)s",
"All notifications are currently disabled for all targets.": "All notifications are currently disabled for all targets.", "You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.",
"An error occurred whilst saving your email notification preferences.": "An error occurred whilst saving your email notification preferences.", "Messages containing my display name": "Messages containing my display name",
"Back": "Back", "Messages containing my user name": "Messages containing my user name",
"Bug report sent": "Bug report sent", "Messages in one-to-one chats": "Messages in one-to-one chats",
"Call invitation": "Call invitation", "Messages in group chats": "Messages in group chats",
"Cancel": "Cancel", "When I'm invited to a room": "When I'm invited to a room",
"Cancel Sending": "Cancel Sending", "Call invitation": "Call invitation",
"Can't update user notification settings": "Can't update user notification settings", "Messages sent by bot": "Messages sent by bot",
"Changelog": "Changelog", "Error saving email notification preferences": "Error saving email notification preferences",
"Close": "Close", "An error occurred whilst saving your email notification preferences.": "An error occurred whilst saving your email notification preferences.",
"Collapse panel": "Collapse panel", "Keywords": "Keywords",
"Collecting app version information": "Collecting app version information", "Enter keywords separated by a comma:": "Enter keywords separated by a comma:",
"Collecting logs": "Collecting logs", "OK": "OK",
"Couldn't find a matching Matrix room": "Couldn't find a matching Matrix room", "Failed to change settings": "Failed to change settings",
"Custom Server Options": "Custom Server Options", "Operation failed": "Operation failed",
"customServer_text": "You can use the custom server options to sign into other Matrix servers by specifying a different Home server URL.<br/>This allows you to use Riot with an existing Matrix account on a different home server.<br/><br/>You can also set a custom identity server but you won't be able to invite users by email address, or be invited by email address yourself.", "Can't update user notification settings": "Can't update user notification settings",
"delete the alias.": "delete the alias.", "Failed to update keywords": "Failed to update keywords",
"Delete the room alias %(alias)s and remove %(name)s from the directory?": "Delete the room alias %(alias)s and remove %(name)s from the directory?", "Messages containing <span>keywords</span>": "Messages containing <span>keywords</span>",
"Describe your problem here.": "Describe your problem here.", "Notify for all other messages/rooms": "Notify for all other messages/rooms",
"Developer Tools": "Developer Tools", "Notify me for anything else": "Notify me for anything else",
"Direct Chat": "Direct Chat", "Enable notifications for this account": "Enable notifications for this account",
"Directory": "Directory", "All notifications are currently disabled for all targets.": "All notifications are currently disabled for all targets.",
"Dismiss": "Dismiss", "Add an email address above to configure email notifications": "Add an email address above to configure email notifications",
"Download this file": "Download this file", "Enable email notifications": "Enable email notifications",
"Enable audible notifications in web client": "Enable audible notifications in web client", "Notifications on the following keywords follow rules which cant be displayed here:": "Notifications on the following keywords follow rules which cant be displayed here:",
"Enable desktop notifications": "Enable desktop notifications", "Unable to fetch notification target list": "Unable to fetch notification target list",
"Show message in desktop notification": "Show message in desktop notification", "Notification targets": "Notification targets",
"Enable email notifications": "Enable email notifications", "Advanced notification settings": "Advanced notification settings",
"Enable notifications for this account": "Enable notifications for this account", "There are advanced notifications which are not shown here": "There are advanced notifications which are not shown here",
"Enable them now": "Enable them now", "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply",
"Enter keywords separated by a comma:": "Enter keywords separated by a comma:", "Enable desktop notifications": "Enable desktop notifications",
"Error": "Error", "Show message in desktop notification": "Show message in desktop notification",
"Error saving email notification preferences": "Error saving email notification preferences", "Enable audible notifications in web client": "Enable audible notifications in web client",
"#example": "#example", "Off": "Off",
"Expand panel": "Expand panel", "On": "On",
"Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room", "Noisy": "Noisy",
"Failed to change settings": "Failed to change settings", "Failed to set direct chat tag": "Failed to set direct chat tag",
"Failed to forget room %(errCode)s": "Failed to forget room %(errCode)s", "Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room",
"Failed to update keywords": "Failed to update keywords", "Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room",
"Failed to get protocol list from Home Server": "Failed to get protocol list from Home Server", "Search…": "Search…",
"Failed to get public room list": "Failed to get public room list", "Search": "Search",
"Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room", "This Room": "This Room",
"Failed to send custom event.": "Failed to send custom event.", "All Rooms": "All Rooms",
"Failed to send report: ": "Failed to send report: ", "Sunday": "Sunday",
"Failed to set direct chat tag": "Failed to set direct chat tag", "Monday": "Monday",
"Failed to set Direct Message status of room": "Failed to set Direct Message status of room", "Tuesday": "Tuesday",
"Favourite": "Favourite", "Wednesday": "Wednesday",
"Fetching third party location failed": "Fetching third party location failed", "Thursday": "Thursday",
"Files": "Files", "Friday": "Friday",
"Filter results": "Filter results", "Saturday": "Saturday",
"Filter room names": "Filter room names", "Today": "Today",
"Forget": "Forget", "Yesterday": "Yesterday",
"Forward Message": "Forward Message", "Custom Server Options": "Custom Server Options",
"Guests can join": "Guests can join", "customServer_text": "customServer_text",
"Hide panel": "Hide panel", "Dismiss": "Dismiss",
"(HTTP status %(httpStatus)s)": "(HTTP status %(httpStatus)s)", "powered by Matrix": "powered by Matrix",
"I understand the risks and wish to continue": "I understand the risks and wish to continue", "You are not receiving desktop notifications": "You are not receiving desktop notifications",
"In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:", "Enable them now": "Enable them now",
"Invite to this room": "Invite to this room", "What's New": "What's New",
"Keywords": "Keywords", "Update": "Update",
"Leave": "Leave", "What's new?": "What's new?",
"Login": "Login", "A new version of Riot is available.": "A new version of Riot is available.",
"Loading bug report module": "Loading bug report module", "To return to your account in future you need to <u>set a password</u>": "To return to your account in future you need to <u>set a password</u>",
"Low Priority": "Low Priority", "Set Password": "Set Password",
"Members": "Members", "Error encountered (%(errorDetail)s).": "Error encountered (%(errorDetail)s).",
"Mentions only": "Mentions only", "Checking for an update...": "Checking for an update...",
"Messages containing my display name": "Messages containing my display name", "No update available.": "No update available.",
"Messages containing <span>keywords</span>": "Messages containing <span>keywords</span>", "Downloading update...": "Downloading update...",
"Messages containing my user name": "Messages containing my user name", "Warning": "Warning",
"Messages in group chats": "Messages in group chats", "Error": "Error",
"Messages in one-to-one chats": "Messages in one-to-one chats", "You cannot delete this image. (%(code)s)": "You cannot delete this image. (%(code)s)",
"Messages sent by bot": "Messages sent by bot", "Uploaded on %(date)s by %(user)s": "Uploaded on %(date)s by %(user)s",
"more": "more", "Remove": "Remove",
"Mute": "Mute", "Close": "Close",
"No rooms to show": "No rooms to show", "Download this file": "Download this file",
"Noisy": "Noisy", "Please describe the bug and/or send logs.": "Please describe the bug and/or send logs.",
"Notification targets": "Notification targets", "Loading bug report module": "Loading bug report module",
"Notifications": "Notifications", "Bug report sent": "Bug report sent",
"Notifications on the following keywords follow rules which cant be displayed here:": "Notifications on the following keywords follow rules which cant be displayed here:", "Thank you!": "Thank you!",
"Notify for all other messages/rooms": "Notify for all other messages/rooms", "Failed to send report: ": "Failed to send report: ",
"Notify me for anything else": "Notify me for anything else", "Cancel": "Cancel",
"Off": "Off", "Report a bug": "Report a bug",
"On": "On", "Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Please describe the bug. What did you do? What did you expect to happen? What actually happened?",
"Operation failed": "Operation failed", "Describe your problem here.": "Describe your problem here.",
"Permalink": "Permalink", "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:": "In order to diagnose problems, logs from this client will be sent with this bug report. If you would prefer to only send the text above, please untick:",
"Please describe the bug. What did you do? What did you expect to happen? What actually happened?": "Please describe the bug. What did you do? What did you expect to happen? What actually happened?", "Send logs": "Send logs",
"Please describe the bug and/or send logs.": "Please describe the bug and/or send logs.", "Send": "Send",
"Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.", "Unavailable": "Unavailable",
"powered by Matrix": "powered by Matrix", "Changelog": "Changelog",
"Quote": "Quote", "Back": "Back",
"Reject": "Reject", "You must specify an event type!": "You must specify an event type!",
"Remove %(name)s from the directory?": "Remove %(name)s from the directory?", "Event sent!": "Event sent!",
"Remove": "Remove", "Failed to send custom event.": "Failed to send custom event.",
"remove %(name)s from the directory.": "remove %(name)s from the directory.", "Event Type": "Event Type",
"Remove from Directory": "Remove from Directory", "Event Content": "Event Content",
"Report a bug": "Report a bug", "State Key": "State Key",
"Resend": "Resend", "Edit": "Edit",
"Riot Desktop on %(platformName)s": "Riot Desktop on %(platformName)s", "Filter results": "Filter results",
"Riot does not know how to join a room on this network": "Riot does not know how to join a room on this network", "Send Custom Event": "Send Custom Event",
"Riot is not supported on mobile web. Install the app?": "Riot is not supported on mobile web. Install the app?", "Send Custom State Event": "Send Custom State Event",
"Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.", "Explore Room State": "Explore Room State",
"Room not found": "Room not found", "Developer Tools": "Developer Tools",
"Search": "Search", "You have successfully set a password!": "You have successfully set a password!",
"Search…": "Search…", "You have successfully set a password and an email address!": "You have successfully set a password and an email address!",
"Search for a room": "Search for a room", "You can now return to your account after signing out, and sign in on other devices.": "You can now return to your account after signing out, and sign in on other devices.",
"Send": "Send", "Remember, you can always set an email address in user settings if you change your mind.": "Remember, you can always set an email address in user settings if you change your mind.",
"Send logs": "Send logs", "Continue": "Continue",
"Send Custom Event": "Send Custom Event", "Failed to change password. Is your password correct?": "Failed to change password. Is your password correct?",
"Send Custom State Event": "Send Custom State Event", "(HTTP status %(httpStatus)s)": "(HTTP status %(httpStatus)s)",
"Explore Room State": "Explore Room State", "Please set a password!": "Please set a password!",
"Source URL": "Source URL", "This will allow you to return to your account after signing out, and sign in on other devices.": "This will allow you to return to your account after signing out, and sign in on other devices.",
"Sorry, your browser is <b>not</b> able to run Riot.": "Sorry, your browser is <b>not</b> able to run Riot.", "You cannot delete this message. (%(code)s)": "You cannot delete this message. (%(code)s)",
"The Home Server may be too old to support third party networks": "The Home Server may be too old to support third party networks", "Resend": "Resend",
"There are advanced notifications which are not shown here": "There are advanced notifications which are not shown here", "Cancel Sending": "Cancel Sending",
"The server may be unavailable or overloaded": "The server may be unavailable or overloaded", "Forward Message": "Forward Message",
"This Room": "This Room", "Unpin Message": "Unpin Message",
"Unable to fetch notification target list": "Unable to fetch notification target list", "Pin Message": "Pin Message",
"Unable to join network": "Unable to join network", "View Source": "View Source",
"Unable to look up room ID from server": "Unable to look up room ID from server", "View Decrypted Source": "View Decrypted Source",
"Unavailable": "Unavailable", "Unhide Preview": "Unhide Preview",
"Unhide Preview": "Unhide Preview", "Permalink": "Permalink",
"Unknown device": "Unknown device", "Quote": "Quote",
"unknown error code": "unknown error code", "Source URL": "Source URL",
"Unnamed room": "Unnamed room", "Failed to set Direct Message status of room": "Failed to set Direct Message status of room",
"Update": "Update", "unknown error code": "unknown error code",
"Uploaded on %(date)s by %(user)s": "Uploaded on %(date)s by %(user)s", "Failed to forget room %(errCode)s": "Failed to forget room %(errCode)s",
"Uploading report": "Uploading report", "All messages (loud)": "All messages (loud)",
"View Decrypted Source": "View Decrypted Source", "All messages": "All messages",
"View Source": "View Source", "Mentions only": "Mentions only",
"What's New": "What's New", "Mute": "Mute",
"What's new?": "What's new?", "Leave": "Leave",
"Waiting for response from server": "Waiting for response from server", "Forget": "Forget",
"When I'm invited to a room": "When I'm invited to a room", "Reject": "Reject",
"World readable": "World readable", "Favourite": "Favourite",
"You cannot delete this image. (%(code)s)": "You cannot delete this image. (%(code)s)", "Low Priority": "Low Priority",
"You cannot delete this message. (%(code)s)": "You cannot delete this message. (%(code)s)", "Direct Chat": "Direct Chat",
"You are not receiving desktop notifications": "You are not receiving desktop notifications", "Sorry, your browser is <b>not</b> able to run Riot.": "Sorry, your browser is <b>not</b> able to run Riot.",
"You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply": "You might have configured them in a client other than Riot. You cannot tune them in Riot but they still apply", "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.": "Riot uses many advanced browser features, some of which are not available or experimental in your current browser.",
"You must specify an event type!": "You must specify an event type!", "Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.": "Please install <a href=\"https://www.google.com/chrome\">Chrome</a> or <a href=\"https://getfirefox.com\">Firefox</a> for the best experience.",
"Thank you!": "Thank you!", "<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.": "<a href=\"http://apple.com/safari\">Safari</a> and <a href=\"http://opera.com\">Opera</a> work too.",
"Sunday": "Sunday", "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!",
"Monday": "Monday", "I understand the risks and wish to continue": "I understand the risks and wish to continue",
"Tuesday": "Tuesday", "Couldn't load home page": "Couldn't load home page",
"Wednesday": "Wednesday", "Login": "Login",
"Thursday": "Thursday", "Register": "Register",
"Friday": "Friday", "Invite to this room": "Invite to this room",
"Saturday": "Saturday", "Members": "Members",
"Today": "Today", "Files": "Files",
"Yesterday": "Yesterday", "Notifications": "Notifications",
"OK": "OK", "Rooms": "Rooms",
"Warning": "Warning", "Hide panel": "Hide panel",
"Checking for an update...": "Checking for an update...", "Invite to this group": "Invite to this group",
"Error encountered (%(errorDetail)s).": "Error encountered (%(errorDetail)s).", "Add rooms to this group": "Add rooms to this group",
"Event sent!": "Event sent!", "Failed to get protocol list from Home Server": "Failed to get protocol list from Home Server",
"Event Type": "Event Type", "The Home Server may be too old to support third party networks": "The Home Server may be too old to support third party networks",
"Event Content": "Event Content", "Failed to get public room list": "Failed to get public room list",
"State Key": "State Key", "The server may be unavailable or overloaded": "The server may be unavailable or overloaded",
"No update available.": "No update available.", "Unnamed room": "Unnamed room",
"Downloading update...": "Downloading update...", "Delete the room alias %(alias)s and remove %(name)s from the directory?": "Delete the room alias %(alias)s and remove %(name)s from the directory?",
"You need to be using HTTPS to place a screen-sharing call.": "You need to be using HTTPS to place a screen-sharing call.", "Remove %(name)s from the directory?": "Remove %(name)s from the directory?",
"With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!": "With your current browser, the look and feel of the application may be completely incorrect, and some or all features may not function. If you want to try it anyway you can continue, but you are on your own in terms of any issues you may encounter!", "Remove from Directory": "Remove from Directory",
"Welcome to Riot.im": "Welcome to Riot.im", "remove %(name)s from the directory.": "remove %(name)s from the directory.",
"Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralised, encrypted chat &amp; collaboration powered by [matrix]", "delete the alias.": "delete the alias.",
"Search the room directory": "Search the room directory", "Unable to join network": "Unable to join network",
"Chat with Riot Bot": "Chat with Riot Bot", "Riot does not know how to join a room on this network": "Riot does not know how to join a room on this network",
"Get started with some tips from Riot Bot!": "Get started with some tips from Riot Bot!", "Room not found": "Room not found",
"General discussion about Matrix and Riot": "General discussion about Matrix and Riot", "Couldn't find a matching Matrix room": "Couldn't find a matching Matrix room",
"Discussion of all things Matrix!": "Discussion of all things Matrix!", "Fetching third party location failed": "Fetching third party location failed",
"Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop chat", "Unable to look up room ID from server": "Unable to look up room ID from server",
"Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk chat", "World readable": "World readable",
"Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk chat", "Guests can join": "Guests can join",
"Matrix technical discussions": "Matrix technical discussions", "Directory": "Directory",
"Running Matrix services": "Running Matrix services", "No rooms to show": "No rooms to show",
"Community-run support for Synapse": "Community-run support for Synapse", "Search for a room": "Search for a room",
"Admin support for Dendrite": "Admin support for Dendrite", "#example": "#example",
"Announcements about Synapse releases": "Announcements about Synapse releases", "more": "more",
"Support for those using and running matrix-appservice-irc": "Support for those using and running matrix-appservice-irc", "Expand panel": "Expand panel",
"Building services on Matrix": "Building services on Matrix", "Collapse panel": "Collapse panel",
"Support for those using the Matrix spec": "Support for those using the Matrix spec", "Filter room names": "Filter room names",
"Design and implementation of E2E in Matrix": "Design and implementation of E2E in Matrix", "Welcome to Riot.im": "Welcome to Riot.im",
"Implementing VR services with Matrix": "Implementing VR services with Matrix", "Decentralised, encrypted chat &amp; collaboration powered by [matrix]": "Decentralised, encrypted chat &amp; collaboration powered by [matrix]",
"Implementing VoIP services with Matrix": "Implementing VoIP services with Matrix", "Search the room directory": "Search the room directory",
"Discussion of the Identity Service API": "Discussion of the Identity Service API", "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!",
"Support for those using, running and writing other bridges": "Support for those using, running and writing other bridges", "Chat with Riot Bot": "Chat with Riot Bot",
"Contributing code to Matrix and Riot": "Contributing code to Matrix and Riot", "Get started with some tips from Riot Bot!": "Get started with some tips from Riot Bot!",
"Dev chat for the Riot/Web dev team": "Dev chat for the Riot/Web dev team", "General discussion about Matrix and Riot": "General discussion about Matrix and Riot",
"Dev chat for the Dendrite dev team": "Dev chat for the Dendrite dev team", "Discussion of all things Matrix!": "Discussion of all things Matrix!",
"Co-ordination for Riot/Web translators": "Co-ordination for Riot/Web translators", "Riot/Web &amp; Desktop chat": "Riot/Web &amp; Desktop chat",
"Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!": "Lots of rooms already exist in Matrix, linked to existing networks (Slack, IRC, Gitter etc) or independent. Check out the directory!", "Riot/iOS &amp; matrix-ios-sdk chat": "Riot/iOS &amp; matrix-ios-sdk chat",
"Failed to change password. Is your password correct?": "Failed to change password. Is your password correct?", "Riot/Android &amp; matrix-android-sdk chat": "Riot/Android &amp; matrix-android-sdk chat",
"You have successfully set a password!": "You have successfully set a password!", "Matrix technical discussions": "Matrix technical discussions",
"You can now return to your account after signing out, and sign in on other devices.": "You can now return to your account after signing out, and sign in on other devices.", "Running Matrix services": "Running Matrix services",
"Continue": "Continue", "Community-run support for Synapse": "Community-run support for Synapse",
"Pin Message": "Pin Message", "Admin support for Dendrite": "Admin support for Dendrite",
"Unpin Message": "Unpin Message", "Announcements about Synapse releases": "Announcements about Synapse releases",
"Jump to message": "Jump to message", "Support for those using and running matrix-appservice-irc": "Support for those using and running matrix-appservice-irc",
"No pinned messages.": "No pinned messages.", "Building services on Matrix": "Building services on Matrix",
"Loading...": "Loading...", "Support for those using the Matrix spec": "Support for those using the Matrix spec",
"Please set a password!": "Please set a password!", "Design and implementation of E2E in Matrix": "Design and implementation of E2E in Matrix",
"This will allow you to return to your account after signing out, and sign in on other devices.": "This will allow you to return to your account after signing out, and sign in on other devices.", "Implementing VR services with Matrix": "Implementing VR services with Matrix",
"You have successfully set a password and an email address!": "You have successfully set a password and an email address!", "Implementing VoIP services with Matrix": "Implementing VoIP services with Matrix",
"Remember, you can always set an email address in user settings if you change your mind.": "Remember, you can always set an email address in user settings if you change your mind.", "Discussion of the Identity Service API": "Discussion of the Identity Service API",
"To return to your account in future you need to <u>set a password</u>": "To return to your account in future you need to <u>set a password</u>", "Support for those using, running and writing other bridges": "Support for those using, running and writing other bridges",
"Set Password": "Set Password", "Contributing code to Matrix and Riot": "Contributing code to Matrix and Riot",
"Couldn't load home page": "Couldn't load home page", "Dev chat for the Riot/Web dev team": "Dev chat for the Riot/Web dev team",
"Invite to this group": "Invite to this group", "Dev chat for the Dendrite dev team": "Dev chat for the Dendrite dev team",
"Add rooms to this group": "Add rooms to this group" "Co-ordination for Riot/Web translators": "Co-ordination for Riot/Web translators"
} }