Merge pull request #1394 from LLK/release/2.2.22

[Develop] Release 2.2.22
This commit is contained in:
Matthew Taylor 2017-07-05 10:23:04 -04:00 committed by GitHub
commit 716d332907
10 changed files with 237 additions and 164 deletions

View file

@ -1,113 +1,113 @@
{
"ar": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/ar/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/ar/Scratch2Cards.pdf"
},
"ca": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/Scratch2Cards.pdf",
"cards.ScratchCardsAllLink": "https:/resources.scratch.mit.edu/www/cards/ca/ScratchCardsAll.pdf",
"cards.catchCardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/catchCards.pdf",
"cards.danceCardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/danceCards.pdf",
"cards.fashionCardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/fashionCards.pdf",
"cards.flyCardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/flyCards.pdf",
"cards.hide-seekCardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/hide-seekCards.pdf",
"cards.musicCardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/musicCards.pdf",
"cards.nameCardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/nameCards.pdf",
"cards.petCardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/petCards.pdf",
"cards.pongCardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/pongCards.pdf",
"cards.raceCardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/raceCards.pdf",
"cards.storyCardsLink": "https:/resources.scratch.mit.edu/www/cards/ca/storyCards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/ca/Scratch2Cards.pdf",
"cards.ScratchCardsAllLink": "https://resources.scratch.mit.edu/www/cards/ca/ScratchCardsAll.pdf",
"cards.catchCardsLink": "https://resources.scratch.mit.edu/www/cards/ca/catchCards.pdf",
"cards.danceCardsLink": "https://resources.scratch.mit.edu/www/cards/ca/danceCards.pdf",
"cards.fashionCardsLink": "https://resources.scratch.mit.edu/www/cards/ca/fashionCards.pdf",
"cards.flyCardsLink": "https://resources.scratch.mit.edu/www/cards/ca/flyCards.pdf",
"cards.hide-seekCardsLink": "https://resources.scratch.mit.edu/www/cards/ca/hide-seekCards.pdf",
"cards.musicCardsLink": "https://resources.scratch.mit.edu/www/cards/ca/musicCards.pdf",
"cards.nameCardsLink": "https://resources.scratch.mit.edu/www/cards/ca/nameCards.pdf",
"cards.petCardsLink": "https://resources.scratch.mit.edu/www/cards/ca/petCards.pdf",
"cards.pongCardsLink": "https://resources.scratch.mit.edu/www/cards/ca/pongCards.pdf",
"cards.raceCardsLink": "https://resources.scratch.mit.edu/www/cards/ca/raceCards.pdf",
"cards.storyCardsLink": "https://resources.scratch.mit.edu/www/cards/ca/storyCards.pdf"
},
"cs": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/cs/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/cs/Scratch2Cards.pdf"
},
"de": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/de/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/de/Scratch2Cards.pdf"
},
"en": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/en/Scratch2Cards.pdf",
"cards.ScratchCardsAllLink": "https:/resources.scratch.mit.edu/www/cards/en/ScratchCardsAll.pdf",
"cards.catchCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/catchCards.pdf",
"cards.danceCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/danceCards.pdf",
"cards.dressupCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/dressupCards.pdf",
"cards.fashionCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/fashionCards.pdf",
"cards.flyCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/flyCards.pdf",
"cards.hide-seekCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/hide-seekCards.pdf",
"cards.musicCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/musicCards.pdf",
"cards.nameCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/nameCards.pdf",
"cards.petCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/petCards.pdf",
"cards.pongCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/pongCards.pdf",
"cards.raceCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/raceCards.pdf",
"cards.storyCardsLink": "https:/resources.scratch.mit.edu/www/cards/en/storyCards.pdf",
"guides.AnimateYourNameGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/AnimateYourNameGuide.pdf",
"guides.CatchGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/CatchGuide.pdf",
"guides.DanceGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/DanceGuide.pdf",
"guides.FashionGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/FashionGuide.pdf",
"guides.FlyGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/FlyGuide.pdf",
"guides.Getting-Started-Guide-Scratch2Link": "https:/resources.scratch.mit.edu/www/guides/en/Getting-Started-Guide-Scratch2.pdf",
"guides.HideandSeekGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/HideandSeekGuide.pdf",
"guides.MusicGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/MusicGuide.pdf",
"guides.NameGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/NameGuide.pdf",
"guides.PetGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/PetGuide.pdf",
"guides.PongGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/PongGuide.pdf",
"guides.RaceGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/RaceGuide.pdf",
"guides.StoryGuideLink": "https:/resources.scratch.mit.edu/www/guides/en/StoryGuide.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/en/Scratch2Cards.pdf",
"cards.ScratchCardsAllLink": "https://resources.scratch.mit.edu/www/cards/en/ScratchCardsAll.pdf",
"cards.catchCardsLink": "https://resources.scratch.mit.edu/www/cards/en/catchCards.pdf",
"cards.danceCardsLink": "https://resources.scratch.mit.edu/www/cards/en/danceCards.pdf",
"cards.dressupCardsLink": "https://resources.scratch.mit.edu/www/cards/en/dressupCards.pdf",
"cards.fashionCardsLink": "https://resources.scratch.mit.edu/www/cards/en/fashionCards.pdf",
"cards.flyCardsLink": "https://resources.scratch.mit.edu/www/cards/en/flyCards.pdf",
"cards.hide-seekCardsLink": "https://resources.scratch.mit.edu/www/cards/en/hide-seekCards.pdf",
"cards.musicCardsLink": "https://resources.scratch.mit.edu/www/cards/en/musicCards.pdf",
"cards.nameCardsLink": "https://resources.scratch.mit.edu/www/cards/en/nameCards.pdf",
"cards.petCardsLink": "https://resources.scratch.mit.edu/www/cards/en/petCards.pdf",
"cards.pongCardsLink": "https://resources.scratch.mit.edu/www/cards/en/pongCards.pdf",
"cards.raceCardsLink": "https://resources.scratch.mit.edu/www/cards/en/raceCards.pdf",
"cards.storyCardsLink": "https://resources.scratch.mit.edu/www/cards/en/storyCards.pdf",
"guides.AnimateYourNameGuideLink": "https://resources.scratch.mit.edu/www/guides/en/AnimateYourNameGuide.pdf",
"guides.CatchGuideLink": "https://resources.scratch.mit.edu/www/guides/en/CatchGuide.pdf",
"guides.DanceGuideLink": "https://resources.scratch.mit.edu/www/guides/en/DanceGuide.pdf",
"guides.FashionGuideLink": "https://resources.scratch.mit.edu/www/guides/en/FashionGuide.pdf",
"guides.FlyGuideLink": "https://resources.scratch.mit.edu/www/guides/en/FlyGuide.pdf",
"guides.Getting-Started-Guide-Scratch2Link": "https://resources.scratch.mit.edu/www/guides/en/Getting-Started-Guide-Scratch2.pdf",
"guides.HideandSeekGuideLink": "https://resources.scratch.mit.edu/www/guides/en/HideandSeekGuide.pdf",
"guides.MusicGuideLink": "https://resources.scratch.mit.edu/www/guides/en/MusicGuide.pdf",
"guides.NameGuideLink": "https://resources.scratch.mit.edu/www/guides/en/NameGuide.pdf",
"guides.PetGuideLink": "https://resources.scratch.mit.edu/www/guides/en/PetGuide.pdf",
"guides.PongGuideLink": "https://resources.scratch.mit.edu/www/guides/en/PongGuide.pdf",
"guides.RaceGuideLink": "https://resources.scratch.mit.edu/www/guides/en/RaceGuide.pdf",
"guides.StoryGuideLink": "https://resources.scratch.mit.edu/www/guides/en/StoryGuide.pdf"
},
"es": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/es/Scratch2Cards.pdf",
"cards.catchCardsLink": "https:/resources.scratch.mit.edu/www/cards/es/catchCards.pdf",
"cards.danceCardsLink": "https:/resources.scratch.mit.edu/www/cards/es/danceCards.pdf",
"cards.fashionCardsLink": "https:/resources.scratch.mit.edu/www/cards/es/fashionCards.pdf",
"cards.flyCardsLink": "https:/resources.scratch.mit.edu/www/cards/es/flyCards.pdf",
"cards.hide-seekCardsLink": "https:/resources.scratch.mit.edu/www/cards/es/hide-seekCards.pdf",
"cards.musicCardsLink": "https:/resources.scratch.mit.edu/www/cards/es/musicCards.pdf",
"cards.nameCardsLink": "https:/resources.scratch.mit.edu/www/cards/es/nameCards.pdf",
"cards.petCardsLink": "https:/resources.scratch.mit.edu/www/cards/es/petCards.pdf",
"cards.pongCardsLink": "https:/resources.scratch.mit.edu/www/cards/es/pongCards.pdf",
"cards.raceCardsLink": "https:/resources.scratch.mit.edu/www/cards/es/raceCards.pdf",
"cards.storyCardsLink": "https:/resources.scratch.mit.edu/www/cards/es/storyCards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/es/Scratch2Cards.pdf",
"cards.catchCardsLink": "https://resources.scratch.mit.edu/www/cards/es/catchCards.pdf",
"cards.danceCardsLink": "https://resources.scratch.mit.edu/www/cards/es/danceCards.pdf",
"cards.fashionCardsLink": "https://resources.scratch.mit.edu/www/cards/es/fashionCards.pdf",
"cards.flyCardsLink": "https://resources.scratch.mit.edu/www/cards/es/flyCards.pdf",
"cards.hide-seekCardsLink": "https://resources.scratch.mit.edu/www/cards/es/hide-seekCards.pdf",
"cards.musicCardsLink": "https://resources.scratch.mit.edu/www/cards/es/musicCards.pdf",
"cards.nameCardsLink": "https://resources.scratch.mit.edu/www/cards/es/nameCards.pdf",
"cards.petCardsLink": "https://resources.scratch.mit.edu/www/cards/es/petCards.pdf",
"cards.pongCardsLink": "https://resources.scratch.mit.edu/www/cards/es/pongCards.pdf",
"cards.raceCardsLink": "https://resources.scratch.mit.edu/www/cards/es/raceCards.pdf",
"cards.storyCardsLink": "https://resources.scratch.mit.edu/www/cards/es/storyCards.pdf"
},
"fr": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/fr/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/fr/Scratch2Cards.pdf"
},
"hr": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/hr/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/hr/Scratch2Cards.pdf"
},
"it": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/it/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/it/Scratch2Cards.pdf"
},
"ja": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/ja/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/ja/Scratch2Cards.pdf"
},
"ja-hr": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/ja-hr/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/ja-hr/Scratch2Cards.pdf"
},
"ko": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/ko/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/ko/Scratch2Cards.pdf"
},
"nl": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/nl/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/nl/Scratch2Cards.pdf"
},
"pt-br": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/pt-br/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/pt-br/Scratch2Cards.pdf"
},
"sl": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/sl/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/sl/Scratch2Cards.pdf"
},
"sv": {
"cards.Scratch2CardsLink": "https:/resources.scratch.mit.edu/www/cards/sv/Scratch2Cards.pdf"
"cards.Scratch2CardsLink": "https://resources.scratch.mit.edu/www/cards/sv/Scratch2Cards.pdf"
},
"zh-tw": {
"cards.ScratchCardsAllLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/ScratchCardsAll.pdf",
"cards.catchCardsLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/catchCards.pdf",
"cards.danceCardsLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/danceCards.pdf",
"cards.fashionCardsLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/fashionCards.pdf",
"cards.flyCardsLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/flyCards.pdf",
"cards.hide-seekCardsLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/hide-seekCards.pdf",
"cards.musicCardsLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/musicCards.pdf",
"cards.nameCardsLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/nameCards.pdf",
"cards.petCardsLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/petCards.pdf",
"cards.pongCardsLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/pongCards.pdf",
"cards.raceCardsLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/raceCards.pdf",
"cards.storyCardsLink": "https:/resources.scratch.mit.edu/www/cards/zh-tw/storyCards.pdf"
"cards.ScratchCardsAllLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/ScratchCardsAll.pdf",
"cards.catchCardsLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/catchCards.pdf",
"cards.danceCardsLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/danceCards.pdf",
"cards.fashionCardsLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/fashionCards.pdf",
"cards.flyCardsLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/flyCards.pdf",
"cards.hide-seekCardsLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/hide-seekCards.pdf",
"cards.musicCardsLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/musicCards.pdf",
"cards.nameCardsLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/nameCards.pdf",
"cards.petCardsLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/petCards.pdf",
"cards.pongCardsLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/pongCards.pdf",
"cards.raceCardsLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/raceCards.pdf",
"cards.storyCardsLink": "https://resources.scratch.mit.edu/www/cards/zh-tw/storyCards.pdf"
}
}

