Finish Localization and Implementation

This commit is contained in:
The_Grits 2016-10-05 23:03:23 -04:00 committed by GitHub
parent e0026d5c44
commit 009b6eb75a
2 changed files with 82 additions and 108 deletions

View file

@ -1,6 +1,9 @@
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 Page = require('../../components/page/www/page.jsx'); var Page = require('../../components/page/www/page.jsx');
var FlexRow = require('../../components/flex-row/flex-row.jsx'); var FlexRow = require('../../components/flex-row/flex-row.jsx');
var SubNavigation = require('../../components/subnavigation/subnavigation.jsx'); var SubNavigation = require('../../components/subnavigation/subnavigation.jsx');
@ -15,38 +18,36 @@ var Developers = React.createClass({
<div className="developers"> <div className="developers">
<TitleBanner className="masthead"> <TitleBanner className="masthead">
<div className="inner"> <div className="inner">
<h1>Scratch for Developers</h1> <h1><FormattedMessage id='developers.title' /></h1>
<p className="intro"> <p className="intro">
On this page, youll find information about open source projects created and maintained{' '} <FormattedMessage id='developers.intro' />
by the <a href="https://scratch.mit.edu/info/credits">Scratch Team at MIT</a>, as well{' '}
as our thoughts on best practices for designing learning experiences for children.
</p> </p>
</div> </div>
<div className="band"> <div className="band">
<SubNavigation className="inner"> <SubNavigation className="inner">
<a href="#projects"> <a href="#projects">
<li> <li>
Projects <FormattedMessage id='developers.projectsTitle' />
</li> </li>
</a> </a>
<a href="#principles"> <a href="#principles">
<li> <li>
Principles <FormattedMessage id='developers.principlesTitle' />
</li> </li>
</a> </a>
<a href="#donate"> <a href="#donate">
<li> <li>
Donate <FormattedMessage id='developers.donateTitle' />
</li> </li>
</a> </a>
<a href="#partners"> <a href="#partners">
<li> <li>
Partners <FormattedMessage id='developers.partnersTitle' />
</li> </li>
</a> </a>
<a href="#faq"> <a href="#faq">
<li> <li>
FAQ <FormattedMessage id='developers.faqTitle' />
</li> </li>
</a> </a>
</SubNavigation> </SubNavigation>
@ -58,40 +59,25 @@ var Developers = React.createClass({
<span className="nav-spacer"></span> <span className="nav-spacer"></span>
<h2>Projects</h2> <h2>Projects</h2>
<p className="intro"> <p className="intro">
The following projects are open source and available for any purpose. <FormattedMessage id='developers.projectsIntro' />
</p> </p>
<FlexRow className="sidebar-row"> <FlexRow className="sidebar-row">
<div className="body-copy column"> <div className="body-copy column">
<h3>Scratch Blocks</h3> <h3><FormattedMessage id='developers.scratchBlocksTitle' /></h3>
<p> <p>
Scratch Blocks is a new development project for the next generation of{' '} <FormattedHTMLMessage id='developers.scratchBlocksIntro' />
graphical programming blocks, based on a collaboration between Google and MITs{' '}
Scratch Team building on Googles{' '}
<a href="https://developers.google.com/blockly/">Blockly technology</a>{' '}
and informed by the Scratch Teams 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>.
</p> </p>
<p> <p>
This first release includes code for Scratchs Horizontal Grammar. Looking{' '} <FormattedMessage id='developers.scratchBlocksBody' />
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.
</p> </p>
</div> </div>
<img className="sidebar column" src="/images/developers/block-sketch.png" alt="blocks" /> <img className="sidebar column" src="/images/developers/block-sketch.png" alt="blocks" />
</FlexRow> </FlexRow>
<FlexRow className="sidebar-row"> <FlexRow className="sidebar-row">
<div className="body-copy column"> <div className="body-copy column">
<h3>Scratch WWW</h3> <h3><FormattedMessage id='developers.wwwTitle' /></h3>
<p> <p>
Scratch-www is a standalone web client for the Scratch Community, built{' '} <FormattedHTMLMessage id='developers.wwwIntro' />
using React and Redux. Access the code and documentation{' '}
<a href="https://github.com/LLK/scratch-www">here</a>.
</p> </p>
</div> </div>
@ -101,38 +87,30 @@ var Developers = React.createClass({
<section id="principles"> <section id="principles">
<span className="nav-spacer"></span> <span className="nav-spacer"></span>
<h2>Principles</h2> <h2><FormattedMessage id='developers.principlesTitle' /></h2>
<p className="intro"> <p className="intro">
We created Scratch to empower young people to think creatively, reason systematically,{' '} <FormattedMessage id='developers.principlesIntro' />
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.
</p> </p>
<FlexRow className="sidebar-row"> <FlexRow className="sidebar-row">
<div className="body-copy column"> <div className="body-copy column">
<h3>Learning Principles</h3> <h3><FormattedMessage id='developers.learningPrinciplesTitle' /></h3>
<dl> <dl>
<dt>Projects</dt> <dt><FormattedMessage id='developers.learningPrinciplesProjectsTitle' /></dt>
<dd> <dd>
People learn best when they are actively working on projects generating{' '} <FormattedMessage id='developers.learningPrinciplesProjectsBody' />
new ideas, designing prototypes, making improvements and creating final{' '}
products.
</dd> </dd>
<dt>Passion</dt> <dt><FormattedMessage id='developers.learningPrinciplesPassionTitle' /></dt>
<dd> <dd>
When people focus on things they care about, they work longer and harder,{' '} <FormattedMessage id='developers.learningPrinciplesPassionBody' />
persist in the face of challenges, and learn more in the process.
</dd> </dd>
<dt>Peers</dt> <dt><FormattedMessage id='developers.learningPrinciplesPeersTitle' /></dt>
<dd> <dd>
Learning flourishes as a social activity, with people sharing ideas,{' '} <FormattedMessage id='developers.learningPrinciplesPeersBody' />
collaborating on projects, and building on one another's work.
</dd> </dd>
<dt>Play</dt> <dt><FormattedMessage id='developers.learningPrinciplesPlayTitle' /></dt>
<dd> <dd>
Learning involves playful experimentation trying new things, tinkering{' '} <FormattedMessage id='developers.learningPrinciplesPlayBody' />
with materials, testing boundaries, taking risks, iterating again and again.
</dd> </dd>
</dl> </dl>
</div> </div>
@ -140,33 +118,23 @@ var Developers = React.createClass({
<FlexRow className="sidebar-row"> <FlexRow className="sidebar-row">
<div className="body-copy column"> <div className="body-copy column">
<h3>Design Principles</h3> <h3><FormattedMessage id='developers.designPrinciplesTitle' /></h3>
<dl> <dl>
<dt>Low Floor & Wide Walls</dt> <dt><FormattedMessage id='developers.designPrinciplesRoomTitle' /></dt>
<dd> <dd>
In order to encourage a varied and diverse set of interactions, we{' '} <FormattedMessage id='developers.designPrinciplesRoomBody' />
explicitly include elements and features that are easy for kids to{' '}
understand (low floor), but general enough to support diverse uses (wide walls).
</dd> </dd>
<dt>Make it as Simple as Possible And Maybe Even Simpler</dt> <dt><FormattedMessage id='developers.designPrinciplesSimpleTitle' /></dt>
<dd> <dd>
Despite the common drive to add more features to software products, we{' '} <FormattedMessage id='developers.designPrinciplesSimpleBody' />
have found that reducing the number of features often improves the user{' '}
experience. What initially seems like a constraint or limitation can foster{' '}
new forms of creativity.
</dd> </dd>
<dt>Many Paths, Many Styles</dt> <dt><FormattedMessage id='developers.designPrinciplesGlobalTitle' /></dt>
<dd> <dd>
Many math and science activities have traditionally been biased towards{' '} <FormattedMessage id='developers.designPrinciplesGlobalBody' />
specific populations. By paying special attention to creating accessible{' '}
and appealing technologies, we are working to close the gap.
</dd> </dd>
<dt>Design for Tinkerability</dt> <dt><FormattedMessage id='developers.designPrinciplesTinkerTitle' /></dt>
<dd> <dd>
We believe that the learning process is inherently iterative. Tinkerers{' '} <FormattedMessage id='developers.designPrinciplesTinkerBody' />
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.
</dd> </dd>
</dl> </dl>
</div> </div>
@ -175,27 +143,23 @@ var Developers = React.createClass({
<section id="donate"> <section id="donate">
<span className="nav-spacer"></span> <span className="nav-spacer"></span>
<h2>Donate</h2> <h2><FormattedMessage id='developers.donateTitle' /></h2>
<p> <p>
We are pleased to provide Scratch free of charge. If you enjoy using Scratch, please{' '} <FormattedHTMLMessage id='developers.donateIntro' />
consider <a href="https://secure.donationpay.org/scratchfoundation/">making a donation{' '}
to support Scratch</a>. Donations of any size are appreciated.
</p> </p>
<p> <p>
Your donation to the Scratch Foundation will be used to support future development of{' '} <FormattedMessage id='developers.donateBody' />
Scratch software and the Scratch website.
</p> </p>
<p> <p>
Thanks for supporting Scratch! <FormattedMessage id='developers.donateThanks' />
</p> </p>
</section> </section>
<section id="partners"> <section id="partners">
<span className="nav-spacer"></span> <span className="nav-spacer"></span>
<h3>Partners</h3> <h3><FormattedMessage id='developers.partnersTitle' /></h3>
<p> <p>
The creation and maintenance of this open source code would not be possible without{' '} <FormattedMessage id='developers.partnersIntro' />
generous technical and financial support from our partners:
</p> </p>
<FlexRow className="logos"> <FlexRow className="logos">
@ -211,61 +175,44 @@ var Developers = React.createClass({
<div className="inner"> <div className="inner">
<section id="faq"> <section id="faq">
<span className="nav-spacer"></span> <span className="nav-spacer"></span>
<h3>FAQ</h3> <h3><FormattedMessage id='developers.faqTitle' /></h3>
<FlexRow className="three-col-row"> <FlexRow className="three-col-row">
<div className="faq column"> <div className="faq column">
<h4>Where can I learn more about Scratch?</h4> <h4><FormattedMessage id='developers.faqAboutTitle' /></h4>
<p> <p>
Scratch is a free programming language and online community where young{' '} <FormattedHTMLMessage id='developers.faqAboutBody' />
people can create their own interactive stories, games, and animations.{' '}
Scratch is a project of the{' '}
<a href="https://llk.media.mit.edu/">Lifelong Kindergarten</a>{' '}
Group at the <a href="http://media.mit.edu/">MIT Media Lab</a>.{' '}
You can learn more about Scratch{' '}
<a href="https://scratch.mit.edu/about">here</a>.
</p> </p>
</div> </div>
<div className="faq column"> <div className="faq column">
<h4>Are there rules to using this code in my application?</h4> <h4><FormattedMessage id='developers.faqRulesTitle' /></h4>
<p> <p>
You may use this code in accordance with the license which governs{' '} <FormattedMessage id='developers.faqRulesBody' />
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.
</p> </p>
</div> </div>
<div className="faq column"> <div className="faq column">
<h4> <h4>
Am I allowed to use the name "Scratch Blocks" in the description of my{' '} <FormattedMessage id='developers.faqNameTitle' />
app and other public messaging?
</h4> </h4>
<p> <p>
If you wish, you can publicly state that your application is powered by{' '} <FormattedMessage id='developers.faqNameBody' />
Scratch Blocks. If you do so, we would also encourage you to link back to{' '}
the code repository.
</p> </p>
</div> </div>
<div className="faq column"> <div className="faq column">
<h4>Are you releasing more code and when?</h4> <h4><FormattedMessage id='developers.faqReleasesTitle' /></h4>
<p> <p>
We plan to open source additional code relating to the Scratch programming{' '} <FormattedMessage id='developers.faqReleasesBody' />
language over the next few months. Keep an eye on this page!
</p> </p>
</div> </div>
<div className="faq column"> <div className="faq column">
<h4>Whats the difference between Blockly and Scratch Blocks?</h4> <h4><FormattedMessage id='developers.faqDifferencesTitle' /></h4>
<p> <p>
Scratch Blocks builds upon the Blockly code base, and is specifically{' '} <FormattedMessage id='developers.faqDifferencesBody' />
designed with our principles in mind to support creative learning experiences.
</p> </p>
</div> </div>
<div className="faq column"> <div className="faq column">
<h4>Id like to collaborate. How do I get in touch?</h4> <h4><FormattedMessage id='developers.faqCollabTitle' /></h4>
<p> <p>
You can reach us over on <a href="https://github.com/LLK/">github</a> or{' '} <FormattedHTMLMessage id='developers.faqCollabBody' />
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!
</p> </p>
</div> </div>
</FlexRow> </FlexRow>

View file

@ -20,4 +20,31 @@
"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.",
"developers.learningPrinciplesPeersTitle": "Peers", "developers.learningPrinciplesPeersTitle": "Peers",
"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.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.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.designPrinciplesSimpleBody": "Despite the common drive to add more features to software products, we have found that reducing the number of features often improves the user experience. What initially seems like a constraint or limitation can foster new forms of creativity.",
"developers.designPrinciplesGlobalTitle": "Many Paths, Many Styles",
"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.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.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.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.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.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://llk.media.mit.edu/\">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.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.faqNameTitle": "Am I allowed to use the name \"Scratch Blocks\" in the description of my app and other public messaging?",
"developers.faqNameBody": "If you wish, you can publicly state that your application is powered by Scratch Blocks. If you do so, we would also encourage you to link back to the code repository.",
"developers.faqReleasesTitle": "Are you releasing more code and when?",
"developers.faqReleasesBody": "We plan to open source additional code relating to the Scratch programming language over the next few months. Keep an eye on this page!",
"developers.faqDifferencesTitle": "Whats 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.faqCollabTitle": "Id 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!"
} }