From cb45b0510c8207905a195dbb7e94c16e243a46fa Mon Sep 17 00:00:00 2001 From: zhongsp Date: Sun, 14 Feb 2021 20:10:54 +0800 Subject: [PATCH 01/82] =?UTF-8?q?zh:=20=E6=B8=B8=E4=B9=90=E5=9C=BA=20->=20?= =?UTF-8?q?=E6=BC=94=E7=BB=83=E5=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../External APIs/TypeScript with React.tsx | 2 +- .../JavaScript/JavaScript Essentials/Hello World.ts | 4 ++-- .../JavaScript Essentials/Objects and Arrays.ts | 2 +- .../Working With Classes/Generic Classes.ts | 2 +- .../zh/Playground/Config/JavaScript Playgrounds.js | 6 +++--- .../zh/Playground/Config/New Compiler Defaults.ts | 4 ++-- .../Language/Automatic Type Acquisition.ts | 2 +- docs/playground/zh/Playground/Language/Fixits.ts | 4 ++-- .../zh/Playground/Tooling/Mobile Support.ts | 2 +- .../zh/Playground/Tooling/Sharable URLs.ts | 2 +- .../zh/Playground/Tooling/TypeScript Versions.ts | 8 ++++---- docs/playground/zh/sections.json | 6 +++--- docs/typescriptlang/zh/documentation.ts | 2 +- docs/typescriptlang/zh/head-seo.ts | 6 +++--- docs/typescriptlang/zh/nav.ts | 2 +- docs/typescriptlang/zh/playground.ts | 12 ++++++------ 16 files changed, 33 insertions(+), 33 deletions(-) diff --git a/docs/playground/zh/JavaScript/External APIs/TypeScript with React.tsx b/docs/playground/zh/JavaScript/External APIs/TypeScript with React.tsx index 796c82dc..113c45fe 100644 --- a/docs/playground/zh/JavaScript/External APIs/TypeScript with React.tsx +++ b/docs/playground/zh/JavaScript/External APIs/TypeScript with React.tsx @@ -52,7 +52,7 @@ interface FauxactClassComponent { // 由于这个类可以拥有 Props 和 State ——它有两个可以在类中使用的泛型参数。 -// React 库附带了他们更加全面的类型定义,让我们将其带入我们的游乐场 +// React 库附带了他们更加全面的类型定义,让我们将其带入我们的演练场 // 并探索一些组件。 import * as React from 'react'; diff --git a/docs/playground/zh/JavaScript/JavaScript Essentials/Hello World.ts b/docs/playground/zh/JavaScript/JavaScript Essentials/Hello World.ts index fc09a3c2..e44c6358 100644 --- a/docs/playground/zh/JavaScript/JavaScript Essentials/Hello World.ts +++ b/docs/playground/zh/JavaScript/JavaScript Essentials/Hello World.ts @@ -1,9 +1,9 @@ //// { order: 0, compiler: { target: 1 } } -// 欢迎来到 TypeScript 游乐场,本网站很像在浏览器中运行 +// 欢迎来到 TypeScript 演练场,本网站很像在浏览器中运行 // 一个 TypeScript 项目。 -// 通过分享这些项目,可以轻松并安全的通过游乐场在 TypeScript 中 +// 通过分享这些项目,可以轻松并安全的通过演练场在 TypeScript 中 // 尝试想法。此页面的 URL 是其他人加载本项目所需的全部内容。 const hello = "Hello"; diff --git a/docs/playground/zh/JavaScript/JavaScript Essentials/Objects and Arrays.ts b/docs/playground/zh/JavaScript/JavaScript Essentials/Objects and Arrays.ts index 458b63c3..31f3db61 100644 --- a/docs/playground/zh/JavaScript/JavaScript Essentials/Objects and Arrays.ts +++ b/docs/playground/zh/JavaScript/JavaScript Essentials/Objects and Arrays.ts @@ -31,7 +31,7 @@ console.log(purchaseOrder.item.type); // // purchaseOrder.item.type -// TypeScript 向游乐场提供关于此文件中可用的 JavaScript 对象 +// TypeScript 向演练场提供关于此文件中可用的 JavaScript 对象 // 的反馈,让您可以减少输入错误并且可以查看额外的信息,而不必在 // 其他地方查找。 diff --git a/docs/playground/zh/JavaScript/Working With Classes/Generic Classes.ts b/docs/playground/zh/JavaScript/Working With Classes/Generic Classes.ts index 91698127..462202b4 100644 --- a/docs/playground/zh/JavaScript/Working With Classes/Generic Classes.ts +++ b/docs/playground/zh/JavaScript/Working With Classes/Generic Classes.ts @@ -49,7 +49,7 @@ const mixedDrawer = new Drawer(); // 使用 JSDoc 中的模板(template)标记。在此示例中,我们定义了模板 // 变量,然后定义类的属性: -// 要在游乐场上实验这项功能,您需要将设置更改为 JavaScript 文件, +// 要在演练场上实验这项功能,您需要将设置更改为 JavaScript 文件, // 然后删除上面的的 TypeScript 代码。 /** diff --git a/docs/playground/zh/Playground/Config/JavaScript Playgrounds.js b/docs/playground/zh/Playground/Config/JavaScript Playgrounds.js index 597cb188..4f7358d0 100644 --- a/docs/playground/zh/Playground/Config/JavaScript Playgrounds.js +++ b/docs/playground/zh/Playground/Config/JavaScript Playgrounds.js @@ -1,8 +1,8 @@ //// { order: 3, isJavaScript: true } -// 游乐场现在同样可以处理 JavaScript 文件。 +// 演练场现在同样可以处理 JavaScript 文件。 -// 你可能会问为什么我们会在游乐场上增加对 JavaScript 的支持呢? +// 你可能会问为什么我们会在演练场上增加对 JavaScript 的支持呢? // 但是大多数 TypeScript 的用户可能正在使用 JavaScript。 // TypeScript 可以在 JavaScript 文件中使用类型推断,类型自动获取 @@ -12,7 +12,7 @@ // example:automatic-type-acquisition // example:jsdoc-support -// 游乐场支持 JavaScript 意味着您可以通过复杂的 JSDoc 示例来 +// 演练场支持 JavaScript 意味着您可以通过复杂的 JSDoc 示例来 // 学习或引导其他人。或者在效果与期望不匹配时调试问题。 // 例如。为什么这个 JSDoc 标注的类型不正确? diff --git a/docs/playground/zh/Playground/Config/New Compiler Defaults.ts b/docs/playground/zh/Playground/Config/New Compiler Defaults.ts index 917fa04f..47e31d38 100644 --- a/docs/playground/zh/Playground/Config/New Compiler Defaults.ts +++ b/docs/playground/zh/Playground/Config/New Compiler Defaults.ts @@ -3,8 +3,8 @@ // 是的我们知道,TypeScript 的 tsconfig 默认没有打开严格模式。 // 但是我们团队建议用户尽可能在配置文件中启用严格模式。 -// 但是对于游乐场来说,我们可以很开心的将默认值设置为严格模式。 -// 游乐场还将追踪与默认值不同的编译选项,并使他们可以在 URL 中共享。 +// 但是对于演练场来说,我们可以很开心的将默认值设置为严格模式。 +// 演练场还将追踪与默认值不同的编译选项,并使他们可以在 URL 中共享。 // 你可以了解更多关于 URL 的信息: // example:sharable-urls diff --git a/docs/playground/zh/Playground/Language/Automatic Type Acquisition.ts b/docs/playground/zh/Playground/Language/Automatic Type Acquisition.ts index 5658e87b..dfade3a4 100644 --- a/docs/playground/zh/Playground/Language/Automatic Type Acquisition.ts +++ b/docs/playground/zh/Playground/Language/Automatic Type Acquisition.ts @@ -1,7 +1,7 @@ // 自动类型获取是指 TypeScript 自动在后台从 npm 的 @types 下获取类型定义 // 从而为 JavaScript 用户提供更好的用户体验。 -// 现在游乐场有与 TypeScript 中内置的类型获取类似(但是有更多限制)的版本。 +// 现在演练场有与 TypeScript 中内置的类型获取类似(但是有更多限制)的版本。 // 您可以在代码中添加 import 来使用它,它通过 DefinitelyTyped 中的 // @types 或依赖项本身内部的 d.ts 文件来工作。 diff --git a/docs/playground/zh/Playground/Language/Fixits.ts b/docs/playground/zh/Playground/Language/Fixits.ts index fc74bd04..2b80ffde 100644 --- a/docs/playground/zh/Playground/Language/Fixits.ts +++ b/docs/playground/zh/Playground/Language/Fixits.ts @@ -9,9 +9,9 @@ function addOne(x: number) { // 这个功能自 TypeScript 3.7 版本后以及最新构建的版本中可用。 -// 在编写实例或学习时,您可能不需要在游乐场中使用他们。 +// 在编写实例或学习时,您可能不需要在演练场中使用他们。 -// 但是拥有自动修复意味着我们可以游乐场上记录他们。这非常有价值。 +// 但是拥有自动修复意味着我们可以演练场上记录他们。这非常有价值。 // example:big-number-literals // example:const-to-let diff --git a/docs/playground/zh/Playground/Tooling/Mobile Support.ts b/docs/playground/zh/Playground/Tooling/Mobile Support.ts index cb0ebd15..441c086c 100644 --- a/docs/playground/zh/Playground/Tooling/Mobile Support.ts +++ b/docs/playground/zh/Playground/Tooling/Mobile Support.ts @@ -3,7 +3,7 @@ // 较小的设备可能对编写代码来说不太友好,但是对阅读我们的示例或 // 快速检查某个人的链接或进行一些较小的修改非常有用。 -// 在新的游乐场中,我们通过以下方式改善小屏幕的体验: +// 在新的演练场中,我们通过以下方式改善小屏幕的体验: // - 去掉与代码无关的菜单项。 // - 一些小的样式改进。 diff --git a/docs/playground/zh/Playground/Tooling/Sharable URLs.ts b/docs/playground/zh/Playground/Tooling/Sharable URLs.ts index 2d722d91..41a8a9f0 100644 --- a/docs/playground/zh/Playground/Tooling/Sharable URLs.ts +++ b/docs/playground/zh/Playground/Tooling/Sharable URLs.ts @@ -1,6 +1,6 @@ //// { order: 1 } -// 在新的游乐场中,URL 包含有关您设置的更多信息。这样可以使 +// 在新的演练场中,URL 包含有关您设置的更多信息。这样可以使 // 复制更准确,并且您可以不需要额外告诉别人要复制您的设置需要 // 开启某些特殊的编译选项。 diff --git a/docs/playground/zh/Playground/Tooling/TypeScript Versions.ts b/docs/playground/zh/Playground/Tooling/TypeScript Versions.ts index cf389840..293b37af 100644 --- a/docs/playground/zh/Playground/Tooling/TypeScript Versions.ts +++ b/docs/playground/zh/Playground/Tooling/TypeScript Versions.ts @@ -1,11 +1,11 @@ -// 在新的游乐场中,我们对您代码的运行环境有更强的控制。新的 -// 游乐场已经与提供编辑器体验的 monaco-editor 和 +// 在新的演练场中,我们对您代码的运行环境有更强的控制。新的 +// 演练场已经与提供编辑器体验的 monaco-editor 和 // monaco-typescript 解耦。 // https://github.com/microsoft/monaco-editor/ // https://github.com/microsoft/monaco-typescript -// 解耦意味着游乐场支持用户在 monaco-typescript 集成的 TypeScript +// 解耦意味着演练场支持用户在 monaco-typescript 集成的 TypeScript // 和已经构建的不同版本的 TypeScript 之间自由切换。 // 我们有为任何版本的 TypeScript 构建 monaco-editor 和 monaco-typescript @@ -18,7 +18,7 @@ // 由:https://github.com/orta/make-monaco-builds -// 让新的游乐场如何支持不同版本的 TypeScript 的基础架构来自 +// 让新的演练场如何支持不同版本的 TypeScript 的基础架构来自 // 该站点的项目: // https://github.com/agentcooper/typescript-play diff --git a/docs/playground/zh/sections.json b/docs/playground/zh/sections.json index 90797d76..deb5eb3a 100644 --- a/docs/playground/zh/sections.json +++ b/docs/playground/zh/sections.json @@ -21,9 +21,9 @@ "subtitle": "查看版本更新说明。" }, { - "name": "游乐场 V3", - "id": "游乐场", - "subtitle": "了解游乐场有哪些变化。" + "name": "演练场 V3", + "id": "演练场", + "subtitle": "了解演练场有哪些变化。" } ], "sortedSubSections": [ diff --git a/docs/typescriptlang/zh/documentation.ts b/docs/typescriptlang/zh/documentation.ts index a1a77a03..fbca6abe 100644 --- a/docs/typescriptlang/zh/documentation.ts +++ b/docs/typescriptlang/zh/documentation.ts @@ -13,7 +13,7 @@ export const docCopy = { doc_headline_handbook_title: "手册", doc_headline_handbook_blurb: "TypeScript 语言参考", doc_headline_examples_title: "示例", - doc_headline_examples_blurb: "全面的游乐场实践教程", + doc_headline_examples_blurb: "全面的演练场实践教程", doc_start_a_project: "开始一个项目", doc_start_a_project_desc: "由于 TypeScript 是 JavaScript 的超集,所以它没有默认的模板——他们太多了。相反,其他项目在他们自己的环境中具有自己的 TypeScript 引导模板。这些项目提供了包含 TypeScript 支持的模板。", diff --git a/docs/typescriptlang/zh/head-seo.ts b/docs/typescriptlang/zh/head-seo.ts index 5e8a92b5..c48f0bcc 100644 --- a/docs/typescriptlang/zh/head-seo.ts +++ b/docs/typescriptlang/zh/head-seo.ts @@ -1,12 +1,12 @@ export const headCopy = { head_playground_title: - "游乐场 - 一个用于 TypeScript 和 JavaScript 的在线编辑器", + "演练场 - 一个用于 TypeScript 和 JavaScript 的在线编辑器", head_playground_description: - "可以通过游乐场以安全且可共享的方式在线编写 TypeScript 和 JavaScript。", + "可以通过演练场以安全且可共享的方式在线编写 TypeScript 和 JavaScript。", tsconfig_title: "TSConfig 参考 - 所有 TSConfig 选项的文档", tsconfig_description: "不管是 allowJs 还是 useDefineForClassFields, TSConfig 的参考包含所有关于配置项目的有效的 TypeScript 编译器选项。", - playground_example_prefix: "游乐场示例 - ", + playground_example_prefix: "演练场示例 - ", head_index_title: "适用于任何规模应用的 JavaScript", head_index_description: "适用于任何规模应用的 JavaScript", diff --git a/docs/typescriptlang/zh/nav.ts b/docs/typescriptlang/zh/nav.ts index deeb014e..4afcd19f 100644 --- a/docs/typescriptlang/zh/nav.ts +++ b/docs/typescriptlang/zh/nav.ts @@ -9,7 +9,7 @@ export const navCopy = { nav_search_aria: "搜索 TypeScript 网站", // let me know if you can't make this work in your lang: // TypeScript X.Y [stable][between?]Z.Y[beta/rc] - nav_playground: "游乐场", + nav_playground: "演练场", nav_playground_short: "尝试", nav_handbook: "手册", nav_this_page_in_your_lang: "当前页面有适用于您语言的翻译版本", diff --git a/docs/typescriptlang/zh/playground.ts b/docs/typescriptlang/zh/playground.ts index f6efa90f..30df9f14 100644 --- a/docs/typescriptlang/zh/playground.ts +++ b/docs/typescriptlang/zh/playground.ts @@ -1,5 +1,5 @@ export const playCopy = { - play_subnav_title: "游乐场", + play_subnav_title: "演练场", play_subnav_settings: "设置", play_settings_tabs_settings: "侧边栏选项", play_sidebar_plugins: "插件", @@ -11,8 +11,8 @@ export const playCopy = { play_sidebar_err_blurb: "展示您完整的编译错误", play_sidebar_run_title: "在浏览器中运行 JavaScript", play_sidebar_run_blurb: "展示在编辑器中的 JavaScript 的运行结果", - play_sidebar_plugins_title: "管理游乐场插件", - play_sidebar_plugins_blurb: "向游乐场添加/删除第三方插件", + play_sidebar_plugins_title: "管理演练场插件", + play_sidebar_plugins_blurb: "向演练场添加/删除第三方插件", play_sidebar_ast_title: "[开发中] 展示 AST", play_sidebar_ast_blurb: "检查 TypeScript AST", play_subnav_config: "配置", @@ -46,7 +46,7 @@ export const playCopy = { play_sidebar_plugins_plugin_dev_option: "访问 localhost:5000/index.js", play_sidebar_plugins_plugin_dev_copy: - "在开发模式下自动尝试连接到游乐场的插件。你可以在这里开始创建一个插件。", + "在开发模式下自动尝试连接到演练场的插件。你可以在这里开始创建一个插件。", play_export_report_issue: "为 TypeScript 提交 Github issue。", play_export_copy_md: "复制为 Markdown 格式的 issue 模板", play_export_copy_link: "复制为 Markdown 格式的链接", @@ -59,7 +59,7 @@ export const playCopy = { play_run_js: "已执行 JavaScript", play_run_ts: "已执行编译后的 TypeScript", play_run_js_fail: "执行 JavaScript 失败:", - play_default_code_sample: `// 欢迎来到 TypeScript 游乐场, + play_default_code_sample: `// 欢迎来到 TypeScript 演练场, // 这是一个给你提供编写,分享和学习 TypeScript 的网站。 // 您可以以如下三种方式使用它: @@ -72,7 +72,7 @@ const anExampleVariable = "Hello World" console.log(anExampleVariable) // 可以点击上方的 “示例” 或 “新闻”,以了解更多关于语言的信息。" -// 或者删除这些注释并且开始使用,整个游乐场的世界都属于你。 +// 或者删除这些注释并且开始使用,整个演练场的世界都属于你。 `, // Notes: From c88431ae8c2b2069d999689fe468ec6c92ff18f0 Mon Sep 17 00:00:00 2001 From: zhongsp Date: Sun, 14 Feb 2021 20:10:54 +0800 Subject: [PATCH 02/82] =?UTF-8?q?zh:=20=E8=81=94=E7=B3=BB=E6=88=91?= =?UTF-8?q?=E4=BB=AC=20->=20=E7=A4=BE=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The word" Community" is commonly translated to "社区". --- docs/typescriptlang/zh/nav.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/typescriptlang/zh/nav.ts b/docs/typescriptlang/zh/nav.ts index 4afcd19f..5185a18b 100644 --- a/docs/typescriptlang/zh/nav.ts +++ b/docs/typescriptlang/zh/nav.ts @@ -3,7 +3,7 @@ export const navCopy = { nav_documentation: "文档", nav_documentation_short: "文档", nav_download: "下载", - nav_community: "联系我们", + nav_community: "社区", nav_tools: "工具链", nav_search_placeholder: "搜索文档", nav_search_aria: "搜索 TypeScript 网站", From 2c7abe740ab65072720eb5eeb7e0e01b40ee27c6 Mon Sep 17 00:00:00 2001 From: zhongsp Date: Sun, 14 Feb 2021 20:10:54 +0800 Subject: [PATCH 03/82] =?UTF-8?q?zh:=20=E5=B7=A5=E5=85=B7=E9=93=BE=20->=20?= =?UTF-8?q?=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It reads cleaner with other nav items. --- docs/typescriptlang/zh/documentation.ts | 2 +- docs/typescriptlang/zh/index.ts | 2 +- docs/typescriptlang/zh/nav.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/typescriptlang/zh/documentation.ts b/docs/typescriptlang/zh/documentation.ts index fbca6abe..58aa163b 100644 --- a/docs/typescriptlang/zh/documentation.ts +++ b/docs/typescriptlang/zh/documentation.ts @@ -41,7 +41,7 @@ export const docCopy = { doc_react_gatsby_blurb: "帮助开发者构建高效的网站和应用", doc_react_next_blurb: "一个 React 框架", doc_react_razzle_blurb: "无需配置,为应用添加通用的服务端渲染", - doc_react_toolchains_title: "建议的工具链", + doc_react_toolchains_title: "建议的工具", doc_react_toolchains_blurb: "来自 React 团队的建议", doc_apps: "构建应用", doc_apps_electron_blurb: "一个命令构建一个现代 web 应用", diff --git a/docs/typescriptlang/zh/index.ts b/docs/typescriptlang/zh/index.ts index 36a961c8..c70a7372 100644 --- a/docs/typescriptlang/zh/index.ts +++ b/docs/typescriptlang/zh/index.ts @@ -74,6 +74,6 @@ export const indexCopy = { index_started_docs: "开始一个项目", index_started_docs_blurb: "寻找一个入手点", - index_started_tooling: "工具链", + index_started_tooling: "工具", index_started_tooling_blurb: "深入 TypeScript", } diff --git a/docs/typescriptlang/zh/nav.ts b/docs/typescriptlang/zh/nav.ts index 5185a18b..30b48a90 100644 --- a/docs/typescriptlang/zh/nav.ts +++ b/docs/typescriptlang/zh/nav.ts @@ -4,7 +4,7 @@ export const navCopy = { nav_documentation_short: "文档", nav_download: "下载", nav_community: "社区", - nav_tools: "工具链", + nav_tools: "工具", nav_search_placeholder: "搜索文档", nav_search_aria: "搜索 TypeScript 网站", // let me know if you can't make this work in your lang: From c8448421f319e49a1f5daf88d6ff68b9cc34ab90 Mon Sep 17 00:00:00 2001 From: zhongsp Date: Sun, 14 Feb 2021 20:10:54 +0800 Subject: [PATCH 04/82] zh: improve headline --- docs/typescriptlang/zh/head-seo.ts | 4 ++-- docs/typescriptlang/zh/index.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/typescriptlang/zh/head-seo.ts b/docs/typescriptlang/zh/head-seo.ts index c48f0bcc..3fa23ba8 100644 --- a/docs/typescriptlang/zh/head-seo.ts +++ b/docs/typescriptlang/zh/head-seo.ts @@ -8,6 +8,6 @@ export const headCopy = { "不管是 allowJs 还是 useDefineForClassFields, TSConfig 的参考包含所有关于配置项目的有效的 TypeScript 编译器选项。", playground_example_prefix: "演练场示例 - ", - head_index_title: "适用于任何规模应用的 JavaScript", - head_index_description: "适用于任何规模应用的 JavaScript", + head_index_title: "拥有类型的 JavaScript,且适用于任何规模的工程", + head_index_description: "拥有类型的 JavaScript,且适用于任何规模的工程", } diff --git a/docs/typescriptlang/zh/index.ts b/docs/typescriptlang/zh/index.ts index c70a7372..48f5984d 100644 --- a/docs/typescriptlang/zh/index.ts +++ b/docs/typescriptlang/zh/index.ts @@ -1,5 +1,5 @@ export const indexCopy = { - index_headline: "TypeScript 是适用于任何规模应用的 JavaScript。", + index_headline: "拥有类型的 JavaScript,且适用于任何规模的工程", index_byline: "TypeScript 扩展了 JavaScript ,为它添加了类型支持。", index_summary: "TypeScript 可以在您运行代码之前找到错误并提供修复,从而改善您的开发体验。", From 927b35ddfb88e64999ccc42cb1eaffe677589844 Mon Sep 17 00:00:00 2001 From: gustavofabro Date: Tue, 27 Apr 2021 20:26:00 -0300 Subject: [PATCH 05/82] Translate file Deep Dive --- .../pt/declaration-files/Deep Dive.md | 232 ++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 docs/documentation/pt/declaration-files/Deep Dive.md diff --git a/docs/documentation/pt/declaration-files/Deep Dive.md b/docs/documentation/pt/declaration-files/Deep Dive.md new file mode 100644 index 00000000..60252c9c --- /dev/null +++ b/docs/documentation/pt/declaration-files/Deep Dive.md @@ -0,0 +1,232 @@ +--- +title: Análise profunda +layout: docs +permalink: /docs/handbook/declaration-files/deep-dive.html +oneline: "Como arquivos d.ts funcionam, uma análise profunda" +--- + +## Teoria do arquivo de declaração: Uma análise profunda + +Estruturar módulos para obter a forma exata da API que você deseja pode ser complicado. +Por exemplo, nós talvez queiramos um módulo que possa ser invocado com ou sem `new` para produzir diferentes tipos, +que tenha uma variedade de tipos nomeados expostos em uma hierarquia, +e que tenha algumas propriedades no objeto de módulo também. + +Ao ler este guia, você terá as ferramentas para escrever arquivos de declaração complexos que expõem uma API amigável. +Este guia se concentra em bibliotecas de módulo (ou UMD) pois as opções são mais variadas. + +## Conceitos chaves + +Você pode entender perfeitamente como criar qualquer forma de declaração +ao compreender alguns conceitos chaves de como o TypeScript funciona. + +### Tipos + +Se você está lendo este guia, provavelmente já sabe de forma superficial o que é um tipo em TypeScript. +Para ser mais explícito, no entanto, um _tipo_ é introduzido com: + +- Uma declaração de alias de tipo (`type sn = number | string;`) +- Uma declaração de interface (`interface I { x: number[]; }`) +- Uma declaração de classe (`class C { }`) +- Uma declaração de enum (`enum E { A, B, C }`) +- Uma declaração `import` que se refere a um tipo + +Cada uma dessas formas de declaração cria um novo nome de tipo. + +### Valores + +Assim como tipos, você provavelmente já entende o que um valor é. +Valores são nomes em tempo de execução que podemos referenciar em expressões. +Por exemplo `let x = 5;` cria um valor chamado `x`. + +Novamente, sendo explícito, o itens seguintes criam valores: + +- Declarações `let`, `const` e `var` +- Uma declaração de `namespace` ou `module` que contém um valor +- Uma declaração de `enum` +- Uma declaração de `class` +- Uma declaração `import` que se refere a um valor +- Uma declaração de `function` + +### Namespaces + +Tipos podem existir em _namespaces_. +Por exemplo, se temos a declaração `let x: A.B.C`, +nós dizemos que o tipo `C` vem do namespace `A.B`. + +Esta distinção é sutil e importante -- aqui, `A.B` não é necessariamente um tipo ou um valor. + +## Combinações simples: Um nome, múltiplos significados + +Dado um nome `A`, nós podemos encontrar até três significados para `A`: um tipo, um valor ou um namespace. +Como o nome é interpretado depende do contexto em que ele é usado. +Por exemplo, na declaração `let m: A.A = A;`, +`A` é usado primeiro como um namespace, então como nome de tipo, e então como um valor. +Esses significados podem acabar se referindo a declarações totalmente diferentes! + +Isso pode parecer confuso, mas é muito conveniente contanto que nós não sobrecarreguemos excessivamente as coisas. +Vejamos alguns aspectos úteis desta combinação de comportamento. + +### Combinações integradas + +Leitores atentos vão notar que, por exemplo, `class` apareceu em ambas as listas de _tipo_ e _valor_. +A declaração `class C { }` cria duas coisas: +um _tipo_ `C` que se refere à forma da instância da classe, +e um _valor_ `C` que se refere à função construtora da classe. +Declaração de enums se comportam de forma semelhante. + +### Combinações de usuários + +Digamos que escrevemos um arquivo de módulo `foo.d.ts`: + +```ts +export var SomeVar: { a: SomeType }; +export interface SomeType { + count: number; +} +``` + +Em seguida, utilizarmos: + +```ts +import * as foo from "./foo"; +let x: foo.SomeType = foo.SomeVar.a; +console.log(x.count); +``` + +Isso funciona bem, mas podemos imaginar que `SomeType` e `SomeVar` são intimamente relacionados +de forma que você gostaria que eles tivessem o mesmo nome. +Nós podemos usar a combinação para apresentar esse dois objetos diferentes (o valor e o tipo) sob o mesmo nome `Bar`: + +```ts +export var Bar: { a: Bar }; +export interface Bar { + count: number; +} +``` + +Isso apresenta uma oportunidade muito boa para desestruturação no código que o utiliza: + +```ts +import { Bar } from "./foo"; +let x: Bar = Bar.a; +console.log(x.count); +``` + +Novamente, nós usamos o `Bar` aqui como tipo e valor. +Perceba que não precisamos declarar o valor `Bar` como sendo do tipo `Bar` -- eles são independentes. + +## Combinações avançadas + +Alguns tipos de declaração podem ser combinadas através de múltiplas declarações. +Por exemplo, `class C { }` e `interface C { }` podem coexistir e ambas contribuem com propriedades para os tipos `C`. + +Isso é permitido desde que não se crie um conflito. +Uma regra geral é que os valores sempre entram em conflito com outro valores de mesmo nome a menos que sejam declaras como `namespace`s, +tipos conflitarão se forem declarados com um alias de tipo (`type s = string`), +e namespaces nunca entram em conflito. + +Vamos ver como isso pode ser usado. + +### Adicionar usando uma `interface` + +Nós podemos adicionar membros adicionais à uma `interface` com outra declaração de `interface`: + +```ts +interface Foo { + x: number; +} +// ... em outro local ... +interface Foo { + y: number; +} +let a: Foo = ...; +console.log(a.x + a.y); // OK +``` + +Isso também funciona com classes: + +```ts +class Foo { + x: number; +} +// ... em outro local ... +interface Foo { + y: number; +} +let a: Foo = ...; +console.log(a.x + a.y); // OK +``` + +Perceba que não podemos adicionar ao alias de tipo (`type s = string;`) usando uma interface. + +### Adicionar usando um `namespace` + +Uma declaração de `namespace` pode ser usada adicionar novos tipos, valores, e namespaces de qualquer forma que não crie conflitos. + +Por exemplo, podemos adicionar um membro estático a uma classe: + +```ts +class C {} +// ... em outro local ... +namespace C { + export let x: number; +} +let y = C.x; // OK +``` + +Perceba que neste exemplo, adicionamos um valor para o lado _estático_ de `C` (sua função construtora) +Isto ocorre porque nós adicionamos um _valor_, e o contêiner para todos os valores é outro valor +(tipos são contidos por namespaces), e namespaces são contidos por outros namespaces). + +Nós também podemos adicionar um tipo com namespace a uma classe: + +```ts +class C {} +// ... em outro local ... +namespace C { + export interface D {} +} +let y: C.D; // OK +``` + +Neste exemplo, não havia um namespace `C` até nós escrevermos uma declaração de `namespace` para ele. +O significado de `C` como um namespace não conflita com os significados de valor ou tipo de `C` criados pela classe. + +Finalmente, podemos realizar diferentes mesclas usando declarações de `namespace`. +Isto não é um exemplo particularmente realista, mas mostra vários tipos de comportamentos interessantes: + +```ts +namespace X { + export interface Y {} + export class Z {} +} + +// ... em outro local ... +namespace X { + export var Y: number; + export namespace Z { + export class C {} + } +} +type X = string; +``` + +Neste exemplo, o primeiro bloco cria os seguintes significados de nome: + +- Um valor `X` (pois a declaração de `namespace` contém um valor, `Z`) +- Um namespace `X` (pois a declaração de `namespace` contém um tipo, `Y`) +- Um tipo `Y` no namespace `X` +- Um tipo `Z` no namespace `X` (a forma da instância da classe) +- Um valor `Z` que é uma propriedade do valor `X` (a função construtora da classe) + +O segundo bloco cria os seguintes significados de nome: + +- Um valor `Y` (do tipo `number`) que é uma propriedade do valor `X` +- Um namespace `Z` +- Um valor `Z` que é um propriedade do valor `X` +- Um tipo `C` no namespace `X.Z` +- Um valor `C` que é uma propriedade do valor `X.Z` +- Um tipo `X` + + From c64eebce2d1d7e5c222abe8a6c4a43cb53048658 Mon Sep 17 00:00:00 2001 From: Perkles Date: Thu, 29 Apr 2021 00:23:17 -0300 Subject: [PATCH 06/82] Add brazilian portuguese By Exemple.md --- .../pt/declaration-files/By Example.md | 250 ++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 docs/documentation/pt/declaration-files/By Example.md diff --git a/docs/documentation/pt/declaration-files/By Example.md b/docs/documentation/pt/declaration-files/By Example.md new file mode 100644 index 00000000..8a578888 --- /dev/null +++ b/docs/documentation/pt/declaration-files/By Example.md @@ -0,0 +1,250 @@ +--- +title: Declaration Reference +layout: docs +permalink: /pt/docs/handbook/declaration-files/by-example.html +oneline: "Como criar um arquivo d.ts para um módulo" +--- + +O propósito desse guia é te ensinar como escrever um arquivo de definição de alta qualidade. +A estrutura desse guia exibe a documentação de uma API, juntamente com amostras de uso e explicações de como escrever a declaração correspondente. + +Esses exemplos são ordenados por ordem crescente aproximada de complexidade. + +## Objetos com Propriedades + +_Documentação_ + +> A variável global `minhaLib` possui uma função `criaCumprimento` para criar saudações, +> e uma propriedade `numeroDeCumprimentos` indicando o numero de cumprimentos feitos ate ali. + +_Código_ + +```ts +let resultado = minhaLib.criaCumprimento("Olá, mundo"); +console.log("O cumprimento computado é:" + resultado); + +let count = minhaLib.numeroDeCumprimentos; +``` + +_Declaração_ + +Use `declare namespace` para descrever tipos ou valores acessados via notação por ponto. + +```ts +declare namespace minhaLib { + function criaCumprimento(s: string): string; + let numeroDeCumprimentos: number; +} +``` + +## Funções Sobrecarregadas + +_Documentação_ + +A função `pegaFerramenta` aceita um número e retorna uma Ferramenta, ou aceita uma string e retorna um array de Ferramentas. + +_Código_ + +```ts +let x: Ferramenta = pegaFerramenta(43); + +let arr: Ferramenta[] = pegaFerramenta("todas"); +``` + +_Declaração_ + +```ts +declare function pegaFerramenta(n: number): Ferramenta; +declare function pegaFerramenta(s: string): Ferramenta[]; +``` + +## Tipos Reutilizáveis (Interfaces) + +_Documentação_ + +> Ao especificar uma saudação, você deve passar um objeto `ConfiguracoesCumprimento`. +> Esse objeto tem as seguintes propriedades: +> +> 1 - cumprimento: String obrigatória +> +> 2 - duracao: Comprimento de tempo opcional (em milissegundos) +> +> 3 - cor: String opcional, ex: '#ff00ff' + +_Código_ + +```ts +cumprimenta({ + cumprimento: "olá mundo", + duracao: 4000 +}); +``` + +_Declaração_ + +Use uma `interface` para definir um tipo com propriedades. + +```ts +interface ConfiguracoesCumprimento { + cumprimento: string; + duracao?: number; + cor?: string; +} + +declare function cumprimenta(setting: ConfiguracoesSaudacao): void; +``` + +## Tipos reutilizáveis (Tipo Aliases) + +_Documentação_ + +> Em qualquer lugar que um cumprimento é esperado, você pode prover uma `string`, uma função retornando uma `string`, ou uma instancia de `Cumprimentador`. + +_Código_ + +```ts +function pegaCumprimento() { + return "oopa"; +} +class MeuCumprimentador extends Cumprimentador {} + +cumprimenta("olá"); +cumprimenta(pegaCumprimento); +cumprimenta(new MeuCumprimentador()); +``` + +_Declaração_ + +Você pode usar um alias para fazer uma abreviação para um tipo: + +```ts +type ComoUmCumprimentador = string | (() => string) | MeuCumprimentador; + +declare function cumprimenta(g: ComoUmCumprimentador): void; +``` + +## Organizando Tipos + +_Documentação_ + +> O objeto `cumprimentador` pode passar log para um arquivo ou mostrar um alerta. +> Você pode prover LogOptions para `.log(...)` e opções de alerta para `.alert(...)` + +_Código_ + +```ts +const g = new Cumprimentador("Olá"); +g.log({ verbose: true }); +g.alert({ modal: false, title: "Cumprimento Atual" }); +``` + +_Declaração_ + +Use namespaces para organizar tipos. + +```ts +declare namespace CumprimentoLib { + interface LogOptions { + verbose?: boolean; + } + interface AlertOptions { + modal: boolean; + title?: string; + color?: string; + } +} +``` + +Voce também pode criar namespaces aninhados em uma declaração: + +```ts +declare namespace CumprimentoLib.Options { + // Faz referência via CumprimentoLib.Options.Log + interface Log { + verbose?: boolean; + } + interface Alert { + modal: boolean; + title?: string; + color?: string; + } +} +``` + +## Classes + +_Documentação_ + +> Você pode criar um cumprimentador ao instanciar o objeto `Cumprimentador`, ou ao criar um cumprimentador customizado ao estendê-lo. + +_Código_ + +```ts +const MeuCumprimentador = new Cumprimentador("Olá, mundo"); +MeuCumprimentador.cumprimento = "oopa"; +MeuCumprimentador.mostraCumprimento(); + +class CumprimentadorEspecial extends Cumprimentador { + constructor() { + super("Cumprimentador muito especial"); + } +} +``` + +_Declaração_ + +Use `declare class` para descrever uma classe ou um objeto semelhante a classe. +Classes também podem possuir propriedades e métodos assim como um construtor. + +```ts +declare class Cumprimentador { + constructor(cumprimento: string); + + cumprimento: string; + mostraCumprimento(): void; +} +``` + +## Variáveis Globais + +_Documentação_ + +> A variável global `foo` contém o numero de ferramentas atual. + +_Código_ + +```ts +console.log("Metade do numero de ferramentas é " + foo / 2); +``` + +_Declaração_ + +Use `declare var` para declarar variáveis. +Se a variável é apenas-leitura, você pode usar `declare const`. +Você também pode usar `declare let` se a variável é de escopo-fechado. + +```ts +/** O numero de ferramentas atual */ +declare var foo: number; +``` + +## Global Functions + +_Documentação_ + +> Você pode chamar a função `cumprimenta` com uma string para mostrar um cumprimento para o usuário. + +_Código_ + +```ts +cumprimenta("olá, mundo"); +``` + +_Declaração_ + +Use `declare function` para declarar funções. + +```ts +declare function cumprimenta(cumprimento: string): void; +``` + From 293a4a4a3b97345be7ff3eb5b5492e97e6a88ac5 Mon Sep 17 00:00:00 2001 From: gustavofabro Date: Thu, 29 Apr 2021 21:26:59 -0300 Subject: [PATCH 07/82] fix permalink --- docs/documentation/pt/declaration-files/Deep Dive.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/pt/declaration-files/Deep Dive.md b/docs/documentation/pt/declaration-files/Deep Dive.md index 60252c9c..d9602078 100644 --- a/docs/documentation/pt/declaration-files/Deep Dive.md +++ b/docs/documentation/pt/declaration-files/Deep Dive.md @@ -1,7 +1,7 @@ --- title: Análise profunda layout: docs -permalink: /docs/handbook/declaration-files/deep-dive.html +permalink: /pt/docs/handbook/declaration-files/deep-dive.html oneline: "Como arquivos d.ts funcionam, uma análise profunda" --- From a8cbd450a99353a572317c311f507df60222c9e2 Mon Sep 17 00:00:00 2001 From: Perkles Date: Sat, 1 May 2021 01:09:58 -0300 Subject: [PATCH 08/82] Add brazilian portuguese Dos and donts.md --- .../pt/declaration-files/Do's and Don'ts.md | 241 ++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 docs/documentation/pt/declaration-files/Do's and Don'ts.md diff --git a/docs/documentation/pt/declaration-files/Do's and Don'ts.md b/docs/documentation/pt/declaration-files/Do's and Don'ts.md new file mode 100644 index 00000000..8c15c26c --- /dev/null +++ b/docs/documentation/pt/declaration-files/Do's and Don'ts.md @@ -0,0 +1,241 @@ +--- +title: Do's and Don'ts +layout: docs +permalink: /pt/docs/handbook/declaration-files/do-s-and-don-ts.html +oneline: "Recomendações para escrita de arquivos d.ts" +--- + +## Tipos Gerais + +## `Number`, `String`, `Boolean`, `Symbol` and `Object` + +_Nunca_ use os tipos `Number`, `String`, `Boolean`, `Symbol`, ou `Object` +Esse tipos fazem referências a objetos não-primitivos que quase nunca são usados apropriadamente em códigos JavaScript. + +```ts +/* Errado */ +function reverte(s: String): String; +``` + +_Sempre_ use os tipos `number`, `string`, `boolean`, e `symbol`. + +```ts +/* OK */ +function reverte(s: string): string; +``` + +Ao invés de `Object`, use o tipo não-primitivo `object` ([adicionado em TypeScript 2.2](../release-notes/typescript-2-2.html#object-type)). + +## Generics + +_Nunca_ tenha um tipo genérico que não use os tipos de seus parâmetros. +Veja mais detalhes em [TypeScript FAQ page](https://github.com/Microsoft/TypeScript/wiki/FAQ#why-doesnt-type-inference-work-on-this-interface-interface-foot--). + +## any + +_Nunca_ use `any` como tipo a não ser que você esteja no processo de migração do projeto de JavaScript para Typescript. O compilador _efetivamente_ trata `any` como "por favor desligue a verificação de tipo para essa coisa". Isso é similar a botar um comentário `@ts-ignore` em volta de cada uso da variável. Isso pode ser muito útil quando você está migrando pela primeira vez um projeto JavaScript para TypeScript pois pode definir o tipo para coisas que você ainda não migrou como `any`, mas em um projeto TypeScript completo você estará desabilitando a verificação de tipos para qualquer parte do seu programa que o use. + +Em casos onde você não sabe o tipo você quer aceitar, ou quando quer aceitar qualquer coisa pois irá passar adiante cegamente sem interagir, você pode usar [`unknown`](/play/#example/unknown-and-never). + + + + +## Tipos de Callback + +## Tipos de Retorno e Callbacks + + + +_Nunca_ use o tipo de retorno `any` para callbacks cujo o valor será ignorado: + +```ts +/* ERRADO */ +function fn(x: () => any) { + x(); +} +``` + +_Sempre_ use o tipo de retorno `void` para callbacks cujo o valor será ignorado: + +```ts +/* OK */ +function fn(x: () => void) { + x(); +} +``` + +_Por quê?_: Usar void é mais seguro porque te previne de acidentalmente usar o valor de retorno de `x` de forma não verificada: + +```ts +function fn(x: () => void) { + var k = x(); // oops! deveria fazer outra coisa + k.facaAlgo(); // erro, mas ficaria OK se o tipo retorno tivesse sido 'any' +} +``` + +## Parâmetros Opcionais em Callbacks + +_Nunca_ use parâmetros opcionais em callbacks a não ser que você realmente tenha essa intenção: + +```ts +/* ERRADO */ +interface Buscador { + retornaObjeto(pronto: (data: any, tempoDecorrido?: number) => void): void; +} +``` + +Isso tem um significado muito especifico: o callback `pronto` pode ser invocado com 1 argumento ou pode ser invocado com 2 argumentos. +O autor provavelmente teve a intenção de dizer que o callback talvez não se importe com o parâmetro `tempoDecorrido`, mas não tem necessidade de fazer o parâmetro opcional para atingir isso -- +sempre é valido prover um callback que aceita um numero menor de argumentos. + +_Sempre_ escreva parâmetros de callback como não-opcional: + +```ts +/* OK */ +interface Buscador { + retornaObjeto(pronto: (data: any, tempoDecorrido: number) => void): void; +} +``` + +## Sobrecargas e Callbacks + +_Nunca_ escreva sobrecargas separadas que diferem apenas na aridade do callback: + +```ts +/* ERRADO */ +declare function antesDeTodos(acao: () => void, timeout?: number): void; +declare function antesDeTodos( + acao: (done: DoneFn) => void, + timeout?: number +): void; +``` + +_Sempre_ escreva uma única sobrecarga usando a aridade maxima: + +```ts +/* OK */ +declare function antesDeTodos( + acao: (done: DoneFn) => void, + timeout?: number +): void; +``` + +_Por quê?_: Sempre é válido para um callback desprezar um parâmetro, então não tem necessidade de encurtar a sobrecarga. +Provendo um callback mais curto primeiro permite funções incorretamente tipadas serem passadas adiante porque possuem correspondência com a primeira sobrecarga. + +## Sobrecargas de Funções + +## Ordenação + +_Nunca_ ponha sobrecargas genérias antes das mais específicas: + +```ts +/* ERRADO */ +declare function fn(x: any): any; +declare function fn(x: HTMLElement): number; +declare function fn(x: HTMLDivElement): string; + +var meuElem: HTMLDivElement; +var x = fn(meuElem); // x: any, quê? +``` + +_Sempre_ ordene sobrecargas pondo as assinaturas mais genéricas após as mais específicas: + +```ts +/* OK */ +declare function fn(x: HTMLDivElement): string; +declare function fn(x: HTMLElement): number; +declare function fn(x: any): any; + +var meuElem: HTMLDivElement; +var x = fn(meuElem); // x: string, :) +``` + +_Por quê?_: TypeScript escolhe a _primeira sobrecarga com correspondência_ ao resolver chamadas as funções. +Quando uma sobrecarga mais recente "é mais geral" do que uma mais antiga, a mais antiga é efetivamente omitida e não pode ser chamada. + +## Use Parâmetros Opcionais + +_Nunca_ escreva muitas sobrecargas que diferem apenas em nos parâmetros finais: + +```ts +/* ERRADO */ +interface Exemplo { + diff(um: string): number; + diff(um: string, dois: string): number; + diff(um: string, dois: string, tres: boolean): number; +} +``` + +_Sempre_ que possível use parâmetros opcionais: + +```ts +/* OK */ +interface Exemplo { + diff(um: string, dois?: string, tres?: boolean): number; +} +``` + +Note que esse colapso deve ocorrer apenas quando todas as sobrecargas tiverem o mesmo tipo de retorno. + + +_Por quê?_: Isso é importante por dois motivos. + +TypeScript resolve compatibilidade de assinaturas verificando se alguma assinatura do alvo pode ser chamada com os argumentos da fonte,_e argumentos estranhos são permitidos_. +Esse código, por exemplo, expõe um bug apenas quando a assinatura é escrita corretamente usando parâmetros opcionais: + +```ts +function fn(x: (a: string, b: number, c: number) => void) {} +var x: Exemplo; +// Quando escrito com sobrecarga, OK -- usado a primeira sobrecarga +// Quando escrito com opcionais, devidamente um erro +fn(x.diff); +``` + +A segunda razão é quando um consumidor usa a funcionalidade "checagem estrita de nulos" do TypeScript. +Porque parâmetros não especificados aparecem como `undefined` em javascript, geralmente é bom passar um `undefined` explícito para uma função com argumentos opcionais. +Esse código, por exemplo, deveria ser OK sob nulos estritos: + +```ts +var x: Exemplo; +// Quando escrito com sobrecargas, um erro porque passa 'undefined' para 'string' +// Quando escrito com opcionais, devidamente OK +x.diff("algo", true ? undefined : "hora"); +``` + +## Use Tipos de União + +_Nunca_ escreva sobrecargas que diferem por tipo em apenas um argumento: + +```ts +/* ERRADO */ +interface Momento { + utcOffset(): number; + utcOffset(b: number): Momento; + utcOffset(b: string): Momento; +} +``` + +_Sempre_ que possível use tipos de união: + +```ts +/* OK */ +interface Momento { + utcOffset(): number; + utcOffset(b: number | string): Momento; +} +``` + +Perceba que nós não fizemos `b` opcional aqui porque os tipos de retorno das assinaturas são diferentes. +_Por quê?_: Isso é importante para pessoas que estão "passando adiante" um valor para sua função: + +```ts +function fn(x: string): void; +function fn(x: number): void; +function fn(x: number | string) { + // Quando escrito com sobrecargas separadas, indevidamente um erro + // Quando escrito com tipos de união, + // When written with union types, devidamente OK + return momento().utcOffset(x); +} +``` From 50213940ed4519990e19a52e5a84a491d342cb48 Mon Sep 17 00:00:00 2001 From: yahma25 Date: Sun, 6 Jun 2021 22:58:17 +0900 Subject: [PATCH 09/82] Translate 1 file to ko - Mapped Types --- .../ko/TypeScript/Meta-Types/Mapped Types.ts | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts new file mode 100644 index 00000000..c976b61c --- /dev/null +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -0,0 +1,57 @@ +// 매핑된 타입은 다른 타입 기반의 새로운 타입을 만드는 방법입니다. +// 이것은 효과적인 변형 타입입니다. + +// 매핑된 타입을 사용하는 일반적인 경우는 +// 기존 타입의 부분적인 하위집합을 다루는 것입니다. +// 예를 들어 API는 Artist를 반환할 수 있습니다: + +interface Artist { + id: number; + name: string; + bio: string; +} + +// 그러나, Artist의 하위집합만 변경하는 API에 +// 수정사항을 보냈었다면 +// 일반적으로 추가 타입을 만들어야만 했습니다: + +interface ArtistForEdit { + id: number; + name?: string; + bio?: string; +} + +// 위에 Artist와 같지 않을 수도 있습니다. +// 매핑된 타입으로 기존 타입에서 +// 변화를 만들어 낼 수 있습니다. + +type MyPartialType = { + // 모든 기존 프로퍼티에 대해서 + // Type의 타입 내부는 ?: 버전으로 변환합니다 + [Property in keyof Type]?: Type[Property]; +}; + +// 이제 edit 인터페이스를 만드는 대신에 +// 매핑된 타입을 사용할 수 있습니다: +type MappedArtistForEdit = MyPartialType; + +// 완벽에 가깝지만, +// id가 절대 일어나지 않아야만 하는 null이 될 수 있게 해줍니다. +// 그래서 교집합 타입을 사용하여 빠르게 하나를 개선해 봅시다. +// (예시를 볼 수 있습니다:union-and-intersection-types) + +type MyPartialTypeForEdit = { + [Property in keyof Type]?: Type[Property]; +} & { id: number }; + +// 매핑된 타입의 부분적인 결과를 가지고 +// id: number set를 가진 객체와 병합합니다. +// 효과적으로 id를 강제로 타입 안에 넣어줍니다. + +type CorrectMappedArtistForEdit = MyPartialTypeForEdit; + +// 매핑된 타입이 어떻게 동작하는지에 대한 +// 매우 간단한 예시입니다만, 기초 대부분을 다룹니다. +// 더 깊게 살펴보고 싶다면, 핸드북을 참고하세요: +// +// https://www.typescriptlang.org/docs/handbook/advanced-types.html#mapped-types From b75d7b6ee9c46d5024c50a7f1a5d0ac96b8ede37 Mon Sep 17 00:00:00 2001 From: yahma25 Date: Mon, 7 Jun 2021 22:12:30 +0900 Subject: [PATCH 10/82] Fix naturally --- .../ko/TypeScript/Meta-Types/Mapped Types.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index c976b61c..45ece970 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -1,7 +1,7 @@ // 매핑된 타입은 다른 타입 기반의 새로운 타입을 만드는 방법입니다. -// 이것은 효과적인 변형 타입입니다. +// 또한 효과적인 변형 타입입니다. -// 매핑된 타입을 사용하는 일반적인 경우는 +// 매핑된 타입을 사용하는 일반적인 케이스는 // 기존 타입의 부분적인 하위집합을 다루는 것입니다. // 예를 들어 API는 Artist를 반환할 수 있습니다: @@ -36,15 +36,15 @@ type MyPartialType = { type MappedArtistForEdit = MyPartialType; // 완벽에 가깝지만, -// id가 절대 일어나지 않아야만 하는 null이 될 수 있게 해줍니다. +// id가 절대 발생하면 안되는 null이 될 수 있게 해줍니다. // 그래서 교집합 타입을 사용하여 빠르게 하나를 개선해 봅시다. -// (예시를 볼 수 있습니다:union-and-intersection-types) +// (예시를 살펴보세요:union-and-intersection-types) type MyPartialTypeForEdit = { [Property in keyof Type]?: Type[Property]; } & { id: number }; -// 매핑된 타입의 부분적인 결과를 가지고 +// 매핑된 타입의 부분적인 결과를 가지며 // id: number set를 가진 객체와 병합합니다. // 효과적으로 id를 강제로 타입 안에 넣어줍니다. From d28350970be8275d7349d39a3119956630d8e918 Mon Sep 17 00:00:00 2001 From: yahma25 Date: Sun, 13 Jun 2021 12:44:36 +0900 Subject: [PATCH 11/82] Translate 1 file to ko. playground Indexed Types --- .../ko/TypeScript/Meta-Types/Indexed Types.ts | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 docs/playground/ko/TypeScript/Meta-Types/Indexed Types.ts diff --git a/docs/playground/ko/TypeScript/Meta-Types/Indexed Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Indexed Types.ts new file mode 100644 index 00000000..ceef0e0f --- /dev/null +++ b/docs/playground/ko/TypeScript/Meta-Types/Indexed Types.ts @@ -0,0 +1,37 @@ +// 타입을 복제하는 자신을 발견할 때가 있습니다. +// 일반적인 예시는 자동으로 생성된 +// API 응답의 중첩된 자원입니다. + +interface ArtworkSearchResponse { + artists: { + name: string; + artworks: { + name: string; + deathdate: string | null; + bio: string; + }[]; + }[]; +} + +// 이 인터페이스가 수작업으로 만들어졌다면 +// artworks를 인터페이스로 가져오는 것을 상상하기 쉽습니다: + +interface Artwork { + name: string; + deathdate: string | null; + bio: string; +} + +// 그러나, 이 경우엔 API를 제어하지 않고 +// 인터페이스를 수작업으로 만들었다면 +// 응답을 변경할 때 ArtworkSearchResponse의 artworks 부분과 +// Artwork가 동기화되지 않을 수 있습니다. + +// 이에 대한 수정사항은 JavaScript가 문자열을 통해 +// 프로퍼티에 접근하는 방법을 복제하는 색인 된 타입입니다. + +type InferredArtwork = ArtworkSearchResponse["artists"][0]["artworks"][0]; + +// InferredArtwork는 타입의 프로퍼티를 찾아보고 +// 색인한 하위집합에 +// 새로운 이름을 지어서 생성됩니다. From a74c59b4147aecc93f963aa03a68c9a235baa677 Mon Sep 17 00:00:00 2001 From: yahma25 Date: Sun, 13 Jun 2021 13:07:06 +0900 Subject: [PATCH 12/82] Translate 1 file to ko. playground-Discriminate Types --- .../Meta-Types/Discriminate Types.ts | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 docs/playground/ko/TypeScript/Meta-Types/Discriminate Types.ts diff --git a/docs/playground/ko/TypeScript/Meta-Types/Discriminate Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Discriminate Types.ts new file mode 100644 index 00000000..cf1904ed --- /dev/null +++ b/docs/playground/ko/TypeScript/Meta-Types/Discriminate Types.ts @@ -0,0 +1,66 @@ +// 식별된 타입 유니언은 +// 잠재적인 객체의 집합을 하나의 특별한 객체로 줄이기 위해 +// 코드 흐름 분석을 사용하는 것입니다. +// +// 이 패턴은 +// 다른 문자열 또는 숫자 상수를 가진 +// 비슷한 객체 집합에 대해 잘 동작합니다 +// 예: 이벤트로 지어진 목록, 또는 버전이 매겨진 객체의 집합 + +type TimingEvent = { name: "start"; userStarted: boolean } | { name: "closed"; duration: number }; + +// 이벤트가 이 함수에 들어왔을 때, +// 두 가지 잠재적인 타입 중의 하나가 될 수 있습니다. + +const handleEvent = (event: TimingEvent) => { + // event.name에 비교하는 swtich문을 사용하여 + // TypeScript의 코드 흐름 분석은 + // 객체가 유니언 중 하나의 타입에 의해서만 표현될 수 있다는 것을 알아낼 수 있습니다. + + switch (event.name) { + case "start": + // 이름이 "start"인 + // TimingEvent 내부의 유일한 타입이기 때문에 + // userStarted에 안전하게 접근할 수 있다는 것을 의미합니다. + const initiatedByUser = event.userStarted; + break; + + case "closed": + const timespan = event.duration; + break; + } +}; + +// 이 패턴은 식별자로써 사용할 수 있는 +// 숫자와 같습니다. + +// 이 예제에서, +// 식별된 유니언과 처리하기 위한 추가 오류 상태가 있습니다. + +type APIResponses = { version: 0; msg: string } | { version: 1; message: string; status: number } | { error: string }; + +const handleResponse = (response: APIResponses) => { + // 오류 케이스를 처리하고 반환하세요 + if ("error" in response) { + console.error(response.error); + return; + } + + // 이제 TypeScript는 APIResponse가 + // 오류 타입이 될 수 없다는 사실을 알고 있습니다. + // 오류가 있었다면, 함수는 반환했을 것입니다. + // 아래의 response에 호버하여 확인해볼 수 있습니다. + + if (response.version === 0) { + console.log(response.msg); + } else if (response.version === 1) { + console.log(response.status, response.message); + } +}; + +// 유니언의 모든 부분이 확인되었다는 것을 보장할 수 있으니 +// if문 대신에 switch문을 사용하는 것이 더 낫습니다. +// 핸드북에 never 타입을 사용하는 +// 좋은 패턴이 있습니다: + +// https://www.typescriptlang.org/docs/handbook/advanced-types.html#discriminated-unions From eb31fcc4ccb86bf0e53a39d09cfef2a22dc6fafd Mon Sep 17 00:00:00 2001 From: yahma25 Date: Sun, 20 Jun 2021 11:38:31 +0900 Subject: [PATCH 13/82] Translate 1 file to ko playground - Conditional Types --- .../Meta-Types/Conditional Types.ts | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 docs/playground/ko/TypeScript/Meta-Types/Conditional Types.ts diff --git a/docs/playground/ko/TypeScript/Meta-Types/Conditional Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Conditional Types.ts new file mode 100644 index 00000000..182083b0 --- /dev/null +++ b/docs/playground/ko/TypeScript/Meta-Types/Conditional Types.ts @@ -0,0 +1,109 @@ +// TypeScript 타입 시스템에서 조건부 타입은 +// 간단한 논리를 수행하는 방법을 제공합니다. +// 확실히 고급 기능이며, +// 일상 코드에서는 사용할 필요가 없을 것입니다. + +// A의 조건부 타입은 다음과 같습니다: +// +// A extends B ? C : D +// +// 조건은 타입이 표현식을 확장하는지 여부이며, +// 만약 그렇다면 어떤 타입이 반환되어야 하는지입니다. + +// 몇 개의 예시를 살펴봅시다 +// 간결함을 위해 제네릭에 단일 문자를 사용할 것입니다. +// 선택 사항이지만 +// 60자로 제한하면 화면에 맞추기 어렵습니다. + +type Cat = { meows: true }; +type Dog = { barks: true }; +type Cheetah = { meows: true; fast: true }; +type Wolf = { barks: true; howls: true }; + +// barks 하는 것에 대해서만 일치하는 타입들을 추출하도록 해주는 +// 조건부 타입을 만들 수 있습니다. + +type ExtractDogish = A extends { barks: true } ? A : never; + +// 그러고 나서 ExtractDogish가 감싸는 타입을 만들 수 있습니다: + +// 고양이는 짖지 않는다고 하니, never를 반환합니다 +type NeverCat = ExtractDogish; +// 늑대는 짖는다고 하니, 늑대 형태를 반환합니다 +type Wolfish = ExtractDogish; + +// 많은 타입의 유니언을 사용하길 원하면서 +// 유니언의 잠재적 선택사항의 개수를 +// 줄이고 싶을 때 유용합니다: + +type Animals = Cat | Dog | Cheetah | Wolf; + +// ExtractDogish를 유니언 타입에 적용할 때 +// 타입의 각 멤버와 비교하여 +// 조건부를 실행하는 것과 같습니다: + +type Dogish = ExtractDogish; + +// = ExtractDogish | ExtractDogish | +// ExtractDogish | ExtractDogish +// +// = never | Dog | never | Wolf +// +// = Dog | Wolf (예시를 살펴보세요:unknown-and-never) + +// 타입이 유니언의 각 멤버에 분배하기 때문에 +// 분배 조건부 타입이라고 불립니다. + +// 지연된 조건부 타입 + +// 입력에 따라 다른 타입을 반환 할 수 있는 +// 더 엄격한 API에 조건부 타입을 사용할 수 있습니다. + +// 예를 들어 이 함수는 입력받은 불린에 따라 +// 문자열 또는 숫자를 반환 할 수 있습니다. + +declare function getID(fancy: T): T extends true ? string : number; + +// 그러고 나서 타입 시스템이 얼마나 많이 +// 불린에 관해서 알고 있는지에 따라 다른 반환 타입을 얻습니다: + +let stringReturnValue = getID(true); +let numberReturnValue = getID(false); +let stringOrNumber = getID(Math.random() < 0.5); + +// 위의 사례에서 TypeScript는 반환 값을 즉시 알 수 있습니다. +// 그러나, 타입이 아직 알려지지 않은 함수에서 +// 조건부 타입을 사용 할 수 있습니다. +// 이건 지연된 조건부 타입이라고 불립니다. + +// 위에 있던 Dogish와 같지만, 대신 함수입니다 +declare function isCatish(x: T): T extends { meows: true } ? T : undefined; + +// TypeScript에게 지연할 때 타입을 추론해야 한다고 +// 구체적으로 알릴 수 있는 조건부 타입 내에 추가 유용한 도구가 있는데 +// 바로 'infer' 키워드입니다. + +// infer는 일반적으로 +// 코드에서 기존 타입을 검사하는 메타타입을 만드는 데 사용합니다 +// infer를 타입 내부에서 새로운 변수를 만드는 것을 생각해 보세요. + +type GetReturnValue = T extends (...args: any[]) => infer R ? R : T; + +// 대략적으로: +// +// - 첫 번째 매개변수에 있는 타입을 가진 +// GetReturnValue 라는 조건부 제네릭 타입입니다. +// +// - 조건부는 타입이 함수인지 확인하고, +// 만약 그렇다면 함수에 대한 반환 값을 기반으로 하여 +// R이라는 새로운 타입을 만듭니다 +// +// - 검사를 통과하면, 타입 값은 추론된 반환 값이고 +// 아니라면 원본 타입입니다 +// + +type getIDReturn = GetReturnValue; + +// 이것은 함수인지에 대한 검사를 실패하며, +// 전달받은 타입을 반환할 수 있습니다. +type getCat = GetReturnValue; From 35ae64c0289a5208e55cb3479aed27d51e3d01e7 Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Sun, 20 Jun 2021 23:19:15 +0900 Subject: [PATCH 14/82] Update docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts Co-authored-by: Kibeom Kwon --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index 45ece970..252a7949 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -1,4 +1,4 @@ -// 매핑된 타입은 다른 타입 기반의 새로운 타입을 만드는 방법입니다. +// 매핑된 타입은 다른 타입을 기반으로 새로운 타입을 만드는 방법입니다. // 또한 효과적인 변형 타입입니다. // 매핑된 타입을 사용하는 일반적인 케이스는 From fd0462ef006ac5ef127b554e79c84bec5efad6ba Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Sun, 20 Jun 2021 23:23:15 +0900 Subject: [PATCH 15/82] Update docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts Co-authored-by: Kibeom Kwon --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index 252a7949..4f928eaf 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -1,5 +1,5 @@ // 매핑된 타입은 다른 타입을 기반으로 새로운 타입을 만드는 방법입니다. -// 또한 효과적인 변형 타입입니다. +// 또한 효과적으로 타입을 변환할 수 있습니다. // 매핑된 타입을 사용하는 일반적인 케이스는 // 기존 타입의 부분적인 하위집합을 다루는 것입니다. From b156f52b4b407c02ce5986e58d169d39cef210bf Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Sun, 20 Jun 2021 23:23:34 +0900 Subject: [PATCH 16/82] Update docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts Co-authored-by: Kibeom Kwon --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index 4f928eaf..8861c3ed 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -3,7 +3,7 @@ // 매핑된 타입을 사용하는 일반적인 케이스는 // 기존 타입의 부분적인 하위집합을 다루는 것입니다. -// 예를 들어 API는 Artist를 반환할 수 있습니다: +// 예를 들어 다음 API는 Artist를 반환할 수 있습니다: interface Artist { id: number; From b2c2bf02f90d7a65aac15ac3ed4c127fce78ad0a Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Sun, 20 Jun 2021 23:27:28 +0900 Subject: [PATCH 17/82] Update docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts Co-authored-by: Kibeom Kwon --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index 8861c3ed..5cf98279 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -11,7 +11,7 @@ interface Artist { bio: string; } -// 그러나, Artist의 하위집합만 변경하는 API에 +// 그러나, Artist의 하위집합만 변경하기 위해 // 수정사항을 보냈었다면 // 일반적으로 추가 타입을 만들어야만 했습니다: From 10391961f58e9066e28f048e6600532d5bb3ae89 Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Sun, 20 Jun 2021 23:27:36 +0900 Subject: [PATCH 18/82] Update docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts Co-authored-by: Kibeom Kwon --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index 5cf98279..f741a78b 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -12,7 +12,7 @@ interface Artist { } // 그러나, Artist의 하위집합만 변경하기 위해 -// 수정사항을 보냈었다면 +// API를 수정해야 한다면 // 일반적으로 추가 타입을 만들어야만 했습니다: interface ArtistForEdit { From 959fff6b9b5118ac72475d4b01c0582f324263c7 Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Sun, 20 Jun 2021 23:27:57 +0900 Subject: [PATCH 19/82] Update docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts Co-authored-by: Kibeom Kwon --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index f741a78b..27eb100c 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -13,7 +13,7 @@ interface Artist { // 그러나, Artist의 하위집합만 변경하기 위해 // API를 수정해야 한다면 -// 일반적으로 추가 타입을 만들어야만 했습니다: +// 일반적으로 타입을 추가로 만들어야 했습니다. interface ArtistForEdit { id: number; From beda96e468a00fe9b42414d92cd99e0bf273f67e Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Sun, 20 Jun 2021 23:28:09 +0900 Subject: [PATCH 20/82] Update docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts Co-authored-by: Kibeom Kwon --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index 27eb100c..3cd2fba3 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -21,7 +21,7 @@ interface ArtistForEdit { bio?: string; } -// 위에 Artist와 같지 않을 수도 있습니다. +// 위에 Artist 타입과 같지 않을 수도 있습니다. // 매핑된 타입으로 기존 타입에서 // 변화를 만들어 낼 수 있습니다. From 23b7970c83aebf2814c9c3c970c2277c53cde6ee Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Sun, 20 Jun 2021 23:28:25 +0900 Subject: [PATCH 21/82] Update docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts Co-authored-by: Kibeom Kwon --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index 3cd2fba3..b67f0c31 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -22,7 +22,7 @@ interface ArtistForEdit { } // 위에 Artist 타입과 같지 않을 수도 있습니다. -// 매핑된 타입으로 기존 타입에서 +// 매핑된 타입은 기존 타입에서 // 변화를 만들어 낼 수 있습니다. type MyPartialType = { From 26709ab6076dfcdff4063f4bb462c90fae92f26b Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Sun, 20 Jun 2021 23:28:38 +0900 Subject: [PATCH 22/82] Update docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts Co-authored-by: Kibeom Kwon --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index b67f0c31..fb67c0d5 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -31,7 +31,7 @@ type MyPartialType = { [Property in keyof Type]?: Type[Property]; }; -// 이제 edit 인터페이스를 만드는 대신에 +// 이제 수정하는 인터페이스를 추가로 만드는 대신에 // 매핑된 타입을 사용할 수 있습니다: type MappedArtistForEdit = MyPartialType; From d07254a5cc8ad534703ada2f13ad9f7f206e091a Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Sun, 20 Jun 2021 23:28:45 +0900 Subject: [PATCH 23/82] Update docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts Co-authored-by: Kibeom Kwon --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index fb67c0d5..bb11fe4b 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -35,7 +35,7 @@ type MyPartialType = { // 매핑된 타입을 사용할 수 있습니다: type MappedArtistForEdit = MyPartialType; -// 완벽에 가깝지만, +// 완벽해 보이지만, // id가 절대 발생하면 안되는 null이 될 수 있게 해줍니다. // 그래서 교집합 타입을 사용하여 빠르게 하나를 개선해 봅시다. // (예시를 살펴보세요:union-and-intersection-types) From 2484fb7101e2baadd1ff73c54c733c4e910afabe Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Sun, 20 Jun 2021 23:29:26 +0900 Subject: [PATCH 24/82] Update docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts Co-authored-by: Kibeom Kwon --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index bb11fe4b..d84ed772 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -36,7 +36,7 @@ type MyPartialType = { type MappedArtistForEdit = MyPartialType; // 완벽해 보이지만, -// id가 절대 발생하면 안되는 null이 될 수 있게 해줍니다. +// id 값이 null 이 되는 상황을 방지할 수 없습니다. // 그래서 교집합 타입을 사용하여 빠르게 하나를 개선해 봅시다. // (예시를 살펴보세요:union-and-intersection-types) From 64ec6cc3546d1b1f10572379701dc9ff519367b7 Mon Sep 17 00:00:00 2001 From: yahma25 Date: Mon, 21 Jun 2021 22:29:55 +0900 Subject: [PATCH 25/82] Change to another word for natural --- docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts index d84ed772..fe5a5fef 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Mapped Types.ts @@ -37,7 +37,7 @@ type MappedArtistForEdit = MyPartialType; // 완벽해 보이지만, // id 값이 null 이 되는 상황을 방지할 수 없습니다. -// 그래서 교집합 타입을 사용하여 빠르게 하나를 개선해 봅시다. +// 그래서 교차 타입을 사용하여 빠르게 하나를 개선해 봅시다. // (예시를 살펴보세요:union-and-intersection-types) type MyPartialTypeForEdit = { From 8973b4dd894c975407dea72dc6971b2163622ac7 Mon Sep 17 00:00:00 2001 From: yahma25 Date: Thu, 24 Jun 2021 21:00:08 +0900 Subject: [PATCH 26/82] Translate 1 file to ko, playground - Nominal Typing --- .../Language Extensions/Nominal Typing.ts | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 docs/playground/ko/TypeScript/Language Extensions/Nominal Typing.ts diff --git a/docs/playground/ko/TypeScript/Language Extensions/Nominal Typing.ts b/docs/playground/ko/TypeScript/Language Extensions/Nominal Typing.ts new file mode 100644 index 00000000..9a7d2693 --- /dev/null +++ b/docs/playground/ko/TypeScript/Language Extensions/Nominal Typing.ts @@ -0,0 +1,66 @@ +// 명목적 타입 시스템은 각 타입이 고유하고, +// 타입이 같은 데이터를 가지고 있어도 +// 타입 간에 할당할 수 없는 것을 의미합니다. + +// TypeScript의 타입 시스템은 구조적이어서, +// 타입이 오리 같은 형태를 갖췄다면 오리라고 할 수 있습니다. +// 거위가 오리처럼 같은 속성을 모두 가졌다면 이 역시 오리라고 할 수 있습니다. +// 여기서 더 자세히 배우실 수 있습니다: example:structural-typing + +// 문제점이 있을 수 있는데, +// 예를 들어 문자열 또는 숫자는 특별한 컨텍스트를 갖고 있고 +// 값을 넘겨줄 수 있게 하고 싶지 않은 경우가 있습니다. +// 예시: +// +// - 사용자 입력 문자열 (유효하지 않은) +// - 변환 문자열 +// - 사용자 식별 숫자 +// - 액세스 토큰 + +// 코드를 조금 추가하여, +// 명목적 타입 시스템에서 대부분의 값을 가져올 수 있습니다. + +// 일반 문자열을 ValidatedInputString에 +// 할당할 수 없게 하는 __brand(관습입니다)라는 +// 프로퍼티 형식의 고유 제약으로 +// 교차하는 타입을 사용할 것입니다. + +type ValidatedInputString = string & { __brand: "User Input Post Validation" }; + +// 문자열을 ValidatedInputString로 변환하기 위해 +// 함수를 사용하지만, +// 주목할 점은 TypeScript에게 참이라고 _알려주는 것_ 입니다. + +const validateUserInput = (input: string) => { + const simpleValidatedInput = input.replace(/\ { + console.log(name); +}; + +// 예를 들어, 유효하지 않은 사용자의 입력값이 있으며 +// 검사기를 거치고 나면 출력해줍니다: + +const input = "\n"; +const validatedInput = validateUserInput(input); +printName(validatedInput); + +// 반면에, 유효하지 않은 문자열을 +// printName에 전달하면 컴파일러 오류가 발생합니다: + +printName(input); + +// 400개의 댓글이 있는 Github 이슈에서 +// 명목적 타입을 만드는 다른 방법과 장단점에 대한 +// 종합적인 개요를 읽어볼 수 있습니다: +// +// https://github.com/Microsoft/TypeScript/issues/202 +// +// 그리고 훌륭한 요약 글이 있습니다: +// +// https://michalzalecki.com/nominal-typing-in-typescript/ From e80ff137c1d1149bb0de7a31c9647320987ff046 Mon Sep 17 00:00:00 2001 From: yahma25 Date: Sat, 26 Jun 2021 16:35:11 +0900 Subject: [PATCH 27/82] Translate 1 file to ko, playground - Structural Typing --- .../TypeScript/Language/Structural Typing.ts | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 docs/playground/ko/TypeScript/Language/Structural Typing.ts diff --git a/docs/playground/ko/TypeScript/Language/Structural Typing.ts b/docs/playground/ko/TypeScript/Language/Structural Typing.ts new file mode 100644 index 00000000..7a274ea7 --- /dev/null +++ b/docs/playground/ko/TypeScript/Language/Structural Typing.ts @@ -0,0 +1,85 @@ +// TypeScript는 구조적 타입 시스템입니다. +// 구조적 타입 시스템은 타입을 비교할 때, +// TypeScript는 타입의 멤버만 고려한다는 것을 의미합니다. + +// 두 가지 타입을 만들 수 있지만, +// 서로 할당할 수 없는 명목적 타입 시스템과는 대조적입니다. +// 예제를 살펴보세요:nominal-typing + +// 예를 들어, 구조적 타입 시스템에서 +// 이러한 두 가지 인터페이스는 완전히 이동시킬 수 있습니다: + +interface Ball { + diameter: number; +} +interface Sphere { + diameter: number; +} + +let ball: Ball = { diameter: 10 }; +let sphere: Sphere = { diameter: 20 }; + +sphere = ball; +ball = sphere; + +// Ball과 Sphere의 모든 멤버를 +// 구조적으로 포함하는 타입을 추가하면, +// 공이나 구체가 되도록 설정할 수도 있습니다. + +interface Tube { + diameter: number; + length: number; +} + +let tube: Tube = { diameter: 12, length: 3 }; + +tube = ball; +ball = tube; + +// 공은 길이를 갖고 있지 않아서, 튜브 변수에 할당할 수 없습니다. +// 하지만, Ball의 모든 멤버는 +// 튜브 내부에 속하니 할당할 수 있습니다. + +// TypeScript는 타입의 각 멤버를 +// 서로 비교하여 동등한지 확인합니다. + +// 함수는 JavaScript에서 객체이며 +// 비슷한 방식으로 비교합니다. +// 매개변수에 유용한 추가 트릭이 하나 있습니다: + +let createBall = (diameter: number) => ({ diameter }); +let createSphere = (diameter: number, useInches: boolean) => { + return { diameter: useInches ? diameter * 0.39 : diameter }; +}; + +createSphere = createBall; +createBall = createSphere; + +// TypeScript는 매개변수의 (숫자)는 (숫자, 불린)과 같다고 하지만, +// (숫자, 불린)은 (숫자)와 같다고 하지 않습니다 + +// JavaScript 코드가 필요 없어 졌을 때 +// 매개변수 전달을 생략하는 게 아주 흔한 일이라서 +// TypeScript는 첫 번째 할당에 있는 불린을 버립니다. + +// 예를 들어 배열의 forEach의 콜백은 세 가지 매개변수를 갖고 있는데 +// 값, 인덱스, 전체 배열입니다. +// TypeScript가 매개변수 버리기를 제공하지 않았다면, +// 함수와 일치시키기 위해 모든 선택 사항을 포함했어야 합니다: + +[createBall(1), createBall(2)].forEach((ball, _index, _balls) => { + console.log(ball); +}); + +// 아무도 필요로 하지 않습니다. + +// 반환 타입은 객체처럼 간주하고, +// 일부 차이점은 위의 같은 객체 비교 규칙으로 비교합니다. + +let createRedBall = (diameter: number) => ({ diameter, color: "red" }); + +createBall = createRedBall; +createRedBall = createBall; + +// 첫 번째 할당은 동작하지만 (둘 다 지름이 있음), +// 두 번째는 동작하지 않습니다. (공은 색상이 없음) From 9afcc0dfa5fe25696608f8b32f2a338b0af54265 Mon Sep 17 00:00:00 2001 From: vewevteen Date: Tue, 29 Jun 2021 12:13:26 +0900 Subject: [PATCH 28/82] Translate 1 file to ko - Typescript Version --- .../Playground/Tooling/TypeScript Versions.ts | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 docs/playground/ko/Playground/Tooling/TypeScript Versions.ts diff --git a/docs/playground/ko/Playground/Tooling/TypeScript Versions.ts b/docs/playground/ko/Playground/Tooling/TypeScript Versions.ts new file mode 100644 index 00000000..752d4212 --- /dev/null +++ b/docs/playground/ko/Playground/Tooling/TypeScript Versions.ts @@ -0,0 +1,28 @@ +// 새로운 Playground와 함께라면 우리는 코드를 +// 동작하게 할 수 있는 환경의 더 많은 권한을 가지게 됩니다. +// 새로운 Playground는 이제 monaco-editor와 +// monaco-typescript가 느슨하게 결합된 편집 경험을 제공할 것입니다. + +// https://github.com/microsoft/monaco-editor +// https://github.com/microsoft/monaco-typescript + +// 여기서 느슨한 결합이란 Playground가 +// 유저에게 monaco-typescript가 통합한 수많은 버전의 +// Typrscript build 중 고를 수 있게 하는 것 입니다. + +// 우리는 monaco-editor와 +// moncao-typescript의 복사본을 만들 수 있는 인프라가 있습니다. +// 그말인 즉슨 우리는 이제 다음과 같은 내용들을 지원합니다: + +// - TypeScript 베타 버전 +// - TypeScript의 야간 빌드 +// - TypeScript Pull Request 버전 +// - 이전 버전의 TypeScript + +// via https://github.com/orta/make-monaco-builds + +// 새로운 Playground가 다른 버전들의 +// Typescript와 지원할 수 있는 기본 설계는 +// 아래의 사이트로부터 파생되었습니다: + +// https://github.com/agentcooper/typescript-play \ No newline at end of file From dbcb490694dce105138abdcd19646174e6fa2484 Mon Sep 17 00:00:00 2001 From: vewevteen Date: Thu, 1 Jul 2021 11:40:43 +0900 Subject: [PATCH 29/82] Translate 1 file to ko - Mobile Support --- .../ko/Playground/Tooling/Mobile Support.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 docs/playground/ko/Playground/Tooling/Mobile Support.ts diff --git a/docs/playground/ko/Playground/Tooling/Mobile Support.ts b/docs/playground/ko/Playground/Tooling/Mobile Support.ts new file mode 100644 index 00000000..0fd846ed --- /dev/null +++ b/docs/playground/ko/Playground/Tooling/Mobile Support.ts @@ -0,0 +1,16 @@ +//// { order: 99 } + +// 작은 디바이스는 코드를 쓰는 용도로 적합하지 않지만, +// 예시를 읽거나, +// 다른 사람의 링크를 리뷰하고 간단한 수정을 +// 하는 것에는 적합합니다. + +// 새로운 Playground를 이용해 우리는 아래와 같이 +// 작은 화면으로 할 수 있는 것을 개선하였습니다: + +// - 코드와 연관되지 않은 메뉴 제거 +// - 간단한 스타일 개선 +// - Single pane editor로 교체. +// 그러므로 트랜스 파일 JS 볼 수 없음 + +// 이 개선점들은 경험을 덜 힘들게 할 것입니다 \ No newline at end of file From e25c32652f979d4ffbfc68ac10ce7a88f0de48ae Mon Sep 17 00:00:00 2001 From: proceane Date: Fri, 16 Jul 2021 19:49:38 +0900 Subject: [PATCH 30/82] Translate 1 file to ko, tsconfig - moduleResolution --- docs/tsconfig/ko/options/moduleResolution.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 docs/tsconfig/ko/options/moduleResolution.md diff --git a/docs/tsconfig/ko/options/moduleResolution.md b/docs/tsconfig/ko/options/moduleResolution.md new file mode 100644 index 00000000..be90eda7 --- /dev/null +++ b/docs/tsconfig/ko/options/moduleResolution.md @@ -0,0 +1,9 @@ +--- +display: "Module Resolution" +oneline: "Specify how TypeScript looks up a file from a given module specifier." +--- + +모듈 해결 전략을 지정합니다 : `'node'` (Node.js) 또는 `'classic'` (1.6 릴리즈 이전에 TypeScript에서 사용된). +최신 코드에서는 `classic`을 사용할 필요가 없을 것입니다. + +[Module Resolution](/docs/handbook/module-resolution.html)에 핸드북 참조 페이지가 있습니다. From be0e1395d214a50793af7b823377a744c9273eb7 Mon Sep 17 00:00:00 2001 From: proceane Date: Fri, 16 Jul 2021 20:23:59 +0900 Subject: [PATCH 31/82] Translate 1 file to ko, tsConfig - noResolve --- docs/tsconfig/ko/options/noResolve.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 docs/tsconfig/ko/options/noResolve.md diff --git a/docs/tsconfig/ko/options/noResolve.md b/docs/tsconfig/ko/options/noResolve.md new file mode 100644 index 00000000..6e7157ab --- /dev/null +++ b/docs/tsconfig/ko/options/noResolve.md @@ -0,0 +1,9 @@ +--- +display: "No Resolve" +oneline: "Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project." +--- + +기본적으로 TypeScript는 `import` 및 ` Date: Wed, 21 Jul 2021 17:35:00 +0000 Subject: [PATCH 32/82] add .vscode option folder to gitignore, Nightly Builds.md and intro.md translated files --- .gitignore | 3 + docs/documentation/fr/Nightly Builds.md | 80 +++++++++++++++++++++++++ docs/tsconfig/fr/intro.md | 17 ++++++ 3 files changed, 100 insertions(+) create mode 100644 docs/documentation/fr/Nightly Builds.md create mode 100644 docs/tsconfig/fr/intro.md diff --git a/.gitignore b/.gitignore index 66853a8a..21ade98b 100644 --- a/.gitignore +++ b/.gitignore @@ -105,3 +105,6 @@ dist # Related to @oss-docs/sync docs/**/en + +# VS Code option folder +.vscode/ diff --git a/docs/documentation/fr/Nightly Builds.md b/docs/documentation/fr/Nightly Builds.md new file mode 100644 index 00000000..14f326b9 --- /dev/null +++ b/docs/documentation/fr/Nightly Builds.md @@ -0,0 +1,80 @@ +--- +title: Nightly Builds +layout: docs +permalink: /fr/docs/handbook/nightly-builds.html +oneline: Comment utiliser une nightly build de TypeScript +translatable: true +--- + +Une Nightly Builds de la branche [TypeScript's `main`](https://github.com/Microsoft/TypeScript/tree/main) est publiée avant minuit PST à npm. +Voici comment vous pouvez l'obtenir et l'utiliser avec vos outils. + +## En utilisant npm + +```shell +npm install -g typescript@next +``` + +## Mettre à jour votre IDE pour utiliser les Nightly Builds + +Vous pouvez également mettre à jour votre IDE pour utiliser la Nightly Builds. +Vous devrez d'abord installer le package via npm. +Vous pouvez soit installer le package npm globalement, soit dans un dossier local `node_modules`. + +Le reste de cette section suppose que `typescript@next` est déjà installé. + +### Visual Studio Code + +Mettez à jour `.vscode/settings.json` avec les éléments suivants : + +```json +"typescript.tsdk": "/node_modules/typescript/lib" +``` + +Plus d'informations sont disponibles sur [documentation VSCode](https://code.visualstudio.com/Docs/languages/typescript#_using-newer-typescript-versions). + + +### Sublime Text + +UMettez à jour le fichier `Paramètres - Utilisateur` avec les éléments suivants : + +```json +"typescript_tsdk": "/node_modules/typescript/lib" +``` + +Plus d'informations sont disponibles dans la [documentation d'installation du plug-in TypeScript pour Sublime Text](https://github.com/Microsoft/TypeScript-Sublime-Plugin#installation). + +### Visual Studio 2013 et 2015 + +> Remarque : La plupart des modifications ne nécessitent pas l'installation d'une nouvelle version du plug-in VS TypeScript. + +La nightly build n'inclut actuellement pas la configuration complète du plug-in, mais nous travaillons également à la publication d'un programme d'installation nigthly. + +1. Téléchargez le script [VSDevMode.ps1](https://github.com/Microsoft/TypeScript/blob/main/scripts/VSDevMode.ps1). + + > Voir également notre page wiki sur [l'utilisation d'un fichier de service de langue personnalisé](https://github.com/Microsoft/TypeScript/wiki/Dev-Mode-in-Visual-Studio#using-a-custom-language-service-file). + +2. À partir d'une fenêtre de commande PowerShell, exécutez : + +Pour VS 2015: +```posh +VSDevMode.ps1 14 -tsScript /node_modules/typescript/lib +``` + +Pour VS 2013: + +```posh +VSDevMode.ps1 12 -tsScript /node_modules/typescript/lib +``` + +### IntelliJ IDEA (Mac) + +Allez dans `Préférences` > `Langues & Frameworks` > `TypeScript` : + +> Version TypeScript : Si vous avez installé avec npm : `/usr/local/lib/node_modules/typescript/lib` + +### IntelliJ IDEA (Windows) + +Allez dans `Fichier` > `Paramètres` > `Langues & Frameworks` > `TypeScript` : + +> Version TypeScript : Si vous avez installé avec npm : `C:\Users\USERNAME\AppData\Roaming\npm\node_modules\typescript\lib` diff --git a/docs/tsconfig/fr/intro.md b/docs/tsconfig/fr/intro.md new file mode 100644 index 00000000..940d338c --- /dev/null +++ b/docs/tsconfig/fr/intro.md @@ -0,0 +1,17 @@ +--- +header: Introduction à la référence TSConfig +firstLine: Un fichier TSConfig dans un répertoire indique que le répertoire est la racine d'un projet TypeScript ou JavaScript... +--- + +Un fichier TSConfig dans un répertoire indique que le répertoire est la racine d'un projet TypeScript ou JavaScript. +Le fichier TSConfig peut être un `tsconfig.json` ou `jsconfig.json`, les deux ont le même ensemble de variables de configuration. + +Cette page couvre toutes les différentes options disponibles dans un fichier TSConfig. Il y a plus de 100 options, et cette page n'est pas conçue pour être lue de haut en bas. Au lieu de cela, elle comporte cinq sections principales : + +- Un aperçu catégorisé de tous les aspects du compilateur +- Les [root fields](#Project_Files_0) pour indiquer à TypeScript quels fichiers sont disponibles +- Les champs [`compilerOptions`](#compilerOptions), c'est la majorité du document +- Les champs [`watchOptions`](#watchOptions), pour peaufiner le mode montre +- Les champs [`typeAcquisition`](#typeAcquisition), pour peaufiner la façon dont les types sont ajoutés aux projets JavaScript + +Si vous démarrez un TSConfig à partir de zéro, vous pouvez envisager d'utiliser `tsc --init` pour amorcer ou utiliser une [base TSConfig](https://github.com/tsconfig/bases#centralized-recommendations-for-tsconfig-bases). From 6cf716e2aba8817234c93a96af668ddc5af26989 Mon Sep 17 00:00:00 2001 From: Orta Date: Thu, 22 Jul 2021 21:06:16 +0100 Subject: [PATCH 33/82] Update typescript and add .vscode to the gitignore --- .gitignore | 3 +++ yarn.lock | 34 +++++++++++++++++++++++++++++++--- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 66853a8a..fa81d460 100644 --- a/.gitignore +++ b/.gitignore @@ -105,3 +105,6 @@ dist # Related to @oss-docs/sync docs/**/en + +# Then you can set this up yourself +.vscode \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 4bc334f7..e4fc74f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -164,7 +164,7 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== -"@typescript/twoslash@1.1.4", "@typescript/twoslash@^1.1.3": +"@typescript/twoslash@1.1.4": version "1.1.4" resolved "https://registry.yarnpkg.com/@typescript/twoslash/-/twoslash-1.1.4.tgz#e5693334ae39a90aae43d747f902eb0bebd47640" integrity sha512-u5/V/Z3e9nMJ/TIKzyLfudUQrNa7ctjHxQ7NS05VveQPLJNlc/7hbhuuRy101BF54xy0KiYpQ0h/Ha5J7SKehg== @@ -173,6 +173,15 @@ debug "^4.1.1" lz-string "^1.4.4" +"@typescript/twoslash@^1.1.3": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@typescript/twoslash/-/twoslash-1.1.7.tgz#9fc5709f37940f2deda396b74e503c6c33c54d6e" + integrity sha512-+oASPajHbUpmwsZgf0/ioBn9vjIodAO4c0na2nMLWxBKDMGAo16m8uEFtxjIrEYp6l+h3rBvHchSFucv1/qcNQ== + dependencies: + "@typescript/vfs" "1.3.4" + debug "^4.1.1" + lz-string "^1.4.4" + "@typescript/vfs@1.3.2": version "1.3.2" resolved "https://registry.yarnpkg.com/@typescript/vfs/-/vfs-1.3.2.tgz#4a9f207a74b93e63b255740ca9683d7eb09ee670" @@ -180,6 +189,13 @@ dependencies: debug "^4.1.1" +"@typescript/vfs@1.3.4": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@typescript/vfs/-/vfs-1.3.4.tgz#07f89d2114f6e29255d589395ed7f3b4af8a00c2" + integrity sha512-RbyJiaAGQPIcAGWFa3jAXSuAexU4BFiDRF1g3hy7LmRqfNpYlTQWGXjcrOaVZjJ8YkkpuwG0FcsYvtWQpd9igQ== + dependencies: + debug "^4.1.1" + abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -656,13 +672,20 @@ debug@^3.1.0: dependencies: ms "^2.1.1" -debug@^4.0.0, debug@^4.1.1: +debug@^4.0.0: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" +debug@^4.1.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -2555,11 +2578,16 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= -typescript@*, typescript@^4.1.3: +typescript@*: version "4.1.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== +typescript@^4.1.3: + version "4.3.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" + integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== + unherit@^1.0.4: version "1.1.3" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" From 0af417c2b139c6dd4c08939930cdc57b2c3ee9ee Mon Sep 17 00:00:00 2001 From: Orta Date: Thu, 22 Jul 2021 21:40:52 +0100 Subject: [PATCH 34/82] bump some stuff --- package.json | 4 +- yarn.lock | 132 ++++++++++++++++++++++++--------------------------- 2 files changed, 64 insertions(+), 72 deletions(-) diff --git a/package.json b/package.json index 112d8bf6..948593fa 100644 --- a/package.json +++ b/package.json @@ -13,13 +13,13 @@ }, "dependencies": { "@orta/markdown-translator": "^0.4.2", - "@oss-docs/sync": "*", + "@oss-docs/sync": "1.1.2", "danger": "^10.6.0" }, "devDependencies": { "@typescript/twoslash": "^1.1.3", "chalk": "^4.1.0", - "gatsby-remark-shiki-twoslash": "^0.7.0", + "gatsby-remark-shiki-twoslash": "^3.0.14", "gray-matter": "^4.0.2", "preact": "^10.5.12", "remark": "^13.0.0", diff --git a/yarn.lock b/yarn.lock index e4fc74f1..5d8f08b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -133,10 +133,10 @@ request "^2.88.0" unified-stream "^1.0.4" -"@oss-docs/sync@*": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@oss-docs/sync/-/sync-1.1.1.tgz#fea457dabf8fd61f5170ae04de22026209c80b50" - integrity sha512-AGTyz/tBaKkIu9CcIYLPF6EdLSwT/Wpu5r+sawLUmcJwNylKeobwBAhswjRw34U3b4TiNRZK1a5Szc70l+l1qg== +"@oss-docs/sync@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@oss-docs/sync/-/sync-1.1.2.tgz#264d7969341b4625e6f69edb005bfbd09d059d95" + integrity sha512-pdkIIwFJAzxl2xg30vzkoluRMxJqWkmQbz1pEKv1Jsh/URqoi+rnu9QHO/pY84Q9OJYsY961mIQJod0fY2XD7g== dependencies: cachedir "^2.3.0" chalk "^4.1.0" @@ -164,12 +164,12 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== -"@typescript/twoslash@1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@typescript/twoslash/-/twoslash-1.1.4.tgz#e5693334ae39a90aae43d747f902eb0bebd47640" - integrity sha512-u5/V/Z3e9nMJ/TIKzyLfudUQrNa7ctjHxQ7NS05VveQPLJNlc/7hbhuuRy101BF54xy0KiYpQ0h/Ha5J7SKehg== +"@typescript/twoslash@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@typescript/twoslash/-/twoslash-2.1.0.tgz#0128312e002670367393bb9b48378ac818aceccd" + integrity sha512-J72HH+zAMPA9udOuOgAxTXnzeRyz0t33Ww1jQ6CgNfjP3HtrOS4lNgG+m3u1H497U366zbcUOjNkIgNGqefd/A== dependencies: - "@typescript/vfs" "1.3.2" + "@typescript/vfs" "1.3.4" debug "^4.1.1" lz-string "^1.4.4" @@ -182,13 +182,6 @@ debug "^4.1.1" lz-string "^1.4.4" -"@typescript/vfs@1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@typescript/vfs/-/vfs-1.3.2.tgz#4a9f207a74b93e63b255740ca9683d7eb09ee670" - integrity sha512-1moNIcxUtDextSNvhGtJcmNZX8gZgRBcea2UlRmKI7TX3fRZ4lHCharaDQUQeguk1rrqxCfOifFZg+Rx/Mi7Lw== - dependencies: - debug "^4.1.1" - "@typescript/vfs@1.3.4": version "1.3.4" resolved "https://registry.yarnpkg.com/@typescript/vfs/-/vfs-1.3.4.tgz#07f89d2114f6e29255d589395ed7f3b4af8a00c2" @@ -884,6 +877,11 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fenceparser@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fenceparser/-/fenceparser-1.1.0.tgz#b509f16e3ce68b04e19caa8636037755cfa4a67b" + integrity sha512-2/48W+LjGeYLYc7Z2WodoPv4xP4Bd9e2CsnnFZuzzoNkv+w8NyJKDD/EUhcwv9VkmXsnGtnDzZz6DNykD9JrlA== + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -946,17 +944,13 @@ fs-exists-sync@^0.1.0: resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= -gatsby-remark-shiki-twoslash@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/gatsby-remark-shiki-twoslash/-/gatsby-remark-shiki-twoslash-0.7.1.tgz#bbe9aaaa9a5bf9d27a7a94ee2afda0ae58346b5b" - integrity sha512-4Vp1HXtUmK4iydJtAhcYNl+h8VSTvYrgxw+Y8ka5tF06Zjf/UMXruDttsTGmIYR+kGug8hiP3mekP7Lss/Tr3w== - dependencies: - "@typescript/twoslash" "1.1.4" - "@typescript/vfs" "1.3.2" - shiki "^0.1.6" - shiki-languages "^0.1.6" - shiki-twoslash "0.8.2" - typescript "*" +gatsby-remark-shiki-twoslash@^3.0.14: + version "3.0.14" + resolved "https://registry.yarnpkg.com/gatsby-remark-shiki-twoslash/-/gatsby-remark-shiki-twoslash-3.0.14.tgz#bbf0976974598d57b599c68b1e0cdd45fcb37e81" + integrity sha512-I5eBLKC284imYOrpH7jY+NBJO6LoQ5xVI0MvDLdXXtfQh8lpK+s2o/QZ9nz8Swvp61YzIWp57nucoHTgvY/JxA== + dependencies: + remark-shiki-twoslash "2.0.1" + typescript ">3" unist-util-visit "^2.0.0" get-caller-file@^2.0.5: @@ -1817,7 +1811,7 @@ once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onigasm@^2.2.1: +onigasm@^2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/onigasm/-/onigasm-2.2.5.tgz#cc4d2a79a0fa0b64caec1f4c7ea367585a676892" integrity sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA== @@ -2040,7 +2034,7 @@ readline-sync@^1.4.9: resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.10.tgz#41df7fbb4b6312d673011594145705bf56d8873b" integrity sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw== -regenerator-runtime@^0.13.4: +regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: version "0.13.7" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== @@ -2082,6 +2076,21 @@ remark-parse@^9.0.0: dependencies: mdast-util-from-markdown "^0.8.0" +remark-shiki-twoslash@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-shiki-twoslash/-/remark-shiki-twoslash-2.0.1.tgz#f47a304f044e0d78fdb09505442397fa7104509e" + integrity sha512-Xj2pMArldasY6WvqjaVR/G7HJnqIGYGIQlpNCpeq2kGTaABU80nJ5lF7AiELUGbg1f5aK4tosE24zo2ChWi9Zg== + dependencies: + "@typescript/twoslash" "2.1.0" + "@typescript/vfs" "1.3.4" + fenceparser "^1.1.0" + regenerator-runtime "^0.13.7" + shiki "0.9.3" + shiki-twoslash "2.0.3" + tslib "2.1.0" + typescript ">3" + unist-util-visit "^2.0.0" + remark-stringify@^8.0.0: version "8.1.1" resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-8.1.1.tgz#e2a9dc7a7bf44e46a155ec78996db896780d8ce5" @@ -2257,41 +2266,23 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shiki-languages@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/shiki-languages/-/shiki-languages-0.1.6.tgz#4a71eba9d345de4780fc46994e4d073356573e3e" - integrity sha512-rMu+z97UCPKMtPBkzLBItReawXnlOgXZmELFwI/s3ATxd9VzJgSQTtQW/hmW5EYCrzF2kAUjoOnn+50/MPWjgQ== - dependencies: - vscode-textmate "https://github.com/octref/vscode-textmate" - -shiki-themes@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/shiki-themes/-/shiki-themes-0.1.7.tgz#edaf2027b31bb3645dd044f66a76d4cdb2599b77" - integrity sha512-mpF/VynGun/uNdjOIPnyPv4boN/QYDh+zE94SavgvmatMHkXXjZhls19Xv9rcRwuxUrWfXjaPkEZj7VAk94GGg== - dependencies: - json5 "^2.1.0" - vscode-textmate "https://github.com/octref/vscode-textmate" - -shiki-twoslash@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/shiki-twoslash/-/shiki-twoslash-0.8.2.tgz#27f7bed567c8f3798ba96ca878ee01a56ff8b506" - integrity sha512-VH25CoQ67vOynDemI5Qeosjz4SmUSK6dWpauqPiOF2xFT0rU332UzPdBHsv+RAw6zWMtTLOLC8TtVb0m5gj9TQ== +shiki-twoslash@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/shiki-twoslash/-/shiki-twoslash-2.0.3.tgz#b3f212560f63c3a73c2622feb4d92748a91cdd2d" + integrity sha512-tUeoek4e0pShUp0AnkfLXl4DCnvcC3iI1pDspPfdWKaBYY8hPW7J4iWxf9VXkdCA7wxwmT1bsiZ6e9h9Tndehg== dependencies: - "@typescript/twoslash" "1.1.4" - "@typescript/vfs" "1.3.2" - shiki "^0.1.6" - shiki-languages "^0.1.6" - typescript "*" + "@typescript/twoslash" "2.1.0" + "@typescript/vfs" "1.3.4" + shiki "0.9.3" + typescript ">3" -shiki@^0.1.6: - version "0.1.7" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.1.7.tgz#138eed000063a80e44eedc800381977c690271e5" - integrity sha512-9J0PhAdXv6tt3FZf82oKZkcV8c8NRZYJEOH0eIrrxfcyNzMuB79tJFGFSI3OhhiYFL5namob/Ii0Ri4iDoF15A== +shiki@0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.9.3.tgz#7bf7bcf3ed50ca525ec89cc09254abce4264d5ca" + integrity sha512-NEjg1mVbAUrzRv2eIcUt3TG7X9svX7l3n3F5/3OdFq+/BxUdmBOeKGiH4icZJBLHy354Shnj6sfBTemea2e7XA== dependencies: - onigasm "^2.2.1" - shiki-languages "^0.1.6" - shiki-themes "^0.1.7" - vscode-textmate "https://github.com/octref/vscode-textmate" + onigasm "^2.2.5" + vscode-textmate "^5.2.0" signal-exit@^3.0.0: version "3.0.3" @@ -2566,6 +2557,11 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== +tslib@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -2578,12 +2574,7 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= -typescript@*: - version "4.1.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" - integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== - -typescript@^4.1.3: +typescript@>3, typescript@^4.1.3: version "4.3.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== @@ -2748,9 +2739,10 @@ vfile@^4.0.0: unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" -"vscode-textmate@https://github.com/octref/vscode-textmate": - version "4.0.1" - resolved "https://github.com/octref/vscode-textmate#e65aabe2227febda7beaad31dd0fca1228c5ddf3" +vscode-textmate@^5.2.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.4.0.tgz#4b25ffc1f14ac3a90faf9a388c67a01d24257cd7" + integrity sha512-c0Q4zYZkcLizeYJ3hNyaVUM2AA8KDhNCA3JvXY8CeZSJuBdAy3bAvSbv46RClC4P3dSO9BdwhnKEx2zOo6vP/w== webidl-conversions@^4.0.2: version "4.0.2" From d5158a354b96cb967c2d63edfd39ad843c33b497 Mon Sep 17 00:00:00 2001 From: Orta Date: Thu, 22 Jul 2021 21:43:30 +0100 Subject: [PATCH 35/82] adds an assignee to me for my PRs --- .github/workflows/CI.yml | 3 +++ .github/workflows/codeowners-merge.yml | 3 +++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 1e621ac5..d223078e 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -8,6 +8,9 @@ jobs: steps: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 + with: + node-version: "13.x" + - run: yarn - run: yarn docs-sync validate-against-en diff --git a/.github/workflows/codeowners-merge.yml b/.github/workflows/codeowners-merge.yml index 1a138f79..36edff9e 100644 --- a/.github/workflows/codeowners-merge.yml +++ b/.github/workflows/codeowners-merge.yml @@ -14,3 +14,6 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} uses: OSS-Docs-Tools/code-owner-self-merge@master + with: + if_no_maintainers_add_label: 'maintainers' + if_no_maintainers_assign: '@orta' \ No newline at end of file From dc5b58389e95a5710dfcf2b6ced9d4308aeeeb77 Mon Sep 17 00:00:00 2001 From: Orta Date: Thu, 22 Jul 2021 21:53:20 +0100 Subject: [PATCH 36/82] Get files in sync with new tsconfig ref --- .../{Watch_Options_999.md => Watch_and_Build_Modes_6250.md} | 0 docs/tsconfig/es/sections/top_level.md | 3 --- .../{Watch_Options_999.md => Watch_and_Build_Modes_6250.md} | 0 docs/tsconfig/id/sections/top_level.md | 3 --- docs/tsconfig/it/sections/top_level.md | 3 --- .../{Watch_Options_999.md => Watch_and_Build_Modes_6250.md} | 0 docs/tsconfig/ja/sections/top_level.md | 3 --- docs/tsconfig/ko/sections/top_level.md | 3 --- .../{Watch_Options_999.md => Watch_and_Build_Modes_6250.md} | 0 docs/tsconfig/pt/sections/top_level.md | 3 --- .../{Watch_Options_999.md => Watch_and_Build_Modes_6250.md} | 0 docs/tsconfig/zh/sections/top_level.md | 3 --- 12 files changed, 21 deletions(-) rename docs/tsconfig/es/categories/{Watch_Options_999.md => Watch_and_Build_Modes_6250.md} (100%) delete mode 100644 docs/tsconfig/es/sections/top_level.md rename docs/tsconfig/id/categories/{Watch_Options_999.md => Watch_and_Build_Modes_6250.md} (100%) delete mode 100644 docs/tsconfig/id/sections/top_level.md delete mode 100644 docs/tsconfig/it/sections/top_level.md rename docs/tsconfig/ja/categories/{Watch_Options_999.md => Watch_and_Build_Modes_6250.md} (100%) delete mode 100644 docs/tsconfig/ja/sections/top_level.md delete mode 100644 docs/tsconfig/ko/sections/top_level.md rename docs/tsconfig/pt/categories/{Watch_Options_999.md => Watch_and_Build_Modes_6250.md} (100%) delete mode 100644 docs/tsconfig/pt/sections/top_level.md rename docs/tsconfig/zh/categories/{Watch_Options_999.md => Watch_and_Build_Modes_6250.md} (100%) delete mode 100644 docs/tsconfig/zh/sections/top_level.md diff --git a/docs/tsconfig/es/categories/Watch_Options_999.md b/docs/tsconfig/es/categories/Watch_and_Build_Modes_6250.md similarity index 100% rename from docs/tsconfig/es/categories/Watch_Options_999.md rename to docs/tsconfig/es/categories/Watch_and_Build_Modes_6250.md diff --git a/docs/tsconfig/es/sections/top_level.md b/docs/tsconfig/es/sections/top_level.md deleted file mode 100644 index 239ab789..00000000 --- a/docs/tsconfig/es/sections/top_level.md +++ /dev/null @@ -1,3 +0,0 @@ -### Campos raíces - -Las opciones principales son las opciones raices en el archivo TSConfig - estas opciones se relacionan con la configuración de su proyecto TypeScript o JavaScript. diff --git a/docs/tsconfig/id/categories/Watch_Options_999.md b/docs/tsconfig/id/categories/Watch_and_Build_Modes_6250.md similarity index 100% rename from docs/tsconfig/id/categories/Watch_Options_999.md rename to docs/tsconfig/id/categories/Watch_and_Build_Modes_6250.md diff --git a/docs/tsconfig/id/sections/top_level.md b/docs/tsconfig/id/sections/top_level.md deleted file mode 100644 index fffe563b..00000000 --- a/docs/tsconfig/id/sections/top_level.md +++ /dev/null @@ -1,3 +0,0 @@ -### Sumber Bidang - -Memulai dari pilihan di dalam sumber TSConfig - banyak pilihan bagaimana berhubungan dengan projek Typescript atau Javascript yang kamu buat. \ No newline at end of file diff --git a/docs/tsconfig/it/sections/top_level.md b/docs/tsconfig/it/sections/top_level.md deleted file mode 100644 index 82e9d5de..00000000 --- a/docs/tsconfig/it/sections/top_level.md +++ /dev/null @@ -1,3 +0,0 @@ -### Campi principali - -Le principali opzioni sono nel TSConfig - queste opzioni spiegano come il tuo progetto TypeScript o JavaScript è impostato. \ No newline at end of file diff --git a/docs/tsconfig/ja/categories/Watch_Options_999.md b/docs/tsconfig/ja/categories/Watch_and_Build_Modes_6250.md similarity index 100% rename from docs/tsconfig/ja/categories/Watch_Options_999.md rename to docs/tsconfig/ja/categories/Watch_and_Build_Modes_6250.md diff --git a/docs/tsconfig/ja/sections/top_level.md b/docs/tsconfig/ja/sections/top_level.md deleted file mode 100644 index e239f6dc..00000000 --- a/docs/tsconfig/ja/sections/top_level.md +++ /dev/null @@ -1,3 +0,0 @@ -### ルートフィールド - -まずは、TSConfigのルートオプションです - これらのオプションはTypeScriptやJavaScriptプロジェクトの設定方法に関連したものです。 diff --git a/docs/tsconfig/ko/sections/top_level.md b/docs/tsconfig/ko/sections/top_level.md deleted file mode 100644 index 27155567..00000000 --- a/docs/tsconfig/ko/sections/top_level.md +++ /dev/null @@ -1,3 +0,0 @@ -### 루트 필드(Root Fields) - -TSConfig의 시작은 루트 옵션입니다 - 이 옵션은 TypeScript 또는 JavaScript 프로젝트 설정과 관련이 있습니다. \ No newline at end of file diff --git a/docs/tsconfig/pt/categories/Watch_Options_999.md b/docs/tsconfig/pt/categories/Watch_and_Build_Modes_6250.md similarity index 100% rename from docs/tsconfig/pt/categories/Watch_Options_999.md rename to docs/tsconfig/pt/categories/Watch_and_Build_Modes_6250.md diff --git a/docs/tsconfig/pt/sections/top_level.md b/docs/tsconfig/pt/sections/top_level.md deleted file mode 100644 index 47d64d95..00000000 --- a/docs/tsconfig/pt/sections/top_level.md +++ /dev/null @@ -1,3 +0,0 @@ -### Campos Raiz - -Para começar, temos algumas opções na raiz do TSConfig - essas opções são relacionadas a como seu projeto TypeScript ou JavaScript está configurado. diff --git a/docs/tsconfig/zh/categories/Watch_Options_999.md b/docs/tsconfig/zh/categories/Watch_and_Build_Modes_6250.md similarity index 100% rename from docs/tsconfig/zh/categories/Watch_Options_999.md rename to docs/tsconfig/zh/categories/Watch_and_Build_Modes_6250.md diff --git a/docs/tsconfig/zh/sections/top_level.md b/docs/tsconfig/zh/sections/top_level.md deleted file mode 100644 index eb649831..00000000 --- a/docs/tsconfig/zh/sections/top_level.md +++ /dev/null @@ -1,3 +0,0 @@ -### 上层选项 - -首先是 TSConfig 中的顶层选项——这些选项与 TypeScript 或 JavaScript 项目的设置方式有关。 From 9840817d9c6fdf03e69f6d32341bd679d7cd0867 Mon Sep 17 00:00:00 2001 From: Orta Date: Thu, 22 Jul 2021 21:54:24 +0100 Subject: [PATCH 37/82] vbump --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 948593fa..c2e429e9 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@orta/markdown-translator": "^0.4.2", - "@oss-docs/sync": "1.1.2", + "@oss-docs/sync": "1.1.3", "danger": "^10.6.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 5d8f08b6..8428f56a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -133,10 +133,10 @@ request "^2.88.0" unified-stream "^1.0.4" -"@oss-docs/sync@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@oss-docs/sync/-/sync-1.1.2.tgz#264d7969341b4625e6f69edb005bfbd09d059d95" - integrity sha512-pdkIIwFJAzxl2xg30vzkoluRMxJqWkmQbz1pEKv1Jsh/URqoi+rnu9QHO/pY84Q9OJYsY961mIQJod0fY2XD7g== +"@oss-docs/sync@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@oss-docs/sync/-/sync-1.1.3.tgz#13647923e9c297c273be4a0cf2ec09b803875966" + integrity sha512-UJ3iZPdiAxYMpC8K9bXjwHCi3L7BBr08FF9GSczw2usb7cJ5MqaIOdnxBh16/LAVzgCrJiDyKfGugUWW+k8ohg== dependencies: cachedir "^2.3.0" chalk "^4.1.0" From db2f488476ecd8be8ff1b9d29fae8d2c8e688efb Mon Sep 17 00:00:00 2001 From: Orta Date: Thu, 22 Jul 2021 20:42:46 +0100 Subject: [PATCH 38/82] Adds french --- .github/CODEOWNERS | 7 +++++++ localize.json | 6 ++++-- starting_new_language.md | 20 ++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 starting_new_language.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 80f30986..329c3901 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -62,3 +62,10 @@ docs/tsconfig/it/**/*.md @Nabster101 @DeltaPy @PyGera [translation] [it] docs/typescriptlang/it/**/*.ts @Nabster101 @DeltaPy @PyGera [translation] [it] docs/typescriptlang/it.ts @Nabster101 @DeltaPy @PyGera [translation] [it] docs/documentation/it/**/*.md @Nabster101 @DeltaPy @PyGera [translation] [it] + +# Collaborators for French Translation of the Website +docs/playground/fr @ManuSquall [translation] [fr] +docs/tsconfig/fr/**/*.md @ManuSquall [translation] [fr] +docs/typescriptlang/fr/**/*.ts @ManuSquall [translation] [fr] +docs/typescriptlang/fr.ts @ManuSquall [translation] [fr] +docs/documentation/fr/**/*.md @ManuSquall [translation] [fr] diff --git a/localize.json b/localize.json index 1353cd60..ba7bbc83 100644 --- a/localize.json +++ b/localize.json @@ -9,7 +9,8 @@ "id": 7, "uk": 8, "pl": 9, - "it": 10 + "it": 10, + "fr": 100 }, "docsRoots": [ { "name": "Playground", "from": "packages/playground-examples/copy/", "to": "docs/playground" }, @@ -25,7 +26,8 @@ "docs/typescriptlang/pl/pl.ts", "docs/typescriptlang/pt/pt.ts", "docs/typescriptlang/vo/vo.ts", - "docs/typescriptlang/zh/zh.ts" + "docs/typescriptlang/zh/zh.ts", + "docs/typescriptlang/fr/fr.ts" ] } } diff --git a/starting_new_language.md b/starting_new_language.md new file mode 100644 index 00000000..2bca93c5 --- /dev/null +++ b/starting_new_language.md @@ -0,0 +1,20 @@ +## How to add a new language + +Things you need before: + + - Someone to be responsible + - Others to help out (and maybe also make responsible) + +## **In this repo** + +1. Create an issue "[Language] Localization summary". Copy the issue number. +1. Make a new label for the language +1. Go to `localize.json` and add your new language +1. Add the new owner to `CODEOWNERS` + +Send a PR with those changes, here's an example with French: [PR] + +## **In Discord** + +1. Create a new room: `#localize-[shortcode]` +1. Add the tag "localizer" to folks interested From 70433671e0f3a676c2cf39eb9b57f66354de6920 Mon Sep 17 00:00:00 2001 From: Orta Date: Thu, 22 Jul 2021 20:43:46 +0100 Subject: [PATCH 39/82] Adds PR reference --- starting_new_language.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/starting_new_language.md b/starting_new_language.md index 2bca93c5..5b9a5a8b 100644 --- a/starting_new_language.md +++ b/starting_new_language.md @@ -12,7 +12,7 @@ Things you need before: 1. Go to `localize.json` and add your new language 1. Add the new owner to `CODEOWNERS` -Send a PR with those changes, here's an example with French: [PR] +Send a PR with those changes, here's an example with French: [PR #101](https://github.com/microsoft/TypeScript-Website-Localizations/pull/101). ## **In Discord** From bb6ef17be2701ed18233e68993ab177bca99e86e Mon Sep 17 00:00:00 2001 From: Orta Date: Thu, 22 Jul 2021 20:58:29 +0100 Subject: [PATCH 40/82] Docs --- .github/CODEOWNERS | 10 +++++----- README.md | 2 +- welcome.md | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 welcome.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 329c3901..5b4879a4 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -64,8 +64,8 @@ docs/typescriptlang/it.ts @Nabster101 @DeltaPy @PyGera [translation] [it] docs/documentation/it/**/*.md @Nabster101 @DeltaPy @PyGera [translation] [it] # Collaborators for French Translation of the Website -docs/playground/fr @ManuSquall [translation] [fr] -docs/tsconfig/fr/**/*.md @ManuSquall [translation] [fr] -docs/typescriptlang/fr/**/*.ts @ManuSquall [translation] [fr] -docs/typescriptlang/fr.ts @ManuSquall [translation] [fr] -docs/documentation/fr/**/*.md @ManuSquall [translation] [fr] +docs/playground/fr @ManuSquall @Ascor8522 [translation] [fr] +docs/tsconfig/fr/**/*.md @ManuSquall @Ascor8522 [translation] [fr] +docs/typescriptlang/fr/**/*.ts @ManuSquall @Ascor8522 [translation] [fr] +docs/typescriptlang/fr.ts @ManuSquall @Ascor8522 [translation] [fr] +docs/documentation/fr/**/*.md @ManuSquall @Ascor8522 [translation] [fr] diff --git a/README.md b/README.md index 4368974f..bd43a9fa 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ yarn lint yarn lint --watch ``` -That's it, you've got a copy of all the documentation and now can write documentation which follows the existing patterns. +That's it, you've got a copy of all the documentation and now can write documentation which follows the existing patterns. There's a longer intro [in `welcome.md`](./welcome.md). ### How translations work diff --git a/welcome.md b/welcome.md new file mode 100644 index 00000000..c25e5035 --- /dev/null +++ b/welcome.md @@ -0,0 +1,38 @@ +### Hello Translator + +Hey there someone looking at contributing to the TypeScript docs localization effort. This repo contains all of the non-English locale files. It means you can clone and translate without all the infrastructure overhead of the pretty complex TypeScript-Website. + +For each language there is a [Translation Summary issue](https://github.com/microsoft/TypeScript-Website-Localizations/issues?q=is%3Aissue+is%3Aopen+label%3A%22Translation+Summary%22) which is sort of the TODO per language. + +The website handles localization in a few different ways, but you can think of it as "if I can do it in lang x, otherwise english" for as much as possible. + +This means you can do _some_ localization and the site will work fine and only be partially translated. + +## Our Thanks + +Localization is important work, and having technical contributors who understand TypeScript helping out is a massive win for everyone. You're helping people to _not need_ to master English to program and that lowers barriers considerably. + +`<3` + +## The sections + +### `Documentation` + +This is the handbook pages, reference material and all the other pages you think of as "TypeScript Documentation". You create a file with the same name as the English, and it replaces the english with your language. + + +### `Playground` + +The code samples in the Playground are localized, and are a good starting place for a new language because they are pretty short and focused. + +### `TSConfig Reference` + +A chunky section covering all of the TSConfig file options. These are split into many markdown files, so you can quite easily do one or two at a time. + +### `TypeScript Lang` + +The 'bits of text' on the website, the glue between all of the website. Not _everything_ is in here. If something essential is missing bring it up in the localization channel in Discord. + +## Getting started + +Instructions in [the README](https://github.com/microsoft/TypeScript-Website-Localizations) show to get set up, and to run a validator that your changes are good! \ No newline at end of file From aa7b904c5c0c920bd9f060676fefdbd23eedfd9d Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Thu, 22 Jul 2021 21:15:33 +0000 Subject: [PATCH 41/82] remove .vscode/ from the gitignore --- .gitignore | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitignore b/.gitignore index 21ade98b..66853a8a 100644 --- a/.gitignore +++ b/.gitignore @@ -105,6 +105,3 @@ dist # Related to @oss-docs/sync docs/**/en - -# VS Code option folder -.vscode/ From 93a6415ec62be963f968e7b2cc70484246aaf8b9 Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Fri, 23 Jul 2021 00:41:51 +0300 Subject: [PATCH 42/82] FR translation: copy file to translate --- docs/playground/fr/sections.json | 85 ++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 docs/playground/fr/sections.json diff --git a/docs/playground/fr/sections.json b/docs/playground/fr/sections.json new file mode 100644 index 00000000..bc1a3a27 --- /dev/null +++ b/docs/playground/fr/sections.json @@ -0,0 +1,85 @@ +{ + "sections": [ + { + "name": "JavaScript", + "id": "JavaScript", + "subtitle": "See how TypeScript improves day to day working with JavaScript with minimal additional syntax." + }, + { + "name": "TypeScript", + "id": "TypeScript", + "subtitle": "Explore how TypeScript extends JavaScript to add more safety and tooling." + }, + { + "name": "3.7", + "id": "3.7", + "subtitle": "See the Release notes." + }, + { + "name": "3.8", + "id": "3.8", + "subtitle": "See the Release notes." + }, + { + "name": "4.0", + "id": "4.0", + "subtitle": "See the Release notes." + }, + { + "name": "4.1", + "id": "4.1", + "subtitle": "See the Release notes." + }, + { + "name": "4.2", + "id": "4.2", + "subtitle": "See the Release notes." + }, + { + "name": "4.3", + "id": "4.3", + "subtitle": "See the Release notes." + }, + { + "name": "4.4", + "id": "4.4", + "subtitle": "See the Release notes." + }, + { + "name": "Playground V3", + "id": "Playground", + "subtitle": "Learn what has changed in this website." + } + ], + "sortedSubSections": [ + // JS + "JavaScript Essentials", + "Functions with JavaScript", + "Working With Classes", + "Modern JavaScript", + "External APIs", + "Helping with JavaScript", + // TS + "Primitives", + "Type Primitives", + "Meta-Types", + "Language", + "Language Extensions", + // Examples + "Syntax and Messaging", + "Types and Code Flow", + "Fixits", + // Playground + "Config", + "Tooling", + // 3.8 + "Breaking Changes", + "JSDoc Improvements", + // 4.0 + "New JS Features", + "New TS Features", + "New Checks", + // 4.1 + "Template Literals" + ] +} From 3a46d089f5fe54d703e9f6cdf1dd311e48edd2cf Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Fri, 23 Jul 2021 00:48:53 +0300 Subject: [PATCH 43/82] FR translation: translating to french --- docs/playground/fr/sections.json | 58 ++++++++++++++++---------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/docs/playground/fr/sections.json b/docs/playground/fr/sections.json index bc1a3a27..a3d68816 100644 --- a/docs/playground/fr/sections.json +++ b/docs/playground/fr/sections.json @@ -3,83 +3,83 @@ { "name": "JavaScript", "id": "JavaScript", - "subtitle": "See how TypeScript improves day to day working with JavaScript with minimal additional syntax." + "subtitle": "Voyez comment TypeScript facilite le travail du quotidien en JavaScript avec le minimum de syntaxe additionnelle." }, { "name": "TypeScript", "id": "TypeScript", - "subtitle": "Explore how TypeScript extends JavaScript to add more safety and tooling." + "subtitle": "Explorez comment TypeScript étend JavaScript en ajoutant de la sécuritée et des outils à votre code." }, { "name": "3.7", "id": "3.7", - "subtitle": "See the Release notes." + "subtitle": "Voir les notes de version." }, { "name": "3.8", "id": "3.8", - "subtitle": "See the Release notes." + "subtitle": "Voir les notes de version." }, { "name": "4.0", "id": "4.0", - "subtitle": "See the Release notes." + "subtitle": "Voir les notes de version." }, { "name": "4.1", "id": "4.1", - "subtitle": "See the Release notes." + "subtitle": "Voir les notes de version." }, { "name": "4.2", "id": "4.2", - "subtitle": "See the Release notes." + "subtitle": "Voir les notes de version." }, { "name": "4.3", "id": "4.3", - "subtitle": "See the Release notes." + "subtitle": "Voir les notes de version." }, { "name": "4.4", "id": "4.4", - "subtitle": "See the Release notes." + "subtitle": "Voir les notes de version." }, { "name": "Playground V3", "id": "Playground", - "subtitle": "Learn what has changed in this website." + "subtitle": "Voyez ce qui a changé sur ce site." } ], "sortedSubSections": [ // JS - "JavaScript Essentials", - "Functions with JavaScript", - "Working With Classes", - "Modern JavaScript", - "External APIs", - "Helping with JavaScript", + "Fondamentaux JavaScript", + "Les fonctions en JavaScript", + "Utiliser les classes", + "JavaScript moderne", + "APIs externes", + "Aide pour le JavaScript", // TS "Primitives", - "Type Primitives", + "Types primitifs", "Meta-Types", - "Language", - "Language Extensions", + "Langage", + "Extensions du langage", // Examples - "Syntax and Messaging", - "Types and Code Flow", + "Syntaxe et messages", + "Types et flux de code", "Fixits", // Playground - "Config", - "Tooling", + "Configuration", + "Outillage", // 3.8 - "Breaking Changes", - "JSDoc Improvements", + "Modifications avec rupture", + "Amélioration de JSDoc", // 4.0 - "New JS Features", - "New TS Features", - "New Checks", + "Nouvelles fonctionnalités JS", + "Nouvelles fonctionnalités TS", + "Nouvelles vérifications", // 4.1 - "Template Literals" + "Littéraux de gabarits" ] } From 1c2fc3d61c4e578841e21c5a950d47ad4829c00a Mon Sep 17 00:00:00 2001 From: Gael Date: Thu, 22 Jul 2021 18:44:02 -0700 Subject: [PATCH 44/82] Add fr/typescriptlang/community.ts --- docs/typescriptlang/fr/community.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 docs/typescriptlang/fr/community.ts diff --git a/docs/typescriptlang/fr/community.ts b/docs/typescriptlang/fr/community.ts new file mode 100644 index 00000000..4caf9812 --- /dev/null +++ b/docs/typescriptlang/fr/community.ts @@ -0,0 +1,28 @@ +export const comCopy = { + com_layout_title: 'Comment configurer TypeScript', // FIXME: Is this the right title for the community page? + com_layout_description: + "Échangez avec d'autres TypeScripters en ligne et hors ligne.", + com_headline: 'Échangez avec nous', // FIXME: I think this is not used anywhere + com_connect_online: 'En ligne', + com_connect_online_description: + 'Dites nous ce qui marche, ce que vous souhaitez voir ajouté ou amélioré, et tenez vous au courant des nouvelles mises à jour.', + com_online_stack_overflow_desc: + "Discutez avec vos proches et posez des questions sur TypeScript avec le tag 'typescript'", + com_online_stack_overflow_tag: '', + com_online_discord_header: 'Chat', + com_online_discord_desc: + "Discutez avec d'autres utilisateurs TypeScript dans le Chat communautaire TypeScript.", + com_online_github_desc: + 'Vous avez trouvé un bug, ou souhaitez donner du feebdack constructif ?', + com_online_github_href: 'Dites nous sur GitHub', + com_online_twitter_desc: 'Restez à jour. Suivez-nous sur Twitter', + com_online_blog_desc: + 'Découvrez les derniers développements TypeScript sur notre', //... blog + com_online_typed_desc: 'Fichiers de définition TypeScript.', + com_online_typed_href: 'Parcourez les milliers de', + com_online_typed_available_for: + 'disponibles pour les bibliothèques et frameworks communs.', + com_person: 'Échangez en personne', + com_conferences: 'Conférences', + com_conferences_alt_img: 'logo de ', +}; From 0db86d5eb4f56f4cdc84e9459e02a2b827deb263 Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Fri, 23 Jul 2021 05:00:33 +0000 Subject: [PATCH 45/82] Update docs/documentation/fr/Nightly Builds.md Co-authored-by: Gael du Plessix --- docs/documentation/fr/Nightly Builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/fr/Nightly Builds.md b/docs/documentation/fr/Nightly Builds.md index 14f326b9..b8cd1898 100644 --- a/docs/documentation/fr/Nightly Builds.md +++ b/docs/documentation/fr/Nightly Builds.md @@ -6,7 +6,7 @@ oneline: Comment utiliser une nightly build de TypeScript translatable: true --- -Une Nightly Builds de la branche [TypeScript's `main`](https://github.com/Microsoft/TypeScript/tree/main) est publiée avant minuit PST à npm. +Une Nightly Builds de la branche [Typescript `main`](https://github.com/Microsoft/TypeScript/tree/main) est publiée avant minuit PST sur npm. Voici comment vous pouvez l'obtenir et l'utiliser avec vos outils. ## En utilisant npm From 105fb8e6e9ae62f19bbc92d73a93873fd7302f31 Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Fri, 23 Jul 2021 05:00:45 +0000 Subject: [PATCH 46/82] Update docs/documentation/fr/Nightly Builds.md Co-authored-by: Gael du Plessix --- docs/documentation/fr/Nightly Builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/fr/Nightly Builds.md b/docs/documentation/fr/Nightly Builds.md index b8cd1898..fc5ced7d 100644 --- a/docs/documentation/fr/Nightly Builds.md +++ b/docs/documentation/fr/Nightly Builds.md @@ -31,7 +31,7 @@ Mettez à jour `.vscode/settings.json` avec les éléments suivants : "typescript.tsdk": "/node_modules/typescript/lib" ``` -Plus d'informations sont disponibles sur [documentation VSCode](https://code.visualstudio.com/Docs/languages/typescript#_using-newer-typescript-versions). +Plus d'informations sont disponibles sur la [documentation VSCode](https://code.visualstudio.com/Docs/languages/typescript#_using-newer-typescript-versions). ### Sublime Text From eb0fd68b8ad9e1cb1bfe461574c12dd3b5a88001 Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Fri, 23 Jul 2021 05:04:45 +0000 Subject: [PATCH 47/82] Update docs/tsconfig/fr/intro.md Co-authored-by: Gael du Plessix --- docs/tsconfig/fr/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tsconfig/fr/intro.md b/docs/tsconfig/fr/intro.md index 940d338c..4765ebba 100644 --- a/docs/tsconfig/fr/intro.md +++ b/docs/tsconfig/fr/intro.md @@ -11,7 +11,7 @@ Cette page couvre toutes les différentes options disponibles dans un fichier TS - Un aperçu catégorisé de tous les aspects du compilateur - Les [root fields](#Project_Files_0) pour indiquer à TypeScript quels fichiers sont disponibles - Les champs [`compilerOptions`](#compilerOptions), c'est la majorité du document -- Les champs [`watchOptions`](#watchOptions), pour peaufiner le mode montre +- Les champs [`watchOptions`](#watchOptions), pour peaufiner le mode "watch" (rafraichissement automatique) - Les champs [`typeAcquisition`](#typeAcquisition), pour peaufiner la façon dont les types sont ajoutés aux projets JavaScript Si vous démarrez un TSConfig à partir de zéro, vous pouvez envisager d'utiliser `tsc --init` pour amorcer ou utiliser une [base TSConfig](https://github.com/tsconfig/bases#centralized-recommendations-for-tsconfig-bases). From 3dd840ba031259738d12b160f774ae72787c2b2c Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Fri, 23 Jul 2021 05:04:57 +0000 Subject: [PATCH 48/82] Update docs/documentation/fr/Nightly Builds.md Co-authored-by: Gael du Plessix --- docs/documentation/fr/Nightly Builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/fr/Nightly Builds.md b/docs/documentation/fr/Nightly Builds.md index fc5ced7d..cfdec739 100644 --- a/docs/documentation/fr/Nightly Builds.md +++ b/docs/documentation/fr/Nightly Builds.md @@ -36,7 +36,7 @@ Plus d'informations sont disponibles sur la [documentation VSCode](https://code. ### Sublime Text -UMettez à jour le fichier `Paramètres - Utilisateur` avec les éléments suivants : +Mettez à jour le fichier `Paramètres - Utilisateur` avec les éléments suivants : ```json "typescript_tsdk": "/node_modules/typescript/lib" From 37bb09a383d3931db8e4514a671d7461217505e0 Mon Sep 17 00:00:00 2001 From: Orta Date: Fri, 23 Jul 2021 06:13:15 +0100 Subject: [PATCH 49/82] Get green --- .github/workflows/post-localizations.yml | 3 +++ .github/workflows/weekly-contributions.yml | 15 --------------- 2 files changed, 3 insertions(+), 15 deletions(-) delete mode 100644 .github/workflows/weekly-contributions.yml diff --git a/.github/workflows/post-localizations.yml b/.github/workflows/post-localizations.yml index 4477e168..5d00e81a 100644 --- a/.github/workflows/post-localizations.yml +++ b/.github/workflows/post-localizations.yml @@ -9,6 +9,9 @@ jobs: steps: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 + with: + node-version: "13.x" + - run: yarn install - run: yarn danger ci diff --git a/.github/workflows/weekly-contributions.yml b/.github/workflows/weekly-contributions.yml deleted file mode 100644 index c44c1d7a..00000000 --- a/.github/workflows/weekly-contributions.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Update Attributions Weekly - -on: - workflow_dispatch: - schedule: - # https://crontab.guru/#0_6_*_*_* - - cron: '0 6 * * *' - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 From 604a929c6a7687c1fd5819acbcc2697609bbccf9 Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Fri, 23 Jul 2021 12:59:24 +0300 Subject: [PATCH 50/82] FR translation: typo + additional translation --- docs/playground/fr/sections.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/playground/fr/sections.json b/docs/playground/fr/sections.json index a3d68816..1ecf49f1 100644 --- a/docs/playground/fr/sections.json +++ b/docs/playground/fr/sections.json @@ -8,7 +8,7 @@ { "name": "TypeScript", "id": "TypeScript", - "subtitle": "Explorez comment TypeScript étend JavaScript en ajoutant de la sécuritée et des outils à votre code." + "subtitle": "Explorez comment TypeScript étend JavaScript en ajoutant de la sécurité et des outils à votre code." }, { "name": "3.7", @@ -68,7 +68,7 @@ // Examples "Syntaxe et messages", "Types et flux de code", - "Fixits", + "Correction automatique", // Playground "Configuration", "Outillage", From 7b22995cf06d1f662302a72eb5e2f35d5ed20676 Mon Sep 17 00:00:00 2001 From: manusquall Date: Fri, 23 Jul 2021 11:32:56 +0000 Subject: [PATCH 51/82] Update docs/tsconfig/fr/intro.md --- docs/tsconfig/fr/intro.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/tsconfig/fr/intro.md b/docs/tsconfig/fr/intro.md index 4765ebba..753e6454 100644 --- a/docs/tsconfig/fr/intro.md +++ b/docs/tsconfig/fr/intro.md @@ -9,9 +9,9 @@ Le fichier TSConfig peut être un `tsconfig.json` ou `jsconfig.json`, les deux o Cette page couvre toutes les différentes options disponibles dans un fichier TSConfig. Il y a plus de 100 options, et cette page n'est pas conçue pour être lue de haut en bas. Au lieu de cela, elle comporte cinq sections principales : - Un aperçu catégorisé de tous les aspects du compilateur -- Les [root fields](#Project_Files_0) pour indiquer à TypeScript quels fichiers sont disponibles +- Les [champs racine](#Project_Files_0) pour indiquer à TypeScript quels fichiers sont disponibles - Les champs [`compilerOptions`](#compilerOptions), c'est la majorité du document - Les champs [`watchOptions`](#watchOptions), pour peaufiner le mode "watch" (rafraichissement automatique) - Les champs [`typeAcquisition`](#typeAcquisition), pour peaufiner la façon dont les types sont ajoutés aux projets JavaScript -Si vous démarrez un TSConfig à partir de zéro, vous pouvez envisager d'utiliser `tsc --init` pour amorcer ou utiliser une [base TSConfig](https://github.com/tsconfig/bases#centralized-recommendations-for-tsconfig-bases). +Si vous démarrez un fichier TSConfig à partir de zéro, vous pouvez envisager d'utiliser `tsc --init` pour amorcer ou utiliser une [base TSConfig](https://github.com/tsconfig/bases#centralized-recommendations-for-tsconfig-bases). From ee2bf9a775e68de2bcbee93c92b670cfdbc589f5 Mon Sep 17 00:00:00 2001 From: Gael Date: Fri, 23 Jul 2021 09:04:08 -0700 Subject: [PATCH 52/82] Fix feedback wording --- docs/typescriptlang/fr/community.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/typescriptlang/fr/community.ts b/docs/typescriptlang/fr/community.ts index 4caf9812..f141403d 100644 --- a/docs/typescriptlang/fr/community.ts +++ b/docs/typescriptlang/fr/community.ts @@ -13,7 +13,7 @@ export const comCopy = { com_online_discord_desc: "Discutez avec d'autres utilisateurs TypeScript dans le Chat communautaire TypeScript.", com_online_github_desc: - 'Vous avez trouvé un bug, ou souhaitez donner du feebdack constructif ?', + 'Vous avez trouvé un bug, ou souhaitez nous donner un feebdack constructif ?', com_online_github_href: 'Dites nous sur GitHub', com_online_twitter_desc: 'Restez à jour. Suivez-nous sur Twitter', com_online_blog_desc: From 429dce1556235d0a59d39fbdaf1ba1a6a46bdbab Mon Sep 17 00:00:00 2001 From: manusquall Date: Fri, 23 Jul 2021 20:21:44 +0000 Subject: [PATCH 53/82] update Nightly Builds.md --- docs/documentation/fr/Nightly Builds.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/documentation/fr/Nightly Builds.md b/docs/documentation/fr/Nightly Builds.md index cfdec739..9aa0ffcc 100644 --- a/docs/documentation/fr/Nightly Builds.md +++ b/docs/documentation/fr/Nightly Builds.md @@ -6,7 +6,7 @@ oneline: Comment utiliser une nightly build de TypeScript translatable: true --- -Une Nightly Builds de la branche [Typescript `main`](https://github.com/Microsoft/TypeScript/tree/main) est publiée avant minuit PST sur npm. +Une nightly build de la branche [Typescript `main`](https://github.com/Microsoft/TypeScript/tree/main) est publiée avant minuit PST sur npm. Voici comment vous pouvez l'obtenir et l'utiliser avec vos outils. ## En utilisant npm @@ -15,9 +15,9 @@ Voici comment vous pouvez l'obtenir et l'utiliser avec vos outils. npm install -g typescript@next ``` -## Mettre à jour votre IDE pour utiliser les Nightly Builds +## Mettre à jour votre IDE pour utiliser les nightly builds -Vous pouvez également mettre à jour votre IDE pour utiliser la Nightly Builds. +Vous pouvez également mettre à jour votre IDE pour utiliser la nightly build. Vous devrez d'abord installer le package via npm. Vous pouvez soit installer le package npm globalement, soit dans un dossier local `node_modules`. From 158a8dfdd7b8130b5728c42b643e15dee2bc3182 Mon Sep 17 00:00:00 2001 From: manusquall Date: Sat, 24 Jul 2021 00:09:22 +0000 Subject: [PATCH 54/82] translate Angular.md file --- docs/documentation/fr/tutorials/Angular.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 docs/documentation/fr/tutorials/Angular.md diff --git a/docs/documentation/fr/tutorials/Angular.md b/docs/documentation/fr/tutorials/Angular.md new file mode 100644 index 00000000..0c7fa904 --- /dev/null +++ b/docs/documentation/fr/tutorials/Angular.md @@ -0,0 +1,14 @@ +--- +title: Angular +layout: docs +permalink: /docs/handbook/angular.html +oneline: Utiliser Angular avec TypeScript +deprecated: true +--- + +Angular est un framework moderne entièrement construit en TypeScript et, par conséquent, l'utilisation de TypeScript avec Angular offre une expérience fluide. + +La documentation d'Angular prend non seulement en charge TypeScript en tant qu'objet de première classe, mais l'utilise comme langage principal. +Dans cet esprit, [le site d'Angular](https://angular.io) sera toujours la référence la plus à jour pour utiliser Angular avec TypeScript. + +Consultez le [guide de démarrage rapide ici](https://angular.io/docs/ts/latest/quickstart.html) pour commencer à apprendre Angular maintenant ! From dc86224fffcc77022dd22064cd246752e2610870 Mon Sep 17 00:00:00 2001 From: manusquall Date: Sat, 24 Jul 2021 02:06:05 +0000 Subject: [PATCH 55/82] translate React.md file in french --- docs/documentation/fr/tutorials/React.md | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 docs/documentation/fr/tutorials/React.md diff --git a/docs/documentation/fr/tutorials/React.md b/docs/documentation/fr/tutorials/React.md new file mode 100644 index 00000000..8989a58d --- /dev/null +++ b/docs/documentation/fr/tutorials/React.md @@ -0,0 +1,26 @@ +--- +title: React +layout: docs +permalink: /docs/handbook/react.html +oneline: Liens pour en savoir plus sur TypeScript et React +translatable: true +--- + +TypeScript prend en charge [JSX](/docs/handbook/jsx.html) et peut modéliser correctement les modèles utilisés dans les bases de code React comme `useState`. + +### Mise en place d'un projet React + +Aujourd'hui, il existe de nombreux frameworks qui prennent en charge TypeScript indépendamment: : + +- [Create React App](https://create-react-app.dev) - [TS docs](https://create-react-app.dev/docs/adding-typescript/) +- [Next.js](https://nextjs.org) - [TS docs](https://nextjs.org/learn/excel/typescript) +- [Gatsby](https://www.gatsbyjs.org) - [TS Docs](https://www.gatsbyjs.org/docs/typescript/) + +Tous ces éléments sont d'excellents points de départ. Nous [utilisons Gatsby](https://www.gatsbyjs.org/blog/2020-01-23-why-typescript-chose-gatsby/#reach-skip-nav) avec TypeScript pour [ce site Web](https://github.com/microsoft/TypeScript-Website/), ce qui peut également être une implémentation de référence utile. + +### Documentation + +Voici quelques-uns des meilleurs endroits pour trouver des informations à jour sur React et TypeScript : + +- [Aide-mémoire de React et TypeScript](https://react-typescript-cheatsheet.netlify.app) +- [React & Redux dans TypeScript](https://github.com/piotrwitek/react-redux-typescript-guide#react--redux-in-typescript---complete-guide) From fd37f71ec490c5894b3f1f683ba122b8274b5333 Mon Sep 17 00:00:00 2001 From: zyhou Date: Sat, 24 Jul 2021 15:04:42 +0200 Subject: [PATCH 56/82] FR translation: some file in typescriptlong --- docs/typescriptlang/fr/dt.ts | 19 +++++++++++++++++++ docs/typescriptlang/fr/fr.ts | 16 ++++++++++++++++ docs/typescriptlang/fr/handbook.ts | 13 +++++++++++++ docs/typescriptlang/fr/head-seo.ts | 14 ++++++++++++++ docs/typescriptlang/fr/nav.ts | 22 ++++++++++++++++++++++ docs/typescriptlang/fr/tsconfig.ts | 0 6 files changed, 84 insertions(+) create mode 100644 docs/typescriptlang/fr/dt.ts create mode 100644 docs/typescriptlang/fr/fr.ts create mode 100644 docs/typescriptlang/fr/handbook.ts create mode 100644 docs/typescriptlang/fr/head-seo.ts create mode 100644 docs/typescriptlang/fr/nav.ts create mode 100644 docs/typescriptlang/fr/tsconfig.ts diff --git a/docs/typescriptlang/fr/dt.ts b/docs/typescriptlang/fr/dt.ts new file mode 100644 index 00000000..e8ad4227 --- /dev/null +++ b/docs/typescriptlang/fr/dt.ts @@ -0,0 +1,19 @@ +export const dtCopy = { + dt_s_page_title: "Rechercher des paquets typés", + dt_s_title: "Rechercher un paquet", + dt_s_subtitle: + "Trouver des paquets npm qui ont des déclarations de types, soit intégrés ou sur Definitely Typed.", + dt_s_match: "résultat", + dt_s_matchs: "résultats", + dt_s_match_exact: "Résultat exact", + dt_s_popular_on_dt: "Populaire sur Definitely Typed", + dt_s_downloads_short: "DLs", + dt_s_downloads_via: "Via", + dt_s_module: "Module", + dt_s_last_update: "Dernière mise à jour", + dt_s_install: "Installer", + dt_s_no_results: "Aucun résultat trouvé pour", + dt_s_no_results_try: "Essayez une autre recherche ?", + dt_s_copy: "copier", + dt_s_copied: "copié", +}; diff --git a/docs/typescriptlang/fr/fr.ts b/docs/typescriptlang/fr/fr.ts new file mode 100644 index 00000000..6ba8dca5 --- /dev/null +++ b/docs/typescriptlang/fr/fr.ts @@ -0,0 +1,16 @@ +import { defineMessages } from "react-intl"; +import { Copy, messages as englishMessages } from "../en/en"; +import { comCopy } from "./community"; +import { dtCopy } from "./dt"; +import { handbookCopy } from "./handbook"; +import { headCopy } from "./head-seo"; +import { navCopy } from "./nav"; + +export const lang: Copy = defineMessages({ + ...englishMessages, + ...comCopy, + ...dtCopy, + ...handbookCopy, + ...headCopy, + ...navCopy, +}); diff --git a/docs/typescriptlang/fr/handbook.ts b/docs/typescriptlang/fr/handbook.ts new file mode 100644 index 00000000..73fe9796 --- /dev/null +++ b/docs/typescriptlang/fr/handbook.ts @@ -0,0 +1,13 @@ +export const handbookCopy = { + handb_prev: "Précédent", + handb_next: "Suivant", + handb_on_this_page: "Dans cette page", + handb_like_dislike_title: "Cette page est-elle utile ?", + handb_like_desc: "Oui", + handb_dislike_desc: "Non", + handb_thanks: "Merci pour votre retour", + handb_deprecated_title: "Cette page a été dépréciée", + handb_deprecated_subtitle: "Cette page du guide a été remplacé, ", + handb_deprecated_subtitle_link: "aller à la nouvelle page", + handb_deprecated_subtitle_action: "Aller à la nouvelle page", +}; diff --git a/docs/typescriptlang/fr/head-seo.ts b/docs/typescriptlang/fr/head-seo.ts new file mode 100644 index 00000000..eae22e8a --- /dev/null +++ b/docs/typescriptlang/fr/head-seo.ts @@ -0,0 +1,14 @@ +export const headCopy = { + head_playground_title: + "TS Playground - Un éditeur en ligne pour explorer TypeScript et JavaScript", + head_playground_description: + "Playground vous permet d'écrire du TypeScript ou du JavaScript en ligne de manière sûre et partageable.", + tsconfig_title: + "Référence TSConfig - documentation sur toutes les options du fichier TSConfig", + tsconfig_description: + "De allowJs à useDefineForClassFields, la référence TSConfig documente les différents options du compilateur qui permettent de configurer un projet TypeScript.", + playground_example_prefix: "Playground Exemple - ", + + head_index_title: "JavaScript typé à toute échelle", + head_index_description: "JavaScript typé à toute échelle", +}; diff --git a/docs/typescriptlang/fr/nav.ts b/docs/typescriptlang/fr/nav.ts new file mode 100644 index 00000000..af1b58c3 --- /dev/null +++ b/docs/typescriptlang/fr/nav.ts @@ -0,0 +1,22 @@ +export const navCopy = { + skip_to_content: "Aller au contenu principal", + nav_documentation: "Documentation", + nav_documentation_short: "Docs", + nav_download: "Télécharger", + nav_community: "Communauté", + nav_playground: "Playground", + nav_playground_short: "Play", + nav_handbook: "Guide", + nav_tools: "Outils", + nav_search_placeholder: "Rechercher", + nav_search_aria: "Recherche sur le site TypeScript", + // let me know if you can't make this work in your lang: + // TypeScript X.Y [stable][between?]Z.Y[beta/rc] + nav_version_stable_prefix: "est maintenant disponible", + nav_version_between: ", ", + nav_version_beta_prefix: "est actuellement en bêta.", + nav_version_rc_prefix: "est une version candidate, essayer la.", + nav_this_page_in_your_lang: "Cette page est disponible dans votre langue", + nav_this_page_in_your_lang_open: "Ouvrir", + nav_this_page_in_your_lang_no_more: "Ne plus montrer", +}; diff --git a/docs/typescriptlang/fr/tsconfig.ts b/docs/typescriptlang/fr/tsconfig.ts new file mode 100644 index 00000000..e69de29b From bab038a6004ba65fbfb0c13f45e9e35d499f5442 Mon Sep 17 00:00:00 2001 From: manusquall Date: Sat, 24 Jul 2021 14:10:48 +0000 Subject: [PATCH 57/82] fix permalink in Angularmd and Reactmd files --- docs/documentation/fr/tutorials/Angular.md | 2 +- docs/documentation/fr/tutorials/React.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/documentation/fr/tutorials/Angular.md b/docs/documentation/fr/tutorials/Angular.md index 0c7fa904..729b5bd8 100644 --- a/docs/documentation/fr/tutorials/Angular.md +++ b/docs/documentation/fr/tutorials/Angular.md @@ -1,7 +1,7 @@ --- title: Angular layout: docs -permalink: /docs/handbook/angular.html +permalink: /fr/docs/handbook/angular.html oneline: Utiliser Angular avec TypeScript deprecated: true --- diff --git a/docs/documentation/fr/tutorials/React.md b/docs/documentation/fr/tutorials/React.md index 8989a58d..2edc050f 100644 --- a/docs/documentation/fr/tutorials/React.md +++ b/docs/documentation/fr/tutorials/React.md @@ -1,7 +1,7 @@ --- title: React layout: docs -permalink: /docs/handbook/react.html +permalink: /fr/docs/handbook/react.html oneline: Liens pour en savoir plus sur TypeScript et React translatable: true --- From 11fa831f043a93102ee05ca7f627bb237e9897de Mon Sep 17 00:00:00 2001 From: Orta Date: Mon, 26 Jul 2021 07:34:45 +0100 Subject: [PATCH 58/82] Fix CI --- .../fr/categories/Watch_and_Build_Modes_6250.md | 10 ++++++++++ docs/tsconfig/fr/options/alwaysStrict.md | 8 ++++++++ docs/tsconfig/fr/sections/watchOptions.md | 3 +++ 3 files changed, 21 insertions(+) create mode 100644 docs/tsconfig/fr/categories/Watch_and_Build_Modes_6250.md create mode 100644 docs/tsconfig/fr/options/alwaysStrict.md create mode 100644 docs/tsconfig/fr/sections/watchOptions.md diff --git a/docs/tsconfig/fr/categories/Watch_and_Build_Modes_6250.md b/docs/tsconfig/fr/categories/Watch_and_Build_Modes_6250.md new file mode 100644 index 00000000..13303a81 --- /dev/null +++ b/docs/tsconfig/fr/categories/Watch_and_Build_Modes_6250.md @@ -0,0 +1,10 @@ +--- +display: "Watch Options" +--- + +TypeScript 3.8 shipped a new strategy for watching directories, which is crucial for efficiently picking up changes to `node_modules`. + +On operating systems like Linux, TypeScript installs directory watchers (as opposed to file watchers) on `node_modules` and many of its subdirectories to detect changes in dependencies. +This is because the number of available file watchers is often eclipsed by the of files in `node_modules`, whereas there are way fewer directories to track. + +Because every project might work better under different strategies, and this new approach might not work well for your workflows, TypeScript 3.8 introduces a new `watchOptions` field which allows users to tell the compiler/language service which watching strategies should be used to keep track of files and directories. diff --git a/docs/tsconfig/fr/options/alwaysStrict.md b/docs/tsconfig/fr/options/alwaysStrict.md new file mode 100644 index 00000000..694eb961 --- /dev/null +++ b/docs/tsconfig/fr/options/alwaysStrict.md @@ -0,0 +1,8 @@ +--- +display: "Always Strict" +oneline: "Ensure 'use strict' is always emitted." +--- + +Ensures that your files are parsed in the ECMAScript strict mode, and emit "use strict" for each source file. + +[ECMAScript strict](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Strict_mode) mode was introduced in ES5 and provides behavior tweaks to the runtime of the JavaScript engine to improve performance, and makes a set of errors throw instead of silently ignoring them. diff --git a/docs/tsconfig/fr/sections/watchOptions.md b/docs/tsconfig/fr/sections/watchOptions.md new file mode 100644 index 00000000..efc7cd79 --- /dev/null +++ b/docs/tsconfig/fr/sections/watchOptions.md @@ -0,0 +1,3 @@ +## Watch Options + +You can configure the how TypeScript `--watch` works. This section is mainly for handling case where `fs.watch` and `fs.watchFile` have additional constraints like on Linux. You can read more at [Configuring Watch](/docs/handbook/configuring-watch.html). From 2777fdd9ab91e6efa318a8f0e464b1fea2e5bff2 Mon Sep 17 00:00:00 2001 From: GitHub Bot Date: Mon, 26 Jul 2021 12:03:31 +0000 Subject: [PATCH 59/82] Update attribution.json --- attribution.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribution.json b/attribution.json index 3d61c6af..43ea2d59 100644 --- a/attribution.json +++ b/attribution.json @@ -1 +1 @@ -{"docs/documentation/id/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/Nightly Builds.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/pl/Nightly Builds.md":{"top":[{"name":"Tomasz Flis","gravatar":"08e7aff8ab9ee444e39a3fea0213bd27","count":6}],"total":1},"docs/documentation/pt/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":7},{"name":"Orta Therox","gravatar":"28e997da43c10d99aa99273b48efe8cf","count":1}],"total":2},"docs/documentation/id/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/declaration-files/By Example.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Consumption.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Deep Dive.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Do's and Don'ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Introduction.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Library Structures.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Publishing.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Templates.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for Functional Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"DongHwan Kim","gravatar":"860f2b0f77e66efd4822c1715f6cf1c6","count":1}],"total":2},"docs/documentation/ko/get-started/TS for JS Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for OOPers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for the New Programmer.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Basics.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":12}],"total":1},"docs/documentation/ko/handbook-v2/Everyday Types.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":15}],"total":1},"docs/documentation/ko/handbook-v2/The Handbook.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Creating DTS files From JS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Intro to JS with TS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/JSDoc Reference.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options in MSBuild.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Configuring Watch.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Integrating with Build Tools.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Project References.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/tsconfig.json.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Decorators.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Enums.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Module Resolution.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"정현문","gravatar":"d88c1b4734a3c17ba0d4286e9b8bc489","count":1}],"total":2},"docs/documentation/ko/reference/Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces and Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Type Compatibility.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":2},"docs/documentation/ko/reference/Variable Declarations.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.8.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.9.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 4.0.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/ASP.NET Core.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/ko/tutorials/DOM Manipulation.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Gulp.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Migrating from JavaScript.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/ko/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/pl/handbook-v2/The Handbook.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jakub Cabak","gravatar":"853694852f976eb9a8d79fd335f72a6c","count":1},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":3},"docs/documentation/pt/declaration-files/Consumption.md":{"top":[{"name":"Leandro Lima","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":11},{"name":"Leandro","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":2}],"total":2},"docs/documentation/pt/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Project References.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/tsconfig.json.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/pt/reference/Module Resolution.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces and Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Compatibility.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Variable Declarations.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/vo/handbook-v1/Basic Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/project-config/tsconfig.json.md":{"top":[{"name":"Leon","gravatar":"3a0dff3d171777a5b2b8ceddf691ba35","count":8}],"total":1},"docs/documentation/ko/declaration-files/templates/module-class.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/templates/module-function.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Type Manipulation/Generics.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1}} \ No newline at end of file +{"docs/documentation/fr/Nightly Builds.md":{"top":[{"name":"manusquall","gravatar":"1e8e6cdfd33a72acbc3e6750ed7afae2","count":7},{"name":"Charles Emmanuel S. Ndiaye","gravatar":"7a7a00e233291d390dd4ed213f29101c","count":3}],"total":2},"docs/documentation/id/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/Nightly Builds.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/pl/Nightly Builds.md":{"top":[{"name":"Tomasz Flis","gravatar":"08e7aff8ab9ee444e39a3fea0213bd27","count":6}],"total":1},"docs/documentation/pt/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":7},{"name":"Orta Therox","gravatar":"28e997da43c10d99aa99273b48efe8cf","count":1}],"total":2},"docs/documentation/id/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/declaration-files/By Example.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Consumption.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Deep Dive.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Do's and Don'ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Introduction.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Library Structures.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Publishing.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Templates.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for Functional Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"DongHwan Kim","gravatar":"860f2b0f77e66efd4822c1715f6cf1c6","count":1}],"total":2},"docs/documentation/ko/get-started/TS for JS Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for OOPers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for the New Programmer.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Basics.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":12}],"total":1},"docs/documentation/ko/handbook-v2/Everyday Types.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":15}],"total":1},"docs/documentation/ko/handbook-v2/The Handbook.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Creating DTS files From JS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Intro to JS with TS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/JSDoc Reference.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options in MSBuild.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Configuring Watch.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Integrating with Build Tools.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Project References.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/tsconfig.json.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Decorators.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Enums.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Module Resolution.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"정현문","gravatar":"d88c1b4734a3c17ba0d4286e9b8bc489","count":1}],"total":2},"docs/documentation/ko/reference/Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces and Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Type Compatibility.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":2},"docs/documentation/ko/reference/Variable Declarations.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.8.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.9.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 4.0.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/ASP.NET Core.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/ko/tutorials/DOM Manipulation.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Gulp.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Migrating from JavaScript.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/ko/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/pl/handbook-v2/The Handbook.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jakub Cabak","gravatar":"853694852f976eb9a8d79fd335f72a6c","count":1},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":3},"docs/documentation/pt/declaration-files/Consumption.md":{"top":[{"name":"Leandro Lima","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":11},{"name":"Leandro","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":2}],"total":2},"docs/documentation/pt/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Project References.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/tsconfig.json.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/pt/reference/Module Resolution.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces and Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Compatibility.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Variable Declarations.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/vo/handbook-v1/Basic Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/project-config/tsconfig.json.md":{"top":[{"name":"Leon","gravatar":"3a0dff3d171777a5b2b8ceddf691ba35","count":8}],"total":1},"docs/documentation/ko/declaration-files/templates/module-class.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/templates/module-function.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Type Manipulation/Generics.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1}} \ No newline at end of file From 8c0819618c053fc15de0f176c8794016a20d60ae Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Tue, 27 Jul 2021 18:51:04 +0000 Subject: [PATCH 60/82] Update docs/documentation/fr/tutorials/Angular.md Co-authored-by: Gael du Plessix --- docs/documentation/fr/tutorials/Angular.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/fr/tutorials/Angular.md b/docs/documentation/fr/tutorials/Angular.md index 729b5bd8..6a4cd154 100644 --- a/docs/documentation/fr/tutorials/Angular.md +++ b/docs/documentation/fr/tutorials/Angular.md @@ -8,7 +8,7 @@ deprecated: true Angular est un framework moderne entièrement construit en TypeScript et, par conséquent, l'utilisation de TypeScript avec Angular offre une expérience fluide. -La documentation d'Angular prend non seulement en charge TypeScript en tant qu'objet de première classe, mais l'utilise comme langage principal. +La documentation d'Angular ne met pas seulement TypeScript au premier plan, mais l'utilise également comme langage principal. Dans cet esprit, [le site d'Angular](https://angular.io) sera toujours la référence la plus à jour pour utiliser Angular avec TypeScript. Consultez le [guide de démarrage rapide ici](https://angular.io/docs/ts/latest/quickstart.html) pour commencer à apprendre Angular maintenant ! From 6f3077b3107d354e881bdd41c77be5273872a6f4 Mon Sep 17 00:00:00 2001 From: "Charles Emmanuel S. Ndiaye" Date: Tue, 27 Jul 2021 18:51:58 +0000 Subject: [PATCH 61/82] Update docs/documentation/fr/tutorials/React.md Co-authored-by: Gael du Plessix --- docs/documentation/fr/tutorials/React.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/fr/tutorials/React.md b/docs/documentation/fr/tutorials/React.md index 2edc050f..b50d501b 100644 --- a/docs/documentation/fr/tutorials/React.md +++ b/docs/documentation/fr/tutorials/React.md @@ -6,7 +6,7 @@ oneline: Liens pour en savoir plus sur TypeScript et React translatable: true --- -TypeScript prend en charge [JSX](/docs/handbook/jsx.html) et peut modéliser correctement les modèles utilisés dans les bases de code React comme `useState`. +TypeScript prend en charge [JSX](/docs/handbook/jsx.html) et peut modéliser correctement les conventions utilisées dans les bases de code React comme `useState`. ### Mise en place d'un projet React From 1a726ccd5748f635ffc9a6bf445f8c77ae360ce8 Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Fri, 23 Jul 2021 16:52:08 +0300 Subject: [PATCH 62/82] FR Translation: copy file to translate --- .../fr/3-7/Fixits/Big number literals.ts | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 docs/playground/fr/3-7/Fixits/Big number literals.ts diff --git a/docs/playground/fr/3-7/Fixits/Big number literals.ts b/docs/playground/fr/3-7/Fixits/Big number literals.ts new file mode 100644 index 00000000..71f0ee80 --- /dev/null +++ b/docs/playground/fr/3-7/Fixits/Big number literals.ts @@ -0,0 +1,38 @@ +//// { compiler: { target: 99 }, order: 1 } + +// Did you know there is a limit to how big of a number you +// can represent in JavaScript when writing ? + +const maxHighValue = 9007199254740991; +const maxLowValue = -9007199254740991; + +// If you go one over/below these numbers +// then you start to get into dangerous territory. + +const oneOverMax = 9007199254740992; +const oneBelowMin = -9007199254740992; + +// The solution for handling numbers of this size +// is to convert these numbers to BigInts instead +// of a number: +// +// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/BigInt + +// TypeScript will now offer a fixit for number +// literals which are above 2^52 (positive / negative) +// which adds the suffix "n" which informs JavaScript +// that the type should be BigInt. + +// Number literals +9007199254740993; +-9007199254740993; +9007199254740994; +-9007199254740994; + +// Hex numbers +0x19999999999999; +-0x19999999999999; +0x20000000000000; +-0x20000000000000; +0x20000000000001; +-0x20000000000001; From ae89677a2ba9725b55d7394b8db01e94cb4a0ade Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Fri, 23 Jul 2021 17:11:55 +0300 Subject: [PATCH 63/82] FR translation: translate file --- .../fr/3-7/Fixits/Big number literals.ts | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/docs/playground/fr/3-7/Fixits/Big number literals.ts b/docs/playground/fr/3-7/Fixits/Big number literals.ts index 71f0ee80..7121479d 100644 --- a/docs/playground/fr/3-7/Fixits/Big number literals.ts +++ b/docs/playground/fr/3-7/Fixits/Big number literals.ts @@ -1,35 +1,34 @@ //// { compiler: { target: 99 }, order: 1 } -// Did you know there is a limit to how big of a number you -// can represent in JavaScript when writing ? +// Saviez vous qu'il existe une limite à la taille des nombres qu'il est possible +// de représenter en JavaScript ? const maxHighValue = 9007199254740991; const maxLowValue = -9007199254740991; -// If you go one over/below these numbers -// then you start to get into dangerous territory. +// Si vous augmentez / diminuez d'une unité ces nombres vous commencez a courir un +// risque. const oneOverMax = 9007199254740992; const oneBelowMin = -9007199254740992; -// The solution for handling numbers of this size -// is to convert these numbers to BigInts instead -// of a number: +// La solution pour manipuler des nombres de cette taille est de les convertir en +// BigInts: // -// https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/BigInt +// https://developer.mozilla.org/fr/docs/orphaned/Web/JavaScript/Reference/Global_Objects/BigInt -// TypeScript will now offer a fixit for number -// literals which are above 2^52 (positive / negative) -// which adds the suffix "n" which informs JavaScript -// that the type should be BigInt. +// TypeScript désormais propose une correction automatique, pour des nombres +// supérieurs à 2^52 (positif / negatif). +// Cette correction automatique ajoute le suffixe "n", ce qui informe JavaScript +// que le type doit être BigInt. -// Number literals +// Nombres 9007199254740993; -9007199254740993; 9007199254740994; -9007199254740994; -// Hex numbers +// Nombres hexadécimaux 0x19999999999999; -0x19999999999999; 0x20000000000000; From 17ea2228af0e210a679950181928005254584f6a Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Fri, 23 Jul 2021 17:18:03 +0300 Subject: [PATCH 64/82] FR translation: add file to translate --- docs/playground/fr/3-7/Fixits/Const to let.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 docs/playground/fr/3-7/Fixits/Const to let.ts diff --git a/docs/playground/fr/3-7/Fixits/Const to let.ts b/docs/playground/fr/3-7/Fixits/Const to let.ts new file mode 100644 index 00000000..26be4303 --- /dev/null +++ b/docs/playground/fr/3-7/Fixits/Const to let.ts @@ -0,0 +1,12 @@ +//// { compiler: { }, order: 1 } + +// New to 3.7 is the ability to quickly convert +// a const variable to a let when the value +// has been re-assigned. + +// You can try this by highlighting the below error +// and choosing to run the quick-fix. + +const displayName = "Andrew"; + +displayName = "Andrea"; From 6527850f158c5c89e35c60913ca5c3155aa92366 Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Fri, 23 Jul 2021 17:23:18 +0300 Subject: [PATCH 65/82] FR translation: translate file --- docs/playground/fr/3-7/Fixits/Const to let.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/playground/fr/3-7/Fixits/Const to let.ts b/docs/playground/fr/3-7/Fixits/Const to let.ts index 26be4303..a90dfc84 100644 --- a/docs/playground/fr/3-7/Fixits/Const to let.ts +++ b/docs/playground/fr/3-7/Fixits/Const to let.ts @@ -1,11 +1,9 @@ //// { compiler: { }, order: 1 } -// New to 3.7 is the ability to quickly convert -// a const variable to a let when the value -// has been re-assigned. +// La version 3.7 apporte la capacité à convertir rapidement une déclaration +// const en let quand elle est ré-assignée. -// You can try this by highlighting the below error -// and choosing to run the quick-fix. +// Vous pouvez essayer ceci en surlignant l'erreur ci dessous et en éxecutant la correction automatique. const displayName = "Andrew"; From 40db6d1f8f8331108e04afa758a3b1bbea307d3b Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Fri, 23 Jul 2021 17:23:49 +0300 Subject: [PATCH 66/82] FR translation: copy file to translate --- .../fr/3-7/Fixits/Infer From Usage Changes.ts | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 docs/playground/fr/3-7/Fixits/Infer From Usage Changes.ts diff --git a/docs/playground/fr/3-7/Fixits/Infer From Usage Changes.ts b/docs/playground/fr/3-7/Fixits/Infer From Usage Changes.ts new file mode 100644 index 00000000..398f0558 --- /dev/null +++ b/docs/playground/fr/3-7/Fixits/Infer From Usage Changes.ts @@ -0,0 +1,37 @@ +//// { compiler: { noImplicitAny: false }, order: 2 } + +// With 3.7 TypeScript's existing 'infer from usage' +// code fix became smarter. It will now use a list of +// known important types (string, number, array, Promise) +// and infer whether the usage of a type matches the API +// of these objects. + +// For the next few examples, select the parameters of +// the functions, click the light bulb and choose +// "Infer Parameter types..." + +// Infer a number array: + +function pushNumber(arr) { + arr.push(12); +} + +// Infer a promise: + +function awaitPromise(promise) { + promise.then((value) => console.log(value)); +} + +// Infer the function, and its return type: + +function inferAny(app) { + const result = app.use("hi"); + return result; +} + +// Infer a string array because a string +// was added to it: + +function insertString(names) { + names[1] = "hello"; +} From a06734460703fbeeb436b7a902da743cf14ed90c Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Fri, 23 Jul 2021 18:12:25 +0300 Subject: [PATCH 67/82] FR translations: translate file --- .../fr/3-7/Fixits/Infer From Usage Changes.ts | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/docs/playground/fr/3-7/Fixits/Infer From Usage Changes.ts b/docs/playground/fr/3-7/Fixits/Infer From Usage Changes.ts index 398f0558..80dc36dc 100644 --- a/docs/playground/fr/3-7/Fixits/Infer From Usage Changes.ts +++ b/docs/playground/fr/3-7/Fixits/Infer From Usage Changes.ts @@ -1,36 +1,35 @@ //// { compiler: { noImplicitAny: false }, order: 2 } -// With 3.7 TypeScript's existing 'infer from usage' -// code fix became smarter. It will now use a list of -// known important types (string, number, array, Promise) -// and infer whether the usage of a type matches the API -// of these objects. - -// For the next few examples, select the parameters of -// the functions, click the light bulb and choose +// Avec TypeScript 3.7 la correction automatique 'infer from usage' +// s'améliore. Elle utilisera désormais une liste de types importants +// (string, number, array, Promise) +// et déduira si l'usage du type correspond a l'API de ces objets + +// Au sein des examples suivants, sélectionnez les paramètres des fonctions, +// cliquez sur l'icône en forme d'ampoule et choisissez // "Infer Parameter types..." -// Infer a number array: +// Déduire une liste de nombres: function pushNumber(arr) { arr.push(12); } -// Infer a promise: +// Déduire une promesse: function awaitPromise(promise) { promise.then((value) => console.log(value)); } -// Infer the function, and its return type: +// Déduire le type d'une fonction et son type de retour function inferAny(app) { const result = app.use("hi"); return result; } -// Infer a string array because a string -// was added to it: +// Déduire une liste de chaines de caractères, car une chaîne de caractères a été +// ajoutée a cette liste: function insertString(names) { names[1] = "hello"; From 9987b54ba2f3a849ae05741395962375d1b3ca8e Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Thu, 29 Jul 2021 21:38:21 +0900 Subject: [PATCH 68/82] Update docs/playground/ko/TypeScript/Meta-Types/Indexed Types.ts Co-authored-by: YeonJuan --- docs/playground/ko/TypeScript/Meta-Types/Indexed Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Indexed Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Indexed Types.ts index ceef0e0f..756dd0e6 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Indexed Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Indexed Types.ts @@ -27,7 +27,7 @@ interface Artwork { // 응답을 변경할 때 ArtworkSearchResponse의 artworks 부분과 // Artwork가 동기화되지 않을 수 있습니다. -// 이에 대한 수정사항은 JavaScript가 문자열을 통해 +// 이에 대한 해결책은 JavaScript가 문자열을 통해 // 프로퍼티에 접근하는 방법을 복제하는 색인 된 타입입니다. type InferredArtwork = ArtworkSearchResponse["artists"][0]["artworks"][0]; From dac2a2a78523fb80c78599851ed6c2f0a61137cd Mon Sep 17 00:00:00 2001 From: evan-moon Date: Sat, 31 Jul 2021 23:46:25 +0900 Subject: [PATCH 69/82] fix(project-config): fix wrong translated sentence --- docs/documentation/ko/project-config/Project References.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/ko/project-config/Project References.md b/docs/documentation/ko/project-config/Project References.md index c725ff1d..b0275996 100644 --- a/docs/documentation/ko/project-config/Project References.md +++ b/docs/documentation/ko/project-config/Project References.md @@ -36,7 +36,7 @@ assert.areEqual(converter.celsiusToFahrenheit(0), 32); 이전에는, 단일 tsconfig 파일을 사용한 경우 이 구조가 어색하게 동작했습니다: -* 구현 파일을 테스트 파일에 import 하는 것이 가능합니다 +* 구현 파일에서 테스트 파일을 import 하는 것이 가능합니다 * 아마도 원치 않았겠지만 `src`가 출력 폴더 이름에 나타나지 않고는 `test`와 `src`를 동시에 빌드 하는 것이 불가능합니다 * 구현 파일 안에 *내용물* 만 바꿔도 새로운 오류를 절대 발생시키지 않지만 테스트 파일에 대한 *타입 검사*를 다시 해야 합니다 * 테스트 파일만 바꿔도 아무 변화 없지만 구현 파일의 타입 검사를 다시 해야 합니다 From abec9766dabd7d0f59900f8f6eebdd06ba937055 Mon Sep 17 00:00:00 2001 From: GitHub Bot Date: Mon, 2 Aug 2021 12:02:07 +0000 Subject: [PATCH 70/82] Update attribution.json --- attribution.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribution.json b/attribution.json index 43ea2d59..4e19eb50 100644 --- a/attribution.json +++ b/attribution.json @@ -1 +1 @@ -{"docs/documentation/fr/Nightly Builds.md":{"top":[{"name":"manusquall","gravatar":"1e8e6cdfd33a72acbc3e6750ed7afae2","count":7},{"name":"Charles Emmanuel S. Ndiaye","gravatar":"7a7a00e233291d390dd4ed213f29101c","count":3}],"total":2},"docs/documentation/id/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/Nightly Builds.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/pl/Nightly Builds.md":{"top":[{"name":"Tomasz Flis","gravatar":"08e7aff8ab9ee444e39a3fea0213bd27","count":6}],"total":1},"docs/documentation/pt/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":7},{"name":"Orta Therox","gravatar":"28e997da43c10d99aa99273b48efe8cf","count":1}],"total":2},"docs/documentation/id/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/declaration-files/By Example.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Consumption.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Deep Dive.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Do's and Don'ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Introduction.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Library Structures.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Publishing.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Templates.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for Functional Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"DongHwan Kim","gravatar":"860f2b0f77e66efd4822c1715f6cf1c6","count":1}],"total":2},"docs/documentation/ko/get-started/TS for JS Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for OOPers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for the New Programmer.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Basics.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":12}],"total":1},"docs/documentation/ko/handbook-v2/Everyday Types.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":15}],"total":1},"docs/documentation/ko/handbook-v2/The Handbook.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Creating DTS files From JS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Intro to JS with TS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/JSDoc Reference.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options in MSBuild.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Configuring Watch.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Integrating with Build Tools.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Project References.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/tsconfig.json.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Decorators.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Enums.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Module Resolution.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"정현문","gravatar":"d88c1b4734a3c17ba0d4286e9b8bc489","count":1}],"total":2},"docs/documentation/ko/reference/Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces and Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Type Compatibility.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":2},"docs/documentation/ko/reference/Variable Declarations.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.8.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.9.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 4.0.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/ASP.NET Core.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/ko/tutorials/DOM Manipulation.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Gulp.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Migrating from JavaScript.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/ko/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/pl/handbook-v2/The Handbook.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jakub Cabak","gravatar":"853694852f976eb9a8d79fd335f72a6c","count":1},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":3},"docs/documentation/pt/declaration-files/Consumption.md":{"top":[{"name":"Leandro Lima","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":11},{"name":"Leandro","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":2}],"total":2},"docs/documentation/pt/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Project References.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/tsconfig.json.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/pt/reference/Module Resolution.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces and Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Compatibility.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Variable Declarations.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/vo/handbook-v1/Basic Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/project-config/tsconfig.json.md":{"top":[{"name":"Leon","gravatar":"3a0dff3d171777a5b2b8ceddf691ba35","count":8}],"total":1},"docs/documentation/ko/declaration-files/templates/module-class.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/templates/module-function.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Type Manipulation/Generics.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1}} \ No newline at end of file +{"docs/documentation/fr/Nightly Builds.md":{"top":[{"name":"manusquall","gravatar":"1e8e6cdfd33a72acbc3e6750ed7afae2","count":7},{"name":"Charles Emmanuel S. Ndiaye","gravatar":"7a7a00e233291d390dd4ed213f29101c","count":3}],"total":2},"docs/documentation/id/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/Nightly Builds.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/pl/Nightly Builds.md":{"top":[{"name":"Tomasz Flis","gravatar":"08e7aff8ab9ee444e39a3fea0213bd27","count":6}],"total":1},"docs/documentation/pt/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/fr/tutorials/Angular.md":{"top":[{"name":"manusquall","gravatar":"1e8e6cdfd33a72acbc3e6750ed7afae2","count":7},{"name":"Charles Emmanuel S. Ndiaye","gravatar":"7a7a00e233291d390dd4ed213f29101c","count":1}],"total":2},"docs/documentation/fr/tutorials/React.md":{"top":[{"name":"manusquall","gravatar":"1e8e6cdfd33a72acbc3e6750ed7afae2","count":7},{"name":"Charles Emmanuel S. Ndiaye","gravatar":"7a7a00e233291d390dd4ed213f29101c","count":1}],"total":2},"docs/documentation/id/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":7},{"name":"Orta Therox","gravatar":"28e997da43c10d99aa99273b48efe8cf","count":1}],"total":2},"docs/documentation/id/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/declaration-files/By Example.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Consumption.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Deep Dive.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Do's and Don'ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Introduction.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Library Structures.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Publishing.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Templates.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for Functional Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"DongHwan Kim","gravatar":"860f2b0f77e66efd4822c1715f6cf1c6","count":1}],"total":2},"docs/documentation/ko/get-started/TS for JS Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for OOPers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for the New Programmer.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Basics.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":12}],"total":1},"docs/documentation/ko/handbook-v2/Everyday Types.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":15}],"total":1},"docs/documentation/ko/handbook-v2/The Handbook.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Creating DTS files From JS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Intro to JS with TS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/JSDoc Reference.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options in MSBuild.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Configuring Watch.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Integrating with Build Tools.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Project References.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"evan-moon","gravatar":"481cbcf3f8bf3d0262b108e226b33aa0","count":1}],"total":2},"docs/documentation/ko/project-config/tsconfig.json.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Decorators.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Enums.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Module Resolution.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"정현문","gravatar":"d88c1b4734a3c17ba0d4286e9b8bc489","count":1}],"total":2},"docs/documentation/ko/reference/Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces and Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Type Compatibility.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":2},"docs/documentation/ko/reference/Variable Declarations.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.8.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.9.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 4.0.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/ASP.NET Core.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/ko/tutorials/DOM Manipulation.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Gulp.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Migrating from JavaScript.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/ko/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/pl/handbook-v2/The Handbook.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jakub Cabak","gravatar":"853694852f976eb9a8d79fd335f72a6c","count":1},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":3},"docs/documentation/pt/declaration-files/Consumption.md":{"top":[{"name":"Leandro Lima","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":11},{"name":"Leandro","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":2}],"total":2},"docs/documentation/pt/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Project References.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/tsconfig.json.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/pt/reference/Module Resolution.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces and Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Compatibility.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Variable Declarations.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/vo/handbook-v1/Basic Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/project-config/tsconfig.json.md":{"top":[{"name":"Leon","gravatar":"3a0dff3d171777a5b2b8ceddf691ba35","count":8}],"total":1},"docs/documentation/ko/declaration-files/templates/module-class.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/templates/module-function.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Type Manipulation/Generics.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1}} \ No newline at end of file From a50c3e460a91c998132cb3e51f7dc4bdbefffa3c Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Tue, 3 Aug 2021 23:50:44 +0900 Subject: [PATCH 71/82] Update docs/playground/ko/TypeScript/Meta-Types/Discriminate Types.ts Co-authored-by: YeonJuan --- docs/playground/ko/TypeScript/Meta-Types/Discriminate Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Meta-Types/Discriminate Types.ts b/docs/playground/ko/TypeScript/Meta-Types/Discriminate Types.ts index cf1904ed..d3cb1f5a 100644 --- a/docs/playground/ko/TypeScript/Meta-Types/Discriminate Types.ts +++ b/docs/playground/ko/TypeScript/Meta-Types/Discriminate Types.ts @@ -35,7 +35,7 @@ const handleEvent = (event: TimingEvent) => { // 숫자와 같습니다. // 이 예제에서, -// 식별된 유니언과 처리하기 위한 추가 오류 상태가 있습니다. +// 식별된 유니언과 처리해야 하는 추가 오류 상태가 있습니다. type APIResponses = { version: 0; msg: string } | { version: 1; message: string; status: number } | { error: string }; From 28557676c64a556b8752e0a2ce5e606e7dd26440 Mon Sep 17 00:00:00 2001 From: gustavofabro Date: Tue, 3 Aug 2021 19:27:22 -0300 Subject: [PATCH 72/82] Translate file Introduction --- .../pt/declaration-files/Introduction.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 docs/documentation/pt/declaration-files/Introduction.md diff --git a/docs/documentation/pt/declaration-files/Introduction.md b/docs/documentation/pt/declaration-files/Introduction.md new file mode 100644 index 00000000..eca7bda2 --- /dev/null +++ b/docs/documentation/pt/declaration-files/Introduction.md @@ -0,0 +1,51 @@ +--- +title: Introdução +layout: docs +permalink: /pt/docs/handbook/declaration-files/introduction.html +oneline: "Como escrever um Arquivo de Declaração TypeScript (d.ts) de alta qualidade" +--- + +A seção Arquivos de declaração é designada a ensinar você como escrever um Arquivo de Declaração TypeScript de alta qualidade. Precisamos assumir uma familiaridade básica com a linguagem TypeScript para começar. + +Caso ainda não tenha feito, você deveria ler o [Manual do TypeScript](/docs/handbook/basic-types.html) + + +O caso mais comum para aprender como os arquivos .d.ts funcionam é quando você está escrevendo um pacote npm sem tipos. +Nesse caso, você pode ir direto para [Módulos .d.ts](/docs/handbook/declaration-files/templates/module-d-ts.html). + +A seção Arquivos de declaração é dividida nas seguintes partes: + +## [Referência de Declaração](/docs/handbook/declaration-files/by-example.html) + +Nós geralmente enfrentamos a tarefa de escrever um arquivo de declaração somente quando temos exemplos da biblioteca subjacente para nos orientar. +A seção [Referência de declaração](/docs/handbook/declaration-files/by-example.html) mostra vários padrões comuns de API e como escrever declarações para cada um deles. +Este guia é voltado aos iniciantes em TypeScript que talvez não estejam ainda familiarizados com todas as construções de linguagem em TypeScript. + +## [Estruturas da Biblioteca](/docs/handbook/declaration-files/library-structures.html) + +O guia [Estruturas da Biblioteca](/docs/handbook/declaration-files/library-structures.html) ajuda você a entender formatos comuns de biblioteca e como escrever um arquivo de declaração apropriado para cada formato. +Se você está editando um arquivo existente, você provavelmente não precisa ler esta seção. +Autores de novos arquivos de declaração recomendam fortemente a leitura desta seção para entender propriamente como o formato da biblioteca influencia a escrita do arquivo de declaração. + +Na seção Template você encontrará vários arquivos de declaração que servem como um ponto de partida útil quando se está escrevendo um novo arquivo. Se você já conhece a sua estrutura, veja a seção Template d.ts na barra lateral. + +## [O que fazer e o que Não fazer](/docs/handbook/declaration-files/do-s-and-don-ts.html) + +Muitos erros comuns em arquivos de declaração podem ser facilmente evitados. +A seção [O que fazer e o que Não fazer](/docs/handbook/declaration-files/do-s-and-don-ts.html) identifica erros comuns, +descreve como detectá-los, e como corrigi-los. +Todos devem ler esta seção para evitar erros comuns. + +## [Análise profunda](/docs/handbook/declaration-files/deep-dive.html) + +Para autores experientes interessados na mecânica por trás dos arquivos de declaração, +a seção [Análise profunda](/docs/handbook/declaration-files/deep-dive.html) explica vários conceitos avançados na escrita da declaração, +e mostra como aproveitar esses conceitos para criar arquivos de declaração limpos e mais intuitivos. + +## [Publicar no npm](/docs/handbook/declaration-files/publishing.html) + +A seção [Publicação](/docs/handbook/declaration-files/publishing.html) explica como publicar seus arquivos de declaração em um pacote npm, e como gerenciar seus pacotes dependentes. + +## [Buscar e instalar Arquivos de Declaração](/docs/handbook/declaration-files/consumption.html) + +Para usuário de bibliotecas Javascript, a seção [Consumo](/docs/handbook/declaration-files/consumption.html) oferece alguns passos para localizar e instalar arquivos de declaração correspondentes. From 040e4b8a64446c5c9a0c1603f68337307072f222 Mon Sep 17 00:00:00 2001 From: Kemal Elmizan Date: Sat, 7 Aug 2021 11:29:52 +0700 Subject: [PATCH 73/82] Fix typo in JSX.md Fix typo in 'opeartor' to 'operator' --- docs/documentation/id/reference/JSX.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/id/reference/JSX.md b/docs/documentation/id/reference/JSX.md index 8735d329..8316f057 100644 --- a/docs/documentation/id/reference/JSX.md +++ b/docs/documentation/id/reference/JSX.md @@ -35,7 +35,7 @@ Anda dapat menetapkan mode ini menggunakan _flag_ baris perintah `--jsx` atau op > \*Catatan: Anda dapat menentukan fungsi _factory_ JSX yang akan digunakan saat menargetkan react JSX _emit_ dengan opsi `--jsxFactory` (nilai bawaan ke `React.createElement`) -## Opeartor `as` +## Operator `as` Ingat bagaimana menulis penegasan tipe: From 80aae073a80b2e686fc40302c184bb6461c65f2f Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Sat, 31 Jul 2021 16:09:24 +0300 Subject: [PATCH 74/82] FR translation: copy folder to translate --- .../Flattened Error Reporting.ts | 64 +++++++++++++++++ .../Nullish Coalescing.ts | 43 ++++++++++++ .../Syntax and Messaging/Optional Chaining.ts | 70 +++++++++++++++++++ 3 files changed, 177 insertions(+) create mode 100644 docs/playground/fr/3-7/Syntax and Messaging/Flattened Error Reporting.ts create mode 100644 docs/playground/fr/3-7/Syntax and Messaging/Nullish Coalescing.ts create mode 100644 docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts diff --git a/docs/playground/fr/3-7/Syntax and Messaging/Flattened Error Reporting.ts b/docs/playground/fr/3-7/Syntax and Messaging/Flattened Error Reporting.ts new file mode 100644 index 00000000..a8fb0cc5 --- /dev/null +++ b/docs/playground/fr/3-7/Syntax and Messaging/Flattened Error Reporting.ts @@ -0,0 +1,64 @@ +//// { compiler: { }, order: 3 } + +// TypeScript's error messages can sometimes be a tad verbose... +// With 3.7, we've taken a few cases which could be particularly +// egregious. + +// Nested Properties + +let a = { b: { c: { d: { e: "string" } } } }; +let b = { b: { c: { d: { e: 12 } } } }; + +a = b; + +// Before, it was 2 lines of code per nested property, which +// quickly meant people learned to read error messages by +// reading the first and then last line of an error message. + +// Now they're inline. :tada: + +// Previously in 3.6: +// +// Type '{ b: { c: { d: { e: number; }; }; }; }' is not assignable to type '{ b: { c: { d: { e: string; }; }; }; }'. +// Types of property 'b' are incompatible. +// Type '{ c: { d: { e: number; }; }; }' is not assignable to type '{ c: { d: { e: string; }; }; }'. +// Types of property 'c' are incompatible. +// Type '{ d: { e: number; }; }' is not assignable to type '{ d: { e: string; }; }'. +// Types of property 'd' are incompatible. +// Type '{ e: number; }' is not assignable to type '{ e: string; }'. +// Types of property 'e' are incompatible. +// Type 'number' is not assignable to type 'string' + +// This can handle working through different types of objects, +// to still give a useful and concise error message. + +class ExampleClass { + state = "ok"; +} + +class OtherClass { + state = 12; +} + +let x = { a: { b: { c: { d: { e: { f: ExampleClass } } } } } }; +let y = { a: { b: { c: { d: { e: { f: OtherClass } } } } } }; +x = y; + +// Previously in 3.6: +// +// Type '{ a: { b: { c: { d: { e: { f: typeof OtherClass; }; }; }; }; }; }' is not assignable to type '{ a: { b: { c: { d: { e: { f: typeof ExampleClass; }; }; }; }; }; }'. +// Types of property 'a' are incompatible. +// Type '{ b: { c: { d: { e: { f: typeof OtherClass; }; }; }; }; }' is not assignable to type '{ b: { c: { d: { e: { f: typeof ExampleClass; }; }; }; }; }'. +// Types of property 'b' are incompatible. +// Type '{ c: { d: { e: { f: typeof OtherClass; }; }; }; }' is not assignable to type '{ c: { d: { e: { f: typeof ExampleClass; }; }; }; }'. +// Types of property 'c' are incompatible. +// Type '{ d: { e: { f: typeof OtherClass; }; }; }' is not assignable to type '{ d: { e: { f: typeof ExampleClass; }; }; }'. +// Types of property 'd' are incompatible. +// Type '{ e: { f: typeof OtherClass; }; }' is not assignable to type '{ e: { f: typeof ExampleClass; }; }'. +// Types of property 'e' are incompatible. +// Type '{ f: typeof OtherClass; }' is not assignable to type '{ f: typeof ExampleClass; }'. +// Types of property 'f' are incompatible. +// Type 'typeof OtherClass' is not assignable to type 'typeof ExampleClass'. +// Type 'OtherClass' is not assignable to type 'ExampleClass'. +// Types of property 'state' are incompatible. +// Type 'number' is not assignable to type 'string' diff --git a/docs/playground/fr/3-7/Syntax and Messaging/Nullish Coalescing.ts b/docs/playground/fr/3-7/Syntax and Messaging/Nullish Coalescing.ts new file mode 100644 index 00000000..f723b8e7 --- /dev/null +++ b/docs/playground/fr/3-7/Syntax and Messaging/Nullish Coalescing.ts @@ -0,0 +1,43 @@ +//// { compiler: { }, order: 2 } + +// The nullish coalescing operator is an alternative to || +// which returns the right-side expression if the left-side +// is null or undefined. + +// In contrast, || uses falsy checks, meaning an empty +// string or the number 0 would be considered false. + +// A good example for this feature is dealing with partial +// objects which have defaults when a key isn't passed in. + +interface AppConfiguration { + // Default: "(no name)"; empty string IS valid + name: string; + + // Default: -1; 0 is valid + items: number; + + // Default: true + active: boolean; +} + +function updateApp(config: Partial) { + // With null-coalescing operator + config.name = config.name ?? "(no name)"; + config.items = config.items ?? -1; + config.active = config.active ?? true; + + // Current solution + config.name = typeof config.name === "string" ? config.name : "(no name)"; + config.items = typeof config.items === "number" ? config.items : -1; + config.active = typeof config.active === "boolean" ? config.active : true; + + // Using || operator which could give bad data + config.name = config.name || "(no name)"; // does not allow for "" input + config.items = config.items || -1; // does not allow for 0 input + config.active = config.active || true; // really bad, always true +} + +// You can read more about nullish coalescing in the 3.7 blog post: +// +// https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/ diff --git a/docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts b/docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts new file mode 100644 index 00000000..50ba93f6 --- /dev/null +++ b/docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts @@ -0,0 +1,70 @@ +//// { compiler: { }, order: 1 } + +// Optional chaining reached TC39 Stage 3 consensus during +// 3.7's development. Optional Chaining allows you to write +// code which can immediately stop running expressions when +// it hits a null or undefined. + +// Property Access + +// Let's imagine we have an album where the artist, and the +// artists bio might not be present in the data. For example +// a compilation may not have a single artist. + +type AlbumAPIResponse = { + title: string; + artist?: { + name: string; + bio?: string; + previousAlbums?: string[]; + }; +}; + +declare const album: AlbumAPIResponse; + +// With optional chaining, you can write +// code like this: + +const artistBio = album?.artist?.bio; + +// Instead of: + +const maybeArtistBio = album.artist && album.artist.bio; + +// In this case ?. acts differently than the &&s since && +// will act differently on "falsy" values (e.g. an empty string, +// 0, NaN, and, well, false). + +// Optional chaining will only take null or undefined as +// a signal to stop and return an undefined. + +// Optional Element Access + +// Property access is via the . operator, the optional chaining +// also works with the [] operators when accessing elements. + +const maybeArtistBioElement = album?.["artist"]?.["bio"]; + +const maybeFirstPreviousAlbum = album?.artist?.previousAlbums?.[0]; + +// Optional Calls + +// When dealing with functions which may or may not exist at +// runtime, optional chaining supports only calling a function +// if it exists. This can replace code where you would traditionally +// write something like: if (func) func() + +// For example here's an optional call to the callback from +// an API request: + +const callUpdateMetadata = (metadata: any) => Promise.resolve(metadata); // Fake API call + +const updateAlbumMetadata = async (metadata: any, callback?: () => void) => { + await callUpdateMetadata(metadata); + + callback?.(); +}; + +// You can read more about optional chaining in the 3.7 blog post: +// +// https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/ From 993fee57adaae0c268e2085d976f53a4d041c4bf Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Sat, 7 Aug 2021 14:34:33 +0300 Subject: [PATCH 75/82] FR translation: translate files --- .../Flattened Error Reporting.ts | 24 ++++----- .../Nullish Coalescing.ts | 36 +++++++------ .../Syntax and Messaging/Optional Chaining.ts | 53 +++++++++---------- 3 files changed, 57 insertions(+), 56 deletions(-) diff --git a/docs/playground/fr/3-7/Syntax and Messaging/Flattened Error Reporting.ts b/docs/playground/fr/3-7/Syntax and Messaging/Flattened Error Reporting.ts index a8fb0cc5..a7751255 100644 --- a/docs/playground/fr/3-7/Syntax and Messaging/Flattened Error Reporting.ts +++ b/docs/playground/fr/3-7/Syntax and Messaging/Flattened Error Reporting.ts @@ -1,23 +1,23 @@ //// { compiler: { }, order: 3 } -// TypeScript's error messages can sometimes be a tad verbose... -// With 3.7, we've taken a few cases which could be particularly -// egregious. +// Les messages d'erreur TypeScript peuvent être un peu verbeux... +// Avec la version 3.7, nous avons corrigé quelques cas qui +// généraient des messages d'erreurs très longs. -// Nested Properties +// Propriétés imbriquées let a = { b: { c: { d: { e: "string" } } } }; let b = { b: { c: { d: { e: 12 } } } }; a = b; -// Before, it was 2 lines of code per nested property, which -// quickly meant people learned to read error messages by -// reading the first and then last line of an error message. +// Auparavant, c'était deux lignes de code par propriété imbriquée, ce qui +// a rapidement amené les gens à lire +// uniquement la première et dernière ligne des messages d'erreur. -// Now they're inline. :tada: +// Maintenant elles sont en ligne. :tada: -// Previously in 3.6: +// Auparavant avec la version 3.6: // // Type '{ b: { c: { d: { e: number; }; }; }; }' is not assignable to type '{ b: { c: { d: { e: string; }; }; }; }'. // Types of property 'b' are incompatible. @@ -29,8 +29,8 @@ a = b; // Types of property 'e' are incompatible. // Type 'number' is not assignable to type 'string' -// This can handle working through different types of objects, -// to still give a useful and concise error message. +// Ça peut aussi marcher avec des objets de types différents +// et toujours donner un message d'erreur utile et concis. class ExampleClass { state = "ok"; @@ -44,7 +44,7 @@ let x = { a: { b: { c: { d: { e: { f: ExampleClass } } } } } }; let y = { a: { b: { c: { d: { e: { f: OtherClass } } } } } }; x = y; -// Previously in 3.6: +// Auparavant avec la version 3.6: // // Type '{ a: { b: { c: { d: { e: { f: typeof OtherClass; }; }; }; }; }; }' is not assignable to type '{ a: { b: { c: { d: { e: { f: typeof ExampleClass; }; }; }; }; }; }'. // Types of property 'a' are incompatible. diff --git a/docs/playground/fr/3-7/Syntax and Messaging/Nullish Coalescing.ts b/docs/playground/fr/3-7/Syntax and Messaging/Nullish Coalescing.ts index f723b8e7..2cfb07d4 100644 --- a/docs/playground/fr/3-7/Syntax and Messaging/Nullish Coalescing.ts +++ b/docs/playground/fr/3-7/Syntax and Messaging/Nullish Coalescing.ts @@ -1,43 +1,45 @@ //// { compiler: { }, order: 2 } -// The nullish coalescing operator is an alternative to || -// which returns the right-side expression if the left-side -// is null or undefined. +// L'opérateur de coalescence des nuls (nullish coalescing operator) est une +// alternative à || qui retourne l'expression de droite si celle de gauche +// est nulle ou non-définie. -// In contrast, || uses falsy checks, meaning an empty -// string or the number 0 would be considered false. +// En revanche, || vérifie si la valeur est de type fausse (falsy), ce qui veut dire +// qu'une chaîne de caractères, ou le nombre 0, seraient considérés faux. -// A good example for this feature is dealing with partial -// objects which have defaults when a key isn't passed in. +// Un bon example est la gestion des objets partiellement +// définis, pour lesquels il est possible d'avoir des valeurs par défaut +// quand une clef est manquante. interface AppConfiguration { - // Default: "(no name)"; empty string IS valid + // Défaut: "(no name)"; une chaîne de caractère vide est une valeur valide name: string; - // Default: -1; 0 is valid + // Défaut: -1; 0 est une valeur valide items: number; - // Default: true + // Défaut: true active: boolean; } function updateApp(config: Partial) { - // With null-coalescing operator + // Avec l'opérateur de coalescence des nuls config.name = config.name ?? "(no name)"; config.items = config.items ?? -1; config.active = config.active ?? true; - // Current solution + // Sans l'opérateur de coalescence des nuls config.name = typeof config.name === "string" ? config.name : "(no name)"; config.items = typeof config.items === "number" ? config.items : -1; config.active = typeof config.active === "boolean" ? config.active : true; - // Using || operator which could give bad data - config.name = config.name || "(no name)"; // does not allow for "" input - config.items = config.items || -1; // does not allow for 0 input - config.active = config.active || true; // really bad, always true + // L'opérateur || pourrait retourner des valeurs incorrectes + config.name = config.name || "(no name)"; // empêche de passer "" comme valeur + config.items = config.items || -1; // empêche de passer 0 comme valeur + config.active = config.active || true; // incorrect, sera toujours true } -// You can read more about nullish coalescing in the 3.7 blog post: +// Plus de détails sur l'opérateur de coalescence des nuls dans la version 3.7 +// sur le blog: // // https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/ diff --git a/docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts b/docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts index 50ba93f6..088b873e 100644 --- a/docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts +++ b/docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts @@ -1,15 +1,14 @@ //// { compiler: { }, order: 1 } -// Optional chaining reached TC39 Stage 3 consensus during -// 3.7's development. Optional Chaining allows you to write -// code which can immediately stop running expressions when -// it hits a null or undefined. +// Le chaînage optionnel a atteint l'étape 3 du TC39 pendant le development +// de la version 3.7. Le chaînage optionnel permet d'écrire du code qui va +// interrompre l'execution des expressions dès qu'il atteint une valeur +// null ou undefined. -// Property Access +// Accès aux propriétés d'un objet -// Let's imagine we have an album where the artist, and the -// artists bio might not be present in the data. For example -// a compilation may not have a single artist. +// Imaginons que nous ayons un album où l'artiste, et sa bio, puissent ne pas +// être present dans les données. Par exemple, une compilation pourrait n'aurait pas un seul artiste. type AlbumAPIResponse = { title: string; @@ -22,40 +21,40 @@ type AlbumAPIResponse = { declare const album: AlbumAPIResponse; -// With optional chaining, you can write -// code like this: +// Avec le chaînage optionnel, +// vous pouvez écrire le code suivant: const artistBio = album?.artist?.bio; -// Instead of: +// A la place de: const maybeArtistBio = album.artist && album.artist.bio; -// In this case ?. acts differently than the &&s since && -// will act differently on "falsy" values (e.g. an empty string, -// 0, NaN, and, well, false). +// Dans ce cas ?. agit différemment que le ET logique (&&) car ce dernier traite +// les valeur fausses (e.g. une chaîne de caractères vide, 0, Nan et false) de +// façon différente. -// Optional chaining will only take null or undefined as -// a signal to stop and return an undefined. +// Le chaînage optionnel va seulement arrêter l'évaluation et retourner undefined +// si la valeur est null ou undefined. -// Optional Element Access +// Accès à un élément optionnel -// Property access is via the . operator, the optional chaining -// also works with the [] operators when accessing elements. +// Acceder à une propriété se fait avec l'opérateur ., et le chaînage optionnel +// marche aussi avec l'opérateur [] pour acceder à des éléments. const maybeArtistBioElement = album?.["artist"]?.["bio"]; const maybeFirstPreviousAlbum = album?.artist?.previousAlbums?.[0]; -// Optional Calls +// Appel optionnel -// When dealing with functions which may or may not exist at -// runtime, optional chaining supports only calling a function -// if it exists. This can replace code where you would traditionally -// write something like: if (func) func() +// Quand il s'agit d'appeler des fonctions qui peuvent être définies ou non définies, +// le chaînage optionnel permet d'appeler la fonction uniquement si elle existe. +// Cela peut remplacer le code où l'on écrirait traditionnellement quelque chose comme: +// if (func) func() -// For example here's an optional call to the callback from -// an API request: +// Par example le chaînage optionnel pour appeler un callback après une requête +// vers une API: const callUpdateMetadata = (metadata: any) => Promise.resolve(metadata); // Fake API call @@ -65,6 +64,6 @@ const updateAlbumMetadata = async (metadata: any, callback?: () => void) => { callback?.(); }; -// You can read more about optional chaining in the 3.7 blog post: +// Plus de détails sur le chaînage optionnel dans la version 3.7 sur le blog: // // https://devblogs.microsoft.com/typescript/announcing-typescript-3-7/ From 620cc8fb32232a6cd8c7ce28bafca266765e2d40 Mon Sep 17 00:00:00 2001 From: Nicolas Fabre Date: Sat, 7 Aug 2021 23:22:01 +0300 Subject: [PATCH 76/82] FR translation: fix typo --- .../fr/3-7/Syntax and Messaging/Optional Chaining.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts b/docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts index 088b873e..fc92d07b 100644 --- a/docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts +++ b/docs/playground/fr/3-7/Syntax and Messaging/Optional Chaining.ts @@ -8,7 +8,8 @@ // Accès aux propriétés d'un objet // Imaginons que nous ayons un album où l'artiste, et sa bio, puissent ne pas -// être present dans les données. Par exemple, une compilation pourrait n'aurait pas un seul artiste. +// être present dans les données. Par exemple, une compilation pourrait ne pas +// avoir qu'un seul artiste. type AlbumAPIResponse = { title: string; From 0a63617aaa7a55f926993ecc8c6c71944416208c Mon Sep 17 00:00:00 2001 From: GitHub Bot Date: Mon, 9 Aug 2021 12:01:54 +0000 Subject: [PATCH 77/82] Update attribution.json --- attribution.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attribution.json b/attribution.json index 4e19eb50..84d76085 100644 --- a/attribution.json +++ b/attribution.json @@ -1 +1 @@ -{"docs/documentation/fr/Nightly Builds.md":{"top":[{"name":"manusquall","gravatar":"1e8e6cdfd33a72acbc3e6750ed7afae2","count":7},{"name":"Charles Emmanuel S. Ndiaye","gravatar":"7a7a00e233291d390dd4ed213f29101c","count":3}],"total":2},"docs/documentation/id/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/Nightly Builds.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/pl/Nightly Builds.md":{"top":[{"name":"Tomasz Flis","gravatar":"08e7aff8ab9ee444e39a3fea0213bd27","count":6}],"total":1},"docs/documentation/pt/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/fr/tutorials/Angular.md":{"top":[{"name":"manusquall","gravatar":"1e8e6cdfd33a72acbc3e6750ed7afae2","count":7},{"name":"Charles Emmanuel S. Ndiaye","gravatar":"7a7a00e233291d390dd4ed213f29101c","count":1}],"total":2},"docs/documentation/fr/tutorials/React.md":{"top":[{"name":"manusquall","gravatar":"1e8e6cdfd33a72acbc3e6750ed7afae2","count":7},{"name":"Charles Emmanuel S. Ndiaye","gravatar":"7a7a00e233291d390dd4ed213f29101c","count":1}],"total":2},"docs/documentation/id/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":7},{"name":"Orta Therox","gravatar":"28e997da43c10d99aa99273b48efe8cf","count":1}],"total":2},"docs/documentation/id/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/declaration-files/By Example.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Consumption.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Deep Dive.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Do's and Don'ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Introduction.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Library Structures.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Publishing.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Templates.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for Functional Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"DongHwan Kim","gravatar":"860f2b0f77e66efd4822c1715f6cf1c6","count":1}],"total":2},"docs/documentation/ko/get-started/TS for JS Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for OOPers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for the New Programmer.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Basics.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":12}],"total":1},"docs/documentation/ko/handbook-v2/Everyday Types.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":15}],"total":1},"docs/documentation/ko/handbook-v2/The Handbook.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Creating DTS files From JS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Intro to JS with TS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/JSDoc Reference.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options in MSBuild.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Configuring Watch.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Integrating with Build Tools.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Project References.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"evan-moon","gravatar":"481cbcf3f8bf3d0262b108e226b33aa0","count":1}],"total":2},"docs/documentation/ko/project-config/tsconfig.json.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Decorators.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Enums.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Module Resolution.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"정현문","gravatar":"d88c1b4734a3c17ba0d4286e9b8bc489","count":1}],"total":2},"docs/documentation/ko/reference/Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces and Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Type Compatibility.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":2},"docs/documentation/ko/reference/Variable Declarations.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.8.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.9.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 4.0.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/ASP.NET Core.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/ko/tutorials/DOM Manipulation.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Gulp.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Migrating from JavaScript.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/ko/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/pl/handbook-v2/The Handbook.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jakub Cabak","gravatar":"853694852f976eb9a8d79fd335f72a6c","count":1},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":3},"docs/documentation/pt/declaration-files/Consumption.md":{"top":[{"name":"Leandro Lima","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":11},{"name":"Leandro","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":2}],"total":2},"docs/documentation/pt/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Project References.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/tsconfig.json.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/pt/reference/Module Resolution.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces and Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Compatibility.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Variable Declarations.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/vo/handbook-v1/Basic Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/project-config/tsconfig.json.md":{"top":[{"name":"Leon","gravatar":"3a0dff3d171777a5b2b8ceddf691ba35","count":8}],"total":1},"docs/documentation/ko/declaration-files/templates/module-class.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/templates/module-function.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Type Manipulation/Generics.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1}} \ No newline at end of file +{"docs/documentation/fr/Nightly Builds.md":{"top":[{"name":"manusquall","gravatar":"1e8e6cdfd33a72acbc3e6750ed7afae2","count":7},{"name":"Charles Emmanuel S. Ndiaye","gravatar":"7a7a00e233291d390dd4ed213f29101c","count":3}],"total":2},"docs/documentation/id/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/Nightly Builds.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/pl/Nightly Builds.md":{"top":[{"name":"Tomasz Flis","gravatar":"08e7aff8ab9ee444e39a3fea0213bd27","count":6}],"total":1},"docs/documentation/pt/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/Nightly Builds.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/fr/tutorials/Angular.md":{"top":[{"name":"manusquall","gravatar":"1e8e6cdfd33a72acbc3e6750ed7afae2","count":7},{"name":"Charles Emmanuel S. Ndiaye","gravatar":"7a7a00e233291d390dd4ed213f29101c","count":1}],"total":2},"docs/documentation/fr/tutorials/React.md":{"top":[{"name":"manusquall","gravatar":"1e8e6cdfd33a72acbc3e6750ed7afae2","count":7},{"name":"Charles Emmanuel S. Ndiaye","gravatar":"7a7a00e233291d390dd4ed213f29101c","count":1}],"total":2},"docs/documentation/id/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":7},{"name":"Orta Therox","gravatar":"28e997da43c10d99aa99273b48efe8cf","count":1}],"total":2},"docs/documentation/id/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Kemal Elmizan","gravatar":"8857fe173475cf3d2ceb45e4042ce075","count":1}],"total":2},"docs/documentation/id/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/id/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ja/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/declaration-files/By Example.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Consumption.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Deep Dive.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Do's and Don'ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Introduction.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Library Structures.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Publishing.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/Templates.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for Functional Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"DongHwan Kim","gravatar":"860f2b0f77e66efd4822c1715f6cf1c6","count":1}],"total":2},"docs/documentation/ko/get-started/TS for JS Programmers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for OOPers.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/get-started/TS for the New Programmer.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Basics.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":12}],"total":1},"docs/documentation/ko/handbook-v2/Everyday Types.md":{"top":[{"name":"cadenzah","gravatar":"9573931bcd6f3ddaabaa6625c661a9e6","count":15}],"total":1},"docs/documentation/ko/handbook-v2/The Handbook.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Creating DTS files From JS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Intro to JS with TS.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/JSDoc Reference.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options in MSBuild.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Compiler Options.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Configuring Watch.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Integrating with Build Tools.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/project-config/Project References.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"evan-moon","gravatar":"481cbcf3f8bf3d0262b108e226b33aa0","count":1}],"total":2},"docs/documentation/ko/project-config/tsconfig.json.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Decorators.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Enums.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Module Resolution.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6},{"name":"정현문","gravatar":"d88c1b4734a3c17ba0d4286e9b8bc489","count":1}],"total":2},"docs/documentation/ko/reference/Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces and Modules.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Namespaces.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Type Compatibility.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/ko/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":2},"docs/documentation/ko/reference/Variable Declarations.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.8.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 3.9.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/release-notes/TypeScript 4.0.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/ASP.NET Core.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/ko/tutorials/DOM Manipulation.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Gulp.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/Migrating from JavaScript.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/ko/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":8}],"total":1},"docs/documentation/pl/handbook-v2/The Handbook.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6},{"name":"Jakub Cabak","gravatar":"853694852f976eb9a8d79fd335f72a6c","count":1},{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":1}],"total":3},"docs/documentation/pt/declaration-files/By Example.md":{"top":[{"name":"Perkles","gravatar":"8e49171173319c761baee81a660405b9","count":6}],"total":1},"docs/documentation/pt/declaration-files/Consumption.md":{"top":[{"name":"Leandro Lima","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":11},{"name":"Leandro","gravatar":"b99add103a3fe226a6e457fa18db7ab2","count":2}],"total":2},"docs/documentation/pt/declaration-files/Deep Dive.md":{"top":[{"name":"gustavofabro","gravatar":"9ffd9d3f734deef27039239d145249c4","count":7}],"total":1},"docs/documentation/pt/declaration-files/Do's and Don'ts.md":{"top":[{"name":"Perkles","gravatar":"8e49171173319c761baee81a660405b9","count":6}],"total":1},"docs/documentation/pt/declaration-files/Introduction.md":{"top":[{"name":"gustavofabro","gravatar":"9ffd9d3f734deef27039239d145249c4","count":6}],"total":1},"docs/documentation/pt/javascript/Creating DTS files From JS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Intro to JS with TS.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/JSDoc Reference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/javascript/Type Checking JavaScript Files.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Configuring Watch.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/Project References.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/project-config/tsconfig.json.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Declaration Merging.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Decorators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Iterators and Generators.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/JSX.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Mixins.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":9}],"total":1},"docs/documentation/pt/reference/Module Resolution.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces and Modules.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Namespaces.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Symbols.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Triple-Slash Directives.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Compatibility.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Type Inference.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Utility Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/reference/Variable Declarations.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/Babel with TypeScript.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/DOM Manipulation.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/React.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/pt/tutorials/TypeScript Tooling in 5 minutes.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/vo/handbook-v1/Basic Types.md":{"top":[{"name":"Orta","gravatar":"bcfa5d8f5699be0134ffb16424b42610","count":6}],"total":1},"docs/documentation/zh/project-config/tsconfig.json.md":{"top":[{"name":"Leon","gravatar":"3a0dff3d171777a5b2b8ceddf691ba35","count":8}],"total":1},"docs/documentation/ko/declaration-files/templates/module-class.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/declaration-files/templates/module-function.d.ts.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1},"docs/documentation/ko/handbook-v2/Type Manipulation/Generics.md":{"top":[{"name":"Jihoon Seo","gravatar":"ecf0fadc78946edd957a076fc88e9bb6","count":6}],"total":1}} \ No newline at end of file From e7747baa9a05cbef6b6afeaca4bcf4eb318c2a0c Mon Sep 17 00:00:00 2001 From: MyoungHo Kim <34343507+yahma25@users.noreply.github.com> Date: Tue, 10 Aug 2021 22:26:11 +0900 Subject: [PATCH 78/82] Update docs/playground/ko/TypeScript/Language Extensions/Nominal Typing.ts Co-authored-by: YeonJuan --- .../ko/TypeScript/Language Extensions/Nominal Typing.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/playground/ko/TypeScript/Language Extensions/Nominal Typing.ts b/docs/playground/ko/TypeScript/Language Extensions/Nominal Typing.ts index 9a7d2693..7e76e399 100644 --- a/docs/playground/ko/TypeScript/Language Extensions/Nominal Typing.ts +++ b/docs/playground/ko/TypeScript/Language Extensions/Nominal Typing.ts @@ -36,7 +36,7 @@ const validateUserInput = (input: string) => { return simpleValidatedInput as ValidatedInputString; }; -// 이제 새로운 명목적 타입이고 일반 문자열 타입이 아닌 것만 +// 이제 일반 문자열 타입이 아닌 새로운 명목적 타입만 // 허용하는 함수를 만들 수 있습니다. const printName = (name: ValidatedInputString) => { From 6ccb6ab3d35c5af09b00eb2c456dbfdff1432b36 Mon Sep 17 00:00:00 2001 From: Orta Date: Thu, 12 Aug 2021 08:19:32 +0100 Subject: [PATCH 79/82] Update docs-sync --- .github/workflows/codeowners-merge.yml | 8 ++++---- package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/codeowners-merge.yml b/.github/workflows/codeowners-merge.yml index 36edff9e..8fe2b7da 100644 --- a/.github/workflows/codeowners-merge.yml +++ b/.github/workflows/codeowners-merge.yml @@ -1,11 +1,11 @@ name: Codeowners merging on: - pull_request_target: { types: [ opened, synchronize, reopened] } - issue_comment: { types: created } - pull_request_review: { types: submitted } + pull_request_target: { types: [opened, synchronize, reopened] } + issue_comment: { types: [created] } + pull_request_review: { types: [submitted] } jobs: - build: + merge-check: runs-on: ubuntu-latest steps: diff --git a/package.json b/package.json index c2e429e9..984a1549 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "dependencies": { "@orta/markdown-translator": "^0.4.2", - "@oss-docs/sync": "1.1.3", + "@oss-docs/sync": "1.1.4", "danger": "^10.6.0" }, "devDependencies": { diff --git a/yarn.lock b/yarn.lock index 8428f56a..ec11b68f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -133,10 +133,10 @@ request "^2.88.0" unified-stream "^1.0.4" -"@oss-docs/sync@1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@oss-docs/sync/-/sync-1.1.3.tgz#13647923e9c297c273be4a0cf2ec09b803875966" - integrity sha512-UJ3iZPdiAxYMpC8K9bXjwHCi3L7BBr08FF9GSczw2usb7cJ5MqaIOdnxBh16/LAVzgCrJiDyKfGugUWW+k8ohg== +"@oss-docs/sync@1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@oss-docs/sync/-/sync-1.1.4.tgz#7b1de679a67b3be96cbd04aeb358c5688d8de7e6" + integrity sha512-lCbnRABxvQCSRrxyfuwRFU5K5eGiBHGIUevQzGArcTv3A0kxorVpmH5FZgVP9Iw2G4+UoWr8L6egcpy6Ar0tyw== dependencies: cachedir "^2.3.0" chalk "^4.1.0" From f8af1aa48d7452f82ded76ca8a8f1047bafe0d77 Mon Sep 17 00:00:00 2001 From: Orta Date: Thu, 12 Aug 2021 08:21:01 +0100 Subject: [PATCH 80/82] add @dvlprsh as a korean collaborator --- .github/CODEOWNERS | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5b4879a4..e8bfebd3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -29,11 +29,11 @@ docs/typescriptlang/zh.ts @Kingwl [translation] [zh] docs/documentation/zh/**/*.md @Kingwl [translation] [zh] # Collaborators for Korean Translation of the Website -docs/playground/ko @Bumkeyy @yeonjuan @guyeol [translation] [ko] -docs/tsconfig/ko/**/*.md @Bumkeyy @yeonjuan @guyeol [translation] [ko] -docs/typescriptlang/ko/**/*.ts @Bumkeyy @yeonjuan @guyeol [translation] [ko] -docs/typescriptlang/ko.ts @Bumkeyy @yeonjuan @guyeol [translation] [ko] -docs/documentation/ko/**/*.md @Bumkeyy @yeonjuan @guyeol [translation] [ko] +docs/playground/ko @Bumkeyy @yeonjuan @guyeol @dvlprsh [translation] [ko] +docs/tsconfig/ko/**/*.md @Bumkeyy @yeonjuan @guyeol @dvlprsh [translation] [ko] +docs/typescriptlang/ko/**/*.ts @Bumkeyy @yeonjuan @guyeol @dvlprsh [translation] [ko] +docs/typescriptlang/ko.ts @Bumkeyy @yeonjuan @guyeol @dvlprsh [translation] [ko] +docs/documentation/ko/**/*.md @Bumkeyy @yeonjuan @guyeol @dvlprsh [translation] [ko] # Collaborators for Indonesian Translation of the Website docs/playground/id @jefrydco @nusendra @mazipan @mandaputtra [translation] [id] From e7ef1a7b949cad81c75eea8cde763bdef53010a7 Mon Sep 17 00:00:00 2001 From: Orta Date: Fri, 13 Aug 2021 14:02:50 +0100 Subject: [PATCH 81/82] Note 'in your language' --- starting_new_language.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/starting_new_language.md b/starting_new_language.md index 5b9a5a8b..41e46b26 100644 --- a/starting_new_language.md +++ b/starting_new_language.md @@ -14,6 +14,21 @@ Things you need before: Send a PR with those changes, here's an example with French: [PR #101](https://github.com/microsoft/TypeScript-Website-Localizations/pull/101). +## **In TypeScript-Website** + +1. Ask for the following translations ASAP: + +``` +en: { + shorthand: "In En", + body: "This page is available in English", + open: "Go", + cancel: "Don't ask again", + }, +``` +1. Add that to: https://github.com/microsoft/TypeScript-website/blob/v2/packages/typescriptlang-org/src/copy/inYourLanguage.ts#L1 + + ## **In Discord** 1. Create a new room: `#localize-[shortcode]` From 6cb09e9094657eff2f3aafb06c8c14cfaa1dc0f7 Mon Sep 17 00:00:00 2001 From: yahma25 Date: Sat, 26 Jun 2021 16:35:11 +0900 Subject: [PATCH 82/82] Translate 1 file to ko, playground - Structural Typing --- .../TypeScript/Language/Structural Typing.ts | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 docs/playground/ko/TypeScript/Language/Structural Typing.ts diff --git a/docs/playground/ko/TypeScript/Language/Structural Typing.ts b/docs/playground/ko/TypeScript/Language/Structural Typing.ts new file mode 100644 index 00000000..7a274ea7 --- /dev/null +++ b/docs/playground/ko/TypeScript/Language/Structural Typing.ts @@ -0,0 +1,85 @@ +// TypeScript는 구조적 타입 시스템입니다. +// 구조적 타입 시스템은 타입을 비교할 때, +// TypeScript는 타입의 멤버만 고려한다는 것을 의미합니다. + +// 두 가지 타입을 만들 수 있지만, +// 서로 할당할 수 없는 명목적 타입 시스템과는 대조적입니다. +// 예제를 살펴보세요:nominal-typing + +// 예를 들어, 구조적 타입 시스템에서 +// 이러한 두 가지 인터페이스는 완전히 이동시킬 수 있습니다: + +interface Ball { + diameter: number; +} +interface Sphere { + diameter: number; +} + +let ball: Ball = { diameter: 10 }; +let sphere: Sphere = { diameter: 20 }; + +sphere = ball; +ball = sphere; + +// Ball과 Sphere의 모든 멤버를 +// 구조적으로 포함하는 타입을 추가하면, +// 공이나 구체가 되도록 설정할 수도 있습니다. + +interface Tube { + diameter: number; + length: number; +} + +let tube: Tube = { diameter: 12, length: 3 }; + +tube = ball; +ball = tube; + +// 공은 길이를 갖고 있지 않아서, 튜브 변수에 할당할 수 없습니다. +// 하지만, Ball의 모든 멤버는 +// 튜브 내부에 속하니 할당할 수 있습니다. + +// TypeScript는 타입의 각 멤버를 +// 서로 비교하여 동등한지 확인합니다. + +// 함수는 JavaScript에서 객체이며 +// 비슷한 방식으로 비교합니다. +// 매개변수에 유용한 추가 트릭이 하나 있습니다: + +let createBall = (diameter: number) => ({ diameter }); +let createSphere = (diameter: number, useInches: boolean) => { + return { diameter: useInches ? diameter * 0.39 : diameter }; +}; + +createSphere = createBall; +createBall = createSphere; + +// TypeScript는 매개변수의 (숫자)는 (숫자, 불린)과 같다고 하지만, +// (숫자, 불린)은 (숫자)와 같다고 하지 않습니다 + +// JavaScript 코드가 필요 없어 졌을 때 +// 매개변수 전달을 생략하는 게 아주 흔한 일이라서 +// TypeScript는 첫 번째 할당에 있는 불린을 버립니다. + +// 예를 들어 배열의 forEach의 콜백은 세 가지 매개변수를 갖고 있는데 +// 값, 인덱스, 전체 배열입니다. +// TypeScript가 매개변수 버리기를 제공하지 않았다면, +// 함수와 일치시키기 위해 모든 선택 사항을 포함했어야 합니다: + +[createBall(1), createBall(2)].forEach((ball, _index, _balls) => { + console.log(ball); +}); + +// 아무도 필요로 하지 않습니다. + +// 반환 타입은 객체처럼 간주하고, +// 일부 차이점은 위의 같은 객체 비교 규칙으로 비교합니다. + +let createRedBall = (diameter: number) => ({ diameter, color: "red" }); + +createBall = createRedBall; +createRedBall = createBall; + +// 첫 번째 할당은 동작하지만 (둘 다 지름이 있음), +// 두 번째는 동작하지 않습니다. (공은 색상이 없음)