View file

@ -127,8 +127,8 @@ var Footer = React.createClass({
<FormattedMessage id='general.support' />
</dt>
<dd>
<a href="/help/">
<FormattedMessage id='footer.help' />
<a href="/tips">
<FormattedMessage id='general.tips' />
</a>
</dd>
<dd>
@ -146,6 +146,11 @@ var Footer = React.createClass({
<FormattedMessage id='general.contactUs' />
</a>
</dd>
<dd>
<a href="/store">
<FormattedMessage id='general.scratchStore' />
</a>
</dd>
<dd>
<a href="https://secure.donationpay.org/scratchfoundation/">
<FormattedMessage id='general.donate'/>

View file

@ -62,6 +62,7 @@
"general.scratchEd": "ScratchEd",
"general.scratchFoundation": "Scratch Foundation",
"general.scratchJr": "ScratchJr",
"general.scratchStore": "Scratch Store",
"general.search": "Search",
"general.signIn": "Sign in",
"general.statistics": "Statistics",

View file

@ -151,6 +151,18 @@
"routeAlias": "/go/?\\??",
"redirect": "/tips"
},
{
"name": "help",
"pattern": "^/help/?(\\?.*)?$",
"routeAlias": "/help/?(\\?.*)?$",
"redirect": "/tips"
},
{
"name": "info-redirect",
"pattern": "^/info/?(\\?.*)?$",
"routeAlias": "/info/?(\\?.*)?$",
"redirect": "/tips"
},
{
"name": "tips",
"pattern": "^/tips/?(\\?.*)?$",
@ -168,7 +180,7 @@
{
"name": "credits",
"pattern": "^/info/credits/?$",
"routeAlias": "/info/(cards|communityblocks-interviews|credits|faq)/?$",
"routeAlias": "/info/(cards|communityblocks-interviews|credits|faq|donate)/?$",
"view": "credits/credits",
"title": "Credits"
},

View file

@ -58,28 +58,25 @@ var Download = React.createClass({
<p className="title-banner-p intro">
<FormattedMessage id='download.intro' />
</p>
<p className="title-banner-p intro">
<FormattedHTMLMessage id='download.introMac' />
</p>
</div>
<div className="band">
<SubNavigation className="inner">
<a href="#installation">
<a href="#installation" className="sub-nav-item">
<li>
<FormattedMessage id='download.installation' />
</li>
</a>
<a href="#updates">
<a href="#updates" className="sub-nav-item">
<li>
<FormattedMessage id='download.updatesTitle' />
</li>
</a>
<a href="#other">
<a href="#other" className="sub-nav-item">
<li>
<FormattedMessage id='download.otherVersionsTitle' />
</li>
</a>
<a href="#issues">
<a href="#issues" className="sub-nav-item">
<li>
<FormattedMessage id='download.knownIssuesTitle' />
</li>
@ -89,97 +86,111 @@ var Download = React.createClass({
</TitleBanner>
<div className="download-content">
<section id="installation" className="installation">
<FlexRow className="three-col-row inner">
<div className="installation-column">
<h3><FormattedMessage id='download.airTitle' /></h3>
<p><FormattedHTMLMessage id='download.airBody' /></p>
<ul className="installation-downloads">
<li className="installation-downloads-item">
<FormattedMessage id='download.macOSX' /> -
{' '}<a href="http://get.adobe.com/air/">
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.macOlder' /> -
{' '}<a href="http://airdownload.adobe.com/air/mac/download/2.6/AdobeAIR.zip">
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.windows' /> -
{' '}<a href="http://get.adobe.com/air/">
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.linux' /> -
{' '}<a href="http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRInstaller.bin">
<FormattedMessage id='download.download' />
</a>
</li>
</ul>
</div>
<div className="installation-column">
<h3><FormattedMessage id='download.offlineEditorTitle' /></h3>
<p><FormattedMessage id='download.offlineEditorBody' /></p>
{downloadUrls ? [
<div className="inner">
<p className="callout">
<FormattedHTMLMessage id='download.introMac' />
</p>
<FlexRow className="three-col-row">
<div className="installation-column">
<div className="installation-column-number">
<h2 className="installation-column-number-text">{'1'}</h2>
</div>
<h3><FormattedMessage id='download.airTitle' /></h3>
<p><FormattedHTMLMessage id='download.airBody' /></p>
<ul className="installation-downloads">
<li className="installation-downloads-item">
<FormattedMessage id='download.macOSX' /> -
{' '}<a href={downloadUrls.mac}>
{' '}<a href="http://get.adobe.com/air/">
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.macOlder' /> -
{' '}<a href={downloadUrls.mac105}>
{' '}<a href="http://airdownload.adobe.com/air/mac/download/2.6/AdobeAIR.zip">
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.windows' /> -
{' '}<a href={downloadUrls.windows}>
{' '}<a href="http://get.adobe.com/air/">
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.linux' /> -
{' '}<a href={downloadUrls.linux}>
{' '}<a href="http://airdownload.adobe.com/air/lin/download/2.6/AdobeAIRInstaller.bin">
<FormattedMessage id='download.download' />
</a>
</li>
</ul>
] : []}
{this.state.swfVersion === -1 ? [
<p><i><FormattedMessage id='download.notAvailable' /></i></p>
] : []}
</div>
<div className="installation-column">
<h3><FormattedMessage id='download.supportMaterialsTitle' /></h3>
<p><FormattedMessage id='download.supportMaterialsBody' /></p>
<ul className="installation-downloads">
<li className="installation-downloads-item">
<FormattedMessage id='download.starterProjects' /> -
{' '}<a href="https://scratch.mit.edu/scratchr2/static/sa/Scratch2StarterProjects.zip">
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.gettingStarted' /> -
{' '}<a href="https://cdn.scratch.mit.edu/scratchr2/static/__709da8e5f3d72129538a4ccdbcbf5f2a__/pdfs/help/Getting-Started-Guide-Scratch2.pdf">
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.scratchCards' /> -
{' '}<a href="https://cdn.scratch.mit.edu/scratchr2/static/__709da8e5f3d72129538a4ccdbcbf5f2a__/pdfs/help/Scratch2Cards.pdf">
<FormattedMessage id='download.download' />
</a>
</li>
</ul>
</div>
</FlexRow>
</div>
<div className="installation-column">
<div className="installation-column-number">
<h2 className="installation-column-number-text">{'2'}</h2>
</div>
<h3><FormattedMessage id='download.offlineEditorTitle' /></h3>
<p><FormattedMessage id='download.offlineEditorBody' /></p>
{downloadUrls ? [
<ul className="installation-downloads">
<li className="installation-downloads-item">
<FormattedMessage id='download.macOSX' /> -
{' '}<a href={downloadUrls.mac}>
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.macOlder' /> -
{' '}<a href={downloadUrls.mac105}>
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.windows' /> -
{' '}<a href={downloadUrls.windows}>
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.linux' /> -
{' '}<a href={downloadUrls.linux}>
<FormattedMessage id='download.download' />
</a>
</li>
</ul>
] : []}
{this.state.swfVersion === -1 ? [
<p><i><FormattedMessage id='download.notAvailable' /></i></p>
] : []}
</div>
<div className="installation-column">
<div className="installation-column-number">
<h2 className="installation-column-number-text">{'3'}</h2>
</div>
<h3><FormattedMessage id='download.supportMaterialsTitle' /></h3>
<p><FormattedMessage id='download.supportMaterialsBody' /></p>
<ul className="installation-downloads">
<li className="installation-downloads-item">
<FormattedMessage id='download.starterProjects' /> -
{' '}<a href="https://scratch.mit.edu/scratchr2/static/sa/Scratch2StarterProjects.zip">
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.gettingStarted' /> -
{' '}<a href="https://cdn.scratch.mit.edu/scratchr2/static/__709da8e5f3d72129538a4ccdbcbf5f2a__/pdfs/help/Getting-Started-Guide-Scratch2.pdf">
<FormattedMessage id='download.download' />
</a>
</li>
<li className="installation-downloads-item">
<FormattedMessage id='download.scratchCards' /> -
{' '}<a href="https://cdn.scratch.mit.edu/scratchr2/static/__709da8e5f3d72129538a4ccdbcbf5f2a__/pdfs/help/Scratch2Cards.pdf">
<FormattedMessage id='download.download' />
</a>
</li>
</ul>
</div>
</FlexRow>
</div>
</section>
<div className="inner">
<section id="updates">

View file

@ -50,6 +50,10 @@ $developer-spot: $splash-blue;
}
}
.sub-nav-item {
margin: .5rem;
}
.download-content {
padding-bottom: 2rem;
}
@ -65,6 +69,23 @@ $developer-spot: $splash-blue;
.installation-column {
max-width: $cols4;
text-align: center;
}
.installation-column-number {
margin: 2rem auto;
border: 2px solid $active-gray;
border-radius: 2rem;
box-shadow: 0 0 0 .5rem lighten($ui-blue, 35);
background-color: $ui-blue;
width: 3.75rem;
height: 3.75rem;
}
.installation-column-number-text {
text-align: center;
line-height: 1.8em;
color: $type-white;
}
.installation-downloads {
@ -75,6 +96,7 @@ $developer-spot: $splash-blue;
.installation-downloads-item {
margin: .25rem;
padding: 0;
text-align: center;
}
section {
@ -91,8 +113,11 @@ $developer-spot: $splash-blue;
max-width: 100%;
}
}
}
@media only screen and (max-width: $desktop - 1) {
.three-col-row {
flex-direction: column;
align-items: center;
}
}

View file

@ -11,9 +11,9 @@
"faq.aboutScratchTitle":"What is Scratch, and what can I do with it?",
"faq.aboutScratchBody":"Scratch is a programming language and online community where you can create your own interactive stories, games, and animations -- and share your creations with others around the world. In the process of designing and programming Scratch projects, young people learn to think creatively, reason systematically, and work collaboratively. To learn more about Scratch, check out the <a href=\"/about\">About Scratch</a> page.",
"faq.makeGameTitle":"How do I make a game or animation with Scratch?",
"faq.makeGameBody":"Check out the <a href=\"/help\">help page</a> to see lots of ways to get started with Scratch. Or just <a href=\"/projects/editor/?tip_bar=getStarted\">dive in</a> to the project editor.",
"faq.makeGameBody":"Check out the <a href=\"/tips\">tips page</a> to see lots of ways to get started with Scratch. Or just <a href=\"/projects/editor/?tip_bar=getStarted\">dive in</a> to the project editor.",
"faq.requirementsTitle":"What are the system requirements for Scratch?",
"faq.requirementsBody":"To run Scratch 2, you need to be using (1) a Mac, Linux, or Windows computer; (2) a version of <a href=\"https://get.adobe.com/flashplayer/\">Adobe Flash Player</a> released on or after June 15, 2016; (3) a relatively recent web browser: one of the latest two versions of <a href=\"http://google.com/chrome/\">Chrome</a> (Mac, Windows, or Linux), <a href=\"http://www.mozilla.org/firefox/new/\">Firefox</a> (Mac or Windows only), <a href=\"https://support.apple.com/downloads/safari\">Safari</a> (Mac or Windows only), <a href=\"https://www.microsoft.com/windows/microsoft-edge\">Edge</a> (Windows only), or <a href=\"https://www.microsoft.com/download/internet-explorer.aspx\">Internet Explorer 10+</a> (Windows only). If your computer doesnt meet these requirements, you can try downloading and installing <a href=\"/scratch_1.4\">Scratch 1.4</a>, which you can still use to share projects to the Scratch 2 website. We do not support Chromium.",
"faq.requirementsBody":"To run Scratch 2, you need to be using (1) a Windows, ChromeOS, Mac, or Linux computer; (2) a version of <a href=\"https://get.adobe.com/flashplayer/\">Adobe Flash Player</a> released on or after June 15, 2016; (3) a relatively recent web browser: one of the latest two versions of <a href=\"http://google.com/chrome/\">Chrome</a> (Windows, ChromeOS, Mac or Linux), <a href=\"http://www.mozilla.org/firefox/new/\">Firefox</a> (Windows or Mac only), <a href=\"https://support.apple.com/downloads/safari\">Safari</a> (Mac only), <a href=\"https://www.microsoft.com/windows/microsoft-edge\">Edge</a> (Windows only), or <a href=\"https://www.microsoft.com/download/internet-explorer.aspx\">Internet Explorer 11</a> (Windows only). If your computer doesnt meet these requirements, you can try downloading and installing <a href=\"/scratch_1.4\">Scratch 1.4</a>, which you can still use to share projects to the Scratch 2 website.",
"faq.offlineTitle":"Do you have a downloadable version so I can create and view projects offline?",
"faq.offlineBody":"The Scratch 2 offline editor allows you to create Scratch projects without an internet connection. You can download Scratch 2 from the <a href=\"/scratch2download/\">website</a>. You can also still use <a href=\"/scratch_1.4\">Scratch 1.4</a>. Note: You can have both Scratch 1.4 and 2 on your computer.",
"faq.uploadOldTitle":"Can I still upload projects created with older versions of Scratch to the website?",

View file

@ -1,6 +1,6 @@
{
"tips.title": "Getting Started",
"tips.subTitle": "Start making projects in Scratch by trying the <a href=\"//projects/editor/?tip_bar=getStarted\" class=\"mod-underline\">online tutorial</a> or dowloading the <a href=\"{GettingStartedPDF}\" class=\"mod-underline\">PDF Guide.",
"tips.subTitle": "Start making projects in Scratch by trying the <a href=\"/projects/editor/?tip_bar=getStarted\" class=\"mod-underline\">online tutorial</a> or downloading the <a href=\"{GettingStartedPDF}\" class=\"mod-underline\">PDF Guide.",
"tips.tryGettingStarted": "Try the Getting Started tutorial",
"tips.tttHeader": "Things to Try",
"tips.tttBody": "What do you want to make with Scratch? For each activity, you can try the <strong>Tutorial</strong>, download a set of <strong>Activity Cards</strong>, or view the <strong>Educator Guide</strong>.",
@ -12,7 +12,7 @@
"tips.starterProjectsBody": "You can play with Starter Projects to get ideas for making your own projects.",
"tips.starterProjectsPlay": "Play with Starter Projects",
"tips.offlineEditorHeader": "Offline Editor",
"tips.offlineEditorBody": "To create projects without an Internet connection, you can download the <a href=\"/download\">offline editor</a>.",
"tips.offlineEditorBody": "To create projects without an Internet connection, you can <a href=\"/download\">download the offline editor</a>.",
"tips.questionsHeader": "Questions",
"tips.questionsBody": "Have more questions? See the <a href=\"/info/faq\">Frequently Asked Questions</a> or visit the <a href=\"/discuss/7/\">Help with Scripts Forum</a>.",
"ttt.tutorial": "Tutorial",

View file

@ -102,7 +102,7 @@ var Tips = injectIntl(React.createClass({
<p>
<FormattedHTMLMessage id="tips.cardsBody"/>
</p>
<p>
<p className="tips-cards-buttons">
<a href={formatMessage({id: 'cards.ScratchCardsAllLink'})}>
<Button className="tips-button">
<FormattedMessage id="tips.cardsDownload"/>
@ -157,7 +157,10 @@ var Tips = injectIntl(React.createClass({
className="tips-info-section mod-align-top"
>
<div className="tips-info-body mod-narrow">
<img src="/images/tips/download-icon.svg"/>
<img
src="/images/tips/download-icon.svg"
className="tips-icon"
/>
<h3>
<FormattedMessage id="tips.offlineEditorHeader"/>
</h3>
@ -166,7 +169,10 @@ var Tips = injectIntl(React.createClass({
</p>
</div>
<div className="tips-info-body mod-narrow">
<img src="/images/tips/question-icon.svg"/>
<img
src="/images/tips/question-icon.svg"
className="tips-icon"
/>
<h3>
<FormattedMessage id="tips.questionsHeader"/>
</h3>

View file

@ -46,7 +46,7 @@ $darken-button: rgba(0, 0, 0, .1);
img {
margin-right: 1rem;
width: 1rem;
height: 1.25rem;
vertical-align: middle;
}
@ -74,6 +74,15 @@ $darken-button: rgba(0, 0, 0, .1);
text-align: left;
}
.tips-cards-buttons {
a {
white-space: normal;
}
}
img.tips-icon {
height: 1.75rem;
}
//4 columns
@media only screen and (max-width: $mobile - 1) {
@ -171,6 +180,10 @@ $darken-button: rgba(0, 0, 0, .1);
max-width: $cols4;
}
.tips-button {
width: 100%;
}
img.mod-flow-left {
transform: translate(-1*$cols2);
}