Commit df070935 authored by Ken's avatar Ken Committed by chrisgarrity

Move period and migrate to FormattedMessage (#1757)

* Move period

* update l10n with new msg format

* update jsx to use FormattedMessage instead of FormattedHTMLMessage
parent 14e29c54
var React = require('react'); var React = require('react');
var render = require('../../lib/render.jsx'); var render = require('../../lib/render.jsx');
var FormattedHTMLMessage = require('react-intl').FormattedHTMLMessage;
var FormattedMessage = require('react-intl').FormattedMessage; var FormattedMessage = require('react-intl').FormattedMessage;
var Page = require('../../components/page/www/page.jsx'); var Page = require('../../components/page/www/page.jsx');
...@@ -22,7 +21,16 @@ var Developers = React.createClass({ ...@@ -22,7 +21,16 @@ var Developers = React.createClass({
<FormattedMessage id='developers.title' /> <FormattedMessage id='developers.title' />
</h1> </h1>
<p className="title-banner-p intro"> <p className="title-banner-p intro">
<FormattedHTMLMessage id='developers.intro' /> <FormattedMessage
id='developers.intro'
values={{
introLink: (
<a href="/info/credits">
<FormattedMessage id='developers.introLinkText' />
</a>
)
}}
/>
</p> </p>
</div> </div>
<div className="band"> <div className="band">
...@@ -72,7 +80,25 @@ var Developers = React.createClass({ ...@@ -72,7 +80,25 @@ var Developers = React.createClass({
<div className="body-copy column"> <div className="body-copy column">
<h3><FormattedMessage id='developers.scratchBlocksTitle' /></h3> <h3><FormattedMessage id='developers.scratchBlocksTitle' /></h3>
<p> <p>
<FormattedHTMLMessage id='developers.scratchBlocksIntro' /> <FormattedMessage
id='developers.scratchBlocksIntro'
values={{
blocklyLink: (
<a href="https://developers.google.com/blockly/">
<FormattedMessage
id='developers.scratchBlocksIntroBlocklyLinkText'
/>
</a>
),
githubLink: (
<a href="https://github.com/LLK/scratch-blocks">
<FormattedMessage
id='developers.hereLinkText'
/>
</a>
)
}}
/>
</p> </p>
<p> <p>
<FormattedMessage id='developers.scratchBlocksBody' /> <FormattedMessage id='developers.scratchBlocksBody' />
...@@ -84,7 +110,16 @@ var Developers = React.createClass({ ...@@ -84,7 +110,16 @@ var Developers = React.createClass({
<div className="body-copy column"> <div className="body-copy column">
<h3><FormattedMessage id='developers.wwwTitle' /></h3> <h3><FormattedMessage id='developers.wwwTitle' /></h3>
<p> <p>
<FormattedHTMLMessage id='developers.wwwIntro' /> <FormattedMessage
id='developers.wwwIntro'
values={{
wwwIntroLink: (
<a href="https://github.com/LLK/scratch-www">
GitHub
</a>
)
}}
/>
</p> </p>
</div> </div>
...@@ -94,7 +129,21 @@ var Developers = React.createClass({ ...@@ -94,7 +129,21 @@ var Developers = React.createClass({
<div className="body-copy column"> <div className="body-copy column">
<h3>ScratchJr</h3> <h3>ScratchJr</h3>
<p> <p>
<FormattedHTMLMessage id='developers.jrBody' /> <FormattedMessage
id='developers.jrBody'
values={{
websiteLink: (
<a href="https://www.scratchjr.org">
<FormattedMessage id='developers.jrBodyWebsiteLinkText' />
</a>
),
githubLink: (
<a href="https://github.com/LLK/scratchjr">
GitHub
</a>
)
}}
/>
</p> </p>
</div> </div>
</FlexRow> </FlexRow>
...@@ -104,12 +153,22 @@ var Developers = React.createClass({ ...@@ -104,12 +153,22 @@ var Developers = React.createClass({
<span className="nav-spacer"></span> <span className="nav-spacer"></span>
<h2><FormattedMessage id='developers.principlesTitle' /></h2> <h2><FormattedMessage id='developers.principlesTitle' /></h2>
<p className="intro"> <p className="intro">
<FormattedHTMLMessage id='developers.principlesIntro' /> <FormattedMessage
id='developers.principlesIntro'
values={{
learningPrinciples: (
<b><FormattedMessage id='developers.LearningPrinciples' /></b>
),
designPrinciples: (
<b><FormattedMessage id='developers.DesignPrinciples' /></b>
)
}}
/>
</p> </p>
<FlexRow className="sidebar-row"> <FlexRow className="sidebar-row">
<div className="body-copy column"> <div className="body-copy column">
<h3><FormattedMessage id='developers.learningPrinciplesTitle' /></h3> <h3><FormattedMessage id='developers.LearningPrinciples' /></h3>
<dl> <dl>
<dt><FormattedMessage id='developers.projectsTitle' /></dt> <dt><FormattedMessage id='developers.projectsTitle' /></dt>
<dd> <dd>
...@@ -133,7 +192,7 @@ var Developers = React.createClass({ ...@@ -133,7 +192,7 @@ var Developers = React.createClass({
<FlexRow className="sidebar-row"> <FlexRow className="sidebar-row">
<div className="body-copy column"> <div className="body-copy column">
<h3><FormattedMessage id='developers.designPrinciplesTitle' /></h3> <h3><FormattedMessage id='developers.DesignPrinciples' /></h3>
<dl> <dl>
<dt><FormattedMessage id='developers.designPrinciplesRoomTitle' /></dt> <dt><FormattedMessage id='developers.designPrinciplesRoomTitle' /></dt>
<dd> <dd>
...@@ -159,14 +218,39 @@ var Developers = React.createClass({ ...@@ -159,14 +218,39 @@ var Developers = React.createClass({
<section id="join"> <section id="join">
<span className="nav-spacer"></span> <span className="nav-spacer"></span>
<h2><FormattedMessage id='developers.joinTitle' /></h2> <h2><FormattedMessage id='developers.joinTitle' /></h2>
<p><FormattedHTMLMessage id='developers.joinBody' /></p> <p>
<FormattedMessage
id='developers.joinBody'
values={{
jobsPageLink: (
<a href="/jobs">
<FormattedMessage id='developers.joinBodyJobsLinkText' />
</a>
),
emailLink: (
<a href="mailto:jobs+developers@scratch.mit.edu">
jobs+developers@scratch.mit.edu
</a>
)
}}
/>
</p>
</section> </section>
<section id="donate"> <section id="donate">
<span className="nav-spacer"></span> <span className="nav-spacer"></span>
<h2><FormattedMessage id='developers.donateTitle' /></h2> <h2><FormattedMessage id='developers.donateTitle' /></h2>
<p> <p>
<FormattedHTMLMessage id='developers.donateIntro' /> <FormattedMessage
id='developers.donateIntro'
values={{
donateLink: (
<a href="https://secure.donationpay.org/scratchfoundation/">
<FormattedMessage id='developers.donateIntroLinkText' />
</a>
)
}}
/>
</p> </p>
<p> <p>
<FormattedMessage id='developers.donateBody' /> <FormattedMessage id='developers.donateBody' />
...@@ -201,7 +285,26 @@ var Developers = React.createClass({ ...@@ -201,7 +285,26 @@ var Developers = React.createClass({
<div className="faq column"> <div className="faq column">
<h4><FormattedMessage id='developers.faqAboutTitle' /></h4> <h4><FormattedMessage id='developers.faqAboutTitle' /></h4>
<p> <p>
<FormattedHTMLMessage id='developers.faqAboutBody' /> <FormattedMessage
id='developers.faqAboutBody'
values={{
llkLink: (
<a href="https://www.media.mit.edu/groups/lifelong-kindergarten/overview">
<FormattedMessage id='developers.faqAboutBodyLLKLinkText' />
</a>
),
mitLink: (
<a href="http://media.mit.edu/">
<FormattedMessage id='developers.faqAboutBodyMITLinkText' />
</a>
),
aboutLink: (
<a href="/about">
<FormattedMessage id='developers.hereLinkText' />
</a>
)
}}
/>
</p> </p>
</div> </div>
<div className="faq column"> <div className="faq column">
...@@ -233,7 +336,19 @@ var Developers = React.createClass({ ...@@ -233,7 +336,19 @@ var Developers = React.createClass({
<div className="faq column"> <div className="faq column">
<h4><FormattedMessage id='developers.faqCollabTitle' /></h4> <h4><FormattedMessage id='developers.faqCollabTitle' /></h4>
<p> <p>
<FormattedHTMLMessage id='developers.faqCollabBody' /> <FormattedMessage
id='developers.faqCollabBody'
values={{
githubLink: (
<a href="https://github.com/LLK/">GitHub</a>
),
emailLink: (
<a href="mailto:help@scratch.mit.edu">
help@scratch.mit.edu
</a>
)
}}
/>
</p> </p>
</div> </div>
</FlexRow> </FlexRow>
......
{ {
"developers.hereLinkText": "here",
"developers.title": "Scratch for Developers", "developers.title": "Scratch for Developers",
"developers.intro": "On this page, you’ll find information about open source projects created and maintained by the <a href=\"/info/credits\">Scratch Team at MIT</a>, as well as our thoughts on best practices for designing learning experiences for children.", "developers.introLinkText": "Scratch Team at MIT",
"developers.intro": "On this page, you’ll find information about open source projects created and maintained by the {introLink}, as well as our thoughts on best practices for designing learning experiences for children.",
"developers.projectsTitle": "Projects", "developers.projectsTitle": "Projects",
"developers.principlesTitle": "Principles", "developers.principlesTitle": "Principles",
"developers.joinTitle": "Join Us", "developers.joinTitle": "Join Us",
...@@ -9,13 +11,16 @@ ...@@ -9,13 +11,16 @@
"developers.faqTitle": "FAQ", "developers.faqTitle": "FAQ",
"developers.projectsIntro": "The following projects are open source and available for any purpose.", "developers.projectsIntro": "The following projects are open source and available for any purpose.",
"developers.scratchBlocksTitle": "Scratch Blocks", "developers.scratchBlocksTitle": "Scratch Blocks",
"developers.scratchBlocksIntro": "Scratch Blocks is a new development project for the next generation of graphical programming blocks, based on a collaboration between Google and MIT’s Scratch Team — building on Google’s <a href=\"https://developers.google.com/blockly/\">Blockly technology</a> and informed by the Scratch Team’s expertise in developing creative learning tools for young people. Scratch Blocks will provide a framework for building programming blocks in both vertical (text-based) and horizontal (icon-based) formats. You can access the code (currently as a developer-preview) and documentation <a href=\"https://github.com/llk/scratch-blocks\">here</a>.", "developers.scratchBlocksIntroBlocklyLinkText": "Blockly technology",
"developers.scratchBlocksIntro": "Scratch Blocks is a new development project for the next generation of graphical programming blocks, based on a collaboration between Google and MIT’s Scratch Team — building on Google’s {blocklyLink} and informed by the Scratch Team’s expertise in developing creative learning tools for young people. Scratch Blocks will provide a framework for building programming blocks in both vertical (text-based) and horizontal (icon-based) formats. You can access the code (currently as a developer-preview) and documentation {githubLink}.",
"developers.scratchBlocksBody": "This first release includes code for Scratch’s Horizontal Grammar. Looking ahead, we plan to release additional code including but not limited to the Vertical Grammar (currently used by Scratch), a new Rendering Engine to support sprites and graphic effects, and a new Audio Engine to support creation with sound and music.", "developers.scratchBlocksBody": "This first release includes code for Scratch’s Horizontal Grammar. Looking ahead, we plan to release additional code including but not limited to the Vertical Grammar (currently used by Scratch), a new Rendering Engine to support sprites and graphic effects, and a new Audio Engine to support creation with sound and music.",
"developers.wwwTitle": "Scratch WWW", "developers.wwwTitle": "Scratch WWW",
"developers.wwwIntro": "Scratch-www is a standalone web client for the Scratch Community, built using React and Redux. Access the code and documentation through Github <a href=\"https://github.com/LLK/scratch-www\">here</a>.", "developers.wwwIntro": "Scratch-www is a standalone web client for the Scratch Community, built using React and Redux. Access the code and documentation through {wwwIntroLink}.",
"developers.principlesIntro": "We created Scratch to empower young people to think creatively, reason systematically, and work collaboratively. We are guided by a set of <b>Learning Principles</b> and <b>Design Principles</b> that we hope you will follow as you develop new tools and technologies with Scratch Blocks.", "developers.LearningPrinciples": "Learning Principles",
"developers.jrBody": "ScratchJr is an introductory programming language that enables young children (ages 5-7) to create their own interactive stories and games. For more information, visit the <a href=\"https://www.scratchjr.org/\">ScratchJr website</a> or access the code and documentation <a href=\"https://github.com/LLK/scratchjr\">on GitHub</a>.", "developers.DesignPrinciples": "Design Principles",
"developers.learningPrinciplesTitle": "Learning Principles", "developers.principlesIntro": "We created Scratch to empower young people to think creatively, reason systematically, and work collaboratively. We are guided by a set of {learningPrinciples} and {designPrinciples} that we hope you will follow as you develop new tools and technologies with Scratch Blocks.",
"developers.jrBodyWebsiteLinkText": "ScratchJr website",
"developers.jrBody": "ScratchJr is an introductory programming language that enables young children (ages 5-7) to create their own interactive stories and games. For more information, visit the {websiteLink} or access the code and documentation on {githubLink}.",
"developers.learningPrinciplesProjectsBody": "People learn best when they are actively working on projects — generating new ideas, designing prototypes, making improvements and creating final products.", "developers.learningPrinciplesProjectsBody": "People learn best when they are actively working on projects — generating new ideas, designing prototypes, making improvements and creating final products.",
"developers.learningPrinciplesPassionTitle": "Passion", "developers.learningPrinciplesPassionTitle": "Passion",
"developers.learningPrinciplesPassionBody": "When people focus on things they care about, they work longer and harder, persist in the face of challenges, and learn more in the process.", "developers.learningPrinciplesPassionBody": "When people focus on things they care about, they work longer and harder, persist in the face of challenges, and learn more in the process.",
...@@ -23,7 +28,6 @@ ...@@ -23,7 +28,6 @@
"developers.learningPrinciplesPeersBody": "Learning flourishes as a social activity, with people sharing ideas, collaborating on projects, and building on one another's work.", "developers.learningPrinciplesPeersBody": "Learning flourishes as a social activity, with people sharing ideas, collaborating on projects, and building on one another's work.",
"developers.learningPrinciplesPlayTitle": "Play", "developers.learningPrinciplesPlayTitle": "Play",
"developers.learningPrinciplesPlayBody": "Learning involves playful experimentation — trying new things, tinkering with materials, testing boundaries, taking risks, iterating again and again.", "developers.learningPrinciplesPlayBody": "Learning involves playful experimentation — trying new things, tinkering with materials, testing boundaries, taking risks, iterating again and again.",
"developers.designPrinciplesTitle": "Design Principles",
"developers.designPrinciplesRoomTitle": "Low Floor & Wide Walls", "developers.designPrinciplesRoomTitle": "Low Floor & Wide Walls",
"developers.designPrinciplesRoomBody": "In order to encourage a varied and diverse set of interactions, we explicitly include elements and features that are easy for kids to understand (low floor), but general enough to support diverse uses (wide walls).", "developers.designPrinciplesRoomBody": "In order to encourage a varied and diverse set of interactions, we explicitly include elements and features that are easy for kids to understand (low floor), but general enough to support diverse uses (wide walls).",
"developers.designPrinciplesSimpleTitle": "Make it as Simple as Possible — And Maybe Even Simpler", "developers.designPrinciplesSimpleTitle": "Make it as Simple as Possible — And Maybe Even Simpler",
...@@ -32,13 +36,17 @@ ...@@ -32,13 +36,17 @@
"developers.designPrinciplesGlobalBody": "Many math and science activities have traditionally been biased towards specific populations. By paying special attention to creating accessible and appealing technologies, we are working to close the gap.", "developers.designPrinciplesGlobalBody": "Many math and science activities have traditionally been biased towards specific populations. By paying special attention to creating accessible and appealing technologies, we are working to close the gap.",
"developers.designPrinciplesTinkerTitle": "Design for Tinkerability", "developers.designPrinciplesTinkerTitle": "Design for Tinkerability",
"developers.designPrinciplesTinkerBody": "We believe that the learning process is inherently iterative. Tinkerers start by exploring and experimenting, then revising and refining their goals and creations. To support this style of interaction, we design our interfaces to encourage quick experimentation and rapid cycles of iteration.", "developers.designPrinciplesTinkerBody": "We believe that the learning process is inherently iterative. Tinkerers start by exploring and experimenting, then revising and refining their goals and creations. To support this style of interaction, we design our interfaces to encourage quick experimentation and rapid cycles of iteration.",
"developers.joinBody": "We're a diverse group of educators, designers, and engineers, who work together in a playful, creative environment full of LEGO bricks, craft materials, and maker tools. We strongly value diversity, collaboration, and respect in the workplace. If you're interested in joining us, take a look at our open positions on our <a href=\"/jobs\">Jobs Page</a>, or send us an email at <a href=\"mailto:jobs+developers@scratch.mit.edu\">jobs+developers@scratch.mit.edu</a>.", "developers.joinBodyJobsLinkText": "Jobs Page",
"developers.donateIntro": "We are pleased to provide Scratch free of charge. If you enjoy using Scratch, please consider <a href=\"https://secure.donationpay.org/scratchfoundation/\">making a donation to support Scratch</a>. Donations of any size are appreciated.", "developers.joinBody": "We're a diverse group of educators, designers, and engineers, who work together in a playful, creative environment full of LEGO bricks, craft materials, and maker tools. We strongly value diversity, collaboration, and respect in the workplace. If you're interested in joining us, take a look at our open positions on our {jobsPageLink}, or send us an email at {emailLink}.",
"developers.donateIntroLinkText": "making a donation to support Scratch",
"developers.donateIntro": "We are pleased to provide Scratch free of charge. If you enjoy using Scratch, please consider {donateLink}. Donations of any size are appreciated.",
"developers.donateBody": "Your donation to the Scratch Foundation will be used to support future development of Scratch software and the Scratch website.", "developers.donateBody": "Your donation to the Scratch Foundation will be used to support future development of Scratch software and the Scratch website.",
"developers.donateThanks": "Thanks for supporting Scratch!", "developers.donateThanks": "Thanks for supporting Scratch!",
"developers.partnersIntro": "The creation and maintenance of this open source code would not be possible without generous technical and financial support from our partners:", "developers.partnersIntro": "The creation and maintenance of this open source code would not be possible without generous technical and financial support from our partners:",
"developers.faqAboutTitle": "Where can I learn more about Scratch?", "developers.faqAboutTitle": "Where can I learn more about Scratch?",
"developers.faqAboutBody": "Scratch is a free programming language and online community where young people can create their own interactive stories, games, and animations. Scratch is a project of the <a href=\"https://www.media.mit.edu/groups/lifelong-kindergarten/overview\">Lifelong Kindergarten</a> Group at the <a href=\"http://media.mit.edu/\">MIT Media Lab</a>. You can learn more about Scratch <a href=\"/about\">here</a>.", "developers.faqAboutBodyLLKLinkText": "Lifelong Kindergarten",
"developers.faqAboutBodyMITLinkText": "MIT Media Lab",
"developers.faqAboutBody": "Scratch is a free programming language and online community where young people can create their own interactive stories, games, and animations. Scratch is a project of the {llkLink} Group at the {mitLink}. You can learn more about Scratch {aboutLink}.",
"developers.faqRulesTitle": "Are there rules to using this code in my application?", "developers.faqRulesTitle": "Are there rules to using this code in my application?",
"developers.faqRulesBody": "You may use this code in accordance with the license which governs each project. We also strongly encourage you to consider the learning and design principles (above, on this page) when building creative learning experiences for kids of all ages.", "developers.faqRulesBody": "You may use this code in accordance with the license which governs each project. We also strongly encourage you to consider the learning and design principles (above, on this page) when building creative learning experiences for kids of all ages.",
"developers.faqNameTitle": "Am I allowed to use the name \"Scratch Blocks\" in the description of my app and other public messaging?", "developers.faqNameTitle": "Am I allowed to use the name \"Scratch Blocks\" in the description of my app and other public messaging?",
...@@ -48,5 +56,5 @@ ...@@ -48,5 +56,5 @@
"developers.faqDifferencesTitle": "What’s the difference between Blockly and Scratch Blocks?", "developers.faqDifferencesTitle": "What’s the difference between Blockly and Scratch Blocks?",
"developers.faqDifferencesBody": "Scratch Blocks builds upon the Blockly code base, and is specifically designed with our principles in mind to support creative learning experiences.", "developers.faqDifferencesBody": "Scratch Blocks builds upon the Blockly code base, and is specifically designed with our principles in mind to support creative learning experiences.",
"developers.faqCollabTitle": "I’d like to collaborate. How do I get in touch?", "developers.faqCollabTitle": "I’d like to collaborate. How do I get in touch?",
"developers.faqCollabBody": "You can reach us over on <a href=\"https://github.com/LLK/\">github</a> or you can send an email to <a href=\"mailto:help@scratch.mit.edu\">help@scratch.mit.edu.</a> We look forward to hearing from you!" "developers.faqCollabBody": "You can reach us over on {githubLink} or you can send an email to {emailLink}. We look forward to hearing from you!"
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment