Skip to content

Commit

Permalink
tranlated: issue #1, #2
Browse files Browse the repository at this point in the history
  • Loading branch information
realywithoutname committed Dec 19, 2017
1 parent 9c28c99 commit c7066c5
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 31 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules/
out/
test*.js
.DS_Store
30 changes: 15 additions & 15 deletions translated/issues-1.html
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
<emu-intro id="sec-intro">
<h1>Introduction</h1>
<p>This Ecma Standard defines the ECMAScript 2018 Language. It is the ninth edition of the ECMAScript Language Specification. Since publication of the first edition in 1997, ECMAScript has grown to be one of the world's most widely used general-purpose programming languages. It is best known as the language embedded in web browsers but has also been widely adopted for server and embedded applications.</p>
<p>ECMAScript is based on several originating technologies, the most well-known being JavaScript (Netscape) and JScript (Microsoft). The language was invented by Brendan Eich at Netscape and first appeared in that company's Navigator 2.0 browser. It has appeared in all subsequent browsers from Netscape and in all browsers from Microsoft starting with Internet Explorer 3.0.</p>
<p>The development of the ECMAScript Language Specification started in November 1996. The first edition of this Ecma Standard was adopted by the Ecma General Assembly of June 1997.</p>
<p>That Ecma Standard was submitted to ISO/IEC JTC 1 for adoption under the fast-track procedure, and approved as international standard ISO/IEC 16262, in April 1998. The Ecma General Assembly of June 1998 approved the second edition of ECMA-262 to keep it fully aligned with ISO/IEC 16262. Changes between the first and the second edition are editorial in nature.</p>
<p>The third edition of the Standard introduced powerful regular expressions, better string handling, new control statements, try/catch exception handling, tighter definition of errors, formatting for numeric output and minor changes in anticipation of future language growth. The third edition of the ECMAScript standard was adopted by the Ecma General Assembly of December 1999 and published as ISO/IEC 16262:2002 in June 2002.</p>
<p>After publication of the third edition, ECMAScript achieved massive adoption in conjunction with the World Wide Web where it has become the programming language that is supported by essentially all web browsers. Significant work was done to develop a fourth edition of ECMAScript. However, that work was not completed and not published as the fourth edition of ECMAScript but some of it was incorporated into the development of the sixth edition.</p>
<p>The fifth edition of ECMAScript (published as ECMA-262 5<sup>th</sup> edition) codified de facto interpretations of the language specification that have become common among browser implementations and added support for new features that had emerged since the publication of the third edition. Such features include accessor properties, reflective creation and inspection of objects, program control of property attributes, additional array manipulation functions, support for the JSON object encoding format, and a strict mode that provides enhanced error checking and program security. The fifth edition was adopted by the Ecma General Assembly of December 2009.</p>
<p>The fifth edition was submitted to ISO/IEC JTC 1 for adoption under the fast-track procedure, and approved as international standard ISO/IEC 16262:2011. Edition 5.1 of the ECMAScript Standard incorporated minor corrections and is the same text as ISO/IEC 16262:2011. The 5.1 Edition was adopted by the Ecma General Assembly of June 2011.</p>
<p>Focused development of the sixth edition started in 2009, as the fifth edition was being prepared for publication. However, this was preceded by significant experimentation and language enhancement design efforts dating to the publication of the third edition in 1999. In a very real sense, the completion of the sixth edition is the culmination of a fifteen year effort. The goals for this addition included providing better support for large applications, library creation, and for use of ECMAScript as a compilation target for other languages. Some of its major enhancements included modules, class declarations, lexical block scoping, iterators and generators, promises for asynchronous programming, destructuring patterns, and proper tail calls. The ECMAScript library of built-ins was expanded to support additional data abstractions including maps, sets, and arrays of binary numeric values as well as additional support for Unicode supplemental characters in strings and regular expressions. The built-ins were also made extensible via subclassing. The sixth edition provides the foundation for regular, incremental language and library enhancements. The sixth edition was adopted by the General Assembly of June 2015.</p>
<p>ECMAScript 2016 was the first ECMAScript edition released under Ecma TC39's new yearly release cadence and open development process. A plain-text source document was built from the ECMAScript 2015 source document to serve as the base for further development entirely on GitHub. Over the year of this standard's development, hundreds of pull requests and issues were filed representing thousands of bug fixes, editorial fixes and other improvements. Additionally, numerous software tools were developed to aid in this effort including Ecmarkup, Ecmarkdown, and Grammarkdown. ES2016 also included support for a new exponentiation operator and adds a new method to Array.prototype called `includes`.</p>
<p>This specification introduces Async Functions, Shared Memory, and Atomics along with smaller language and library enhancements, bug fixes, and editorial updates. Async functions improve the asynchronous programming experience by providing syntax for promise-returning functions. Shared Memory and Atomics introduce a new memory model that allows multi-agent programs to communicate using atomic operations that ensure a well-defined execution order even on parallel CPUs. This specification also includes new static methods on Object: `Object.values`, `Object.entries`, and `Object.getOwnPropertyDescriptors`.</p>
<p>Dozens of individuals representing many organizations have made very significant contributions within Ecma TC39 to the development of this edition and to the prior editions. In addition, a vibrant community has emerged supporting TC39's ECMAScript efforts. This community has reviewed numerous drafts, filed thousands of bug reports, performed implementation experiments, contributed test suites, and educated the world-wide developer community about ECMAScript. Unfortunately, it is impossible to identify and acknowledge every person and organization who has contributed to this effort.</p>
<h1>介绍</h1>
<p>此标准定义了ECMAScript 2018语言,是ECMAScript语言规范的第九版。自从1997年第一版发布以来,ECMAScript已经成为世界上应用最广泛的编程语言之一。众所周知的是作为嵌入在Web浏览器中的语言,但该语言也被广泛应用于服务器和嵌入式应用程序。</p>
<p>ECMAScript基于几种始发技术,最著名的是Netscape的JavaScript以及Microsoft的JScript。该语言由Netscape的Brendan Eich发明,并首次出现在该公司的Navigator2.0浏览器中。它已经出现在Netscape的所有后续浏览器以及Microsoft自Internet Explorer3.0开始的所有浏览器中。</p>
<p>ECMAScript语言规范的制定始于1996年11月。第一版的Ecma标准在1997年6月通过Ecma委员会。</p>
<p>该(第一版)Ecma标准采用快速程序提交 ISO/IEC JIC 1,并于1998年4月被批准为国际标准 ISO/IEC16262。在1998年Ecma委员会通过了第二版 ECMA-262,以保证完全符合 ISO/IEC 16262。 第一版和第二版的变化是社论性质的。</p>
<p>第三版标准引入了强大的正则表达式,更好的字符串处理,新的控制语句,try/catch异常处理,更严格的错误定义,数字输出的格式化以及预期未来语言成长的微小变化。在1999年12月Ecma委员会通过了第三版ECMAScript标准,于2002年6月发布为 ISO/IEC 16262:2002</p>
<p>在第三版发布后,ECMAScript在万维网上被大量使用,它成为所有Web浏览器支持的编程语言。开发第四版ECMAScript是一个有象征意义的工作,然而这项工作未能完成,也没能作为第四版ECMAScript发布,不过其中一些开发被纳入第六版。</p>
<p>第五版ECMAScript(以ECMA-262 5<sup>th</sup> edition发布)编纂了那些浏览器之间的通用实现,并作出事实性的解释写入语言规范,同时添加了很多新的功能一起合并到第五版发布。 这些功能包括<abbr title="accessor properties">访问器属性</abbr>,<abbr title="reflective creation and inspection of objects">对象的反向创建与检查</abbr>,<abbr title="program control of property attributes">对象属性的属性控制</abbr>,<abbr title="additional array manipulation functions">更多数组处理函数</abbr>,<abbr title="support for the JSON object encoding format">JSON对象编码格式化的支持</abbr>, 以及一种<abbr title="enhanced error checking">增强错误检查</abbr>和<abbr title="program security">程序安全性</abbr>的<abbr title="strict mode">严格模式</abbr>。第五版于2009年12月通过Ecma委员会。</p>
<p>第五版采用快速程序提交ISO/IEC JIC 1,批准为国际标准ISO/IEC 16262:2011。第5.1版ECMAScript标准包含较少的更正,并与ISO/IEC 16262:2011保持一致。于2011年6月Ecma委员会通过5.1版。</p>
<p>第六版于2009年开始作为重点开发,当时第五版正在准备出版。然而,这之前的重点实验以及语言增强设计工作可以追溯到1999年第三版发布。实际上,第六版的完成是十五年努力的结果。 这个版本中增加了包括对大型应用提供更好的支持,<abbr title="library creation">库创建</abbr>, 以及以ECMAScript作为其他语言的编译目标。其中主要的增强功能包括<abbr title="modules">模块化</abbr>,<abbr title="class declarations">类声明</abbr>,<abbr title="lexical block scoping">词法块作用域</abbr>,<abbr title="iterators and generators">迭代器以及生成器</abbr>,<abbr title="promises for asynchronous programming">异步编程的promise</abbr>,<abbr title="destructuring patterns">解构模式</abbr>,以及<abbr title="proper tail calls">正确的尾部调用</abbr>。 ECMAScript内置库扩展支持了额外的数据抽象,包括<abbr title="maps">Map</abbr>,<abbr title="sets">Set</abbr>,<abbr title="arrays of binary numeric values">数组二进制操作</abbr>, 同时也支持<abbr title="Unicode supplemental characters in strings and regular expressions">Unicode补充字符在字符串及正则表达式</abbr>中使用。内置库也通过子类进行了扩展。第六版为<abbr title="regular">正则</abbr>,<abbr title="incremental language">渐进式语言</abbr>以及<abbr title="library enhancements">库增强</abbr>提供了基础。第六版与2015年6月通过了Ecma委员会。</p>
<p>ECMAScript2016是使用新发布策略以及公开开发进度的Ecma TC39的首个ECMAScript版本。从ECMAScript2015源文档构建一个纯文本的源文档,以支持完全在GitHub上进一步开发。在这个标准的发展的这一年,数百个`pull requests``issues`被提交,代表着成千上万的错误修复,编辑修复和其他改进。另外,开发了许多软件工具来帮助这一工作,包括Ecmarkup,Ecmarkdown和Grammarkdown。ES2016还包括支持一个新的求幂运算符,以及为Array.prototype添加了一个名为`include`的新方法。</p>
<p>此规范引入了<abbr title="Async Functions">Async函数</abbr>,<abbr title="Shared Memory">共享内存</abbr>, 以及<abbr title="Atomics along with smaller language and library enhancements">更小语言和库增强的原子</abbr>,<abbr title="bug fixes">错误修复</abbr>,<abbr title="editorial updates">编辑更新</abbr>。Async函数通过提供`promise-returning`函数语法来提高异步编程体验。共享内存和原子引入了一种新的内存模型,允许<abbr title="multi-agent programs">多个代理程序</abbr>使用原子操作进行通信,即使在并行CPU上也能确保程序按照明确定义的执行顺序。此规范还包括Object新的静态方法:Object.valuesObject.entries和Object.getOwnPropertyDescriptors</p>
<p>许多个人和组织在Ecma TC39为当前版本以及以前的版本做出了非常重要的贡献。此外,有了一个支持TC39,为ECMAScript努力的充满活力的社区。这个社区审查了许多草案,提交了大量的错误报告,执行实施实验,提供测试套件,全世界的ECMAScript的开发者都可以从中受益。然而遗憾的是,我们无法对作出努力贡献的每个人和组织进行一一感谢。</p>
<p>
Allen Wirfs-Brock<br>
ECMA-262, 6<sup>th</sup> Edition Project Editor
ECMA-262, 6<sup>th</sup> edition 项目编辑
</p>
<p>
Brian Terlson<br>
ECMA-262, 7<sup>th</sup> Edition Project Editor
ECMA-262, 7<sup>th</sup> edition 项目编辑
</p>
</emu-intro>
32 changes: 16 additions & 16 deletions translated/issues-2.html
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
<emu-clause id="sec-scope">
<h1>Scope</h1>
<p>This Standard defines the ECMAScript 2018 general-purpose programming language.</p>
<h1>范围</h1>
<p>本标准定义了ECMAScript 2018通用编程语言。</p>
</emu-clause>

<!-- es6num="2" -->
<emu-clause id="sec-conformance">
<h1>Conformance</h1>
<p>A conforming implementation of ECMAScript must provide and support all the types, values, objects, properties, functions, and program syntax and semantics described in this specification.</p>
<p>A conforming implementation of ECMAScript must interpret source text input in conformance with the latest version of the Unicode Standard and ISO/IEC 10646.</p>
<p>A conforming implementation of ECMAScript that provides an application programming interface (API) that supports programs that need to adapt to the linguistic and cultural conventions used by different human languages and countries must implement the interface defined by the most recent edition of ECMA-402 that is compatible with this specification.</p>
<p>A conforming implementation of ECMAScript may provide additional types, values, objects, properties, and functions beyond those described in this specification. In particular, a conforming implementation of ECMAScript may provide properties not described in this specification, and values for those properties, for objects that are described in this specification.</p>
<p>A conforming implementation of ECMAScript may support program and regular expression syntax not described in this specification. In particular, a conforming implementation of ECMAScript may support program syntax that makes use of the &ldquo;future reserved words&rdquo; listed in subclause <emu-xref href="#sec-future-reserved-words"></emu-xref> of this specification.</p>
<p>A conforming implementation of ECMAScript must not implement any extension that is listed as a Forbidden Extension in subclause <emu-xref href="#sec-forbidden-extensions"></emu-xref>.</p>
<h1>一致性</h1>
<p>一个符合ECMAScript标准的实现应该符合以下提议:</p><p>必须提供和支持本规范中描述的所有的类型,值,对象,属性,函数以及程序语法及语义。</p>
<p>解释源文本的输入必须与最新版本的Unicode标准和ISO/IEC 10646标准保持一致。</p>
<p>提供的应用程序接口的程序,需要适应使用不同自然语言的国家的语言和文化习惯,且最新版本的`ECMA-402`的实现必须与本规范的接口兼容。</p>
<p>应该提供那些超出该规范描述的额外类型,值,对象,属性以及方法。尤其对于该文档有提到但没描述其属性的那些对象,应该提供那些属性以及属性对应的值。</p>
<p>应该支持一些没有在规范中提及的程序或者正则表达式语法。尤其应该实现在<emu-xref href="#sec-future-reserved-words"></emu-xref>列出的那些保留字的语法。</p>
<p>绝对不能实现在<emu-xref href="#sec-forbidden-extensions"></emu-xref>列出的禁止的扩展。</p>
</emu-clause>

<!-- es6num="3" -->
<emu-clause id="sec-normative-references">
<h1>Normative References</h1>
<p>The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.</p>
<p>ISO/IEC 10646 <i>Information Technology &ndash; Universal Multiple-Octet Coded Character Set (UCS) plus Amendment 1:2005, Amendment 2:2006, Amendment 3:2008, and Amendment 4:2008</i>, plus additional amendments and corrigenda, or successor</p>
<p>ECMA-402, <i>ECMAScript 2015 Internationalization API Specification</i>.
<h1>引用标准</h1>
<p>为了实现符合本规范的应用程序,下列引用文档是不可或缺的。对于标注了日期的文档,仅适用标注的那个版本。 对于未标注日期的文档,以文档的最新版为准(包括任何修订版)。</p>
<p>ISO/IEC 10646:2003: <i>信息技术 &ndash;<abbr title="Universal Multiple-Octet Coded Character Set">通用多八位编码字符集(UCS)</abbr>以及修订 1:2005, 修订 2:2006, 修订 3:2008, 和修订 4:2008</i>, 以及其他修订,更正,后继标准</p>
<p>ECMA-402, <i>ECMAScript 2015 国际化API规范</i>.
<br>
<a href="https://ecma-international.org/publications/standards/Ecma-402.htm">https://ecma-international.org/publications/standards/Ecma-402.htm</a></p>
<p>ECMA-404, <i>The JSON Data Interchange Format</i>.
<a href="http://www.ecma-international.org/publications/standards/Ecma-402.htm">http://www.ecma-international.org/publications/standards/Ecma-402.htm</a></p>
<p>ECMA-404, <i>JSON 数据交换格式化</i>.
<br>
<a href="https://ecma-international.org/publications/standards/Ecma-404.htm">https://ecma-international.org/publications/standards/Ecma-404.htm</a></p>
<a href="http://www.ecma-international.org/publications/standards/Ecma-404.htm">http://www.ecma-international.org/publications/standards/Ecma-404.htm</a></p>
</emu-clause>

0 comments on commit c7066c5

Please sign in to comment.