LoginSignup
1
0

More than 3 years have passed since last update.

Flutterのmain.dartのコメントを翻訳させました

Posted at

ふとFlutterの最初のコメントは何を書いてあるのだろうと思ったので、翻訳してまとめてみました。
このコメントって理解に役立つ事書いてあるのだろうと思いつつ、すぐ消してしまいますよね。

翻訳に使用したもの

DeepL(ディープエルと呼びます。)
Google翻訳よりも日本語らしく翻訳してくれるので、オススメです。

main.dartを翻訳したコード

main.dart
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // このウィジェットはアプリケーションのルートです。
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // これはあなたのアプリケーションのテーマです。
        //
        // 「flutter run」でアプリケーションを実行してみてください。
        // アプリケーションに青いツールバーが表示されているのがわかります。
        // そして、アプリを終了させずに、下のprimarySwatchをColors.greenに
        // 変更してから「ホットリロード」を呼び出してみてください
        // (「flutter run」を実行したコンソールで「r」を押すか、Flutter IDEで「ホットリロード」に変更内容を保存しておくだけです)。
        // カウンタがゼロにリセットされていないことに注意してください。
        primarySwatch: Colors.blue,
        // これにより、ビジュアルの密度がアプリを実行するプラットフォームに適応するようになります。
        // デスクトップ・プラットフォームでは、モバイル・プラットフォームに比べて、コントロールが小さく、より近くに(より密に)なります。
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  // このウィジェットはアプリケーションのホームページです。
  // これはステートフルで、表示方法に影響を与えるフィールドを含むステートオブジェクト(以下で定義)を持っています。

  // このクラスは状態の設定です。
  // 親(この場合はAppウィジェット)から提供された値(この場合はタイトル)を保持し、Stateのビルドメソッドで使用されます。
  // Widgetサブクラスのフィールドは常に "final "とマークされています。

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      // この setState の呼び出しは、この State で何かが変更されたことを Flutter フレームワークに伝え、
      // 以下のビルドメソッドを再実行して、更新された値を表示に反映できるようにします。
      // setState() を呼び出さずに _counter を変更した場合、ビルドメソッドは再び呼び出されないので、何も起こらないように見えます。
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    // このメソッドは setState が呼び出されるたびに再実行されます。
    // 
    // Flutterフレームワークは、ビルドメソッドの再実行を高速化するために最適化されており、
    // ウィジェットのインスタンスを個別に変更するのではなく、更新が必要なものは何でも再構築できるようになっています。
    return Scaffold(
      appBar: AppBar(
        // ここでは、App.buildメソッドによって作成されたMyHomePageオブジェクトの値を取り、それを使用してアプリバーのタイトルを設定します。
        title: Text(widget.title),
      ),
      body: Center(
        // Centerはレイアウトウィジェットです。
        // 一つの子ウィジェットを、親ウィジェットの真ん中に配置します。
        child: Column(
          // Columnもレイアウトウィジェットです。
          // 子ウィジェットのリストを取って縦に並べる。
          // デフォルトでは、子ウィジェットが水平に収まるようにサイズを調整し、
          // 親ウィジェットと同じくらいの高さになろうとします。
          //
          // 「debug painting」を呼び出して(コンソールで「p」を押し、
          // Android StudioのFlutter Inspectorから「Toggle Debug Paint」アクションを選択するか、
          // Visual Studio Codeの「Toggle Debug Paint」コマンドを選択する)、各ウィジェットのワイヤーフレームを表示します。
          //
          // Columnには様々なプロパティがあり、それ自体のサイズや子の位置を制御することができます。
          // ここではmainAxisAlignmentを使用して、子ウィジェットを垂直方向に中心に置いています
          // Columnsが垂直なので、ここでの主軸は垂直軸です(クロス軸は水平軸です)。
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ), // この末尾のカンマは、ビルドメソッドの自動書式設定をより簡単にします。
    );
  }
}

まとめ

この記事が良いと思った方は、LGTMをしていただければ嬉しいです!
フォローも是非お願い致します(^^)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0