Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translate primitives Literals of playground examples into japanese #247

Conversation

takefumi-yoshii
Copy link
Contributor

@takefumi-yoshii takefumi-yoshii commented Feb 13, 2020

Overview

part of #100, #220
Corresponding released English page

I translated Primitives Literals playground-example.

@Naturalclar @Quramy @sasurau4 Please give me a review.

image

@takefumi-yoshii
Copy link
Contributor Author

キャプチャ見てのとおりなんですが、declare function の 戻り型を明記していないため、そこが警告されています。en もこの様になっていたんですが、これは良いのだろうか…

// 特別な面白いケースがあります。

// これは、型の拡張・型の絞り込みにおいて、多くのサポートをもたらします。
// (例:type-widening-narrowing)
Copy link
Contributor

@orta orta Feb 13, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably want to keep this as example:type-widening-narrowing because it becomes clickable inside the playground to take you to that example

@Quramy
Copy link
Contributor

Quramy commented Feb 14, 2020

キャプチャ見てのとおりなんですが、declare function の 戻り型を明記していないため、そこが警告されています。en もこの様になっていたんですが、これは良いのだろうか…

exampleのコード本体については、翻訳作業の中で手を入れない方が吉とは思います。

というか、declare functionってany省略できるの知らなかった。。。

@@ -0,0 +1,65 @@
// TypeScriptには、ソースコードにリテラルを用いた
// 特別な面白いケースがあります。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO:

Suggested change
// 特別な面白いケースがあります
// とても面白い用法があります

用法だと薬っぽいかもしれない

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

とても面白い利用例があります。 としています


// リテラルは集合型よりも具体的なサブタイプです。
// どういうことかと言うと、型システム内部では
// 「Hello World」は文字列ですが、文字列は「Hello World」ではありません。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO

// リテラル型は集合型よりも具体的なサブタイプです。
// どういうことかと言うと、型システム内部では
// 「Hello World」型は文字列型ですが、文字列型は「Hello World」型ではありません。

ちょっと型が多くてうるさいかもしれない。ただ、型システムの話してるので、文字列型と明示的にした方がいいかなと思いました

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

これも悩みどころですね。いずれも「literal type」「string type」とは原文に書かれていないため。

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

基本的に、訳者の意見を尊重でいいと思います 👍

// 「Hello World」は文字列ですが、文字列は「Hello World」ではありません。

const helloWorld = "Hello World";
let hiWorld = "Hi World"; // これはletなのでstring型です
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

文字列型かstring型か統一しないとですね。。。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

文字列型に統一しています

};

// 定数として定義された `name:"Sabrina"` であっても
// `name:string` に変換されてしまう様子を見てください。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO

Suggested change
// `name:string` に変換されてしまう様子を見てください
// `name:string` に変換されてしまいます


// 定数として定義された `name:"Sabrina"` であっても
// `name:string` に変換されてしまう様子を見てください。
// この理由は、名前はいつでも変更できるからです。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO

Suggested change
// この理由は、名前はいつでも変更できるからです
// こうなるのは、nameプロパティがいつでも変更できるからです

これ、名前ってなってますが、多分 name propertyのことっぽいですね。。。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

直訳だと名前ですが、nameプロパティの方が親切だと思うので変更します

myUser.name = "Cynthia";

// なぜならmyUserのnameプロパティは変更できるため、
// TypeScriptは型システムにおいてリテラルバージョンを使用できません。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// TypeScriptは型システムにおいてリテラルバージョンを使用できません
// TypeScriptは型システムにおいてリテラル型を使用できません


// なぜならmyUserのnameプロパティは変更できるため、
// TypeScriptは型システムにおいてリテラルバージョンを使用できません。
// しかしながら、次の機能でこれを許容することができます。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO:
「there is ~」で〜が存在する
「allow 人称代名詞 to do」で人称代名詞がto do できるようにする
みたいな訳になる気がします

Suggested change
// しかしながら、次の機能でこれを許容することができます
// しかしながら、nameプロパティをリテラル型として扱えるようにする機能があります

to do thisのthisを開いたのはちょっとやり過ぎかもしれないです

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

そうですね、これは書かれていない事なのでこのままとしたいです。

name: "Fatma"
} as const;

// 「as const」がオブジェクトに適用されると、
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO: 日本語、受動態をそのままにするとすごく直訳感が出てしまう傾向がある気がする

Suggested change
// 「as const」がオブジェクトに適用されると
// 「as const」をオブジェクトに適用すると

// しかし、このルールは混み入ったオブジェクトには適用されません。

const myUser = {
name: "Sabrina"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO: Hello WorldがHello, 世界になってるPRが会った気がする

Suggested change
name: "Sabrina"
name: "太郎"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

うーん、花子じゃだめなのか、みないな話になりそうなので。。この辺どうしましょう

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

たしかに、Gender Neutralな名前でないと厳しいかもですね‥
日本語で Gender Neutral な名前ってなんだろ。
原文は大体女性の名前っぽいですが、下手に悩むよりは原文のままでも良さそうと感じます。

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

良さそう

myUnchangingUser.name = "Raîssa";

// 「as const」は固定データのための素晴らしいツールであり、
// コード中であっても、インラインリテラルとして処理されます。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO: 自信ないんですが、great tool forがfixtured dataとplacesに対して並列で係ってると思います

「as const」は固定データやコードを
そのままの型として扱う場所のための素晴らしいツールなのです。

うーん、そのままの型が直訳っぽくて微妙。。。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

// 「as const」はコード中でインラインリテラルを扱ったり、
// 固定データを扱うための素晴らしいツールです。

としています

Copy link
Contributor

@sasurau4 sasurau4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

// しかし、このルールは混み入ったオブジェクトには適用されません。

const myUser = {
name: "Sabrina"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

良さそう


// リテラルは集合型よりも具体的なサブタイプです。
// どういうことかと言うと、型システム内部では
// 「Hello World」は文字列ですが、文字列は「Hello World」ではありません。
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

基本的に、訳者の意見を尊重でいいと思います 👍

@Naturalclar
Copy link
Contributor

Ready to merge

@orta orta merged commit 204ef81 into microsoft:v2 Feb 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants