完成了各种公共页面的汉化
This commit is contained in:
parent
eb7439e17f
commit
2587cf0105
|
@ -1,4 +1,4 @@
|
||||||
.l-main-section
|
.l-main-section
|
||||||
h2 404
|
h2 404
|
||||||
p Whoops. Looks like what you're looking for can't be found.
|
p 啊~~~ 你好像在找某些不存在的东西!
|
||||||
|
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
{
|
{
|
||||||
"index": {
|
"index": {
|
||||||
"hero": "home",
|
"hero": "home",
|
||||||
"title": "One framework.",
|
"title": "一个框架",
|
||||||
"subtitle": "Mobile and desktop."
|
"subtitle": "适用于手机与桌面"
|
||||||
},
|
},
|
||||||
|
|
||||||
"features": {
|
"features": {
|
||||||
"title": "Features & Benefits",
|
"title": "特性与优点",
|
||||||
"subtitle": "Powerful Features for Developing Apps"
|
"subtitle": "开发应用程序的强力特性"
|
||||||
},
|
},
|
||||||
|
|
||||||
"contribute": {
|
"contribute": {
|
||||||
"title": "Contribute to Angular",
|
"title": "为Angular做贡献",
|
||||||
"subtitle": "Help us build the framework of the future!",
|
"subtitle": "帮我们构建未来时代的框架",
|
||||||
"autoformat": "true"
|
"autoformat": "true"
|
||||||
},
|
},
|
||||||
|
|
||||||
"news": {
|
"news": {
|
||||||
"title": "News",
|
"title": "新闻",
|
||||||
"subtitle": "Check out what we are up to"
|
"subtitle": "看看我们正在做什么"
|
||||||
},
|
},
|
||||||
|
|
||||||
"events": {
|
"events": {
|
||||||
"title": "Events",
|
"title": "事件",
|
||||||
"subtitle": "Where we'll be presenting"
|
"subtitle": "我们将在哪里开会"
|
||||||
},
|
},
|
||||||
|
|
||||||
"support": {
|
"support": {
|
||||||
"title": "Support",
|
"title": "支持",
|
||||||
"subtitle": "Get help from the Angular Community"
|
"subtitle": "从Angular社区获得支持"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
.cta-bar
|
.cta-bar
|
||||||
a(href="/docs/ts/latest/quickstart.html" class="button button-large button-shield md-raised " + "md-primary" md-button) Get Started
|
a(href="/docs/ts/latest/quickstart.html" class="button button-large button-shield md-raised " + "md-primary"
|
||||||
|
md-button) 现在开始!
|
||||||
|
|
|
@ -14,7 +14,7 @@ else
|
||||||
.logo-inverse-large
|
.logo-inverse-large
|
||||||
|
|
||||||
.c2
|
.c2
|
||||||
h3.text-headline LIBRARIES
|
h3.text-headline 库
|
||||||
|
|
||||||
ul.text-body
|
ul.text-body
|
||||||
li <a href="/"> Angular 2.0</a>
|
li <a href="/"> Angular 2.0</a>
|
||||||
|
@ -23,34 +23,34 @@ else
|
||||||
li <a href="https://www.firebase.com/docs/web/libraries/angular/"> AngularFire</a>
|
li <a href="https://www.firebase.com/docs/web/libraries/angular/"> AngularFire</a>
|
||||||
|
|
||||||
.c2
|
.c2
|
||||||
h3.text-headline LEARN
|
h3.text-headline 学习资源
|
||||||
|
|
||||||
ul.text-body
|
ul.text-body
|
||||||
li <a href="/docs/ts/latest/quickstart.html"> 5 Min Quickstart</a>
|
li <a href="/docs/ts/latest/quickstart.html"> 5分钟快速开始 </a>
|
||||||
li <a href="/docs/ts/latest/guide/"> Step by Step Guide</a>
|
li <a href="/docs/ts/latest/guide/"> 单步指南 </a>
|
||||||
li <a href="/docs/ts/latest/api/"> Full API</a>
|
li <a href="/docs/ts/latest/api/"> 全部API</a>
|
||||||
li <a href="/docs/ts/latest/resources.html"> Resources</a>
|
li <a href="/docs/ts/latest/resources.html"> 资源 </a>
|
||||||
li <a href="http://goo.gl/sj0Nk1">Design Docs & Notes</a>
|
li <a href="http://goo.gl/sj0Nk1">设计文档 & 记录</a>
|
||||||
|
|
||||||
.c2
|
.c2
|
||||||
h3.text-headline HELP
|
h3.text-headline 帮助
|
||||||
|
|
||||||
ul.text-body
|
ul.text-body
|
||||||
li <a href="https://groups.google.com/forum/#!forum/angular"> Google Group</a>
|
li <a href="https://groups.google.com/forum/#!forum/angular"> Google Group</a>
|
||||||
li <a href="https://gitter.im/angular/angular"> Chat Room</a>
|
li <a href="https://gitter.im/angular/angular"> 聊天室 </a>
|
||||||
li <a href="https://github.com/angular/angular/issues"> Report an Issue</a>
|
li <a href="https://github.com/angular/angular/issues"> 报告BUG </a>
|
||||||
|
|
||||||
.c3
|
.c3
|
||||||
h3.text-headline COMMUNITY
|
h3.text-headline 社区
|
||||||
|
|
||||||
ul.text-body
|
ul.text-body
|
||||||
li <a href="https://blog.angularjs.org/"> Blog</a>
|
li <a href="https://blog.angularjs.org/">官方博客</a>
|
||||||
li <a href="https://plus.sandbox.google.com/+AngularJS/posts"> Google+</a>
|
li <a href="https://plus.sandbox.google.com/+AngularJS/posts"> Google+</a>
|
||||||
li <a href="https://twitter.com/angularjs"> Twitter</a>
|
li <a href="https://twitter.com/angularjs"> Twitter</a>
|
||||||
li <a href="https://github.com/angular/angular"> GitHub</a>
|
li <a href="https://github.com/angular/angular"> GitHub</a>
|
||||||
|
|
||||||
|
|
||||||
footer(class="background-steel")
|
footer(class="background-steel")
|
||||||
small.text-caption Powered by Google ©2010-2016. Code licensed under an <a href="/license" class="text-snow">MIT-style License</a>. Documentation licensed under <a class="text-snow" href="http://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
|
small.text-caption 来自 Google ©2010-2016。 代码许可协议:<a href="/license" class="text-snow">MIT-style License</a>。 文档许可协议:<a class="text-snow" href="http://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
|
||||||
a(aria-label="View Style Guide" href=styleguide title="Style Guide" class="styleguide-trigger text-snow" md-button)
|
a(aria-label="查看风格指南" href=styleguide title="风格指南" class="styleguide-trigger text-snow" md-button)
|
||||||
span.icon-favorite
|
span.icon-favorite
|
||||||
|
|
|
@ -31,7 +31,7 @@ meta(property="og:description" content="#{description}")
|
||||||
|
|
||||||
meta(itemprop="name" content="Angular 2")
|
meta(itemprop="name" content="Angular 2")
|
||||||
meta(itemprop="description" content="#{description}")
|
meta(itemprop="description" content="#{description}")
|
||||||
meta(itemprop="image" content="https://angular.io/resources/images/logos/standard/shield-large.png")
|
meta(itemprop="image" content="/resources/images/logos/standard/shield-large.png")
|
||||||
|
|
||||||
link(rel="icon" type="image/x-icon" href="/resources/images/icons/favicon.ico")
|
link(rel="icon" type="image/x-icon" href="/resources/images/icons/favicon.ico")
|
||||||
link(rel="stylesheet" href="/resources/css/vendor/angular-material.min.css")
|
link(rel="stylesheet" href="/resources/css/vendor/angular-material.min.css")
|
||||||
|
|
|
@ -4,9 +4,9 @@ header(class="background-sky")
|
||||||
|
|
||||||
.hero-cta
|
.hero-cta
|
||||||
a(href="/docs/ts/latest/quickstart.html" class="md-raised button button-large button-plain"
|
a(href="/docs/ts/latest/quickstart.html" class="md-raised button button-large button-plain"
|
||||||
md-button) Get Started
|
md-button) 现在开始!
|
||||||
|
|
||||||
.banner.is-centered
|
.banner.is-centered
|
||||||
.banner-ng-annoucement
|
.banner-ng-annoucement
|
||||||
h4 Announcing Angular Attack — a 48 hour online hackathon on May 14 - 15th, 2016.
|
h4 Angular的挑战赛 — 一次48小时的线上黑客马拉松就在2016年5月14~15日。
|
||||||
a(href="https://www.angularattack.com/" target="_blank") Register Today
|
a(href="https://www.angularattack.com/" target="_blank") 立即注册
|
||||||
|
|
|
@ -9,4 +9,4 @@ a(class="hover-card is-button #{hasIcon}" href="#{url}" md-button)
|
||||||
if cta
|
if cta
|
||||||
p #{cta}
|
p #{cta}
|
||||||
else
|
else
|
||||||
p View #{name} Docs
|
p 查看 #{name} 文档
|
||||||
|
|
|
@ -2,14 +2,14 @@ md-toolbar(class="main-nav background-regal l-pinned-top l-layer-5",scroll-y-off
|
||||||
nav
|
nav
|
||||||
h1 <a href="/" md-button>Angular <sup>by Google</sup></a>
|
h1 <a href="/" md-button>Angular <sup>by Google</sup></a>
|
||||||
|
|
||||||
button(class="main-nav-button main-nav-mobile-trigger l-right" aria-label="View Menu" ng-click="appCtrl.toggleMainMenu($event)" md-button) Site Menu <span class="icon icon-arrow-drop-down"></span>
|
button(class="main-nav-button main-nav-mobile-trigger l-right" aria-label="查看菜单" ng-click="appCtrl.toggleMainMenu($event)" md-button) 网站菜单 <span class="icon icon-arrow-drop-down"></span>
|
||||||
|
|
||||||
ul(ng-class="appCtrl.showMainNav ? 'is-visible' : ''")
|
ul(ng-class="appCtrl.showMainNav ? 'is-visible' : ''")
|
||||||
li.l-left <a class="main-nav-button" href="/features.html" md-button>Features</a>
|
li.l-left <a class="main-nav-button" href="/features.html" md-button>特性</a>
|
||||||
li.l-left <a class="main-nav-button" href="/docs/ts/latest/" md-button>Docs</a>
|
li.l-left <a class="main-nav-button" href="/docs/ts/latest/" md-button>文档</a>
|
||||||
li.l-left <a class="main-nav-button" href="/about/" md-button>About</a>
|
li.l-left <a class="main-nav-button" href="/about/" md-button>关于</a>
|
||||||
li.l-left <a class="main-nav-button" href="/contribute.html" md-button>Contribute</a>
|
li.l-left <a class="main-nav-button" href="/contribute.html" md-button>贡献</a>
|
||||||
li.l-left <a class="main-nav-button" href="/support.html" md-button>Support</a>
|
li.l-left <a class="main-nav-button" href="/support.html" md-button>支持</a>
|
||||||
li.l-left <a class="main-nav-button" href="/news.html" md-button>News</a>
|
li.l-left <a class="main-nav-button" href="/news.html" md-button>新闻</a>
|
||||||
li.l-left <a class="main-nav-button" href="/events.html" md-button>Events</a>
|
li.l-left <a class="main-nav-button" href="/events.html" md-button>事件</a>
|
||||||
li.l-right.feedback-button <md-button ng-click="appCtrl.openFeedback()" class="md-icon-button top-nav-icon" aria-label="Submit feedback on this page"><span class="material-icons">feedback</span></md-button>
|
li.l-right.feedback-button <md-button ng-click="appCtrl.openFeedback()" class="md-icon-button top-nav-icon" aria-label="提交关于此页面的反馈"><span class="material-icons">feedback</span></md-button>
|
||||||
|
|
|
@ -8,7 +8,7 @@ for page, slug in data
|
||||||
if currentPage
|
if currentPage
|
||||||
if !nextPage && page.nextable
|
if !nextPage && page.nextable
|
||||||
.l-sub-section
|
.l-sub-section
|
||||||
h3 Next Step
|
h3 下一步
|
||||||
a(href="/docs/#{current.path[1]}/#{current.path[2]}/#{current.path[3]}/#{slug}.html") #{page.title}
|
a(href="/docs/#{current.path[1]}/#{current.path[2]}/#{current.path[3]}/#{slug}.html") #{page.title}
|
||||||
|
|
||||||
//NEXT PAGE HAS NOW BEEN SET
|
//NEXT PAGE HAS NOW BEEN SET
|
||||||
|
|
|
@ -42,7 +42,7 @@ mixin makeJson( filePath, jsonConfig, title, stylePatterns)
|
||||||
.example-title #{title}
|
.example-title #{title}
|
||||||
code-example(language="#{language}" format="#{format}")
|
code-example(language="#{language}" format="#{format}")
|
||||||
if (jsonExtract == 'ERROR')
|
if (jsonExtract == 'ERROR')
|
||||||
err ERROR: Unable to extract json using config: "#{jsonConfig.toString()}"
|
err 错误: 无法通过配置"#{jsonConfig.toString()}"解析JSON
|
||||||
else
|
else
|
||||||
!= styleString(jsonExtract, stylePatterns)
|
!= styleString(jsonExtract, stylePatterns)
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ script.
|
||||||
- var fullFileName = getFragFilePath(filePath, region);
|
- var fullFileName = getFragFilePath(filePath, region);
|
||||||
- var frag = partial(fullFileName);
|
- var frag = partial(fullFileName);
|
||||||
- if (frag == null) {
|
- if (frag == null) {
|
||||||
- return "BAD FILENAME: " + fullFileName + " Current path: " + current.path + " PathToDocs: " + getPathToDocs();
|
- return "出错的文件: " + fullFileName + " 所在路径: " + current.path + " 文档路径: " + getPathToDocs();
|
||||||
- } else {
|
- } else {
|
||||||
- // ``` gets translated to <pre><code>.....</code></pre> and we need
|
- // ``` gets translated to <pre><code>.....</code></pre> and we need
|
||||||
- // to remove this from the fragment prefix is 11 long and suffix is 13 long
|
- // to remove this from the fragment prefix is 11 long and suffix is 13 long
|
||||||
|
|
|
@ -65,7 +65,7 @@ if language == 'dart'
|
||||||
|
|
||||||
<!-- DROPDOWN BUTTON -->
|
<!-- DROPDOWN BUTTON -->
|
||||||
nav.hero-subtitle.text-subhead.dropdown
|
nav.hero-subtitle.text-subhead.dropdown
|
||||||
button(aria-label="Select a version of Angular" md-button class="dropdown-button" ng-click="appCtrl.toggleVersionMenu($event)") #{title} <span class="icon icon-arrow-drop-down"></span>
|
button(aria-label="选择Angular版本" md-button class="dropdown-button" ng-click="appCtrl.toggleVersionMenu($event)") #{title} <span class="icon icon-arrow-drop-down"></span>
|
||||||
div(class="overlay ng-hide" ng-click="appCtrl.toggleVersionMenu($event)" ng-show="appCtrl.showMenu")
|
div(class="overlay ng-hide" ng-click="appCtrl.toggleVersionMenu($event)" ng-show="appCtrl.showMenu")
|
||||||
|
|
||||||
<!-- DROPDOWN MENU -->
|
<!-- DROPDOWN MENU -->
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{
|
{
|
||||||
"index": {
|
"index": {
|
||||||
"title": "Moving the Web Forward",
|
"title": "推动Web前进",
|
||||||
"subtitle": "The Angular Core Team"
|
"subtitle": "Angular核心开发组"
|
||||||
},
|
},
|
||||||
|
|
||||||
"presskit": {
|
"presskit": {
|
||||||
"title": "Features & Benefits",
|
"title": "特性 & 优点",
|
||||||
"subtitle": "Production Grade Features"
|
"subtitle": "产品级特性"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,12 +2,14 @@
|
||||||
.c2
|
.c2
|
||||||
|
|
||||||
.c8.text-center
|
.c8.text-center
|
||||||
h3.text-headline.text-uppercase Building For the Future
|
h3.text-headline.text-uppercase 为未来构建
|
||||||
p.text-body.
|
p.text-body.
|
||||||
Angular is built by a team of engineers who share a passion for
|
Angular is built by a team of engineers who share a passion for
|
||||||
making web development feel effortless. We believe that writing
|
making web development feel effortless. We believe that writing
|
||||||
beautiful apps should be joyful and fun. We're building a
|
beautiful apps should be joyful and fun. We're building a
|
||||||
platform for the future.
|
platform for the future.
|
||||||
|
Angular由一个工程师组织打造,我们拥有共同的热情 —— 让Web开发变得更简单。我们深信,写漂亮的程序快乐而有趣。
|
||||||
|
我们正在构建一个面向未来的平台。
|
||||||
|
|
||||||
.c2
|
.c2
|
||||||
.clear
|
.clear
|
||||||
|
@ -15,6 +17,7 @@
|
||||||
.grid-fluid.l-space-bottom-6
|
.grid-fluid.l-space-bottom-6
|
||||||
|
|
||||||
h3.text-headline.text-uppercase.text-center Current Contributors
|
h3.text-headline.text-uppercase.text-center Current Contributors
|
||||||
|
h3.text-headline.text-uppercase.text-center 目前的贡献者
|
||||||
|
|
||||||
<!-- BIO CARDS -->
|
<!-- BIO CARDS -->
|
||||||
for type in [ 'Lead', 'Google', 'Community' ]
|
for type in [ 'Lead', 'Google', 'Community' ]
|
||||||
|
@ -27,7 +30,7 @@
|
||||||
image(src="#{person.picture}" alt="#person.name")
|
image(src="#{person.picture}" alt="#person.name")
|
||||||
|
|
||||||
nav
|
nav
|
||||||
button(aria-label="View Bio") View Bio
|
button(aria-label="View Bio") 个人经历
|
||||||
|
|
||||||
if person.twitter
|
if person.twitter
|
||||||
a(title="twitter" href="https://twitter.com/#{person.twitter}" ng-click="$event.stopPropagation()") <span class="icon-twitter"></span>
|
a(title="twitter" href="https://twitter.com/#{person.twitter}" ng-click="$event.stopPropagation()") <span class="icon-twitter"></span>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"index": {
|
"index": {
|
||||||
"title": "Angular Cardboard Hack-A-Thon",
|
"title": "Angular Hack-A-Thon 卡片墙",
|
||||||
"subtitle": "Winners Announced",
|
"subtitle": "胜利者宣言",
|
||||||
"autoformat": "true"
|
"autoformat": "true"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,33 +1,48 @@
|
||||||
.l-main-section
|
.l-main-section
|
||||||
h2 Angular Projects
|
h2 Angular Projects
|
||||||
|
h2 Angular项目列表
|
||||||
p We'd love for you to contribute to our source code and to make Angular projects even better.
|
p We'd love for you to contribute to our source code and to make Angular projects even better.
|
||||||
|
p 我们希望你给我们捐献代码,让Angular项目变得更好。
|
||||||
|
|
||||||
.l-sub-section
|
.l-sub-section
|
||||||
h3 Angular 2
|
h3 Angular 2
|
||||||
|
|
||||||
p Angular 2, now in beta, is a next generation mobile and desktop application development platform.
|
p Angular 2, now in beta, is a next generation mobile and desktop application development platform.
|
||||||
|
p Angular 2, 正在beta阶段,是下一代移动和桌面应用开发平台。
|
||||||
|
|
||||||
a(href="https://github.com/angular/angular/blob/master/CONTRIBUTING.md" class="button" md-button) Contribute to Angular 2
|
a(href="https://github.com/angular/angular/blob/master/CONTRIBUTING.md" class="button" md-button) Contribute to Angular 2
|
||||||
|
a(href="https://github.com/angular/angular/blob/master/CONTRIBUTING.md" class="button" md-button) 为Angular 2做贡献
|
||||||
|
|
||||||
.l-sub-section
|
.l-sub-section
|
||||||
h3 Angular for JavaScript or Dart
|
h3 Angular for JavaScript or Dart
|
||||||
|
h3 Angular - JavaScript 或 Dart
|
||||||
|
|
||||||
p Angular is a development platform for building mobile and desktop applications.
|
p Angular is a development platform for building mobile and desktop applications.
|
||||||
|
p Angular是一个开发平台,用于构建移动和桌面应用。
|
||||||
|
|
||||||
a(href="https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md" class="button" md-button) Contribute to Angular for JS
|
a(href="https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md" class="button" md-button) Contribute to Angular for JS
|
||||||
|
a(href="https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md" class="button" md-button).
|
||||||
|
帮助Angular JS
|
||||||
|
|
||||||
a(href="https://github.com/angular/angular.dart/blob/master/CONTRIBUTING.md" class="button" md-button) Contribute to Angular for DART
|
a(href="https://github.com/angular/angular.dart/blob/master/CONTRIBUTING.md" class="button" md-button) Contribute to Angular for DART
|
||||||
|
a(href="https://github.com/angular/angular.dart/blob/master/CONTRIBUTING.md" class="button" md-button).
|
||||||
|
帮助Angular DART
|
||||||
|
|
||||||
.l-sub-section
|
.l-sub-section
|
||||||
h3 Angular Material
|
h3 Angular Material
|
||||||
|
|
||||||
p Our goal is to deliver a lean, lightweight set of Angular-based UI elements that implement the material design specification for use in Angular single-page applications (SPAs).
|
p Our goal is to deliver a lean, lightweight set of Angular-based UI elements that implement the material design specification for use in Angular single-page applications (SPAs).
|
||||||
|
p 我们的目标是精益、轻量级、基于Angular的一组UI组件,它们实现了material设计规范,可以用在Angular单页面应用中。
|
||||||
|
|
||||||
a(href="https://github.com/angular/material/blob/master/CONTRIBUTING.md" class="button" md-button) Contribute to Angular Material
|
a(href="https://github.com/angular/material/blob/master/CONTRIBUTING.md" class="button" md-button) Contribute to Angular Material
|
||||||
|
a(href="https://github.com/angular/material/blob/master/CONTRIBUTING.md" class="button" md-button).
|
||||||
|
帮助Angular Material
|
||||||
|
|
||||||
.l-sub-section
|
.l-sub-section
|
||||||
h3 AngularFire
|
h3 AngularFire
|
||||||
|
|
||||||
p AngularFire is the officially supported Angular binding for Firebase. Firebase is a full backend so you don't need servers to build your Angular app.
|
p AngularFire is the officially supported Angular binding for Firebase. Firebase is a full backend so you don't need servers to build your Angular app.
|
||||||
|
p AngularFire是一个官方提供的Angular版Firebase绑定。Firebase是一个完整的后端,所以你不需要自己搭建服务器就能构建一个Angular应用。
|
||||||
|
|
||||||
a(href="https://github.com/firebase/angularFire" class="button" md-button) Contribute to AngularFire
|
a(href="https://github.com/firebase/angularFire" class="button" md-button) Contribute to AngularFire
|
||||||
|
a(href="https://github.com/firebase/angularFire" class="button" md-button) 帮助AngularFire
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"index": {
|
"index": {
|
||||||
"title": "Angular Docs",
|
"title": "Angular文档",
|
||||||
"subtitle": "Choose a language for Angular",
|
"subtitle": "选择Angular的语种",
|
||||||
"layout": "../_layout"
|
"layout": "../_layout"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
.l-main-section
|
.l-main-section
|
||||||
h2 Get Help Using Angular
|
h2 Get Help Using Angular
|
||||||
|
h2 获得使用Angular的帮助
|
||||||
|
|
||||||
p.
|
p.
|
||||||
We have an incredible community of developers who are passionate about solving problems.
|
We have an incredible community of developers who are passionate about solving problems.
|
||||||
We recommend some of the following methods to get help with Angular.
|
We recommend some of the following methods to get help with Angular.
|
||||||
|
我们有一个难以置信的开发者社区,他们充满激情的解决问题。我们建议您通过下列方式获取关于Angular的帮助:
|
||||||
|
|
||||||
|
|
||||||
.l-sub-section
|
.l-sub-section
|
||||||
|
@ -13,29 +15,47 @@
|
||||||
li.
|
li.
|
||||||
Search the archive first.
|
Search the archive first.
|
||||||
It's likely that your question has already been answered.
|
It's likely that your question has already been answered.
|
||||||
|
li.
|
||||||
|
先搜索文档。
|
||||||
|
你的问题很可能有别人问过了。
|
||||||
li.
|
li.
|
||||||
To avoid the spam moderation queue,
|
To avoid the spam moderation queue,
|
||||||
don't include code directly in your email. (See #3)
|
don't include code directly in your email. (See #3)
|
||||||
|
li.
|
||||||
|
为了避免被当成垃圾邮件,请不要在你的邮件中包含代码。(参见下一条)
|
||||||
li.
|
li.
|
||||||
Link to a live code example that demonstrates your problem or question,
|
Link to a live code example that demonstrates your problem or question,
|
||||||
so you'll get an answer faster.
|
so you'll get an answer faster.
|
||||||
<a href="http://plnkr.co/edit/jISF8yxbVGmarpBbqsYW?p=preview">Use this template</a>.
|
<a href="http://plnkr.co/edit/jISF8yxbVGmarpBbqsYW?p=preview">Use this template</a>.
|
||||||
|
li.
|
||||||
|
给出一个“活代码范例”的链接,来演示你的难题或问题,那样你会更快的获得答案。
|
||||||
|
<a href="http://plnkr.co/edit/jISF8yxbVGmarpBbqsYW?p=preview">使用这个模板</a>。
|
||||||
li.
|
li.
|
||||||
If you get help, help others. Good karma rulez!
|
If you get help, help others. Good karma rulez!
|
||||||
|
li.
|
||||||
|
如果得到了帮助,别忘了帮助别人。人生金律!
|
||||||
|
|
||||||
a(href="https://groups.google.com/forum/#!forum/angular" class="button button-primary" md-button) View the Google Group
|
a(href="https://groups.google.com/forum/#!forum/angular" class="button button-primary" md-button) View the Google Group
|
||||||
|
|
||||||
|
a(href="https://groups.google.com/forum/#!forum/angular" class="button button-primary" md-button) 访问Google Group
|
||||||
|
|
||||||
.l-sub-section
|
.l-sub-section
|
||||||
h3 Angular Chat Room
|
h3 Angular Chat Room
|
||||||
|
h3 Angular聊天室
|
||||||
|
|
||||||
p Talk in real time with other Angular developers.
|
p Talk in real time with other Angular developers.
|
||||||
|
p 和其他Angular开发者实时聊天。
|
||||||
|
|
||||||
a(href="http://webchat.freenode.net/?channels=angularjs&uio=d4" class="button button-primary" md-button) View the Chat Room
|
a(href="http://webchat.freenode.net/?channels=angularjs&uio=d4" class="button button-primary" md-button) View the Chat Room
|
||||||
|
a(href="http://webchat.freenode.net/?channels=angularjs&uio=d4" class="button button-primary" md-button) 访问聊天室
|
||||||
|
|
||||||
|
|
||||||
.l-sub-section
|
.l-sub-section
|
||||||
h3 Report an Issue
|
h3 Report an Issue
|
||||||
|
h3 报告问题
|
||||||
|
|
||||||
p If you run into an issue or have a feature request, you can create a new issue on our GitHub repository.
|
p If you run into an issue or have a feature request, you can create a new issue on our GitHub repository.
|
||||||
|
p 如果你遇到了问题或者需要某些特性,你可以在我们的Github仓库中创建一个新的issue。
|
||||||
|
|
||||||
a(href="https://github.com/angular/angular/issues" class="button button-primary" md-button) Report an Issue
|
a(href="https://github.com/angular/angular/issues" class="button button-primary" md-button) Report an Issue
|
||||||
|
a(href="https://github.com/angular/angular/issues" class="button button-primary" md-button) 报告问题
|
||||||
|
|
|
@ -43,30 +43,30 @@ nav.side-nav.l-pinned-left.l-layer-4.l-offset-nav
|
||||||
// SEARCH BAR
|
// SEARCH BAR
|
||||||
header.side-nav-search.st-input-wrapper
|
header.side-nav-search.st-input-wrapper
|
||||||
form.st-input-inner
|
form.st-input-inner
|
||||||
label(for="search-io" class="is-hidden") Search Docs
|
label(for="search-io" class="is-hidden") 搜索文档
|
||||||
input(type="search" id="search-io" placeholder="SEARCH DOCS...")
|
input(type="search" id="search-io" placeholder="搜索文档...")
|
||||||
button(class="mobile-trigger button" aria-label="View Docs Menu" ng-click="appCtrl.toggleDocsMenu($event)" md-button) Docs <span class="icon icon-arrow-drop-down"></span>
|
button(class="mobile-trigger button" aria-label="查看文档菜单" ng-click="appCtrl.toggleDocsMenu($event)" md-button) 文档 <span class="icon icon-arrow-drop-down"></span>
|
||||||
|
|
||||||
div(class="side-nav-secondary" ng-class="appCtrl.showDocsNav ? 'is-visible' : ''")
|
div(class="side-nav-secondary" ng-class="appCtrl.showDocsNav ? 'is-visible' : ''")
|
||||||
.nav-blocks
|
.nav-blocks
|
||||||
.nav-title Tutorial
|
.nav-title 指南
|
||||||
.nav-primary-link(class="#{qs.class}")
|
.nav-primary-link(class="#{qs.class}")
|
||||||
a(href="#{qs.href}" title="#{qs.tooltip}") #{qs.navTitle}
|
a(href="#{qs.href}" title="#{qs.tooltip}") #{qs.navTitle}
|
||||||
.nav-sub-title Case Study: Tour of Heroes
|
.nav-sub-title 案例: 英雄之旅
|
||||||
.nav-ordered-lists
|
.nav-ordered-lists
|
||||||
ol
|
ol
|
||||||
each item in tutorial
|
each item in tutorial
|
||||||
li(class="#{item.class}"): a(href="#{item.href}" title="#{item.tooltip}") #{item.navTitle}
|
li(class="#{item.class}"): a(href="#{item.href}" title="#{item.tooltip}") #{item.navTitle}
|
||||||
|
|
||||||
.nav-blocks
|
.nav-blocks
|
||||||
.nav-title Basics
|
.nav-title 基础知识
|
||||||
.nav-ordered-lists
|
.nav-ordered-lists
|
||||||
ol
|
ol
|
||||||
each item in basics
|
each item in basics
|
||||||
li(class="#{item.class}"): a(href="#{item.href}" title="#{item.tooltip}") #{item.navTitle}
|
li(class="#{item.class}"): a(href="#{item.href}" title="#{item.tooltip}") #{item.navTitle}
|
||||||
|
|
||||||
.nav-blocks
|
.nav-blocks
|
||||||
.nav-title Developer Guide
|
.nav-title 开发人员指南
|
||||||
.nav-unordered-lists
|
.nav-unordered-lists
|
||||||
ul
|
ul
|
||||||
each item in guide
|
each item in guide
|
||||||
|
@ -80,7 +80,7 @@ nav.side-nav.l-pinned-left.l-layer-4.l-offset-nav
|
||||||
li(class="#{item.class}"): a(href="#{item.href}" title="#{item.tooltip}") #{item.navTitle}
|
li(class="#{item.class}"): a(href="#{item.href}" title="#{item.tooltip}") #{item.navTitle}
|
||||||
|
|
||||||
.nav-blocks
|
.nav-blocks
|
||||||
.nav-title Reference
|
.nav-title 参考
|
||||||
.nav-unordered-lists
|
.nav-unordered-lists
|
||||||
ul
|
ul
|
||||||
each item in reference
|
each item in reference
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
- var language = current.path[1]
|
- var language = current.path[1]
|
||||||
- var lang = 'your choosen language'
|
- var lang = '你选中的语言'
|
||||||
|
|
||||||
if language == 'dart'
|
if language == 'dart'
|
||||||
- lang = 'Dart'
|
- lang = 'Dart'
|
||||||
|
@ -26,8 +26,8 @@ if secondaryPath
|
||||||
- name = 'the <b><i>' + item.title + '</i></b> chapter'
|
- name = 'the <b><i>' + item.title + '</i></b> chapter'
|
||||||
|
|
||||||
p.
|
p.
|
||||||
This chapter is not yet available in #{lang}.
|
这个章节在 #{lang} 语种下还不可用。
|
||||||
We recommend reading the TypeScript version.
|
建议您阅读TypeScript版本。
|
||||||
a(href=path, class='md-primary md-button md-ink-ripple').
|
a(href=path, class='md-primary md-button md-ink-ripple').
|
||||||
Read !{name} in TypeScript
|
阅读!{name}TypeScript版本
|
||||||
// != partial(path)
|
// != partial(path)
|
|
@ -1,22 +1,29 @@
|
||||||
#sg-alerts.showcase.shadow-1
|
#sg-alerts.showcase.shadow-1
|
||||||
header.showcase-header
|
header.showcase-header
|
||||||
h2 Alerts
|
h2 Alerts
|
||||||
|
h2 警告
|
||||||
p.
|
p.
|
||||||
Please use alerts sparingly throughout the docs.
|
Please use alerts sparingly throughout the docs.
|
||||||
They are meant to draw attention on important occasions.
|
They are meant to draw attention on important occasions.
|
||||||
Alerts should not be used for multi-line content (user callouts insteads) or stacked
|
Alerts should not be used for multi-line content (user callouts insteads) or stacked
|
||||||
on top of each other.
|
on top of each other.
|
||||||
|
p.
|
||||||
|
请在文档中严谨的使用警告。这意味着只在重要的场合用它吸引注意力。
|
||||||
|
不要用警告表现多行内容(使用插图代替),也不要把它们堆叠在一起。
|
||||||
.showcase-content
|
.showcase-content
|
||||||
.l-sub-section
|
.l-sub-section
|
||||||
h3 Adding an alert
|
h3 Adding an alert
|
||||||
|
h3 添加一个警告
|
||||||
|
|
||||||
.alert.is-critical A very <strong>critical</strong> alert
|
.alert.is-critical A very <strong>critical</strong> alert
|
||||||
|
.alert.is-critical 非常<strong>关键</strong>的警告
|
||||||
.alert.is-important A very <strong>important</strong> alert
|
.alert.is-important A very <strong>important</strong> alert
|
||||||
|
.alert.is-important 非常<strong>重要</strong>的警告
|
||||||
.alert.is-helpful A very <strong>helpful</strong> alert
|
.alert.is-helpful A very <strong>helpful</strong> alert
|
||||||
|
.alert.is-helpful 非常<strong>有用</strong>的警告
|
||||||
|
|
||||||
pre.prettyprint.linenums
|
pre.prettyprint.linenums
|
||||||
code.
|
code.
|
||||||
.alert.is-critical A very <strong>critical</strong> alert
|
.alert.is-critical 非常<strong>关键</strong>的警告
|
||||||
.alert.is-important A very <strong>important</strong> alert
|
.alert.is-important 非常<strong>重要</strong>的警告
|
||||||
.alert.is-helpful A very <strong>helpful</strong> alert
|
.alert.is-helpful 非常<strong>有用</strong>的警告
|
||||||
|
|
|
@ -1,68 +1,68 @@
|
||||||
{
|
{
|
||||||
"index": {
|
"index": {
|
||||||
"icon": "home",
|
"icon": "home",
|
||||||
"title": "Angular Docs",
|
"title": "Angular文档",
|
||||||
"menuTitle": "Docs Home",
|
"menuTitle": "文档首页",
|
||||||
"banner": "Welcome to <b>Angular in TypeScript</b>! The current Angular 2 release is <b>beta.14</b>. Please consult the <a href='https://github.com/angular/angular/blob/master/CHANGELOG.md' target='_blank'> Change Log</a> about recent enhancements, fixes, and breaking changes."
|
"banner": "欢迎来到 <b>Angular in TypeScript</b>! 当前的Angular版本是 <b>beta.14</b>。请参考<a href='https://github.com/angular/angular/blob/master/CHANGELOG.md' target='_blank'>Change Log</a>来了解最近的增强、修正和破坏性变更。"
|
||||||
},
|
},
|
||||||
|
|
||||||
"quickstart": {
|
"quickstart": {
|
||||||
"icon": "query-builder",
|
"icon": "query-builder",
|
||||||
"title": "5 Min Quickstart",
|
"title": "五分钟快速开始",
|
||||||
"description": "Get up and running with Angular 2"
|
"description": "Angular 2起跑"
|
||||||
},
|
},
|
||||||
|
|
||||||
"tutorial": {
|
"tutorial": {
|
||||||
"icon": "list",
|
"icon": "list",
|
||||||
"title": "Tutorial",
|
"title": "教程",
|
||||||
"banner": "Angular 2 is currently in Beta."
|
"banner": "Angular 2正处于Beta阶段。"
|
||||||
},
|
},
|
||||||
|
|
||||||
"guide": {
|
"guide": {
|
||||||
"icon": "list",
|
"icon": "list",
|
||||||
"title": "Developer Guides",
|
"title": "开发人员指南",
|
||||||
"banner": "Angular 2 is currently in Beta."
|
"banner": "Angular 2正处于Beta阶段。"
|
||||||
},
|
},
|
||||||
|
|
||||||
"cookbook": {
|
"cookbook": {
|
||||||
"icon": "list",
|
"icon": "list",
|
||||||
"title": "Cookbook",
|
"title": "Cookbook",
|
||||||
"banner": "How to solve common implementation challenges."
|
"banner": "教你解决常见的“该怎么做”问题。"
|
||||||
},
|
},
|
||||||
|
|
||||||
"api/": {
|
"api/": {
|
||||||
"icon": "book",
|
"icon": "book",
|
||||||
"title": "API Preview",
|
"title": "API预览",
|
||||||
"reference": true
|
"reference": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"cheatsheet": {
|
"cheatsheet": {
|
||||||
"title": "Angular Cheat Sheet",
|
"title": "Angular小抄",
|
||||||
"intro": "A quick guide to Angular syntax.",
|
"intro": "关于Angular语法的快速指南",
|
||||||
"reference": true
|
"reference": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"glossary": {
|
"glossary": {
|
||||||
"title": "Glossary",
|
"title": "词汇表",
|
||||||
"intro": "Brief definitions of the most important words in the Angular 2 vocabulary",
|
"intro": "Angular 2中那些最重要的词汇的简短定义",
|
||||||
"reference": true
|
"reference": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"resources": {
|
"resources": {
|
||||||
"icon": "play-circle-fill",
|
"icon": "play-circle-fill",
|
||||||
"title": "Angular Resources",
|
"title": "Angular资源",
|
||||||
"banner": "Angular 2 is currently in Beta.",
|
"banner": "Angular 2正处于Beta阶段",
|
||||||
"resources": true
|
"resources": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"help": {
|
"help": {
|
||||||
"icon": "chat",
|
"icon": "chat",
|
||||||
"title": "Help & Support",
|
"title": "帮助与支持",
|
||||||
"resources": true
|
"resources": true
|
||||||
},
|
},
|
||||||
|
|
||||||
"styleguide": {
|
"styleguide": {
|
||||||
"title": "Docs Style Guide",
|
"title": "文档风格指南",
|
||||||
"intro": "Design & Layout Patterns For Documentation"
|
"intro": "文档的设计与布局模式"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
<!-- Speed & Performance -->
|
<!-- Speed & Performance -->
|
||||||
.grid-fluid.l-space-bottom-8
|
.grid-fluid.l-space-bottom-8
|
||||||
.c3.text-center
|
.c3.text-center
|
||||||
|
@ -9,7 +8,9 @@
|
||||||
Angular 2 is dramatically faster than Angular 1 with support for fast initial loads through
|
Angular 2 is dramatically faster than Angular 1 with support for fast initial loads through
|
||||||
server-side pre-rendering, offline compile for fast startup, and ultrafast change detection
|
server-side pre-rendering, offline compile for fast startup, and ultrafast change detection
|
||||||
and view caching for smooth virtual scrolling and snappy view transitions.
|
and view caching for smooth virtual scrolling and snappy view transitions.
|
||||||
|
h3.text-headline.text-uppercase 速度与性能
|
||||||
|
p.text-body.
|
||||||
|
Angular 2的性能相对Angular 1已经有了戏剧性的提升,包括通过服务端渲染完成初次加载、离线编译来获得更快的启动速度、超快的变更检测,以及通过视图缓存来实现平滑的虚拟滚动和干净利落的场景切换。
|
||||||
<!-- Simplicity -->
|
<!-- Simplicity -->
|
||||||
.grid-fluid.l-space-bottom-8
|
.grid-fluid.l-space-bottom-8
|
||||||
.c3.text-center
|
.c3.text-center
|
||||||
|
@ -20,6 +21,9 @@
|
||||||
Make your intention clear using natural, easy-to-write syntax.
|
Make your intention clear using natural, easy-to-write syntax.
|
||||||
Reduce complexity for your team: new, structure-rich templates are
|
Reduce complexity for your team: new, structure-rich templates are
|
||||||
readable and easy to understand at a glance.
|
readable and easy to understand at a glance.
|
||||||
|
h3.text-headline.text-uppercase 简单而丰富
|
||||||
|
p.text-body.
|
||||||
|
通过自然、易写的语法,清晰表达你的意图。降低开发组的复杂度:新的、富结构化的模板富有可读性,容易被快速理解。
|
||||||
|
|
||||||
|
|
||||||
<!-- Cross-Platform -->
|
<!-- Cross-Platform -->
|
||||||
|
@ -33,7 +37,9 @@
|
||||||
Android, and iOS. Angular Universal provides for server-side rendering for fast initial
|
Android, and iOS. Angular Universal provides for server-side rendering for fast initial
|
||||||
views on mobile web. Ionic and NativeScript let you build hybrid and native UI mobile apps.
|
views on mobile web. Ionic and NativeScript let you build hybrid and native UI mobile apps.
|
||||||
Web worker support keeps your app UI fully responsive no matter how heavy the load.
|
Web worker support keeps your app UI fully responsive no matter how heavy the load.
|
||||||
|
h3.text-headline.text-uppercase 跨平台
|
||||||
|
p.text-body.
|
||||||
|
学习Angular 2让你有了一个工具,可以构建桌面应用、移动网页、安卓版应用、iOS版应用。Angular Universal提供了一个服务端渲染工具,可以快速的在移动设备上提供起始页面。Ionic和NativeScript让你构建混合式(hybrid)和原生界面的移动应用。Web worker让你的应用界面保持迅速及时的响应,而不用担心负载过重。
|
||||||
|
|
||||||
<!-- Seamless Upgrade -->
|
<!-- Seamless Upgrade -->
|
||||||
.grid-fluid.l-space-bottom-8
|
.grid-fluid.l-space-bottom-8
|
||||||
|
@ -44,7 +50,9 @@
|
||||||
p.text-body.
|
p.text-body.
|
||||||
Upgrade your Angular 1 application at your own pace by mixing in Angular 2 components,
|
Upgrade your Angular 1 application at your own pace by mixing in Angular 2 components,
|
||||||
directives, pipes, services and more by using the ngUpgrade APIs.
|
directives, pipes, services and more by using the ngUpgrade APIs.
|
||||||
|
h3.text-headline.text-uppercase 从Angular 1无缝升级
|
||||||
|
p.text-body.
|
||||||
|
使用ngUpgrade API,可以一小步一小步的把Angular 2的组件、指令、管道、服务等混入Angular1应用,完成无缝平滑升级。
|
||||||
|
|
||||||
<!-- Flexible Development -->
|
<!-- Flexible Development -->
|
||||||
.grid-fluid.l-space-bottom-8
|
.grid-fluid.l-space-bottom-8
|
||||||
|
@ -56,7 +64,9 @@
|
||||||
The choice of language is up to you. In addition to full support for
|
The choice of language is up to you. In addition to full support for
|
||||||
ES5, TypeScript, and Dart, Angular 2 works equally well with ES2015 and other languages
|
ES5, TypeScript, and Dart, Angular 2 works equally well with ES2015 and other languages
|
||||||
that compile to JavaScript.
|
that compile to JavaScript.
|
||||||
|
h3.text-headline.text-uppercase 灵活的开发
|
||||||
|
p.text-body.
|
||||||
|
选择什么语言取决于你。它不仅完全支持ES5、TypeScript和Dart,Angular 2在ES2015和其他能编译成JavaScript的语言下也能工作得一样好。
|
||||||
|
|
||||||
<!-- Routing -->
|
<!-- Routing -->
|
||||||
.grid-fluid.l-space-bottom-8
|
.grid-fluid.l-space-bottom-8
|
||||||
|
@ -72,7 +82,13 @@
|
||||||
lazy loading for mobile users.
|
lazy loading for mobile users.
|
||||||
If you already use routing from a prior version of Angular,
|
If you already use routing from a prior version of Angular,
|
||||||
you can easily migrate to Angular 2 routing.
|
you can easily migrate to Angular 2 routing.
|
||||||
|
h3.text-headline.text-uppercase 全面的路由
|
||||||
|
p.text-body.
|
||||||
|
经过精密设计的视图:
|
||||||
|
映射URL路径到应用组件,
|
||||||
|
使用嵌套路由、兄弟路由等高级特性。
|
||||||
|
为移动用户,Angular 2提供了卡片式导航、转场动画和延迟加载特性。
|
||||||
|
如果你还在使用来自Angular老版本的路由,你可以轻易迁移到Angular 2路由。
|
||||||
|
|
||||||
<!-- Dependency Injection -->
|
<!-- Dependency Injection -->
|
||||||
.grid-fluid.l-space-bottom-8
|
.grid-fluid.l-space-bottom-8
|
||||||
|
@ -85,6 +101,10 @@
|
||||||
allowing you to maintain modular applications without writing tedious glue code.
|
allowing you to maintain modular applications without writing tedious glue code.
|
||||||
Dependency injection helps you write tests
|
Dependency injection helps you write tests
|
||||||
by making it easy to inject test doubles.
|
by making it easy to inject test doubles.
|
||||||
|
h3.text-headline.text-uppercase 依赖注入
|
||||||
|
p.text-body.
|
||||||
|
Angular 2具有强力、易于使用的依赖注入机制,允许你管理模块化的应用,而不用写枯燥的胶水代码。
|
||||||
|
通过让注入测试副本,依赖注入可以帮助你更容易的写测试。
|
||||||
|
|
||||||
<!-- Legacy Browsers -->
|
<!-- Legacy Browsers -->
|
||||||
.grid-fluid.l-space-bottom-8
|
.grid-fluid.l-space-bottom-8
|
||||||
|
@ -95,7 +115,10 @@
|
||||||
p.text-body.
|
p.text-body.
|
||||||
In addition to fully supporting latest versions of Chrome, Edge, Firefox, IE, and Safari,
|
In addition to fully supporting latest versions of Chrome, Edge, Firefox, IE, and Safari,
|
||||||
Angular 2 is also tested for older browsers including IE9+ and Android 4.1+.
|
Angular 2 is also tested for older browsers including IE9+ and Android 4.1+.
|
||||||
|
.c7
|
||||||
|
h3.text-headline.text-uppercase 老旧浏览器支持
|
||||||
|
p.text-body.
|
||||||
|
除了完全支持Chrome、Edge、Firefox、IE和Safari的最新版本外,Angular2还支持老旧浏览器,如IE9+、Android 4.1+。
|
||||||
|
|
||||||
<!-- Animations -->
|
<!-- Animations -->
|
||||||
.grid-fluid.l-space-bottom-8
|
.grid-fluid.l-space-bottom-8
|
||||||
|
@ -110,7 +133,11 @@
|
||||||
intelligently handle changes to animations in response to user events.
|
intelligently handle changes to animations in response to user events.
|
||||||
Plan complex animation flows by sequencing the behavior of
|
Plan complex animation flows by sequencing the behavior of
|
||||||
an entire website on a timeline.
|
an entire website on a timeline.
|
||||||
|
h3.text-headline.text-uppercase 动画
|
||||||
|
p.text-body.
|
||||||
|
[开发中]通过简单易用的Angular事件,在移动和桌面环境下深入底层提供动画支持。
|
||||||
|
你可以使用CSS、JavaScript和Web Animations API来智能处理动画的变化来响应用户事件。
|
||||||
|
还计划通过控制整个网站在时间线上的一连串行为来支持复杂的动画流程。
|
||||||
|
|
||||||
<!-- Internationalization & Accessibility -->
|
<!-- Internationalization & Accessibility -->
|
||||||
.grid-fluid.l-space-bottom-8
|
.grid-fluid.l-space-bottom-8
|
||||||
|
@ -126,6 +153,13 @@
|
||||||
Generate static applications for each locale.
|
Generate static applications for each locale.
|
||||||
Easily promote accessibility via screen readers and assistive devices by automatically
|
Easily promote accessibility via screen readers and assistive devices by automatically
|
||||||
generating appropriate ARIA attributes.
|
generating appropriate ARIA attributes.
|
||||||
|
h3.text-headline.text-uppercase 国际化(I18N)与可访问性
|
||||||
|
p.text-body(ng-non-bindable).
|
||||||
|
[开发中] 抵达所有用户。可以在Angular插值表达式中使用熟悉的ICU消息格式,包括复数化和性别化规则。
|
||||||
|
自动提取消息、伪本地化和翻译更新。
|
||||||
|
为每一个区域(locale)生成一个静态应用。
|
||||||
|
通过自动生成相应的ARIA属性,可以更容易的通过屏幕阅读器和辅助设备提升可访问性。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,21 +4,29 @@ div(layout-gt-sm='row' style='margin: 0 -24px')
|
||||||
div(flex=33 style='padding:0 24px')
|
div(flex=33 style='padding:0 24px')
|
||||||
h3.text-headline Fast
|
h3.text-headline Fast
|
||||||
p.text-body Angular computes updates based on changes to data, not DOM, for fast updates that scale to the largest data sets with minimal memory overhead.
|
p.text-body Angular computes updates based on changes to data, not DOM, for fast updates that scale to the largest data sets with minimal memory overhead.
|
||||||
|
h3.text-headline 快速
|
||||||
|
p.text-body Angular基于数据的变更来计算更新,而不是DOM,当处理极大规模的数据集时,能以很小的内存开销提供快速更新。
|
||||||
div(flex=33 style='padding:0 24px')
|
div(flex=33 style='padding:0 24px')
|
||||||
h3.text-headline Mobile
|
h3.text-headline Mobile
|
||||||
p.text-body With Angular Universal for server-side rendering and Web Workers for smooth scrolling and transitions, Angular 2 solves the core challenges in mobile web performance.
|
p.text-body With Angular Universal for server-side rendering and Web Workers for smooth scrolling and transitions, Angular 2 solves the core challenges in mobile web performance.
|
||||||
|
h3.text-headline 移动优先
|
||||||
|
p.text-body 通过Angular Universal提供服务端渲染,通过Web Workers提供平滑的滚动和转场效果。据此,Angular 2解决了移动网站性能问题的核心挑战。
|
||||||
div(flex=33 style='padding:0 24px')
|
div(flex=33 style='padding:0 24px')
|
||||||
h3.text-headline Flexible
|
h3.text-headline Flexible
|
||||||
p.text-body Supports several languages including plain JavaScript, TypeScript, and Dart. Also supports both object-style data structure with POJO data-binding and functional reactive style with unidirectional data flow and support for observables and immutable data structures.
|
p.text-body Supports several languages including plain JavaScript, TypeScript, and Dart. Also supports both object-style data structure with POJO data-binding and functional reactive style with unidirectional data flow and support for observables and immutable data structures.
|
||||||
|
h3.text-headline 弹性
|
||||||
|
p.text-body 支持一系列语言,包括普通JavaScript、TypeScript和Dart。同样支持基于POJO数据绑定的对象式数据结构和基于单向数据流的函数式响应式(reactive)风格,还支持基于监听(observable)和不可变(immutable)对象的数据结构。
|
||||||
br
|
br
|
||||||
div
|
div
|
||||||
h3.text-headline The Basics
|
h3.text-headline The Basics
|
||||||
p.text-body In Angular you display data by defining components. Data in your component classes is automatically available to display in your templates or control how they render as in the example below.
|
p.text-body In Angular you display data by defining components. Data in your component classes is automatically available to display in your templates or control how they render as in the example below.
|
||||||
|
h3.text-headline 基础
|
||||||
p.text-body While this example uses TypeScript, Angular works equally well with ES5, ES6 and Dart as well.
|
p.text-body While this example uses TypeScript, Angular works equally well with ES5, ES6 and Dart as well.
|
||||||
|
p.text-body 虽然这个范例使用了TypeScript,但是Angular在ES5、ES6和Dart中也能很好的工作。
|
||||||
p(style='text-align:right')
|
p(style='text-align:right')
|
||||||
md-button.md-primary(href='/resources/live-examples/homepage-hello-world/ts/plnkr.html' target='_blank')
|
md-button.md-primary(href='/resources/live-examples/homepage-hello-world/ts/plnkr.html' target='_blank')
|
||||||
span.icon-open-in-new
|
span.icon-open-in-new
|
||||||
| Try in Plunker
|
| 在Plunker中试用
|
||||||
+makeTabs(`
|
+makeTabs(`
|
||||||
../docs/_fragments/homepage-hello-world/ts/app/hello_world.html,
|
../docs/_fragments/homepage-hello-world/ts/app/hello_world.html,
|
||||||
../docs/_fragments/homepage-hello-world/ts/app/hello_world.ts,
|
../docs/_fragments/homepage-hello-world/ts/app/hello_world.ts,
|
||||||
|
@ -32,12 +40,15 @@ div
|
||||||
br
|
br
|
||||||
div
|
div
|
||||||
h3.text-headline Structuring Apps With Components
|
h3.text-headline Structuring Apps With Components
|
||||||
|
h3.text-headline 应用程序的组件式结构
|
||||||
p.text-body Groups of coordinated components divide the responsibilities of our application. This ToDo list app has a separate component for the form, the list, and the core app logic. Where the previous example component referenced templates in separate files, this one shows using inline templates.
|
p.text-body Groups of coordinated components divide the responsibilities of our application. This ToDo list app has a separate component for the form, the list, and the core app logic. Where the previous example component referenced templates in separate files, this one shows using inline templates.
|
||||||
|
p.text-body 我们把应用的职责拆分成一组相互合作的组件。这个TODO List应用包括一组独立的组件,它们组成了表单、列表和核心应用逻辑。虽然前面的范例组件使用了独立文件来存放模板,但这个范例将使用内联模板。
|
||||||
p.text-body Defining types as we do here in Todo.ts communicates our intention to other developers, helps us find bugs in our code, and lets IDEs do more work for us in refactoring, code navigation, and code completion.
|
p.text-body Defining types as we do here in Todo.ts communicates our intention to other developers, helps us find bugs in our code, and lets IDEs do more work for us in refactoring, code navigation, and code completion.
|
||||||
|
p.text-body 就像我们在Todo.ts中的做法,定义类型(types)可以像其他开发者展示我们的意图,帮助我们发现代码中的BUG,以及让我们的IDE更好的帮助我们:重构、代码导航、以及代码自动完成(Code completion)。
|
||||||
p(style='text-align:right')
|
p(style='text-align:right')
|
||||||
md-button.md-primary(href='/resources/live-examples/homepage-todo/ts/plnkr.html' target='_blank')
|
md-button.md-primary(href='/resources/live-examples/homepage-todo/ts/plnkr.html' target='_blank')
|
||||||
span.icon-open-in-new
|
span.icon-open-in-new
|
||||||
| Try in Plunker
|
| 在Plunker中试用
|
||||||
+makeTabs(`
|
+makeTabs(`
|
||||||
../docs/_fragments/homepage-todo/ts/app/todo_app.ts,
|
../docs/_fragments/homepage-todo/ts/app/todo_app.ts,
|
||||||
../docs/_fragments/homepage-todo/ts/app/todo_form.ts,
|
../docs/_fragments/homepage-todo/ts/app/todo_form.ts,
|
||||||
|
@ -55,12 +66,15 @@ div
|
||||||
br
|
br
|
||||||
div
|
div
|
||||||
h3.text-headline Advanced Component Communication
|
h3.text-headline Advanced Component Communication
|
||||||
|
h3.text-headline 高级组件通讯
|
||||||
p.text-body This demo shows an efficient implementation of tabs/panes. Each pane is only instantiated while it is visible. Panes which are not visible are released and do not have associated memory, DOM and change detection cost.
|
p.text-body This demo shows an efficient implementation of tabs/panes. Each pane is only instantiated while it is visible. Panes which are not visible are released and do not have associated memory, DOM and change detection cost.
|
||||||
|
p.text-body 这个范例展示了一个高效的页标签(tabs)/面板(panes)实现。只有可见的面板才会被实例化,不可见的则被释放,并且没有相关的内存、DOM和变更检测的开销。
|
||||||
p.text-body The demo also showcases dependency injection and the ability of one component to query for other components. Such queries automatically update even as detail panes are added. This allows the tabs component to work with <code>ngFor</code> without any special knowledge of it.
|
p.text-body The demo also showcases dependency injection and the ability of one component to query for other components. Such queries automatically update even as detail panes are added. This allows the tabs component to work with <code>ngFor</code> without any special knowledge of it.
|
||||||
|
p.text-body 这个范例也示范了依赖注入和从一个组件查询其它组件的能力。这些查询会自动更新 —— 即使加入了新的面板也能正常工作。这让tabs组件可以很好的和<code>ngFor</code>协作,而不需要了解特别的知识。
|
||||||
p(style='text-align:right')
|
p(style='text-align:right')
|
||||||
md-button.md-primary(href='/resources/live-examples/homepage-tabs/ts/plnkr.html' target='_blank')
|
md-button.md-primary(href='/resources/live-examples/homepage-tabs/ts/plnkr.html' target='_blank')
|
||||||
span.icon-open-in-new
|
span.icon-open-in-new
|
||||||
| Try in Plunker
|
| 在Plunker中试用
|
||||||
+makeTabs(`
|
+makeTabs(`
|
||||||
../docs/_fragments/homepage-tabs/ts/app/di_demo.ts,
|
../docs/_fragments/homepage-tabs/ts/app/di_demo.ts,
|
||||||
../docs/_fragments/homepage-tabs/ts/app/ui_tabs.ts,
|
../docs/_fragments/homepage-tabs/ts/app/ui_tabs.ts,
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
.grid-fluid.l-space-bottom-2
|
.grid-fluid.l-space-bottom-2
|
||||||
.c12.text-center
|
.c12.text-center
|
||||||
h3.text-headline.text-uppercase Core Team
|
h3.text-headline.text-uppercase Core Team
|
||||||
|
h3.text-headline.text-uppercase 核心开发组
|
||||||
.clear
|
.clear
|
||||||
|
|
||||||
.grid-fluid
|
.grid-fluid
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
figure
|
figure
|
||||||
img(src="/resources/images/support/gitter-logo.png" alt="Us" style="width:240px;")
|
img(src="/resources/images/support/gitter-logo.png" alt="Us" style="width:240px;")
|
||||||
.c8
|
.c8
|
||||||
p Community driven <a href="https://gitter.im/angular/angular" target="_blank">real time chat</a>
|
p 由社区驱动的<a href="https://gitter.im/angular/angular" target="_blank">实时聊天</a>
|
||||||
|
|
||||||
//
|
//
|
||||||
hr
|
hr
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
figure
|
figure
|
||||||
img(src="/resources/images/support/github-logo.png" alt="Us" style="width:240px;" )
|
img(src="/resources/images/support/github-logo.png" alt="Us" style="width:240px;" )
|
||||||
.c8
|
.c8
|
||||||
p File Angular 2 issues at our <a href="https://github.com/angular/angular/issues" target="_blank">GitHub Repository</a>
|
p Angular 2的问题归档在我们的<a href="https://github.com/angular/angular/issues" target="_blank">GitHub仓库</a>
|
||||||
|
|
||||||
hr
|
hr
|
||||||
|
|
||||||
|
@ -42,4 +42,4 @@
|
||||||
figure
|
figure
|
||||||
img(src="/resources/images/support/reddit-logo.png" alt="Us" style="width:240px;" )
|
img(src="/resources/images/support/reddit-logo.png" alt="Us" style="width:240px;" )
|
||||||
.c8
|
.c8
|
||||||
p Resources, articles, discussions & more: <a href="https://www.reddit.com/r/angular2/" target="_blank">/r/Angular2</a>
|
p 资源, 文档, 讨论以及更多内容在: <a href="https://www.reddit.com/r/angular2/" target="_blank">/r/Angular2</a>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||||
|
|
||||||
<!--Add the title of your typeform below-->
|
<!--Add the title of your typeform below-->
|
||||||
<title>2016 Angular Usage Trends Survey</title>
|
<title>2016 Angular使用统计调查</title>
|
||||||
|
|
||||||
<!--CSS styles that ensure your typeform takes up all the available screen space (DO NOT EDIT!)-->
|
<!--CSS styles that ensure your typeform takes up all the available screen space (DO NOT EDIT!)-->
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
|
|
Loading…
Reference in New Issue