feature:translation

This commit is contained in:
toly 2025-02-11 09:51:08 +08:00
parent f818fbacce
commit 40d5651801
3210 changed files with 87377 additions and 22 deletions

View File

@ -0,0 +1,52 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128">
<defs>
<!-- 渐变定义 -->
<linearGradient id="mainGradient" x1="30%" y1="0%" x2="70%" y2="100%">
<stop offset="0%" stop-color="#7C9BFE"/>
<stop offset="100%" stop-color="#5B7CDB"/>
</linearGradient>
<!-- 阴影滤镜 -->
<filter id="avatarShadow" x="-20%" y="-20%" width="140%" height="140%">
<feDropShadow dx="4" dy="8" stdDeviation="8" flood-color="rgba(0,0,0,0.12)"/>
</filter>
</defs>
<!-- 背景圆形 -->
<circle cx="64" cy="64" r="56" fill="white" stroke="#E8EDF7" stroke-width="2"/>
<!-- 底层弧 -->
<path d="M64 16
A48 48 0 1 1 64 112
A48 48 0 1 1 64 16
M64 32
A32 32 0 1 0 64 96
A32 32 0 1 0 64 32Z"
fill="url(#mainGradient)"
filter="url(#avatarShadow)"
opacity="0.4"
transform="rotate(-15 64 64)"/>
<!-- 中层弧 -->
<path d="M64 24
A40 40 0 1 1 64 104
A40 40 0 1 1 64 24
M64 36
A28 28 0 1 0 64 92
A28 28 0 1 0 64 36Z"
fill="url(#mainGradient)"
filter="url(#avatarShadow)"
opacity="0.6"
transform="rotate(-5 64 64)"/>
<!-- 顶层弧 -->
<path d="M64 32
A32 32 0 1 1 64 96
A32 32 0 1 1 64 32
M64 44
A20 20 0 1 0 64 84
A20 20 0 1 0 64 44Z"
fill="url(#mainGradient)"
filter="url(#avatarShadow)"
opacity="0.8"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1,6 +1,23 @@
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M170 89.7143C170 88.216 168.964 87 167.688 87H98.3116C97.036 87 96 88.216 96 89.7143V103.286C96 104.784 97.036 106 98.3116 106H167.688C168.964 106 170 104.784 170 103.286V89.7143Z" fill="#A0BFF7"/>
<path d="M170 113.659C170 112.191 168.964 111 167.688 111H98.3116C97.036 111 96 112.191 96 113.659V126.955C96 128.422 97.036 129.614 98.3116 129.614H167.688C168.964 129.614 170 128.422 170 126.955V113.659Z" fill="#69CB91"/>
<path d="M170 137.273C170 135.805 168.964 134.614 167.688 134.614H98.3116C97.036 134.614 96 135.805 96 137.273V150.568C96 152.036 97.036 153.227 98.3116 153.227H167.688C168.964 153.227 170 152.036 170 150.568V137.273Z" fill="#C8BBDB"/>
<path d="M170 160.886C170 159.419 168.964 158.227 167.688 158.227H98.3116C97.036 158.227 96 159.419 96 160.886V174.182C96 175.65 97.036 176.841 98.3116 176.841H167.688C168.964 176.841 170 175.65 170 174.182V160.886Z" fill="#A0BFF7"/>
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128">
<!-- 列表容器 -->
<rect x="24" y="20" width="80" height="88" rx="8" fill="white" stroke="#E5E9F0" stroke-width="2"/>
<!-- 列表项:已在容器内均匀分布 -->
<!-- 计算:容器高度 88 - 4×16 = 24px 总间距5 段间隔,每段 24/5 = 4.8px -->
<rect x="32" y="24.8" width="64" height="16" rx="4" fill="#4D77FF" opacity="0.9"/>
<!-- 第一项y = 20 + 4.8 = 24.8 -->
<rect x="32" y="45.6" width="64" height="16" rx="4" fill="#4D77FF" opacity="0.7"/>
<!-- 第二项y = 24.8 + 16 + 4.8 = 45.6 -->
<rect x="32" y="66.4" width="64" height="16" rx="4" fill="#4D77FF" opacity="0.5"/>
<!-- 第三项y = 45.6 + 16 + 4.8 = 66.4 -->
<rect x="32" y="87.2" width="64" height="16" rx="4" fill="#4D77FF" opacity="0.3"/>
<!-- 第四项y = 66.4 + 16 + 4.8 = 87.2 -->
<!-- 滚动渐变遮罩(保持不变,如需调整可同步修改) -->
<linearGradient id="scrollGradient" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="white" stop-opacity="0.8"/>
<stop offset="1" stop-color="white" stop-opacity="0"/>
</linearGradient>
<rect x="24" y="20" width="80" height="20" rx="8" fill="url(#scrollGradient)"/>
<rect x="24" y="88" width="80" height="20" rx="8" fill="url(#scrollGradient)" transform="rotate(180 64 98)"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,24 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128">
<defs>
<!-- 渐变定义 -->
<linearGradient id="pageGradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#A3B8FF"/>
<stop offset="100%" stop-color="#8FA3E0"/>
</linearGradient>
</defs>
<!-- 背景 -->
<rect x="16" y="16" width="96" height="96" rx="8" fill="white" stroke="#E5E9F0" stroke-width="2"/>
<!-- 页面1最底层 -->
<rect x="24" y="48" width="56" height="56" rx="8"
fill="url(#pageGradient)" filter="url(#shadow)" opacity="0.4"/>
<!-- 页面2中层 -->
<rect x="36" y="36" width="56" height="56" rx="8"
fill="url(#pageGradient)" filter="url(#shadow)" opacity="0.6"/>
<!-- 页面3最上层 -->
<rect x="48" y="24" width="56" height="56" rx="8"
fill="url(#pageGradient)" filter="url(#shadow)" opacity="0.8"/>
</svg>

After

Width:  |  Height:  |  Size: 970 B

View File

@ -0,0 +1,43 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 128 128">
<defs>
<!-- 容器阴影 -->
<!-- <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">-->
<!-- <feDropShadow dx="2" dy="2" stdDeviation="3" flood-color="black" flood-opacity="0.1"/>-->
<!-- </filter>-->
<!-- 内容渐变:从淡蓝到更淡蓝 -->
<linearGradient id="contentGradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stop-color="#A3B8FF"/>
<stop offset="100%" stop-color="#8FA3E0"/>
</linearGradient>
<!-- 顶部滚动遮罩渐变 -->
<linearGradient id="scrollTop" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="white" stop-opacity="1"/>
<stop offset="100%" stop-color="white" stop-opacity="0"/>
</linearGradient>
<!-- 底部滚动遮罩渐变 -->
<linearGradient id="scrollBottom" x1="0" y1="0" x2="0" y2="1">
<stop offset="0%" stop-color="white" stop-opacity="0"/>
<stop offset="100%" stop-color="white" stop-opacity="1"/>
</linearGradient>
<!-- 定义剪切区域,使内部内容仅显示在容器内 -->
<clipPath id="clip">
<rect x="16" y="16" width="96" height="96" rx="12"/>
</clipPath>
</defs>
<!-- 外层容器(预留边距) -->
<rect x="16" y="16" width="96" height="96" rx="12" fill="white" stroke="#E5E9F0" stroke-width="2" filter="url(#shadow)"/>
<!-- 内部单一子组件(内容高度超出容器,模拟可滚动效果),采用剪切以确保内容仅显示在容器内 -->
<g clip-path="url(#clip)">
<!-- 内容组件:设置较大的高度并上移部分,模拟滚动状态 -->
<rect x="32" y="10" width="64" height="120" rx="4" fill="url(#contentGradient)" opacity="0.6"/>
</g>
<!-- 顶部滚动渐变遮罩 -->
<rect x="16" y="16" width="96" height="16" rx="12" fill="url(#scrollTop)"/>
<!-- 底部滚动渐变遮罩 -->
<rect x="16" y="96" width="96" height="16" rx="12" fill="url(#scrollBottom)"/>
<!-- 右侧滚动条指示器 -->
<rect x="102" y="30" width="4" height="40" rx="2" fill="#E5E9F0"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -9,7 +9,7 @@ import 'package:l10n/l10n.dart';
import 'package:widget_module/widget_module.dart';
import 'package:tolyui/tolyui.dart';
import 'package:widget_module/blocs/blocs.dart';
import 'package:note/note.dart';
import 'l10n/gen/app_l10n.dart';
import 'navigation/router/app_route.dart';
@ -61,6 +61,7 @@ class _FlutterUnit3State extends State<FlutterUnit3> {
GlobalMaterialLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
FlutterQuillLocalizations.delegate,
],
supportedLocales: l10nLocales,
locale: state.language.locale,

View File

@ -6,12 +6,16 @@
#include "generated_plugin_registrant.h"
#include <file_selector_linux/file_selector_plugin.h>
#include <open_file_linux/open_file_linux_plugin.h>
#include <screen_retriever_linux/screen_retriever_linux_plugin.h>
#include <url_launcher_linux/url_launcher_plugin.h>
#include <window_manager/window_manager_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
g_autoptr(FlPluginRegistrar) open_file_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "OpenFileLinuxPlugin");
open_file_linux_plugin_register_with_registrar(open_file_linux_registrar);

View File

@ -3,6 +3,7 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
file_selector_linux
open_file_linux
screen_retriever_linux
url_launcher_linux

View File

@ -9,6 +9,7 @@ import connectivity_plus
import open_file_mac
import package_info_plus
import path_provider_foundation
import quill_native_bridge_macos
import screen_retriever_macos
import share_plus
import shared_preferences_foundation
@ -22,6 +23,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
OpenFilePlugin.register(with: registry.registrar(forPlugin: "OpenFilePlugin"))
FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
QuillNativeBridgePlugin.register(with: registry.registrar(forPlugin: "QuillNativeBridgePlugin"))
ScreenRetrieverMacosPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverMacosPlugin"))
SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))

View File

@ -20,22 +20,23 @@ class ScienceHost extends Host {
HostEnv get env => HostEnv.dev;
}
//
//
class LightServerHost extends Host {
const LightServerHost();
@override
Map<HostEnv, String> get value => {
HostEnv.release: '82.157.176.209',
HostEnv.dev: '127.0.0.1',
};
HostEnv.release: '82.157.176.209',
HostEnv.dev: '127.0.0.1',
};
@override
HostConfig get config => const HostConfig(
scheme: 'http',
port: 3000,
apiNest: '/api/v1',
);
scheme: 'http',
port: 3000,
apiNest: '/api/v1',
);
@override
HostEnv get env => HostEnv.release;

View File

@ -0,0 +1,188 @@
{
"widgetCollection": "ウィジェットコレクション",
"paintCollection": "描画コレクション",
"knowledgeCollection": "知識集",
"treasureTools": "ツールボックス",
"collectCollection": "コレクション集",
"essentialCollection": "要点集",
"homeAccount": "アプリ情報",
"homeAccountTabInfo": "アプリについて",
"homeAccountTabMe": "本王に連絡",
"homeAccountSupport": "プロジェクトをサポート",
"searchWidget": "ウィジェットを検索",
"stateless": "ステートレス",
"stateful": "ステートフル",
"single": "シングルレンダリング",
"multi": "マルチレンダリング",
"sliver": "スライバー",
"proxy": "プロキシ",
"other": "その他",
"homeTabWidget": "ウィジェット",
"homeTabPaint": "描画",
"homeTabKnowledge": "知識",
"homeTabTools": "ツール",
"homeTabMine": "マイ",
"dataManagement": "データ管理",
"userCollection": "マイコレクション",
"aboutApplications": "アプリについて",
"contactThisKing": "本王に連絡",
"appSettings": "アプリ設定",
"darkMode": "ダークモード",
"themeColorSetting": "テーマカラー設定",
"fontSetting": "フォント設定",
"settingLanguageText": "多言語",
"codeHighlightStyle": "コードハイライトスタイル",
"versionInformation": "バージョン情報",
"displayPerformanceFloatingLayer": "パフォーマンスフローティングレイヤーを表示",
"showFloatingTools": "フローティングツールを表示",
"followSystem": "システムに従う",
"afterOpeningWillFollowTheSystemToOpenOrCloseDarkMode": "有効にすると、システムに従ってダークモードをオンまたはオフにします",
"manualSetting": "手動設定",
"lightMode": "ライトモード",
"settingLanguage": "言語設定",
"appDetails": "アプリ詳細",
"checkUpdate": "新しいバージョンを確認",
"downloadNewVersion": "新しいバージョンをダウンロード",
"downloadingNewVersion": "新しいバージョンをダウンロード中...",
"currentIsNew": "現在のアプリは最新バージョンです!",
"checkDatabaseNewVersion": "データベースの新しいバージョンを確認",
"viewThisProjectGithubRepository": "《このプロジェクトのGithubリポジトリを表示》",
"favorite": "お気に入り",
"enterComponentName": "コンポーネント名を入力",
"containerComponents": "コンテナコンポーネント",
"componentTavern": "コンポーネント酒場",
"cherishedComponents": "大切なコンポーネント",
"textImageCollection": "テキスト画像集",
"layoutCollection": "レイアウト集",
"eventCollection": "イベント集",
"animationCollection": "アニメーション集",
"slidingCollection": "スライド集",
"decorationCollection": "装飾集",
"assemblyCollection": "アセンブリ集",
"functionCollection": "機能集",
"popupCollection": "ポップアップ集",
"themeCollection": "テーマ集",
"derivativeCollection": "派生集",
"hardToCategorize": "分類が難しい",
"basicDrawing": "基本描画",
"basicDrawingDesc": "基本的な図形描画のケースを収録しています。これらのケースは、描画を始めたばかりのプログラマーにとって非常に役立ちます。これらのケースを通じて、点、線、矩形、円、円弧、テキスト、画像などの基本的な図形の描画方法を学び、Canvas、Paint、Pathなどの描画の核心オブジェクトの使用方法を理解できます。",
"animationGesture": "アニメーションとジェスチャー",
"animationGestureDesc": "アニメーションとジェスチャーの描画ケースを収録しています。これらのケースは、描画をより操作可能にします。これらのケースを通じて、スライド、回転、拡大縮小、移動などの効果を学び、描画が静的な表現だけでなくなることを理解できます。",
"particleDrawing": "粒子描画",
"particleDrawingDesc": "粒子関連の描画ケースを収録しています。これらのケースは、描画のトップレベルの操作です。これらのケースを通じて、粒子を使用して驚くべき視覚効果を描画する方法を学び、粒子時計、粒子爆発、粒子背景などの効果を実現し、描画に無限の可能性を与えます。",
"interestingDrawing": "面白い描画",
"interestingDrawingDesc": "いくつかの面白い描画ケースを収録しています。ここで一緒に描画の楽しさ、プログラミングの楽しさ、そして知恵の楽しさを体験しましょう。",
"artGallery": "アートギャラリー",
"artGalleryDesc": "殿堂級の描画ケースを収録しています。これらのケースは、描画の頂点作品であり、それらは実用性がなく、いかなるニーズのためでもありません。それらは存在するために存在し、人間の知恵と表現の媒体であり、芸術と呼ばれます。",
"drawingOfImages": "このサンプルでは、画像を描画する方法を紹介します。画像をロードし、指定された領域に画像リソースを描画します。上層に45度傾いたグリッド線を描画し、線の描画を練習します。",
"digitalDisplayTube": "このサンプルでは、LEDデジタル表示管を描画する方法を紹介し、パスPathの使用、変換、組み合わせ、およびコンポーネントのカプセル化の知識を練習します。非常に良い描画ケースです。",
"pathDrawing": "このサンプルでは、簡単なパスの描画とキャンバスの回転を紹介し、アニメーションと組み合わせて風車を回転させます。これは、描画とアニメーションを組み合わせた非常に簡潔なケースです。",
"gridCoordinateSystem": "このサンプルでは、線パスとテキストを使用してグリッド座標系を描画し、描画オブジェクトをカプセル化して再利用しやすくします。座標系は描画時に参考を提供し、入門に最適です。",
"polarCoordinateSystemOfFaces": "このサンプルでは、平面の極座標系を使用して描画し、関数方程式に基づいて極座標を収集して描画する方法を紹介します。",
"drawFunctionCurvesForPathPairs": "このサンプルでは、パスを使用して関数曲線を描画し、関数曲線上の少数の点をベジェ曲線でフィッティングする方法を紹介します。",
"drawRegularPolygons": "このサンプルでは、円内で点を収集し、正多角形を描画する方法を紹介します。描画とパス形成の練習に最適なケースです。\n特殊操作+、- で辺の数を変更",
"randomNumberProcessing": "このサンプルでは、矩形の描画と乱数処理を紹介します。点の集合を使用して矩形の位置情報を決定し、それを描画します。データの制御能力を練習できます。",
"clockDrawing": "このサンプルでは、時計の描画を通じて、Flutterでの回転目盛りの描画テクニックを練習し、アニメーションで時計の針を回転させます。",
"drawSprings": "このサンプルでは、バネを描画し、垂直にドラッグして伸縮し、手を離すと復元アニメーションを行う方法を紹介します。非常に良い総合的な小ケースです。特殊操作:上下にドラッグしてバネを伸縮",
"theApplicationOfAnglesInDrawing": "このサンプルでは、ある点を中心に回転運動を行う方法を紹介します。これにより、2点間の角度を描画に適用する方法を学びます。\n特殊操作クリックして実行",
"usingShadersAndFilters": "このサンプルでは、描画でシェーダーとフィルターを使用し、アニメーションで数値を変化させて回転する光の効果を実現する方法を紹介します。",
"pathDrawingFunctionCurve": "このサンプルでは、パスを使用して関数曲線を描画し、パス測定を使用してアニメーションを行う方法を紹介します。",
"thePathOfBingDwenDwen": "このサンプルでは、2022年北京冬季オリンピックのマスコットであるビンドゥンドゥンのパスを描画し、パス測定を使用してアニメーションを行います。\n特殊操作クリックして実行",
"drawCubicBesselCurve": "このサンプルでは、3次ベジェ曲線を描画し、タッチポイントを使用してある点がアクティブかどうかを判断し、それに応じて点の位置を制御してドラッグ制御効果を実現する方法を紹介します。\n特殊操作クリックで点を描画、ダブルクリックでクリア",
"theEffectOfAnimationCurve": "このサンプルでは、アニメーションカーブの効果を直感的に確認し、アニメーションに対する理解を深めます。\n特殊操作クリックして実行",
"randomParticlesAndBoundaryBouncing": "このサンプルでは、ランダムな粒子を作成し、境界でのバウンスロジックを処理する方法を紹介します。粒子運動を学ぶのに非常に良い入門ケースです。特殊操作:クリックで停止/実行",
"particleCollision": "このサンプルでは、個々の粒子の衝突検出を行い、複数の粒子に分裂させる方法を紹介します。非常に面白いケースです。\n特殊操作クリックでリセット",
"particle": "このサンプルでは、画像を粒子として表現し、粒子にアニメーションを適用して爆発効果を実現する方法を紹介します。\n特殊操作クリックして実行",
"rectangleAndRandomNumbers": "このサンプルでは、矩形の描画と乱数処理を紹介します。点の集合を使用して矩形の位置情報を決定し、それを描画します。データの制御能力を練習できます。\n特殊操作クリックしてランダム生成",
"bingDwenDwen": "このサンプルでは、2022年北京冬季オリンピックのマスコットであるビンドゥンドゥンの形を描画し、パス描画やグラデーションなどの知識を学びます。",
"pufengInjectionTest": "このサンプルでは、蒲豊の針投げテストのプロセスを実装し、確率を使用して円周率を推定します。描画の小技やデータの論理処理を学ぶことができます。",
"ticTacToe": "このサンプルでは、三目並べの描画と論理検証を通じて、ジェスチャー、描画、アニメーション、検証などの重要なスキルを組み合わせます。非常に良い練習ケースです。\n特殊操作ダブルクリックでリセット",
"tiledLines": "このサンプルは、generativeartistry.comのtiled-linesに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry",
"joyDivision": "このサンプルは、generativeartistry.comのjoy-divisionに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry",
"cubicDisarray": "このサンプルは、generativeartistry.comのcubic-disarrayに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry",
"triangularMesh": "このサンプルは、generativeartistry.comのtriangular-meshに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry",
"unDeuxTrois": "このサンプルは、generativeartistry.comのun-deux-troisに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry",
"circlePacking": "このサンプルは、generativeartistry.comのcircle-packingに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry",
"hypnoticSquares": "このサンプルは、generativeartistry.comのhypnotic-squaresに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry",
"pietMondrian": "このサンプルは、generativeartistry.comのpiet-mondrianに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry",
"downloadCompressedPackage": "使用方法:\n1. iconfont.cnでアイコンを選び、プロジェクトに追加し、圧縮パッケージをダウンロードします。\n2. Flutterプロジェクトのアドレスを選択し、リソースと生成物ファイルの場所を設定します。\n3. コード生成ボタンをクリックすると、関連するコードが生成されます。",
"qAIssues": "要点集録のQAデータは、rUnitのpointタグが付いたissuesに収録されています。データを提供する必要がある場合は、issuesで質問してください。",
"tips": "注:",
"visualSorting": "可視化ソート",
"visual": "可視ソート",
"insertion": "挿入ソート",
"bubble": "バブルソート",
"cocktail": "カクテルソート(双方向バブルソート)",
"comb": "コームソート",
"pigeonHole": "鳩の巣ソート",
"shell": "シェルソート",
"selection": "選択ソート",
"gnome": "ノームソート",
"cycle": "サイクルソート",
"heap": "ヒープソート",
"quick": "クイックソート",
"merge": "マージソート",
"sortingAlgorithmConfiguration": "ソートアルゴリズム設定",
"dataCount": "データ数(個数)",
"timeInterval": "時間間隔(マイクロ秒)",
"randomSeed": "ランダムシード",
"codeGeneration": "コード生成",
"generateCode": "コードを生成",
"artifactLocation": "生成物の場所",
"codeClassLocation": "コードクラスの保存場所",
"resourceDirectory": "リソースディレクトリ",
"iconfontResourceLocation": "iconfontリソースの保存場所",
"projectPath": "プロジェクトパス",
"inputProjectAddress": "プロジェクトアドレスを選択または入力してください",
"iconfontCompressedPackagePath": "Iconfont圧縮パッケージのパス",
"pleaseSelectOrInputIconfontCompressedPackagePath": "iconfontのダウンロードした圧縮パッケージのパスを選択または入力してください",
"stayTuned": "お楽しみに",
"iconFont": "IconFont",
"dataClass": "データクラス",
"stateManagement": "状態管理",
"jsonParsing": "Json解析",
"clickHereToJump": "ここをクリックしてジャンプ",
"knowledgeTabToly": "ジェット文庫",
"knowledgeTabAlgo": "アルゴリズム演繹",
"knowledgeTabLayout": "レイアウト宝庫",
"knowledgeTabPoint": "要点宝庫",
"knowledgeConstruction": "建設中",
"knowledgeToJuejin": "掘金へ",
"srcPath": "ソースアドレス",
"widgetsInn": "ウィジェット酒場",
"likedWidgets": "大切なウィジェット",
"relatedComponents": "関連コンポーネント",
"backupFavoritesCollectionData": "お気に入りコレクションデータのバックアップ",
"syncFavoritesCollectionData": "お気に入りコレクションデータの同期",
"favoritesCollectionDataReset": "お気に入りコレクションデータのリセット",
"resetSuccess": "リセット成功!",
"dataSetBackupSuccess": "データセットのバックアップ成功!",
"dataSetBackupFailure": "データセットのバックアップ失敗!",
"dataSynchronizationCopySuccess": "データ同期コピー成功!",
"dataSynchronizationCopyFailure": "データ同期コピー失敗!",
"destructionRed": "破滅の赤",
"rageOrange": "怒りのオレンジ",
"warningYellow": "警告の黄",
"camouflageGreen": "偽装の緑",
"coldBlue": "冷徹な青",
"infiniteBlue": "無限の藍",
"mysteryPurple": "神秘の紫",
"destinyBlack": "帰宿の黒",
"showBackground": "背景を表示",
"toly": "張風捷特烈",
"dartHandbook": "Dart 手引き",
"codeCopiedSuccessfully": "コードがコピーされました",
"favoriteFolderManagement": "お気に入りフォルダの管理",
"assembly": "コンポーネント",
"draw": "描画",
"knowledge": "知識",
"collection": "コレクション",
"my": "私の",
"picture": "枚",
"widgetInn": "コンポーネント酒場",
"emptySearch": "データがありません、俺もどうしようもない\n(≡ _ ≡)/~┴┴",
"searchSomething": "友よ、何か検索しよう…≧◔◡◔≦",
"slogan": "Flutterの連携、プログラマーの連携"
}

View File

@ -0,0 +1,186 @@
{
"widgetCollection": "위젯 컬렉션",
"paintCollection": "그림 컬렉션",
"knowledgeCollection": "지식 모음",
"treasureTools": "도구 보물상자",
"collectCollection": "컬렉션 모음",
"essentialCollection": "핵심 모음",
"homeAccount": "앱 정보",
"homeAccountTabInfo": "앱 정보",
"homeAccountTabMe": "저에게 연락",
"homeAccountSupport": "프로젝트 지원",
"searchWidget": "위젯 검색",
"stateless": "무상태",
"stateful": "상태 있음",
"single": "단일 렌더링",
"multi": "다중 렌더링",
"sliver": "슬라이버",
"proxy": "프록시",
"other": "기타",
"homeTabWidget": "위젯",
"homeTabPaint": "그리기",
"homeTabKnowledge": "지식",
"homeTabTools": "도구",
"homeTabMine": "내 정보",
"dataManagement": "데이터 관리",
"userCollection": "내 컬렉션",
"aboutApplications": "앱 정보",
"contactThisKing": "저에게 연락",
"appSettings": "앱 설정",
"darkMode": "다크 모드",
"themeColorSetting": "테마 색상 설정",
"fontSetting": "폰트 설정",
"settingLanguageText": "다국어",
"codeHighlightStyle": "코드 하이라이트 스타일",
"versionInformation": "버전 정보",
"displayPerformanceFloatingLayer": "성능 플로팅 레이어 표시",
"showFloatingTools": "플로팅 도구 표시",
"followSystem": "시스템 따라가기",
"afterOpeningWillFollowTheSystemToOpenOrCloseDarkMode": "시스템 설정에 따라 다크 모드를 켜거나 끕니다.",
"manualSetting": "수동 설정",
"lightMode": "라이트 모드",
"settingLanguage": "언어 설정",
"appDetails": "앱 상세 정보",
"checkUpdate": "새 버전 확인",
"downloadNewVersion": "새 버전 다운로드",
"downloadingNewVersion": "새 버전 다운로드 중...",
"currentIsNew": "현재 버전이 최신입니다!",
"checkDatabaseNewVersion": "데이터베이스 새 버전 확인",
"viewThisProjectGithubRepository": "《이 프로젝트의 Github 저장소 보기》",
"favorite": "즐겨찾기",
"enterComponentName": "컴포넌트 이름 입력",
"containerComponents": "컨테이너 컴포넌트",
"componentTavern": "컴포넌트 선술집",
"cherishedComponents": "소중한 컴포넌트",
"textImageCollection": "텍스트 이미지 모음",
"layoutCollection": "레이아웃 모음",
"eventCollection": "이벤트 모음",
"animationCollection": "애니메이션 모음",
"slidingCollection": "슬라이딩 모음",
"decorationCollection": "장식 모음",
"assemblyCollection": "조립 모음",
"functionCollection": "기능 모음",
"popupCollection": "팝업 모음",
"themeCollection": "테마 모음",
"derivativeCollection": "파생 모음",
"hardToCategorize": "분류하기 어려움",
"basicDrawing": "기본 그리기",
"basicDrawingDesc": "기본 도형 그리기 예제를 포함합니다. 이 예제들은 그리기를 처음 접하는 프로그래머에게 매우 친숙할 것입니다. 이 예제들을 통해 점, 선, 사각형, 원, 호, 텍스트, 이미지 등 기본 도형을 그리는 방법을 배우고, Canvas, Paint, Path 등 그리기의 핵심 객체 사용법을 익힐 수 있습니다.",
"animationGesture": "애니메이션 제스처",
"animationGestureDesc": "애니메이션과 제스처 그리기 예제를 포함합니다. 이 예제들은 그리기를 더욱 상호작용적으로 만듭니다. 이 예제들을 통해 슬라이드, 회전, 확대/축소, 이동 등의 효과를 배울 수 있으며, 그리기가 단순히 정적인 표현이 아니게 됩니다.",
"particleDrawing": "입자 그리기",
"particleDrawingDesc": "입자 관련 그리기 예제를 포함합니다. 이 예제들은 그리기의 최고 수준의 작업입니다. 이 예제들을 통해 입자를 사용하여 놀라운 시각적 효과를 그리는 방법을 배울 수 있습니다. 입자 시계, 입자 폭발, 입자 배경 등 다양한 효과를 통해 그리기의 무한한 가능성을 경험할 수 있습니다.",
"interestingDrawing": "재미있는 그리기",
"interestingDrawingDesc": "재미있는 그리기 예제를 포함합니다. 여기서 그리기, 프로그래밍, 지혜의 즐거움을 함께 경험해 보세요.",
"artGallery": "예술 갤러리",
"artGalleryDesc": "최고 수준의 그리기 예제를 포함합니다. 이 예제들은 그리기의 정점에 있는 작품들로, 실용성은 없지만 존재 자체로 의미가 있는 예술 작품입니다.",
"drawingOfImages": "이 예제는 이미지를 그리는 방법을 소개합니다: 이미지를 로드하고 지정된 영역에 그립니다. 상단에 45도 각도의 그리드 선을 그려 선 그리기를 연습합니다.",
"digitalDisplayTube": "이 예제는 LED 디지털 디스플레이 튜브를 그리는 방법을 소개하며, Path 사용, 변환, 조합 및 컴포넌트 캡슐화를 연습합니다. 매우 좋은 그리기 예제입니다.",
"pathDrawing": "이 예제는 간단한 경로 그리기 및 캔버스 회전을 소개하며, 애니메이션을 결합하여 풍차를 회전시킵니다. 매우 간결한 그리기와 애니메이션 결합 예제입니다.",
"gridCoordinateSystem": "이 예제는 선 경로와 텍스트를 사용하여 그리드 좌표계를 그리는 방법을 소개하며, 그리기 객체를 캡슐화하여 재사용하기 쉽게 만듭니다. 좌표계는 그리기 시 참조를 제공하며, 입문자에게 필수입니다.",
"polarCoordinateSystemOfFaces": "이 예제는 평면의 극좌표계를 그리는 방법을 소개하며, 함수 방정식에 따라 극좌표를 수집하여 그립니다.",
"drawFunctionCurvesForPathPairs": "이 예제는 경로를 사용하여 함수 곡선을 그리는 방법을 소개하며, 함수 곡선 상의 소량의 점을 베지어 곡선으로 피팅합니다.",
"drawRegularPolygons": "이 예제는 원 안에서 점을 수집하여 정다각형을 그리는 방법을 소개하며, 그리기 및 경로 형성 연습에 매우 좋은 예제입니다.\n특수 조작: +, - 로 변 수정",
"randomNumberProcessing": "이 예제는 사각형 그리기 및 난수 처리를 소개합니다. 점 집합을 통해 사각형 위치 정보를 결정하고 그립니다. 데이터 제어 능력을 연습할 수 있습니다.",
"clockDrawing": "이 예제는 시계 그리기를 통해 Flutter에서 회전 눈금 그리기 기술을 연습하고, 애니메이션을 통해 시계 바늘이 회전하도록 합니다.",
"drawSprings": "이 예제는 스프링을 그리는 방법을 소개하며, 수직 드래그로 스프링을 늘이거나 줄이고, 놓을 때 복원 애니메이션을 수행합니다. 매우 좋은 종합 예제입니다. 특수 조작: 위아래 드래그로 스프링 늘이기/줄이기",
"theApplicationOfAnglesInDrawing": "이 예제는 특정 점을 중심으로 회전 운동을 수행하는 방법을 소개합니다. 이를 통해 두 점 사이의 각도가 그리기에서 어떻게 적용되는지 배울 수 있습니다.\n특수 조작: 클릭하여 실행",
"usingShadersAndFilters": "이 예제는 그리기에서 셰이더와 필터를 사용하는 방법을 소개하며, 애니메이션을 통해 수치를 변경하여 회전하는 빛의 효과를 만듭니다.",
"pathDrawingFunctionCurve": "이 예제는 경로를 사용하여 함수 곡선을 그리는 방법을 소개하며, 경로 측정을 사용하여 애니메이션을 만듭니다.",
"thePathOfBingDwenDwen": "이 예제는 2022년 베이징 동계 올림픽 마스코트 빙둔둔의 경로를 그리며, 경로 측정을 사용하여 애니메이션을 만듭니다.\n특수 조작: 클릭하여 실행",
"drawCubicBesselCurve": "이 예제는 3차 베지어 곡선을 그리는 방법을 소개하며, 접점을 통해 특정 점이 활성화되었는지 판단하여 점의 위치를 제어합니다.\n특수 조작: 클릭하여 점 그리기, 더블 클릭하여 지우기",
"theEffectOfAnimationCurve": "이 예제는 애니메이션 곡선의 효과를 직관적으로 보여줍니다. 이를 통해 애니메이션에 대한 이해를 높일 수 있습니다.\n특수 조작: 클릭하여 실행",
"randomParticlesAndBoundaryBouncing": "이 예제는 무작위 입자를 생성하고 경계에서 튕기는 로직을 처리하는 방법을 소개합니다. 입자 운동을 배우기에 매우 좋은 입문 예제입니다. 특수 조작: 클릭하여 정지/실행",
"particleCollision": "이 예제는 개별 입자에 대한 충돌 감지를 수행하고, 여러 입자로 분열시키는 방법을 소개합니다. 매우 재미있는 예제입니다.\n특수 조작: 클릭하여 재설정",
"particle": "이 예제는 이미지를 입자로 표현하고, 입자에 애니메이션을 적용하여 폭발 효과를 만드는 방법을 소개합니다.\n특수 조작: 클릭하여 실행",
"rectangleAndRandomNumbers": "이 예제는 사각형 그리기 및 난수 처리를 소개합니다. 점 집합을 통해 사각형 위치 정보를 결정하고 그립니다. 데이터 제어 능력을 연습할 수 있습니다.\n특수 조작: 클릭하여 무작위 생성",
"bingDwenDwen": "이 예제는 2022년 베이징 동계 올림픽 마스코트 빙둔둔의 형태를 그리는 방법을 소개하며, 경로 그리기 및 그라데이션 색상 사용법을 배울 수 있습니다.",
"pufengInjectionTest": "이 예제는 푸펑 투시험의 테스트 과정을 구현하며, 확률을 통해 원주율을 추정합니다. 그리기 기술 및 데이터 논리 처리 방법을 배울 수 있습니다.",
"ticTacToe": "이 예제는 틱택토 그리기 및 논리 검증을 통해 제스처, 그리기, 애니메이션, 검증 등의 중요한 기술을 종합적으로 연습할 수 있는 매우 좋은 예제입니다.\n특수 조작: 더블 클릭하여 재설정",
"tiledLines": "이 예제는 generativeartistry.com의 tiled-lines에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry",
"joyDivision": "이 예제는 generativeartistry.com의 joy-division에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry",
"cubicDisarray": "이 예제는 generativeartistry.com의 cubic-disarray에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry",
"triangularMesh": "이 예제는 generativeartistry.com의 triangular-mesh에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry",
"unDeuxTrois": "이 예제는 generativeartistry.com의 un-deux-trois에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry",
"circlePacking": "이 예제는 generativeartistry.com의 circle-packing에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry",
"hypnoticSquares": "이 예제는 generativeartistry.com의 hypnotic-squares에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry",
"pietMondrian": "이 예제는 generativeartistry.com의 piet-mondrian에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry",
"downloadCompressedPackage": "사용 방법:\n1. iconfont.cn에서 아이콘을 선택하고 프로젝트에 추가한 후 압축 파일을 다운로드합니다.\n2. Flutter 프로젝트 경로를 선택하고 리소스 및 산출물 파일 위치를 설정합니다.\n3. 코드 생성 버튼을 클릭하여 관련 코드를 생성합니다.",
"qAIssues": "핵심 모음의 QA 데이터는 rUnit의 point 태그가 있는 issues에 포함되어 있습니다. 데이터를 제공하려면 issues에서 질문하세요.",
"tips": "참고:",
"visualSorting": "시각적 정렬",
"visual": "시각적 정렬",
"insertion": "삽입 정렬",
"bubble": "버블 정렬",
"cocktail": "칵테일 정렬(양방향 버블 정렬)",
"comb": "빗질 정렬",
"pigeonHole": "비둘기집 정렬",
"shell": "셸 정렬",
"selection": "선택 정렬",
"gnome": "노움 정렬",
"cycle": "순환 정렬",
"heap": "힙 정렬",
"quick": "퀵 정렬",
"merge": "병합 정렬",
"sortingAlgorithmConfiguration": "정렬 알고리즘 설정",
"dataCount": "데이터 수(개수)",
"timeInterval": "시간 간격(마이크로초)",
"randomSeed": "무작위 시드",
"codeGeneration": "코드 생성",
"generateCode": "코드 생성",
"artifactLocation": "산출물 위치",
"codeClassLocation": "코드 클래스 위치",
"resourceDirectory": "리소스 디렉토리",
"iconfontResourceLocation": "iconfont 리소스 위치",
"projectPath": "프로젝트 경로",
"inputProjectAddress": "프로젝트 주소를 선택하거나 입력하세요",
"iconfontCompressedPackagePath": "Iconfont 압축 파일 경로",
"pleaseSelectOrInputIconfontCompressedPackagePath": "iconfont 다운로드 압축 파일 경로를 선택하거나 입력하세요",
"stayTuned": "기대해 주세요",
"iconFont": "IconFont",
"dataClass": "데이터 클래스",
"stateManagement": "상태 관리",
"jsonParsing": "Json 파싱",
"clickHereToJump": "여기를 클릭하여 이동",
"knowledgeTabToly": "제트 문고",
"knowledgeTabAlgo": "알고리즘 연습",
"knowledgeTabLayout": "레이아웃 보물",
"knowledgeTabPoint": "핵심 보물",
"knowledgeConstruction": "구축 중",
"knowledgeToJuejin": "Juejin으로 이동",
"srcPath": "소스 경로",
"widgetsInn": "위젯 선술집",
"likedWidgets": "소중한 위젯",
"relatedComponents": "관련 컴포넌트",
"backupFavoritesCollectionData": "즐겨찾기 컬렉션 데이터 백업",
"syncFavoritesCollectionData": "즐겨찾기 컬렉션 데이터 동기화",
"favoritesCollectionDataReset": "즐겨찾기 컬렉션 데이터 재설정",
"resetSuccess": "재설정 성공!",
"dataSetBackupSuccess": "데이터 세트 백업 성공!",
"dataSetBackupFailure": "데이터 세트 백업 실패!",
"dataSynchronizationCopySuccess": "데이터 동기화 복사 성공!",
"dataSynchronizationCopyFailure": "데이터 동기화 복사 실패!",
"destructionRed": "파괴의 빨강",
"rageOrange": "분노의 주황",
"warningYellow": "경고의 노랑",
"camouflageGreen": "위장의 초록",
"coldBlue": "냉담의 파랑",
"infiniteBlue": "무한의 남색",
"mysteryPurple": "신비의 보라",
"destinyBlack": "운명의 검정",
"showBackground": "배경 표시",
"toly": "장풍제특렬",
"dartHandbook": "Dart 핸드북",
"codeCopiedSuccessfully": "코드 복사 성공",
"favoriteFolderManagement": "즐겨찾기 폴더 관리",
"assembly": "컴포넌트",
"draw": "그리기",
"knowledge": "지식",
"collection": "컬렉션",
"my": "내 정보",
"picture": "그림",
"widgetInn": "위젯 선술집",
"emptySearch": "데이터가 없습니다, 형님도 방법이 없어요\n(≡ _ ≡)/~┴┴",
"searchSomething": "형님, 뭘 검색하시겠어요...≧◔◡◔≦",
"slogan": "Flutter의 연합, 프로그래머의 연합"
}

View File

@ -0,0 +1,194 @@
{
"widgetCollection": "Сборник компонентов",
"paintCollection": "Сборник рисования",
"knowledgeCollection": "Сборник знаний",
"treasureTools": "Сундучок инструментов",
"collectCollection": "Сборник избранного",
"essentialCollection": "Сборник ключевых моментов",
"homeAccount": "Информация о приложении",
"homeAccountTabInfo": "О приложении",
"homeAccountTabMe": "Связаться с этим королём",
"homeAccountSupport": "Проекты поддержки",
"searchWidget": "Поиск компонентов",
"stateless": "Без состояния",
"stateful": "С состоянием",
"single": "Один рендеринг",
"multi": "Многократный рендеринг",
"sliver": "Скользящая панель",
"proxy": "Прокси",
"other": "Другие",
"homeTabWidget": "Компоненты",
"homeTabPaint": "Рисование",
"homeTabKnowledge": "Знания",
"homeTabTools": "Инструменты",
"homeTabMine": "Мой профиль",
"dataManagement": "Управление данными",
"userCollection": "Мои избранные",
"aboutApplications": "О приложении",
"contactThisKing": "Связаться с этим королём",
"appSettings": "Настройки приложения",
"darkMode": "Тёмный режим",
"themeColorSetting": "Настройки темы",
"fontSetting": "Настройки шрифта",
"settingLanguageText": "Многоязычность",
"codeHighlightStyle": "Стиль подсветки кода",
"versionInformation": "Информация о версии",
"displayPerformanceFloatingLayer": "Показать плавающий слой производительности",
"showFloatingTools": "Показать плавающие инструменты",
"followSystem": "Следовать за системой",
"afterOpeningWillFollowTheSystemToOpenOrCloseDarkMode": "После включения будет следовать за системой для включения или отключения тёмного режима",
"manualSetting": "Ручные настройки",
"lightMode": "Светлый режим",
"settingLanguage": "Настройки языка",
"appDetails": "Детали приложения",
"checkUpdate": "Проверить обновление",
"downloadNewVersion": "Скачать новое обновление",
"downloadingNewVersion": "Скачивание нового обновления...",
"currentIsNew": "Текущая версия приложения уже самая новая!",
"checkDatabaseNewVersion": "Проверить обновление базы данных",
"viewThisProjectGithubRepository": "Посмотреть репозиторий проекта на Github",
"favorite": "Добавлено в избранное",
"enterComponentName": "Введите название компонента",
"containerComponents": "Контейнерные компоненты",
"componentTavern": "Таверна компонентов",
"cherishedComponents": "Ценные компоненты",
"textImageCollection": "Сборник изображений и текста",
"layoutCollection": "Сборник макетов",
"eventCollection": "Сборник событий",
"animationCollection": "Сборник анимаций",
"slidingCollection": "Сборник слайдов",
"decorationCollection": "Сборник декораций",
"assemblyCollection": "Сборник сборки",
"functionCollection": "Сборник функций",
"popupCollection": "Сборник всплывающих окон",
"themeCollection": "Сборник тем",
"derivativeCollection": "Сборник производных",
"hardToCategorize": "Трудно классифицировать",
"basicDrawing": "Основы рисования",
"basicDrawingDesc": "Включает несколько примеров базового рисования, которые будут полезны для начинающих программистов. Эти примеры научат рисованию базовых фигур, таких как точки, линии, прямоугольники, круги и текст.",
"animationGesture": "Анимация жестов",
"animationGestureDesc": "Содержит примеры рисования анимаций и жестов, которые сделают рисование более интерактивным. Эти примеры научат использовать анимации и жесты, такие как скольжение, вращение, масштабирование и перемещение.",
"particleDrawing": "Частицы в рисовании",
"particleDrawingDesc": "Включает примеры рисования с использованием частиц. Эти примеры покажут, как использовать частицы для создания зрелищных эффектов, таких как взрывы или анимации с частицами.",
"interestingDrawing": "Интересные рисунки",
"interestingDrawingDesc": "Примеры интересных и забавных рисунков, где мы можем наслаждаться процессом рисования и программирования.",
"artGallery": "Галерея искусства",
"artGalleryDesc": "Содержит примеры высокого искусства, которые не предназначены для практических целей, а являются выражением человеческого интеллекта и творчества.",
"drawingOfImages": "Пример рисования изображений: загрузка изображения и его отрисовка в определенной области. На верхнем слое добавлены линии сетки для практики рисования линий.",
"digitalDisplayTube": "Пример рисования цифровых трубок с использованием пути Path и анимации.",
"pathDrawing": "Пример рисования простых путей с анимацией.",
"gridCoordinateSystem": "Пример рисования сетки координат с линиями и текстом для новичков.",
"polarCoordinateSystemOfFaces": "Пример рисования полярной координатной системы с использованием функций.",
"drawFunctionCurvesForPathPairs": "Пример рисования функциональных кривых с использованием пути и Беезье.",
"drawRegularPolygons": "Пример рисования правильных многоугольников внутри круга.",
"randomNumberProcessing": "Пример рисования прямоугольников с обработкой случайных чисел.",
"clockDrawing": "Пример рисования часов с анимацией.",
"drawSprings": "Пример рисования пружины с анимацией сжатия и растяжения.",
"theApplicationOfAnglesInDrawing": "Пример рисования с использованием углов для вращения.",
"usingShadersAndFilters": "Пример использования шейдеров и фильтров для создания анимации.",
"pathDrawingFunctionCurve": "Пример рисования кривых с помощью пути и измерения анимации.",
"thePathOfBingDwenDwen": "Пример рисования пути маскота Олимпиады Пекин-2022 с использованием анимации пути.",
"drawCubicBesselCurve": "Пример рисования кривой кубического Безье с возможностью перетаскивания точек.",
"theEffectOfAnimationCurve": "Пример демонстрации эффекта анимационной кривой для углубленного понимания анимаций.",
"randomParticlesAndBoundaryBouncing": "Пример создания случайных частиц с отскоком от границ.",
"particleCollision": "Пример столкновений частиц с анимацией их распада.",
"particle": "Пример взрыва изображений с использованием частиц.",
"rectangleAndRandomNumbers": "Пример рисования прямоугольников с использованием случайных чисел.",
"bingDwenDwen": "Пример рисования формы маскота Олимпиады Пекин-2022.",
"pufengInjectionTest": "Пример теста для вычисления числа Пи с использованием вероятности.",
"ticTacToe": "Пример игры в крестики-нолики с логикой и анимацией.",
"tiledLines": "Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.",
"joyDivision": "Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.",
"cubicDisarray": "Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.",
"triangularMesh": "Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.",
"unDeuxTrois": "Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.",
"circlePacking": "Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.",
"hypnoticSquares": "Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.",
"pietMondrian": "Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.",
"downloadCompressedPackage": "Инструкция по использованию:\n1. Выберите и скачайте иконки на iconfont.cn.\n2. Настройте путь к проекту Flutter.\n3. Нажмите кнопку для генерации кода.",
"qAIssues": "Данные QA из сборника важных моментов rUnit будут добавлены в issues с меткой point.",
"tips": "Совет:",
"visualSorting": "Визуальная сортировка",
"visual": "Визуальная сортировка",
"insertion": "Сортировка вставками",
"bubble": "Пузырьковая сортировка",
"cocktail": "Коктейльная сортировка",
"comb": "Сортировка расческой",
"pigeonHole": "Сортировка по принципу дырок для голубей",
"shell": "Сортировка Шелла",
"selection": "Сортировка выбором",
"gnome": "Сортировка гномом",
"cycle": "Циклическая сортировка",
"heap": "Сортировка кучей",
"quick": "Быстрая сортировка",
"merge": "Сортировка слиянием",
"sortingAlgorithmConfiguration": "Настройки сортировки",
"dataCount": "Количество данных",
"timeInterval": "Интервал времени",
"randomSeed": "Случайное зерно",
"codeGeneration": "Генерация кода",
"generateCode": "Сгенерировать код",
"artifactLocation": "Местоположение артефакта",
"codeClassLocation": "Местоположение класса кода",
"resourceDirectory": "Каталог ресурсов",
"iconfontResourceLocation": "Местоположение ресурсов iconfont",
"projectPath": "Путь проекта",
"inputProjectAddress": "Выберите или введите путь к проекту",
"iconfontCompressedPackagePath": "Путь к сжатию иконок",
"pleaseSelectOrInputIconfontCompressedPackagePath": "Пожалуйста, выберите или введите путь к сжатому пакету iconfont",
"stayTuned": "Ожидайте",
"iconFont": "IconFont",
"dataClass": "Класс данных",
"stateManagement": "Управление состоянием",
"jsonParsing": "Парсинг JSON",
"clickHereToJump": "Нажмите здесь для перехода",
"knowledgeTabToly": "Библиотека Jet",
"knowledgeTabAlgo": "Алгоритмы",
"knowledgeTabLayout": "Библиотека макетов",
"knowledgeTabPoint": "Библиотека ключевых моментов",
"knowledgeConstruction": "На стадии строительства",
"knowledgeToJuejin": "Перейти на Juejin",
"srcPath": "Путь к исходному коду",
"widgetsInn": "Таверна компонентов",
"likedWidgets": "Избранные компоненты",
"relatedComponents": "Связанные компоненты",
"backupFavoritesCollectionData": "Резервное копирование данных избранного",
"syncFavoritesCollectionData": "Синхронизация данных избранного",
"favoritesCollectionDataReset": "Сброс данных избранного",
"resetSuccess": "Сброс успешен!",
"dataSetBackupSuccess": "Резервное копирование данных прошло успешно!",
"dataSetBackupFailure": "Ошибка резервного копирования данных!",
"dataSynchronizationCopySuccess": "Синхронизация данных успешна!",
"dataSynchronizationCopyFailure": "Ошибка синхронизации данных!",
"destructionRed": "Красный разрушения",
"rageOrange": "Оранжевый гнева",
"warningYellow": "Желтый предупреждения",
"camouflageGreen": "Зеленый камуфляжа",
"coldBlue": "Холодный синий",
"infiniteBlue": "Бесконечный синий",
"mysteryPurple": "Тайный фиолетовый",
"destinyBlack": "Черный судьбы",
"showBackground": "Показать фон",
"toly": "Толь",
"dartHandbook": "Руководство Dart",
"codeCopiedSuccessfully": "Код успешно скопирован",
"favoriteFolderManagement": "Управление папками избранного",
"assembly": "Сборка",
"draw": "Рисование",
"knowledge": "Знания",
"collection": "Коллекция",
"my": "Мои",
"picture": "Картинка",
"widgetInn": "Таверна компонентов",
"emptySearch": "Данных нет, я тоже не знаю, что делать\n(≡ _ ≡)/~┴┴",
"searchSomething": "Друзья, давайте что-то искать…≧◔◡◔≦",
"slogan": "Связь Flutter, связь программистов"
}

View File

@ -5,13 +5,10 @@
"treasureTools": "工具宝箱",
"collectCollection": "收藏集录",
"essentialCollection": "要点集录",
"homeAccount": "应用信息",
"homeAccountTabInfo": "关于应用",
"homeAccountTabMe": "联系本王",
"homeAccountSupport": "支持项目",
"searchWidget": "搜索组件",
"stateless":"无态",
"stateful":"有态",
@ -25,12 +22,10 @@
"homeTabKnowledge": "知识",
"homeTabTools": "工具",
"homeTabMine": "我的",
"dataManagement":"数据管理",
"userCollection":"我的收藏",
"aboutApplications":"关于应用",
"contactThisKing":"联系本王",
"appSettings":"应用设置",
"darkMode":"深色模式",
"themeColorSetting":"主题色设置",

View File

@ -6,6 +6,9 @@ import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:intl/intl.dart' as intl;
import 'app_localizations_en.dart';
import 'app_localizations_ja.dart';
import 'app_localizations_ko.dart';
import 'app_localizations_ru.dart';
import 'app_localizations_zh.dart';
// ignore_for_file: type=lint
@ -92,6 +95,9 @@ abstract class AppLocalizations {
/// A list of this localizations delegate's supported locales.
static const List<Locale> supportedLocales = <Locale>[
Locale('en'),
Locale('ja'),
Locale('ko'),
Locale('ru'),
Locale('zh')
];
@ -1209,7 +1215,7 @@ class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations>
}
@override
bool isSupported(Locale locale) => <String>['en', 'zh'].contains(locale.languageCode);
bool isSupported(Locale locale) => <String>['en', 'ja', 'ko', 'ru', 'zh'].contains(locale.languageCode);
@override
bool shouldReload(_AppLocalizationsDelegate old) => false;
@ -1221,6 +1227,9 @@ AppLocalizations lookupAppLocalizations(Locale locale) {
// Lookup logic when only language code is specified.
switch (locale.languageCode) {
case 'en': return AppLocalizationsEn();
case 'ja': return AppLocalizationsJa();
case 'ko': return AppLocalizationsKo();
case 'ru': return AppLocalizationsRu();
case 'zh': return AppLocalizationsZh();
}

View File

@ -0,0 +1,560 @@
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Japanese (`ja`).
class AppLocalizationsJa extends AppLocalizations {
AppLocalizationsJa([String locale = 'ja']) : super(locale);
@override
String get widgetCollection => 'ウィジェットコレクション';
@override
String get paintCollection => '描画コレクション';
@override
String get knowledgeCollection => '知識集';
@override
String get treasureTools => 'ツールボックス';
@override
String get collectCollection => 'コレクション集';
@override
String get essentialCollection => '要点集';
@override
String get homeAccount => 'アプリ情報';
@override
String get homeAccountTabInfo => 'アプリについて';
@override
String get homeAccountTabMe => '本王に連絡';
@override
String get homeAccountSupport => 'プロジェクトをサポート';
@override
String get searchWidget => 'ウィジェットを検索';
@override
String get stateless => 'ステートレス';
@override
String get stateful => 'ステートフル';
@override
String get single => 'シングルレンダリング';
@override
String get multi => 'マルチレンダリング';
@override
String get sliver => 'スライバー';
@override
String get proxy => 'プロキシ';
@override
String get other => 'その他';
@override
String get homeTabWidget => 'ウィジェット';
@override
String get homeTabPaint => '描画';
@override
String get homeTabKnowledge => '知識';
@override
String get homeTabTools => 'ツール';
@override
String get homeTabMine => 'マイ';
@override
String get dataManagement => 'データ管理';
@override
String get userCollection => 'マイコレクション';
@override
String get aboutApplications => 'アプリについて';
@override
String get contactThisKing => '本王に連絡';
@override
String get appSettings => 'アプリ設定';
@override
String get darkMode => 'ダークモード';
@override
String get themeColorSetting => 'テーマカラー設定';
@override
String get fontSetting => 'フォント設定';
@override
String get settingLanguageText => '多言語';
@override
String get codeHighlightStyle => 'コードハイライトスタイル';
@override
String get versionInformation => 'バージョン情報';
@override
String get displayPerformanceFloatingLayer => 'パフォーマンスフローティングレイヤーを表示';
@override
String get showFloatingTools => 'フローティングツールを表示';
@override
String get followSystem => 'システムに従う';
@override
String get afterOpeningWillFollowTheSystemToOpenOrCloseDarkMode => '有効にすると、システムに従ってダークモードをオンまたはオフにします';
@override
String get manualSetting => '手動設定';
@override
String get lightMode => 'ライトモード';
@override
String get settingLanguage => '言語設定';
@override
String get appDetails => 'アプリ詳細';
@override
String get checkUpdate => '新しいバージョンを確認';
@override
String get downloadNewVersion => '新しいバージョンをダウンロード';
@override
String get downloadingNewVersion => '新しいバージョンをダウンロード中...';
@override
String get currentIsNew => '現在のアプリは最新バージョンです!';
@override
String get checkDatabaseNewVersion => 'データベースの新しいバージョンを確認';
@override
String get viewThisProjectGithubRepository => '《このプロジェクトのGithubリポジトリを表示》';
@override
String get favorite => 'お気に入り';
@override
String get enterComponentName => 'コンポーネント名を入力';
@override
String get containerComponents => 'コンテナコンポーネント';
@override
String get componentTavern => 'コンポーネント酒場';
@override
String get cherishedComponents => '大切なコンポーネント';
@override
String get textImageCollection => 'テキスト画像集';
@override
String get layoutCollection => 'レイアウト集';
@override
String get eventCollection => 'イベント集';
@override
String get animationCollection => 'アニメーション集';
@override
String get slidingCollection => 'スライド集';
@override
String get decorationCollection => '装飾集';
@override
String get assemblyCollection => 'アセンブリ集';
@override
String get functionCollection => '機能集';
@override
String get popupCollection => 'ポップアップ集';
@override
String get themeCollection => 'テーマ集';
@override
String get derivativeCollection => '派生集';
@override
String get hardToCategorize => '分類が難しい';
@override
String get basicDrawing => '基本描画';
@override
String get basicDrawingDesc => '基本的な図形描画のケースを収録しています。これらのケースは、描画を始めたばかりのプログラマーにとって非常に役立ちます。これらのケースを通じて、点、線、矩形、円、円弧、テキスト、画像などの基本的な図形の描画方法を学び、Canvas、Paint、Pathなどの描画の核心オブジェクトの使用方法を理解できます。';
@override
String get animationGesture => 'アニメーションとジェスチャー';
@override
String get animationGestureDesc => 'アニメーションとジェスチャーの描画ケースを収録しています。これらのケースは、描画をより操作可能にします。これらのケースを通じて、スライド、回転、拡大縮小、移動などの効果を学び、描画が静的な表現だけでなくなることを理解できます。';
@override
String get particleDrawing => '粒子描画';
@override
String get particleDrawingDesc => '粒子関連の描画ケースを収録しています。これらのケースは、描画のトップレベルの操作です。これらのケースを通じて、粒子を使用して驚くべき視覚効果を描画する方法を学び、粒子時計、粒子爆発、粒子背景などの効果を実現し、描画に無限の可能性を与えます。';
@override
String get interestingDrawing => '面白い描画';
@override
String get interestingDrawingDesc => 'いくつかの面白い描画ケースを収録しています。ここで一緒に描画の楽しさ、プログラミングの楽しさ、そして知恵の楽しさを体験しましょう。';
@override
String get artGallery => 'アートギャラリー';
@override
String get artGalleryDesc => '殿堂級の描画ケースを収録しています。これらのケースは、描画の頂点作品であり、それらは実用性がなく、いかなるニーズのためでもありません。それらは存在するために存在し、人間の知恵と表現の媒体であり、芸術と呼ばれます。';
@override
String get drawingOfImages => 'このサンプルでは、画像を描画する方法を紹介します。画像をロードし、指定された領域に画像リソースを描画します。上層に45度傾いたグリッド線を描画し、線の描画を練習します。';
@override
String get digitalDisplayTube => 'このサンプルでは、LEDデジタル表示管を描画する方法を紹介し、パスPathの使用、変換、組み合わせ、およびコンポーネントのカプセル化の知識を練習します。非常に良い描画ケースです。';
@override
String get pathDrawing => 'このサンプルでは、簡単なパスの描画とキャンバスの回転を紹介し、アニメーションと組み合わせて風車を回転させます。これは、描画とアニメーションを組み合わせた非常に簡潔なケースです。';
@override
String get gridCoordinateSystem => 'このサンプルでは、線パスとテキストを使用してグリッド座標系を描画し、描画オブジェクトをカプセル化して再利用しやすくします。座標系は描画時に参考を提供し、入門に最適です。';
@override
String get polarCoordinateSystemOfFaces => 'このサンプルでは、平面の極座標系を使用して描画し、関数方程式に基づいて極座標を収集して描画する方法を紹介します。';
@override
String get drawFunctionCurvesForPathPairs => 'このサンプルでは、パスを使用して関数曲線を描画し、関数曲線上の少数の点をベジェ曲線でフィッティングする方法を紹介します。';
@override
String get drawRegularPolygons => 'このサンプルでは、円内で点を収集し、正多角形を描画する方法を紹介します。描画とパス形成の練習に最適なケースです。\n特殊操作:+、- で辺の数を変更';
@override
String get randomNumberProcessing => 'このサンプルでは、矩形の描画と乱数処理を紹介します。点の集合を使用して矩形の位置情報を決定し、それを描画します。データの制御能力を練習できます。';
@override
String get clockDrawing => 'このサンプルでは、時計の描画を通じて、Flutterでの回転目盛りの描画テクニックを練習し、アニメーションで時計の針を回転させます。';
@override
String get drawSprings => 'このサンプルでは、バネを描画し、垂直にドラッグして伸縮し、手を離すと復元アニメーションを行う方法を紹介します。非常に良い総合的な小ケースです。特殊操作:上下にドラッグしてバネを伸縮';
@override
String get theApplicationOfAnglesInDrawing => 'このサンプルでは、ある点を中心に回転運動を行う方法を紹介します。これにより、2点間の角度を描画に適用する方法を学びます。\n特殊操作:クリックして実行';
@override
String get usingShadersAndFilters => 'このサンプルでは、描画でシェーダーとフィルターを使用し、アニメーションで数値を変化させて回転する光の効果を実現する方法を紹介します。';
@override
String get pathDrawingFunctionCurve => 'このサンプルでは、パスを使用して関数曲線を描画し、パス測定を使用してアニメーションを行う方法を紹介します。';
@override
String get thePathOfBingDwenDwen => 'このサンプルでは、2022年北京冬季オリンピックのマスコットであるビンドゥンドゥンのパスを描画し、パス測定を使用してアニメーションを行います。\n特殊操作:クリックして実行';
@override
String get drawCubicBesselCurve => 'このサンプルでは、3次ベジェ曲線を描画し、タッチポイントを使用してある点がアクティブかどうかを判断し、それに応じて点の位置を制御してドラッグ制御効果を実現する方法を紹介します。\n特殊操作:クリックで点を描画、ダブルクリックでクリア';
@override
String get theEffectOfAnimationCurve => 'このサンプルでは、アニメーションカーブの効果を直感的に確認し、アニメーションに対する理解を深めます。\n特殊操作:クリックして実行';
@override
String get randomParticlesAndBoundaryBouncing => 'このサンプルでは、ランダムな粒子を作成し、境界でのバウンスロジックを処理する方法を紹介します。粒子運動を学ぶのに非常に良い入門ケースです。特殊操作:クリックで停止/実行';
@override
String get particleCollision => 'このサンプルでは、個々の粒子の衝突検出を行い、複数の粒子に分裂させる方法を紹介します。非常に面白いケースです。\n特殊操作:クリックでリセット';
@override
String get particle => 'このサンプルでは、画像を粒子として表現し、粒子にアニメーションを適用して爆発効果を実現する方法を紹介します。\n特殊操作:クリックして実行';
@override
String get rectangleAndRandomNumbers => 'このサンプルでは、矩形の描画と乱数処理を紹介します。点の集合を使用して矩形の位置情報を決定し、それを描画します。データの制御能力を練習できます。\n特殊操作:クリックしてランダム生成';
@override
String get bingDwenDwen => 'このサンプルでは、2022年北京冬季オリンピックのマスコットであるビンドゥンドゥンの形を描画し、パス描画やグラデーションなどの知識を学びます。';
@override
String get pufengInjectionTest => 'このサンプルでは、蒲豊の針投げテストのプロセスを実装し、確率を使用して円周率を推定します。描画の小技やデータの論理処理を学ぶことができます。';
@override
String get ticTacToe => 'このサンプルでは、三目並べの描画と論理検証を通じて、ジェスチャー、描画、アニメーション、検証などの重要なスキルを組み合わせます。非常に良い練習ケースです。\n特殊操作:ダブルクリックでリセット';
@override
String get tiledLines => 'このサンプルは、generativeartistry.comのtiled-linesに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry';
@override
String get joyDivision => 'このサンプルは、generativeartistry.comのjoy-divisionに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry';
@override
String get cubicDisarray => 'このサンプルは、generativeartistry.comのcubic-disarrayに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry';
@override
String get triangularMesh => 'このサンプルは、generativeartistry.comのtriangular-meshに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry';
@override
String get unDeuxTrois => 'このサンプルは、generativeartistry.comのun-deux-troisに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry';
@override
String get circlePacking => 'このサンプルは、generativeartistry.comのcircle-packingに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry';
@override
String get hypnoticSquares => 'このサンプルは、generativeartistry.comのhypnotic-squaresに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry';
@override
String get pietMondrian => 'このサンプルは、generativeartistry.comのpiet-mondrianに由来し、xrr2016がFlutterで実装しました。リポジトリアドレス:flutter-generative-artistry';
@override
String get downloadCompressedPackage => '使用方法:\n1. iconfont.cnでアイコンを選び、プロジェクトに追加し、圧縮パッケージをダウンロードします。\n2. Flutterプロジェクトのアドレスを選択し、リソースと生成物ファイルの場所を設定します。\n3. コード生成ボタンをクリックすると、関連するコードが生成されます。';
@override
String get qAIssues => '要点集録のQAデータは、rUnitのpointタグが付いたissuesに収録されています。データを提供する必要がある場合は、issuesで質問してください。';
@override
String get tips => '注:';
@override
String get visualSorting => '可視化ソート';
@override
String get visual => '可視ソート';
@override
String get insertion => '挿入ソート';
@override
String get bubble => 'バブルソート';
@override
String get cocktail => 'カクテルソート(双方向バブルソート)';
@override
String get comb => 'コームソート';
@override
String get pigeonHole => '鳩の巣ソート';
@override
String get shell => 'シェルソート';
@override
String get selection => '選択ソート';
@override
String get gnome => 'ノームソート';
@override
String get cycle => 'サイクルソート';
@override
String get heap => 'ヒープソート';
@override
String get quick => 'クイックソート';
@override
String get merge => 'マージソート';
@override
String get sortingAlgorithmConfiguration => 'ソートアルゴリズム設定';
@override
String get dataCount => 'データ数(個数)';
@override
String get timeInterval => '時間間隔(マイクロ秒)';
@override
String get randomSeed => 'ランダムシード';
@override
String get codeGeneration => 'コード生成';
@override
String get generateCode => 'コードを生成';
@override
String get artifactLocation => '生成物の場所';
@override
String get codeClassLocation => 'コードクラスの保存場所';
@override
String get resourceDirectory => 'リソースディレクトリ';
@override
String get iconfontResourceLocation => 'iconfontリソースの保存場所';
@override
String get projectPath => 'プロジェクトパス';
@override
String get inputProjectAddress => 'プロジェクトアドレスを選択または入力してください';
@override
String get iconfontCompressedPackagePath => 'Iconfont圧縮パッケージのパス';
@override
String get pleaseSelectOrInputIconfontCompressedPackagePath => 'iconfontのダウンロードした圧縮パッケージのパスを選択または入力してください';
@override
String get stayTuned => 'お楽しみに';
@override
String get iconFont => 'IconFont';
@override
String get dataClass => 'データクラス';
@override
String get stateManagement => '状態管理';
@override
String get jsonParsing => 'Json解析';
@override
String get clickHereToJump => 'ここをクリックしてジャンプ';
@override
String get knowledgeTabToly => 'ジェット文庫';
@override
String get knowledgeTabAlgo => 'アルゴリズム演繹';
@override
String get knowledgeTabLayout => 'レイアウト宝庫';
@override
String get knowledgeTabPoint => '要点宝庫';
@override
String get knowledgeConstruction => '建設中';
@override
String get knowledgeToJuejin => '掘金へ';
@override
String get srcPath => 'ソースアドレス';
@override
String get widgetsInn => 'ウィジェット酒場';
@override
String get likedWidgets => '大切なウィジェット';
@override
String get relatedComponents => '関連コンポーネント';
@override
String get backupFavoritesCollectionData => 'お気に入りコレクションデータのバックアップ';
@override
String get syncFavoritesCollectionData => 'お気に入りコレクションデータの同期';
@override
String get favoritesCollectionDataReset => 'お気に入りコレクションデータのリセット';
@override
String get resetSuccess => 'リセット成功!';
@override
String get dataSetBackupSuccess => 'データセットのバックアップ成功!';
@override
String get dataSetBackupFailure => 'データセットのバックアップ失敗!';
@override
String get dataSynchronizationCopySuccess => 'データ同期コピー成功!';
@override
String get dataSynchronizationCopyFailure => 'データ同期コピー失敗!';
@override
String get destructionRed => '破滅の赤';
@override
String get rageOrange => '怒りのオレンジ';
@override
String get warningYellow => '警告の黄';
@override
String get camouflageGreen => '偽装の緑';
@override
String get coldBlue => '冷徹な青';
@override
String get infiniteBlue => '無限の藍';
@override
String get mysteryPurple => '神秘の紫';
@override
String get destinyBlack => '帰宿の黒';
@override
String get showBackground => '背景を表示';
@override
String get toly => '張風捷特烈';
@override
String get dartHandbook => 'Dart 手引き';
@override
String get codeCopiedSuccessfully => 'コードがコピーされました';
@override
String get favoriteFolderManagement => 'お気に入りフォルダの管理';
@override
String get assembly => 'コンポーネント';
@override
String get draw => '描画';
@override
String get knowledge => '知識';
@override
String get collection => 'コレクション';
@override
String get my => '私の';
@override
String get picture => '';
@override
String get widgetInn => 'コンポーネント酒場';
@override
String get emptySearch => 'データがありません、俺もどうしようもない\n(≡ _ ≡)/~┴┴';
@override
String get searchSomething => '友よ、何か検索しよう…≧◔◡◔≦';
@override
String get slogan => 'Flutterの連携、プログラマーの連携';
}

View File

@ -0,0 +1,560 @@
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Korean (`ko`).
class AppLocalizationsKo extends AppLocalizations {
AppLocalizationsKo([String locale = 'ko']) : super(locale);
@override
String get widgetCollection => '위젯 컬렉션';
@override
String get paintCollection => '그림 컬렉션';
@override
String get knowledgeCollection => '지식 모음';
@override
String get treasureTools => '도구 보물상자';
@override
String get collectCollection => '컬렉션 모음';
@override
String get essentialCollection => '핵심 모음';
@override
String get homeAccount => '앱 정보';
@override
String get homeAccountTabInfo => '앱 정보';
@override
String get homeAccountTabMe => '저에게 연락';
@override
String get homeAccountSupport => '프로젝트 지원';
@override
String get searchWidget => '위젯 검색';
@override
String get stateless => '무상태';
@override
String get stateful => '상태 있음';
@override
String get single => '단일 렌더링';
@override
String get multi => '다중 렌더링';
@override
String get sliver => '슬라이버';
@override
String get proxy => '프록시';
@override
String get other => '기타';
@override
String get homeTabWidget => '위젯';
@override
String get homeTabPaint => '그리기';
@override
String get homeTabKnowledge => '지식';
@override
String get homeTabTools => '도구';
@override
String get homeTabMine => '내 정보';
@override
String get dataManagement => '데이터 관리';
@override
String get userCollection => '내 컬렉션';
@override
String get aboutApplications => '앱 정보';
@override
String get contactThisKing => '저에게 연락';
@override
String get appSettings => '앱 설정';
@override
String get darkMode => '다크 모드';
@override
String get themeColorSetting => '테마 색상 설정';
@override
String get fontSetting => '폰트 설정';
@override
String get settingLanguageText => '다국어';
@override
String get codeHighlightStyle => '코드 하이라이트 스타일';
@override
String get versionInformation => '버전 정보';
@override
String get displayPerformanceFloatingLayer => '성능 플로팅 레이어 표시';
@override
String get showFloatingTools => '플로팅 도구 표시';
@override
String get followSystem => '시스템 따라가기';
@override
String get afterOpeningWillFollowTheSystemToOpenOrCloseDarkMode => '시스템 설정에 따라 다크 모드를 켜거나 끕니다.';
@override
String get manualSetting => '수동 설정';
@override
String get lightMode => '라이트 모드';
@override
String get settingLanguage => '언어 설정';
@override
String get appDetails => '앱 상세 정보';
@override
String get checkUpdate => '새 버전 확인';
@override
String get downloadNewVersion => '새 버전 다운로드';
@override
String get downloadingNewVersion => '새 버전 다운로드 중...';
@override
String get currentIsNew => '현재 버전이 최신입니다!';
@override
String get checkDatabaseNewVersion => '데이터베이스 새 버전 확인';
@override
String get viewThisProjectGithubRepository => '《이 프로젝트의 Github 저장소 보기》';
@override
String get favorite => '즐겨찾기';
@override
String get enterComponentName => '컴포넌트 이름 입력';
@override
String get containerComponents => '컨테이너 컴포넌트';
@override
String get componentTavern => '컴포넌트 선술집';
@override
String get cherishedComponents => '소중한 컴포넌트';
@override
String get textImageCollection => '텍스트 이미지 모음';
@override
String get layoutCollection => '레이아웃 모음';
@override
String get eventCollection => '이벤트 모음';
@override
String get animationCollection => '애니메이션 모음';
@override
String get slidingCollection => '슬라이딩 모음';
@override
String get decorationCollection => '장식 모음';
@override
String get assemblyCollection => '조립 모음';
@override
String get functionCollection => '기능 모음';
@override
String get popupCollection => '팝업 모음';
@override
String get themeCollection => '테마 모음';
@override
String get derivativeCollection => '파생 모음';
@override
String get hardToCategorize => '분류하기 어려움';
@override
String get basicDrawing => '기본 그리기';
@override
String get basicDrawingDesc => '기본 도형 그리기 예제를 포함합니다. 이 예제들은 그리기를 처음 접하는 프로그래머에게 매우 친숙할 것입니다. 이 예제들을 통해 점, 선, 사각형, 원, 호, 텍스트, 이미지 등 기본 도형을 그리는 방법을 배우고, Canvas, Paint, Path 등 그리기의 핵심 객체 사용법을 익힐 수 있습니다.';
@override
String get animationGesture => '애니메이션 제스처';
@override
String get animationGestureDesc => '애니메이션과 제스처 그리기 예제를 포함합니다. 이 예제들은 그리기를 더욱 상호작용적으로 만듭니다. 이 예제들을 통해 슬라이드, 회전, 확대/축소, 이동 등의 효과를 배울 수 있으며, 그리기가 단순히 정적인 표현이 아니게 됩니다.';
@override
String get particleDrawing => '입자 그리기';
@override
String get particleDrawingDesc => '입자 관련 그리기 예제를 포함합니다. 이 예제들은 그리기의 최고 수준의 작업입니다. 이 예제들을 통해 입자를 사용하여 놀라운 시각적 효과를 그리는 방법을 배울 수 있습니다. 입자 시계, 입자 폭발, 입자 배경 등 다양한 효과를 통해 그리기의 무한한 가능성을 경험할 수 있습니다.';
@override
String get interestingDrawing => '재미있는 그리기';
@override
String get interestingDrawingDesc => '재미있는 그리기 예제를 포함합니다. 여기서 그리기, 프로그래밍, 지혜의 즐거움을 함께 경험해 보세요.';
@override
String get artGallery => '예술 갤러리';
@override
String get artGalleryDesc => '최고 수준의 그리기 예제를 포함합니다. 이 예제들은 그리기의 정점에 있는 작품들로, 실용성은 없지만 존재 자체로 의미가 있는 예술 작품입니다.';
@override
String get drawingOfImages => '이 예제는 이미지를 그리는 방법을 소개합니다: 이미지를 로드하고 지정된 영역에 그립니다. 상단에 45도 각도의 그리드 선을 그려 선 그리기를 연습합니다.';
@override
String get digitalDisplayTube => '이 예제는 LED 디지털 디스플레이 튜브를 그리는 방법을 소개하며, Path 사용, 변환, 조합 및 컴포넌트 캡슐화를 연습합니다. 매우 좋은 그리기 예제입니다.';
@override
String get pathDrawing => '이 예제는 간단한 경로 그리기 및 캔버스 회전을 소개하며, 애니메이션을 결합하여 풍차를 회전시킵니다. 매우 간결한 그리기와 애니메이션 결합 예제입니다.';
@override
String get gridCoordinateSystem => '이 예제는 선 경로와 텍스트를 사용하여 그리드 좌표계를 그리는 방법을 소개하며, 그리기 객체를 캡슐화하여 재사용하기 쉽게 만듭니다. 좌표계는 그리기 시 참조를 제공하며, 입문자에게 필수입니다.';
@override
String get polarCoordinateSystemOfFaces => '이 예제는 평면의 극좌표계를 그리는 방법을 소개하며, 함수 방정식에 따라 극좌표를 수집하여 그립니다.';
@override
String get drawFunctionCurvesForPathPairs => '이 예제는 경로를 사용하여 함수 곡선을 그리는 방법을 소개하며, 함수 곡선 상의 소량의 점을 베지어 곡선으로 피팅합니다.';
@override
String get drawRegularPolygons => '이 예제는 원 안에서 점을 수집하여 정다각형을 그리는 방법을 소개하며, 그리기 및 경로 형성 연습에 매우 좋은 예제입니다.\n특수 조작: +, - 로 변 수정';
@override
String get randomNumberProcessing => '이 예제는 사각형 그리기 및 난수 처리를 소개합니다. 점 집합을 통해 사각형 위치 정보를 결정하고 그립니다. 데이터 제어 능력을 연습할 수 있습니다.';
@override
String get clockDrawing => '이 예제는 시계 그리기를 통해 Flutter에서 회전 눈금 그리기 기술을 연습하고, 애니메이션을 통해 시계 바늘이 회전하도록 합니다.';
@override
String get drawSprings => '이 예제는 스프링을 그리는 방법을 소개하며, 수직 드래그로 스프링을 늘이거나 줄이고, 놓을 때 복원 애니메이션을 수행합니다. 매우 좋은 종합 예제입니다. 특수 조작: 위아래 드래그로 스프링 늘이기/줄이기';
@override
String get theApplicationOfAnglesInDrawing => '이 예제는 특정 점을 중심으로 회전 운동을 수행하는 방법을 소개합니다. 이를 통해 두 점 사이의 각도가 그리기에서 어떻게 적용되는지 배울 수 있습니다.\n특수 조작: 클릭하여 실행';
@override
String get usingShadersAndFilters => '이 예제는 그리기에서 셰이더와 필터를 사용하는 방법을 소개하며, 애니메이션을 통해 수치를 변경하여 회전하는 빛의 효과를 만듭니다.';
@override
String get pathDrawingFunctionCurve => '이 예제는 경로를 사용하여 함수 곡선을 그리는 방법을 소개하며, 경로 측정을 사용하여 애니메이션을 만듭니다.';
@override
String get thePathOfBingDwenDwen => '이 예제는 2022년 베이징 동계 올림픽 마스코트 빙둔둔의 경로를 그리며, 경로 측정을 사용하여 애니메이션을 만듭니다.\n특수 조작: 클릭하여 실행';
@override
String get drawCubicBesselCurve => '이 예제는 3차 베지어 곡선을 그리는 방법을 소개하며, 접점을 통해 특정 점이 활성화되었는지 판단하여 점의 위치를 제어합니다.\n특수 조작: 클릭하여 점 그리기, 더블 클릭하여 지우기';
@override
String get theEffectOfAnimationCurve => '이 예제는 애니메이션 곡선의 효과를 직관적으로 보여줍니다. 이를 통해 애니메이션에 대한 이해를 높일 수 있습니다.\n특수 조작: 클릭하여 실행';
@override
String get randomParticlesAndBoundaryBouncing => '이 예제는 무작위 입자를 생성하고 경계에서 튕기는 로직을 처리하는 방법을 소개합니다. 입자 운동을 배우기에 매우 좋은 입문 예제입니다. 특수 조작: 클릭하여 정지/실행';
@override
String get particleCollision => '이 예제는 개별 입자에 대한 충돌 감지를 수행하고, 여러 입자로 분열시키는 방법을 소개합니다. 매우 재미있는 예제입니다.\n특수 조작: 클릭하여 재설정';
@override
String get particle => '이 예제는 이미지를 입자로 표현하고, 입자에 애니메이션을 적용하여 폭발 효과를 만드는 방법을 소개합니다.\n특수 조작: 클릭하여 실행';
@override
String get rectangleAndRandomNumbers => '이 예제는 사각형 그리기 및 난수 처리를 소개합니다. 점 집합을 통해 사각형 위치 정보를 결정하고 그립니다. 데이터 제어 능력을 연습할 수 있습니다.\n특수 조작: 클릭하여 무작위 생성';
@override
String get bingDwenDwen => '이 예제는 2022년 베이징 동계 올림픽 마스코트 빙둔둔의 형태를 그리는 방법을 소개하며, 경로 그리기 및 그라데이션 색상 사용법을 배울 수 있습니다.';
@override
String get pufengInjectionTest => '이 예제는 푸펑 투시험의 테스트 과정을 구현하며, 확률을 통해 원주율을 추정합니다. 그리기 기술 및 데이터 논리 처리 방법을 배울 수 있습니다.';
@override
String get ticTacToe => '이 예제는 틱택토 그리기 및 논리 검증을 통해 제스처, 그리기, 애니메이션, 검증 등의 중요한 기술을 종합적으로 연습할 수 있는 매우 좋은 예제입니다.\n특수 조작: 더블 클릭하여 재설정';
@override
String get tiledLines => '이 예제는 generativeartistry.com의 tiled-lines에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry';
@override
String get joyDivision => '이 예제는 generativeartistry.com의 joy-division에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry';
@override
String get cubicDisarray => '이 예제는 generativeartistry.com의 cubic-disarray에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry';
@override
String get triangularMesh => '이 예제는 generativeartistry.com의 triangular-mesh에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry';
@override
String get unDeuxTrois => '이 예제는 generativeartistry.com의 un-deux-trois에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry';
@override
String get circlePacking => '이 예제는 generativeartistry.com의 circle-packing에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry';
@override
String get hypnoticSquares => '이 예제는 generativeartistry.com의 hypnotic-squares에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry';
@override
String get pietMondrian => '이 예제는 generativeartistry.com의 piet-mondrian에서 유래되었으며, xrr2016이 Flutter로 구현했습니다. 저장소 주소: flutter-generative-artistry';
@override
String get downloadCompressedPackage => '사용 방법:\n1. iconfont.cn에서 아이콘을 선택하고 프로젝트에 추가한 후 압축 파일을 다운로드합니다.\n2. Flutter 프로젝트 경로를 선택하고 리소스 및 산출물 파일 위치를 설정합니다.\n3. 코드 생성 버튼을 클릭하여 관련 코드를 생성합니다.';
@override
String get qAIssues => '핵심 모음의 QA 데이터는 rUnit의 point 태그가 있는 issues에 포함되어 있습니다. 데이터를 제공하려면 issues에서 질문하세요.';
@override
String get tips => '참고:';
@override
String get visualSorting => '시각적 정렬';
@override
String get visual => '시각적 정렬';
@override
String get insertion => '삽입 정렬';
@override
String get bubble => '버블 정렬';
@override
String get cocktail => '칵테일 정렬(양방향 버블 정렬)';
@override
String get comb => '빗질 정렬';
@override
String get pigeonHole => '비둘기집 정렬';
@override
String get shell => '셸 정렬';
@override
String get selection => '선택 정렬';
@override
String get gnome => '노움 정렬';
@override
String get cycle => '순환 정렬';
@override
String get heap => '힙 정렬';
@override
String get quick => '퀵 정렬';
@override
String get merge => '병합 정렬';
@override
String get sortingAlgorithmConfiguration => '정렬 알고리즘 설정';
@override
String get dataCount => '데이터 수(개수)';
@override
String get timeInterval => '시간 간격(마이크로초)';
@override
String get randomSeed => '무작위 시드';
@override
String get codeGeneration => '코드 생성';
@override
String get generateCode => '코드 생성';
@override
String get artifactLocation => '산출물 위치';
@override
String get codeClassLocation => '코드 클래스 위치';
@override
String get resourceDirectory => '리소스 디렉토리';
@override
String get iconfontResourceLocation => 'iconfont 리소스 위치';
@override
String get projectPath => '프로젝트 경로';
@override
String get inputProjectAddress => '프로젝트 주소를 선택하거나 입력하세요';
@override
String get iconfontCompressedPackagePath => 'Iconfont 압축 파일 경로';
@override
String get pleaseSelectOrInputIconfontCompressedPackagePath => 'iconfont 다운로드 압축 파일 경로를 선택하거나 입력하세요';
@override
String get stayTuned => '기대해 주세요';
@override
String get iconFont => 'IconFont';
@override
String get dataClass => '데이터 클래스';
@override
String get stateManagement => '상태 관리';
@override
String get jsonParsing => 'Json 파싱';
@override
String get clickHereToJump => '여기를 클릭하여 이동';
@override
String get knowledgeTabToly => '제트 문고';
@override
String get knowledgeTabAlgo => '알고리즘 연습';
@override
String get knowledgeTabLayout => '레이아웃 보물';
@override
String get knowledgeTabPoint => '핵심 보물';
@override
String get knowledgeConstruction => '구축 중';
@override
String get knowledgeToJuejin => 'Juejin으로 이동';
@override
String get srcPath => '소스 경로';
@override
String get widgetsInn => '위젯 선술집';
@override
String get likedWidgets => '소중한 위젯';
@override
String get relatedComponents => '관련 컴포넌트';
@override
String get backupFavoritesCollectionData => '즐겨찾기 컬렉션 데이터 백업';
@override
String get syncFavoritesCollectionData => '즐겨찾기 컬렉션 데이터 동기화';
@override
String get favoritesCollectionDataReset => '즐겨찾기 컬렉션 데이터 재설정';
@override
String get resetSuccess => '재설정 성공!';
@override
String get dataSetBackupSuccess => '데이터 세트 백업 성공!';
@override
String get dataSetBackupFailure => '데이터 세트 백업 실패!';
@override
String get dataSynchronizationCopySuccess => '데이터 동기화 복사 성공!';
@override
String get dataSynchronizationCopyFailure => '데이터 동기화 복사 실패!';
@override
String get destructionRed => '파괴의 빨강';
@override
String get rageOrange => '분노의 주황';
@override
String get warningYellow => '경고의 노랑';
@override
String get camouflageGreen => '위장의 초록';
@override
String get coldBlue => '냉담의 파랑';
@override
String get infiniteBlue => '무한의 남색';
@override
String get mysteryPurple => '신비의 보라';
@override
String get destinyBlack => '운명의 검정';
@override
String get showBackground => '배경 표시';
@override
String get toly => '장풍제특렬';
@override
String get dartHandbook => 'Dart 핸드북';
@override
String get codeCopiedSuccessfully => '코드 복사 성공';
@override
String get favoriteFolderManagement => '즐겨찾기 폴더 관리';
@override
String get assembly => '컴포넌트';
@override
String get draw => '그리기';
@override
String get knowledge => '지식';
@override
String get collection => '컬렉션';
@override
String get my => '내 정보';
@override
String get picture => '그림';
@override
String get widgetInn => '위젯 선술집';
@override
String get emptySearch => '데이터가 없습니다, 형님도 방법이 없어요\n(≡ _ ≡)/~┴┴';
@override
String get searchSomething => '형님, 뭘 검색하시겠어요...≧◔◡◔≦';
@override
String get slogan => 'Flutter의 연합, 프로그래머의 연합';
}

View File

@ -0,0 +1,560 @@
import 'app_localizations.dart';
// ignore_for_file: type=lint
/// The translations for Russian (`ru`).
class AppLocalizationsRu extends AppLocalizations {
AppLocalizationsRu([String locale = 'ru']) : super(locale);
@override
String get widgetCollection => 'Сборник компонентов';
@override
String get paintCollection => 'Сборник рисования';
@override
String get knowledgeCollection => 'Сборник знаний';
@override
String get treasureTools => 'Сундучок инструментов';
@override
String get collectCollection => 'Сборник избранного';
@override
String get essentialCollection => 'Сборник ключевых моментов';
@override
String get homeAccount => 'Информация о приложении';
@override
String get homeAccountTabInfo => 'О приложении';
@override
String get homeAccountTabMe => 'Связаться с этим королём';
@override
String get homeAccountSupport => 'Проекты поддержки';
@override
String get searchWidget => 'Поиск компонентов';
@override
String get stateless => 'Без состояния';
@override
String get stateful => 'С состоянием';
@override
String get single => 'Один рендеринг';
@override
String get multi => 'Многократный рендеринг';
@override
String get sliver => 'Скользящая панель';
@override
String get proxy => 'Прокси';
@override
String get other => 'Другие';
@override
String get homeTabWidget => 'Компоненты';
@override
String get homeTabPaint => 'Рисование';
@override
String get homeTabKnowledge => 'Знания';
@override
String get homeTabTools => 'Инструменты';
@override
String get homeTabMine => 'Мой профиль';
@override
String get dataManagement => 'Управление данными';
@override
String get userCollection => 'Мои избранные';
@override
String get aboutApplications => 'О приложении';
@override
String get contactThisKing => 'Связаться с этим королём';
@override
String get appSettings => 'Настройки приложения';
@override
String get darkMode => 'Тёмный режим';
@override
String get themeColorSetting => 'Настройки темы';
@override
String get fontSetting => 'Настройки шрифта';
@override
String get settingLanguageText => 'Многоязычность';
@override
String get codeHighlightStyle => 'Стиль подсветки кода';
@override
String get versionInformation => 'Информация о версии';
@override
String get displayPerformanceFloatingLayer => 'Показать плавающий слой производительности';
@override
String get showFloatingTools => 'Показать плавающие инструменты';
@override
String get followSystem => 'Следовать за системой';
@override
String get afterOpeningWillFollowTheSystemToOpenOrCloseDarkMode => 'После включения будет следовать за системой для включения или отключения тёмного режима';
@override
String get manualSetting => 'Ручные настройки';
@override
String get lightMode => 'Светлый режим';
@override
String get settingLanguage => 'Настройки языка';
@override
String get appDetails => 'Детали приложения';
@override
String get checkUpdate => 'Проверить обновление';
@override
String get downloadNewVersion => 'Скачать новое обновление';
@override
String get downloadingNewVersion => 'Скачивание нового обновления...';
@override
String get currentIsNew => 'Текущая версия приложения уже самая новая!';
@override
String get checkDatabaseNewVersion => 'Проверить обновление базы данных';
@override
String get viewThisProjectGithubRepository => 'Посмотреть репозиторий проекта на Github';
@override
String get favorite => 'Добавлено в избранное';
@override
String get enterComponentName => 'Введите название компонента';
@override
String get containerComponents => 'Контейнерные компоненты';
@override
String get componentTavern => 'Таверна компонентов';
@override
String get cherishedComponents => 'Ценные компоненты';
@override
String get textImageCollection => 'Сборник изображений и текста';
@override
String get layoutCollection => 'Сборник макетов';
@override
String get eventCollection => 'Сборник событий';
@override
String get animationCollection => 'Сборник анимаций';
@override
String get slidingCollection => 'Сборник слайдов';
@override
String get decorationCollection => 'Сборник декораций';
@override
String get assemblyCollection => 'Сборник сборки';
@override
String get functionCollection => 'Сборник функций';
@override
String get popupCollection => 'Сборник всплывающих окон';
@override
String get themeCollection => 'Сборник тем';
@override
String get derivativeCollection => 'Сборник производных';
@override
String get hardToCategorize => 'Трудно классифицировать';
@override
String get basicDrawing => 'Основы рисования';
@override
String get basicDrawingDesc => 'Включает несколько примеров базового рисования, которые будут полезны для начинающих программистов. Эти примеры научат рисованию базовых фигур, таких как точки, линии, прямоугольники, круги и текст.';
@override
String get animationGesture => 'Анимация жестов';
@override
String get animationGestureDesc => 'Содержит примеры рисования анимаций и жестов, которые сделают рисование более интерактивным. Эти примеры научат использовать анимации и жесты, такие как скольжение, вращение, масштабирование и перемещение.';
@override
String get particleDrawing => 'Частицы в рисовании';
@override
String get particleDrawingDesc => 'Включает примеры рисования с использованием частиц. Эти примеры покажут, как использовать частицы для создания зрелищных эффектов, таких как взрывы или анимации с частицами.';
@override
String get interestingDrawing => 'Интересные рисунки';
@override
String get interestingDrawingDesc => 'Примеры интересных и забавных рисунков, где мы можем наслаждаться процессом рисования и программирования.';
@override
String get artGallery => 'Галерея искусства';
@override
String get artGalleryDesc => 'Содержит примеры высокого искусства, которые не предназначены для практических целей, а являются выражением человеческого интеллекта и творчества.';
@override
String get drawingOfImages => 'Пример рисования изображений: загрузка изображения и его отрисовка в определенной области. На верхнем слое добавлены линии сетки для практики рисования линий.';
@override
String get digitalDisplayTube => 'Пример рисования цифровых трубок с использованием пути Path и анимации.';
@override
String get pathDrawing => 'Пример рисования простых путей с анимацией.';
@override
String get gridCoordinateSystem => 'Пример рисования сетки координат с линиями и текстом для новичков.';
@override
String get polarCoordinateSystemOfFaces => 'Пример рисования полярной координатной системы с использованием функций.';
@override
String get drawFunctionCurvesForPathPairs => 'Пример рисования функциональных кривых с использованием пути и Беезье.';
@override
String get drawRegularPolygons => 'Пример рисования правильных многоугольников внутри круга.';
@override
String get randomNumberProcessing => 'Пример рисования прямоугольников с обработкой случайных чисел.';
@override
String get clockDrawing => 'Пример рисования часов с анимацией.';
@override
String get drawSprings => 'Пример рисования пружины с анимацией сжатия и растяжения.';
@override
String get theApplicationOfAnglesInDrawing => 'Пример рисования с использованием углов для вращения.';
@override
String get usingShadersAndFilters => 'Пример использования шейдеров и фильтров для создания анимации.';
@override
String get pathDrawingFunctionCurve => 'Пример рисования кривых с помощью пути и измерения анимации.';
@override
String get thePathOfBingDwenDwen => 'Пример рисования пути маскота Олимпиады Пекин-2022 с использованием анимации пути.';
@override
String get drawCubicBesselCurve => 'Пример рисования кривой кубического Безье с возможностью перетаскивания точек.';
@override
String get theEffectOfAnimationCurve => 'Пример демонстрации эффекта анимационной кривой для углубленного понимания анимаций.';
@override
String get randomParticlesAndBoundaryBouncing => 'Пример создания случайных частиц с отскоком от границ.';
@override
String get particleCollision => 'Пример столкновений частиц с анимацией их распада.';
@override
String get particle => 'Пример взрыва изображений с использованием частиц.';
@override
String get rectangleAndRandomNumbers => 'Пример рисования прямоугольников с использованием случайных чисел.';
@override
String get bingDwenDwen => 'Пример рисования формы маскота Олимпиады Пекин-2022.';
@override
String get pufengInjectionTest => 'Пример теста для вычисления числа Пи с использованием вероятности.';
@override
String get ticTacToe => 'Пример игры в крестики-нолики с логикой и анимацией.';
@override
String get tiledLines => 'Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.';
@override
String get joyDivision => 'Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.';
@override
String get cubicDisarray => 'Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.';
@override
String get triangularMesh => 'Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.';
@override
String get unDeuxTrois => 'Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.';
@override
String get circlePacking => 'Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.';
@override
String get hypnoticSquares => 'Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.';
@override
String get pietMondrian => 'Пример, основанный на генеративном искусстве, реализованный с помощью Flutter.';
@override
String get downloadCompressedPackage => 'Инструкция по использованию:\n1. Выберите и скачайте иконки на iconfont.cn.\n2. Настройте путь к проекту Flutter.\n3. Нажмите кнопку для генерации кода.';
@override
String get qAIssues => 'Данные QA из сборника важных моментов rUnit будут добавлены в issues с меткой point.';
@override
String get tips => 'Совет:';
@override
String get visualSorting => 'Визуальная сортировка';
@override
String get visual => 'Визуальная сортировка';
@override
String get insertion => 'Сортировка вставками';
@override
String get bubble => 'Пузырьковая сортировка';
@override
String get cocktail => 'Коктейльная сортировка';
@override
String get comb => 'Сортировка расческой';
@override
String get pigeonHole => 'Сортировка по принципу дырок для голубей';
@override
String get shell => 'Сортировка Шелла';
@override
String get selection => 'Сортировка выбором';
@override
String get gnome => 'Сортировка гномом';
@override
String get cycle => 'Циклическая сортировка';
@override
String get heap => 'Сортировка кучей';
@override
String get quick => 'Быстрая сортировка';
@override
String get merge => 'Сортировка слиянием';
@override
String get sortingAlgorithmConfiguration => 'Настройки сортировки';
@override
String get dataCount => 'Количество данных';
@override
String get timeInterval => 'Интервал времени';
@override
String get randomSeed => 'Случайное зерно';
@override
String get codeGeneration => 'Генерация кода';
@override
String get generateCode => 'Сгенерировать код';
@override
String get artifactLocation => 'Местоположение артефакта';
@override
String get codeClassLocation => 'Местоположение класса кода';
@override
String get resourceDirectory => 'Каталог ресурсов';
@override
String get iconfontResourceLocation => 'Местоположение ресурсов iconfont';
@override
String get projectPath => 'Путь проекта';
@override
String get inputProjectAddress => 'Выберите или введите путь к проекту';
@override
String get iconfontCompressedPackagePath => 'Путь к сжатию иконок';
@override
String get pleaseSelectOrInputIconfontCompressedPackagePath => 'Пожалуйста, выберите или введите путь к сжатому пакету iconfont';
@override
String get stayTuned => 'Ожидайте';
@override
String get iconFont => 'IconFont';
@override
String get dataClass => 'Класс данных';
@override
String get stateManagement => 'Управление состоянием';
@override
String get jsonParsing => 'Парсинг JSON';
@override
String get clickHereToJump => 'Нажмите здесь для перехода';
@override
String get knowledgeTabToly => 'Библиотека Jet';
@override
String get knowledgeTabAlgo => 'Алгоритмы';
@override
String get knowledgeTabLayout => 'Библиотека макетов';
@override
String get knowledgeTabPoint => 'Библиотека ключевых моментов';
@override
String get knowledgeConstruction => 'На стадии строительства';
@override
String get knowledgeToJuejin => 'Перейти на Juejin';
@override
String get srcPath => 'Путь к исходному коду';
@override
String get widgetsInn => 'Таверна компонентов';
@override
String get likedWidgets => 'Избранные компоненты';
@override
String get relatedComponents => 'Связанные компоненты';
@override
String get backupFavoritesCollectionData => 'Резервное копирование данных избранного';
@override
String get syncFavoritesCollectionData => 'Синхронизация данных избранного';
@override
String get favoritesCollectionDataReset => 'Сброс данных избранного';
@override
String get resetSuccess => 'Сброс успешен!';
@override
String get dataSetBackupSuccess => 'Резервное копирование данных прошло успешно!';
@override
String get dataSetBackupFailure => 'Ошибка резервного копирования данных!';
@override
String get dataSynchronizationCopySuccess => 'Синхронизация данных успешна!';
@override
String get dataSynchronizationCopyFailure => 'Ошибка синхронизации данных!';
@override
String get destructionRed => 'Красный разрушения';
@override
String get rageOrange => 'Оранжевый гнева';
@override
String get warningYellow => 'Желтый предупреждения';
@override
String get camouflageGreen => 'Зеленый камуфляжа';
@override
String get coldBlue => 'Холодный синий';
@override
String get infiniteBlue => 'Бесконечный синий';
@override
String get mysteryPurple => 'Тайный фиолетовый';
@override
String get destinyBlack => 'Черный судьбы';
@override
String get showBackground => 'Показать фон';
@override
String get toly => 'Толь';
@override
String get dartHandbook => 'Руководство Dart';
@override
String get codeCopiedSuccessfully => 'Код успешно скопирован';
@override
String get favoriteFolderManagement => 'Управление папками избранного';
@override
String get assembly => 'Сборка';
@override
String get draw => 'Рисование';
@override
String get knowledge => 'Знания';
@override
String get collection => 'Коллекция';
@override
String get my => 'Мои';
@override
String get picture => 'Картинка';
@override
String get widgetInn => 'Таверна компонентов';
@override
String get emptySearch => 'Данных нет, я тоже не знаю, что делать\n(≡ _ ≡)/~┴┴';
@override
String get searchSomething => 'Друзья, давайте что-то искать…≧◔◡◔≦';
@override
String get slogan => 'Связь Flutter, связь программистов';
}

View File

@ -1,4 +1,5 @@
export 'src/view/view.dart';
export 'src/bloc/bloc.dart';
export 'src/repository/repository.dart';
export 'src/env/env.dart';
export 'src/env/env.dart';
export 'package:flutter_quill/flutter_quill.dart' show FlutterQuillLocalizations;

View File

@ -1,6 +1,7 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_quill/flutter_quill.dart';
import 'package:note/note.dart';
import 'package:tolyui/tolyui.dart';
import 'package:app/app.dart';
@ -150,6 +151,7 @@ class _ArticleAdminState extends State<ArticleAdmin> {
),
),
Divider(),
// Expanded(child: RichEditor()),
Expanded(
child: TextField(
style: TextStyle(fontSize: 14),
@ -240,3 +242,31 @@ class _ArticleAdminState extends State<ArticleAdmin> {
}
}
class RichEditor extends StatefulWidget {
const RichEditor({super.key});
@override
State<RichEditor> createState() => _RichEditorState();
}
class _RichEditorState extends State<RichEditor> {
QuillController _controller = QuillController.basic();
@override
Widget build(BuildContext context) {
return Column(
children: [
QuillSimpleToolbar(
controller: _controller,
config: const QuillSimpleToolbarConfig(),
),
Expanded(
child: QuillEditor.basic(
controller: _controller,
config: const QuillEditorConfig(),
),
)
],
);
}
}

View File

@ -15,6 +15,7 @@ dependencies:
fx_dio: 0.0.4
flutter_bloc: ^8.1.6 # 状态管理
two_dimensional_scrollables: ^0.3.3
flutter_quill: ^11.0.0-dev.21
dev_dependencies:
flutter_test:

View File

@ -18,6 +18,8 @@ class WidgetLogo extends StatelessWidget {
Widget build(BuildContext context) {
return Container(
width: 110,
height: 110,
alignment: Alignment.center,
decoration: BoxDecoration(
color: background,
gradient: LinearGradient(
@ -30,7 +32,7 @@ class WidgetLogo extends StatelessWidget {
topLeft: Radius.circular(6), bottomLeft: Radius.circular(6)),
),
child:
SvgPicture.asset('assets/images/widgets/${widgetLogo(widgetName)}'),
SvgPicture.asset('assets/images/widgets/${widgetLogo(widgetName)}',width: 100,),
);
}
}
@ -42,6 +44,9 @@ String widgetLogo(String widgetName) {
'GestureDetector' => 'GestureDetector.svg',
'Card' => 'Card.svg',
'ListView' => 'ListView.svg',
'GridView' => 'GridView.svg',
'SingleChildScrollView' => 'SingleChildScrollView.svg',
'PageView' => 'PageView.svg',
_ => 'Widget.svg',
};
}

View File

@ -0,0 +1,26 @@
{
"id": 96,
"name": "Column",
"localName": "Spaltenlayout",
"info": "Flex-Layout mit vertikaler Ausrichtung, das mehrere Komponenten aufnehmen kann. Alle anderen Eigenschaften sind identisch, siehe Flex.",
"lever": 4,
"family": 3,
"linkIds": [
94,
95
],
"nodes": [
{
"file": "node_01.dart",
"name": "Grundlegende Verwendung von Column",
"desc": [
"【children】 : Liste der Komponenten 【List<Widget>】",
"【mainAxisAlignment】 : Hauptachsenausrichtung 【MainAxisAlignment】",
"【crossAxisAlignment】 : Kreuzachsenausrichtung 【CrossAxisAlignment】",
"【textBaseline】 : Textbaseline 【TextBaseline】",
"【verticalDirection】 : Vertikale Richtung 【VerticalDirection】",
"【mainAxisSize】 : Hauptachsengröße 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 96,
"name": "Column",
"localName": "Column Layout",
"info": "A Flex layout with a vertical arrangement direction, capable of accommodating multiple components. All other properties are the same, see Flex for details.",
"lever": 4,
"family": 3,
"linkIds": [
94,
95
],
"nodes": [
{
"file": "node_01.dart",
"name": "Basic Usage of Column",
"desc": [
"【children】: Component list 【List<Widget>】",
"【mainAxisAlignment】: Main axis alignment 【MainAxisAlignment】",
"【crossAxisAlignment】: Cross axis alignment 【CrossAxisAlignment】",
"【textBaseline】: Text baseline 【TextBaseline】",
"【verticalDirection】: Vertical direction 【VerticalDirection】",
"【mainAxisSize】: Main axis size 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 96,
"name": "Column",
"localName": "Disposición de columna",
"info": "Disposición Flex con dirección vertical, puede contener múltiples componentes. Todas las demás propiedades son iguales, consulte Flex para más detalles.",
"lever": 4,
"family": 3,
"linkIds": [
94,
95
],
"nodes": [
{
"file": "node_01.dart",
"name": "Uso básico de Column",
"desc": [
"【children】 : Lista de componentes 【List<Widget>】",
"【mainAxisAlignment】 : Alineación del eje principal 【MainAxisAlignment】",
"【crossAxisAlignment】 : Alineación del eje transversal 【CrossAxisAlignment】",
"【textBaseline】 : Línea base del texto 【TextBaseline】",
"【verticalDirection】 : Dirección vertical 【VerticalDirection】",
"【mainAxisSize】 : Tamaño del eje principal 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 96,
"name": "Column",
"localName": "Disposition en colonne",
"info": "Une disposition Flex avec une orientation verticale, capable de contenir plusieurs composants. Toutes les autres propriétés sont identiques, voir Flex pour plus de détails.",
"lever": 4,
"family": 3,
"linkIds": [
94,
95
],
"nodes": [
{
"file": "node_01.dart",
"name": "Utilisation de base de Column",
"desc": [
"【children】 : Liste des composants 【List<Widget>】",
"【mainAxisAlignment】 : Alignement de l'axe principal 【MainAxisAlignment】",
"【crossAxisAlignment】 : Alignement de l'axe secondaire 【CrossAxisAlignment】",
"【textBaseline】 : Ligne de base du texte 【TextBaseline】",
"【verticalDirection】 : Direction verticale 【VerticalDirection】",
"【mainAxisSize】 : Taille de l'axe principal 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 96,
"name": "Column",
"localName": "Layout Colonna",
"info": "Un layout Flex con direzione di disposizione verticale, in grado di contenere più componenti. Tutte le altre proprietà sono le stesse, vedi Flex per maggiori dettagli.",
"lever": 4,
"family": 3,
"linkIds": [
94,
95
],
"nodes": [
{
"file": "node_01.dart",
"name": "Uso di base di Column",
"desc": [
"【children】 : Lista di componenti 【List<Widget>】",
"【mainAxisAlignment】 : Allineamento dell'asse principale 【MainAxisAlignment】",
"【crossAxisAlignment】 : Allineamento dell'asse trasversale 【CrossAxisAlignment】",
"【textBaseline】 : Linea di base del testo 【TextBaseline】",
"【verticalDirection】 : Direzione verticale 【VerticalDirection】",
"【mainAxisSize】 : Dimensione dell'asse principale 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 96,
"name": "Column",
"localName": "列レイアウト",
"info": "縦方向に配置するFlexレイアウトで、複数のコンポーネントを収容できます。他の属性はすべて同じです。詳細はFlexを参照してください。",
"lever": 4,
"family": 3,
"linkIds": [
94,
95
],
"nodes": [
{
"file": "node_01.dart",
"name": "Columnの基本的な使用法",
"desc": [
"【children】 : コンポーネントリスト 【List<Widget>】",
"【mainAxisAlignment】 : 主軸の整列 【MainAxisAlignment】",
"【crossAxisAlignment】 : 交差軸の整列 【CrossAxisAlignment】",
"【textBaseline】 : テキストベースライン 【TextBaseline】",
"【verticalDirection】 : 垂直方向 【VerticalDirection】",
"【mainAxisSize】 : 主軸サイズ 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 96,
"name": "Column",
"localName": "열 레이아웃",
"info": "세로 방향으로 배열되는 Flex 레이아웃으로, 여러 컴포넌트를 수용할 수 있습니다. 다른 속성은 모두 동일하며, 자세한 내용은 Flex를 참조하십시오.",
"lever": 4,
"family": 3,
"linkIds": [
94,
95
],
"nodes": [
{
"file": "node_01.dart",
"name": "Column 기본 사용",
"desc": [
"【children】 : 컴포넌트 목록 【List<Widget>】",
"【mainAxisAlignment】 : 메인 축 정렬 【MainAxisAlignment】",
"【crossAxisAlignment】 : 교차 축 정렬 【CrossAxisAlignment】",
"【textBaseline】 : 텍스트 기준선 【TextBaseline】",
"【verticalDirection】 : 세로 방향 【VerticalDirection】",
"【mainAxisSize】 : 메인 축 크기 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 96,
"name": "Column",
"localName": "Layout de Coluna",
"info": "Layout Flex com direção de disposição vertical, pode acomodar vários componentes. Todas as outras propriedades são iguais, consulte Flex para mais detalhes.",
"lever": 4,
"family": 3,
"linkIds": [
94,
95
],
"nodes": [
{
"file": "node_01.dart",
"name": "Uso Básico do Column",
"desc": [
"【children】 : Lista de componentes 【List<Widget>】",
"【mainAxisAlignment】 : Alinhamento do eixo principal 【MainAxisAlignment】",
"【crossAxisAlignment】 : Alinhamento do eixo transversal 【CrossAxisAlignment】",
"【textBaseline】 : Linha de base do texto 【TextBaseline】",
"【verticalDirection】 : Direção vertical 【VerticalDirection】",
"【mainAxisSize】 : Tamanho do eixo principal 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 96,
"name": "Column",
"localName": "Колонка",
"info": "Гибкий макет с вертикальным направлением размещения, который может содержать несколько компонентов. Все остальные свойства идентичны, подробнее см. Flex.",
"lever": 4,
"family": 3,
"linkIds": [
94,
95
],
"nodes": [
{
"file": "node_01.dart",
"name": "Основное использование Column",
"desc": [
"【children】 : Список компонентов 【List<Widget>】",
"【mainAxisAlignment】 : Выравнивание по главной оси 【MainAxisAlignment】",
"【crossAxisAlignment】 : Выравнивание по поперечной оси 【CrossAxisAlignment】",
"【textBaseline】 : Базовая линия текста 【TextBaseline】",
"【verticalDirection】 : Вертикальное направление 【VerticalDirection】",
"【mainAxisSize】 : Размер главной оси 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,22 @@
{
"id": 341,
"name": "CustomMultiChildLayout",
"localName": "Allgemeines Multi-Kind-Layout",
"info": "Verwenden Sie eine Proxy-Klasse, um das Layout einer Gruppe von Kinderkomponenten zu steuern. Die Kinderkomponenten müssen mit der LayoutId-Komponente gekennzeichnet werden.",
"lever": 4,
"family": 3,
"linkIds": [
315,
285
],
"nodes": [
{
"file": "node_01.dart",
"name": "Grundlegende Verwendung von CustomMultiChildLayout",
"desc": [
"【children】 : Kinderkomponentensammlung 【List<Widget>】",
"【delegate】 : Layout-Proxy 【MultiChildLayoutDelegate】"
]
}
]
}

View File

@ -0,0 +1,22 @@
{
"id": 341,
"name": "CustomMultiChildLayout",
"localName": "General Multi-Child Layout",
"info": "Use a delegate class to control the layout of a set of child components. Child components must be identified using the LayoutId component.",
"lever": 4,
"family": 3,
"linkIds": [
315,
285
],
"nodes": [
{
"file": "node_01.dart",
"name": "Basic Usage of CustomMultiChildLayout",
"desc": [
"【children】: Set of child components 【List<Widget>】",
"【delegate】: Layout delegate 【MultiChildLayoutDelegate】"
]
}
]
}

View File

@ -0,0 +1,22 @@
{
"id": 341,
"name": "CustomMultiChildLayout",
"localName": "Diseño de múltiples hijos genérico",
"info": "Utiliza una clase delegada para controlar el diseño de un conjunto de componentes hijos. Los componentes hijos deben identificarse utilizando el componente LayoutId.",
"lever": 4,
"family": 3,
"linkIds": [
315,
285
],
"nodes": [
{
"file": "node_01.dart",
"name": "Uso básico de CustomMultiChildLayout",
"desc": [
"【children】: Conjunto de componentes hijos 【List<Widget>】",
"【delegate】: Delegado de diseño 【MultiChildLayoutDelegate】"
]
}
]
}

View File

@ -0,0 +1,22 @@
{
"id": 341,
"name": "CustomMultiChildLayout",
"localName": "Disposition multi-enfants universelle",
"info": "Utilise une classe déléguée pour contrôler la disposition d'un ensemble de composants enfants. Les composants enfants doivent être identifiés à l'aide du composant LayoutId.",
"lever": 4,
"family": 3,
"linkIds": [
315,
285
],
"nodes": [
{
"file": "node_01.dart",
"name": "Utilisation de base de CustomMultiChildLayout",
"desc": [
"【children】 : Ensemble de composants enfants 【List<Widget>】",
"【delegate】 : Délégué de disposition 【MultiChildLayoutDelegate】"
]
}
]
}

View File

@ -0,0 +1,22 @@
{
"id": 341,
"name": "CustomMultiChildLayout",
"localName": "Layout Multi-Figlio Generico",
"info": "Utilizza una classe delegata per controllare il layout di un insieme di componenti figli. I componenti figli devono essere identificati utilizzando il componente LayoutId.",
"lever": 4,
"family": 3,
"linkIds": [
315,
285
],
"nodes": [
{
"file": "node_01.dart",
"name": "Uso di base di CustomMultiChildLayout",
"desc": [
"【children】 : Insieme di componenti figli 【List<Widget>】",
"【delegate】 : Delegato di layout 【MultiChildLayoutDelegate】"
]
}
]
}

View File

@ -0,0 +1,22 @@
{
"id": 341,
"name": "CustomMultiChildLayout",
"localName": "汎用マルチチャイルドレイアウト",
"info": "プロキシクラスを使用して子コンポーネントセットのレイアウトを制御します。子コンポーネントはLayoutIdコンポーネントで識別する必要があります。",
"lever": 4,
"family": 3,
"linkIds": [
315,
285
],
"nodes": [
{
"file": "node_01.dart",
"name": "CustomMultiChildLayoutの基本使用",
"desc": [
"【children】 : 子コンポーネントセット 【List<Widget>】",
"【delegate】 : レイアウトプロキシ 【MultiChildLayoutDelegate】"
]
}
]
}

View File

@ -0,0 +1,22 @@
{
"id": 341,
"name": "CustomMultiChildLayout",
"localName": "일반 다중 자식 레이아웃",
"info": "프록시 클래스를 사용하여 자식 위젯 집합의 레이아웃을 제어하며, 자식 위젯은 LayoutId 위젯으로 식별되어야 합니다.",
"lever": 4,
"family": 3,
"linkIds": [
315,
285
],
"nodes": [
{
"file": "node_01.dart",
"name": "CustomMultiChildLayout 기본 사용",
"desc": [
"【children】 : 자식 위젯 집합 【List<Widget>】",
"【delegate】 : 레이아웃 프록시 【MultiChildLayoutDelegate】"
]
}
]
}

View File

@ -0,0 +1,22 @@
{
"id": 341,
"name": "CustomMultiChildLayout",
"localName": "Layout Multi-Filho Personalizado",
"info": "Usa uma classe delegada para controlar o layout de um conjunto de componentes filhos, os componentes filhos devem ser identificados usando o componente LayoutId.",
"lever": 4,
"family": 3,
"linkIds": [
315,
285
],
"nodes": [
{
"file": "node_01.dart",
"name": "Uso Básico do CustomMultiChildLayout",
"desc": [
"【children】 : Conjunto de componentes filhos 【List<Widget>】",
"【delegate】 : Delegado de layout 【MultiChildLayoutDelegate】"
]
}
]
}

View File

@ -0,0 +1,22 @@
{
"id": 341,
"name": "CustomMultiChildLayout",
"localName": "Универсальная компоновка с несколькими дочерними элементами",
"info": "Использует класс-делегат для управления компоновкой набора дочерних элементов, дочерние элементы должны быть идентифицированы с помощью компонента LayoutId.",
"lever": 4,
"family": 3,
"linkIds": [
315,
285
],
"nodes": [
{
"file": "node_01.dart",
"name": "Основное использование CustomMultiChildLayout",
"desc": [
"【children】 : Набор дочерних элементов 【List<Widget>】",
"【delegate】 : Делегат компоновки 【MultiChildLayoutDelegate】"
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"id": 94,
"name": "Flex",
"localName": "Flexibles Layout",
"info": "Übergeordnete Klasse von Row und Column, die leistungsstärkste Layout-Methode in Flutter. Kann mehrere Komponenten aufnehmen und kann mit Spacer, Expended, Flexible Komponenten für flexibles Layout verwendet werden",
"lever": 5,
"family": 3,
"linkIds": [
95,
96,
106,
107,
109
],
"nodes": [
{
"file": "node_01.dart",
"name": "Ausrichtung von Flex",
"desc": [
"【children】 : Komponentenliste 【List<Widget>】",
"【direction】 : Richtung 【Axis】"
]
},
{
"file": "node_02.dart",
"name": "Hauptachsenausrichtung von Flex",
"desc": [
"【mainAxisAlignment】 : Hauptachsenausrichtung 【MainAxisAlignment】"
]
},
{
"file": "node_03.dart",
"name": "Kreuzachsenausrichtung von Flex",
"desc": [
"【crossAxisAlignment】 : Kreuzachsenausrichtung 【CrossAxisAlignment】"
]
},
{
"file": "node_04.dart",
"name": "Vertikale Richtungsreihenfolge von Flex",
"desc": [
"【verticalDirection】 : Vertikale Richtungsreihenfolge 【VerticalDirection】"
]
},
{
"file": "node_05.dart",
"name": "Horizontale Richtungsreihenfolge von Flex",
"desc": [
"【textDirection】 : Horizontale Richtungsreihenfolge 【TextDirection】"
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"id": 94,
"name": "Flex",
"localName": "Flex Layout",
"info": "The parent class of Row and Column, the most powerful layout method in Flutter. It can accommodate multiple components and can be used in conjunction with Spacer, Expended, and Flexible components for flexible layout.",
"lever": 5,
"family": 3,
"linkIds": [
95,
96,
106,
107,
109
],
"nodes": [
{
"file": "node_01.dart",
"name": "Flex Direction",
"desc": [
"【children】: Component list 【List<Widget>】",
"【direction】: Direction 【Axis】"
]
},
{
"file": "node_02.dart",
"name": "Flex Main Axis Alignment",
"desc": [
"【mainAxisAlignment】: Main axis alignment 【MainAxisAlignment】"
]
},
{
"file": "node_03.dart",
"name": "Flex Cross Axis Alignment",
"desc": [
"【crossAxisAlignment】: Cross axis alignment 【CrossAxisAlignment】"
]
},
{
"file": "node_04.dart",
"name": "Flex Vertical Direction",
"desc": [
"【verticalDirection】: Vertical direction 【VerticalDirection】"
]
},
{
"file": "node_05.dart",
"name": "Flex Horizontal Direction",
"desc": [
"【textDirection】: Horizontal direction 【TextDirection】"
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"id": 94,
"name": "Flex",
"localName": "Diseño Flexible",
"info": "Clase padre de Row y Column, el método de diseño más potente en Flutter. Puede contener múltiples componentes y se puede usar con los componentes Spacer, Expended y Flexible para un diseño flexible.",
"lever": 5,
"family": 3,
"linkIds": [
95,
96,
106,
107,
109
],
"nodes": [
{
"file": "node_01.dart",
"name": "Dirección de disposición de Flex",
"desc": [
"【children】 : Lista de componentes 【List<Widget>】",
"【direction】 : Dirección 【Axis】"
]
},
{
"file": "node_02.dart",
"name": "Alineación del eje principal de Flex",
"desc": [
"【mainAxisAlignment】 : Alineación del eje principal 【MainAxisAlignment】"
]
},
{
"file": "node_03.dart",
"name": "Alineación del eje transversal de Flex",
"desc": [
"【crossAxisAlignment】 : Alineación del eje transversal 【CrossAxisAlignment】"
]
},
{
"file": "node_04.dart",
"name": "Orden de dirección vertical de Flex",
"desc": [
"【verticalDirection】 : Orden de dirección vertical 【VerticalDirection】"
]
},
{
"file": "node_05.dart",
"name": "Orden de dirección horizontal de Flex",
"desc": [
"【textDirection】 : Orden de dirección horizontal 【TextDirection】"
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"id": 94,
"name": "Flex",
"localName": "Disposition flexible",
"info": "Classe parente de Row et Column, la méthode de disposition la plus puissante dans Flutter. Peut contenir plusieurs composants, peut être utilisé avec les composants Spacer, Expended, Flexible pour une disposition flexible",
"lever": 5,
"family": 3,
"linkIds": [
95,
96,
106,
107,
109
],
"nodes": [
{
"file": "node_01.dart",
"name": "Direction de disposition de Flex",
"desc": [
"【children】 : Liste des composants 【List<Widget>】",
"【direction】 : Direction 【Axis】"
]
},
{
"file": "node_02.dart",
"name": "Alignement de l'axe principal de Flex",
"desc": [
"【mainAxisAlignment】 : Alignement de l'axe principal 【MainAxisAlignment】"
]
},
{
"file": "node_03.dart",
"name": "Alignement de l'axe transversal de Flex",
"desc": [
"【crossAxisAlignment】 : Alignement de l'axe transversal 【CrossAxisAlignment】"
]
},
{
"file": "node_04.dart",
"name": "Ordre de direction vertical de Flex",
"desc": [
"【verticalDirection】 : Ordre de direction vertical 【VerticalDirection】"
]
},
{
"file": "node_05.dart",
"name": "Ordre de direction horizontale de Flex",
"desc": [
"【textDirection】 : Ordre de direction horizontale 【TextDirection】"
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"id": 94,
"name": "Flex",
"localName": "Layout Flessibile",
"info": "Classe genitore di Row e Column, il metodo di layout più potente in Flutter. Può contenere più componenti e può essere utilizzato con i componenti Spacer, Expended e Flexible per un layout flessibile",
"lever": 5,
"family": 3,
"linkIds": [
95,
96,
106,
107,
109
],
"nodes": [
{
"file": "node_01.dart",
"name": "Direzione di disposizione di Flex",
"desc": [
"【children】 : Lista dei componenti 【List<Widget>】",
"【direction】 : Direzione 【Axis】"
]
},
{
"file": "node_02.dart",
"name": "Allineamento dell'asse principale di Flex",
"desc": [
"【mainAxisAlignment】 : Allineamento dell'asse principale 【MainAxisAlignment】"
]
},
{
"file": "node_03.dart",
"name": "Allineamento dell'asse trasversale di Flex",
"desc": [
"【crossAxisAlignment】 : Allineamento dell'asse trasversale 【CrossAxisAlignment】"
]
},
{
"file": "node_04.dart",
"name": "Ordine della direzione verticale di Flex",
"desc": [
"【verticalDirection】 : Ordine della direzione verticale 【VerticalDirection】"
]
},
{
"file": "node_05.dart",
"name": "Ordine della direzione orizzontale di Flex",
"desc": [
"【textDirection】 : Ordine della direzione orizzontale 【TextDirection】"
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"id": 94,
"name": "Flex",
"localName": "フレックスレイアウト",
"info": "RowとColumnの親クラス、Flutterで最も強力なレイアウト方法。複数のコンポーネントを収容でき、Spacer、Expended、Flexibleコンポーネントと連携して柔軟なレイアウトを実現できます",
"lever": 5,
"family": 3,
"linkIds": [
95,
96,
106,
107,
109
],
"nodes": [
{
"file": "node_01.dart",
"name": "Flexの配置方向",
"desc": [
"【children】 : コンポーネントリスト 【List<Widget>】",
"【direction】 : 方向 【Axis】"
]
},
{
"file": "node_02.dart",
"name": "Flex主軸の整列方法",
"desc": [
"【mainAxisAlignment】 : 主軸整列 【MainAxisAlignment】"
]
},
{
"file": "node_03.dart",
"name": "Flex交差軸の整列方法",
"desc": [
"【crossAxisAlignment】 : 交差軸整列 【CrossAxisAlignment】"
]
},
{
"file": "node_04.dart",
"name": "Flex垂直方向の順序",
"desc": [
"【verticalDirection】 : 垂直方向の順序 【VerticalDirection】"
]
},
{
"file": "node_05.dart",
"name": "Flex水平方向の順序",
"desc": [
"【textDirection】 : 水平方向の順序 【TextDirection】"
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"id": 94,
"name": "Flex",
"localName": "유연한 레이아웃",
"info": "Row와 Column의 상위 클래스, Flutter에서 가장 강력한 레이아웃 방식. 여러 컴포넌트를 수용할 수 있으며, Spacer, Expended, Flexible 컴포넌트와 함께 사용하여 유연한 레이아웃을 구성할 수 있습니다.",
"lever": 5,
"family": 3,
"linkIds": [
95,
96,
106,
107,
109
],
"nodes": [
{
"file": "node_01.dart",
"name": "Flex의 배치 방향",
"desc": [
"【children】 : 컴포넌트 리스트 【List<Widget>】",
"【direction】 : 방향 【Axis】"
]
},
{
"file": "node_02.dart",
"name": "Flex 주축 정렬 방식",
"desc": [
"【mainAxisAlignment】 : 주축 정렬 【MainAxisAlignment】"
]
},
{
"file": "node_03.dart",
"name": "Flex 교차축 정렬 방식",
"desc": [
"【crossAxisAlignment】 : 교차축 정렬 【CrossAxisAlignment】"
]
},
{
"file": "node_04.dart",
"name": "Flex 수직 방향 순서",
"desc": [
"【verticalDirection】 : 수직 방향 순서 【VerticalDirection】"
]
},
{
"file": "node_05.dart",
"name": "Flex 수평 방향 순서",
"desc": [
"【textDirection】 : 수평 방향 순서 【TextDirection】"
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"id": 94,
"name": "Flex",
"localName": "Layout Flexível",
"info": "Classe pai de Row e Column, o método de layout mais poderoso no Flutter. Pode conter vários componentes e pode ser usado em conjunto com os componentes Spacer, Expended e Flexible para um layout flexível",
"lever": 5,
"family": 3,
"linkIds": [
95,
96,
106,
107,
109
],
"nodes": [
{
"file": "node_01.dart",
"name": "Direção de disposição do Flex",
"desc": [
"【children】 : Lista de componentes 【List<Widget>】",
"【direction】 : Direção 【Axis】"
]
},
{
"file": "node_02.dart",
"name": "Alinhamento do eixo principal do Flex",
"desc": [
"【mainAxisAlignment】 : Alinhamento do eixo principal 【MainAxisAlignment】"
]
},
{
"file": "node_03.dart",
"name": "Alinhamento do eixo cruzado do Flex",
"desc": [
"【crossAxisAlignment】 : Alinhamento do eixo cruzado 【CrossAxisAlignment】"
]
},
{
"file": "node_04.dart",
"name": "Ordem vertical do Flex",
"desc": [
"【verticalDirection】 : Ordem vertical 【VerticalDirection】"
]
},
{
"file": "node_05.dart",
"name": "Ordem horizontal do Flex",
"desc": [
"【textDirection】 : Ordem horizontal 【TextDirection】"
]
}
]
}

View File

@ -0,0 +1,53 @@
{
"id": 94,
"name": "Flex",
"localName": "Гибкий макет",
"info": "Родительский класс для Row и Column, самый мощный способ компоновки во Flutter. Может содержать несколько компонентов, может использоваться вместе с компонентами Spacer, Expended, Flexible для гибкой компоновки",
"lever": 5,
"family": 3,
"linkIds": [
95,
96,
106,
107,
109
],
"nodes": [
{
"file": "node_01.dart",
"name": "Направление расположения Flex",
"desc": [
"【children】 : Список компонентов 【List<Widget>】",
"【direction】 : Направление 【Axis】"
]
},
{
"file": "node_02.dart",
"name": "Выравнивание по главной оси Flex",
"desc": [
"【mainAxisAlignment】 : Выравнивание по главной оси 【MainAxisAlignment】"
]
},
{
"file": "node_03.dart",
"name": "Выравнивание по поперечной оси Flex",
"desc": [
"【crossAxisAlignment】 : Выравнивание по поперечной оси 【CrossAxisAlignment】"
]
},
{
"file": "node_04.dart",
"name": "Порядок по вертикали Flex",
"desc": [
"【verticalDirection】 : Порядок по вертикали 【VerticalDirection】"
]
},
{
"file": "node_05.dart",
"name": "Порядок по горизонтали Flex",
"desc": [
"【textDirection】 : Порядок по горизонтали 【TextDirection】"
]
}
]
}

View File

@ -0,0 +1,29 @@
{
"id": 99,
"name": "Flow",
"localName": "Fließendes Layout",
"info": "Kann mehrere Komponenten aufnehmen, erfordert die Festlegung eines Delegaten für die Anordnung, ermöglicht eine hochgradige Anpassung der Komponentenanordnung und erreicht Effekte, die mit normalen Layouts nicht möglich sind. Der König der Layouts, zu Recht.",
"lever": 5,
"family": 3,
"linkIds": [
98,
94
],
"nodes": [
{
"file": "node_01.dart",
"name": "Runde Anordnung mit Flow",
"desc": [
"【children】 : Komponentenliste 【List<Widget>】",
"【delegate】 : Delegat 【FlowDelegate】"
]
},
{
"file": "node_02.dart",
"name": "Runde Anordnung mit Flow und Animation",
"desc": [
"Erzielt Effekte durch die Änderung der Position umliegender Komponenten mittels Animation"
]
}
]
}

View File

@ -0,0 +1,29 @@
{
"id": 99,
"name": "Flow",
"localName": "Flow Layout",
"info": "Can accommodate multiple components, requires custom arrangement agents, allows high customization of component arrangement, achieving effects that ordinary layouts cannot. The king of layouts, well-deserved.",
"lever": 5,
"family": 3,
"linkIds": [
98,
94
],
"nodes": [
{
"file": "node_01.dart",
"name": "Flow Circular Arrangement",
"desc": [
"【children】: Component list 【List<Widget>】",
"【delegate】: Agent 【FlowDelegate】"
]
},
{
"file": "node_02.dart",
"name": "Flow Circular with Animation",
"desc": [
"Achieve effects by changing the position of surrounding components through animation"
]
}
]
}

View File

@ -0,0 +1,29 @@
{
"id": 99,
"name": "Flow",
"localName": "Diseño de flujo",
"info": "Puede contener múltiples componentes, requiere que especifiques un delegado para la disposición, permite una alta personalización en la distribución de los componentes, logrando efectos que los diseños comunes no pueden alcanzar. El rey de los diseños, sin duda.",
"lever": 5,
"family": 3,
"linkIds": [
98,
94
],
"nodes": [
{
"file": "node_01.dart",
"name": "Disposición circular de Flow",
"desc": [
"【children】: Lista de componentes 【List<Widget>】",
"【delegate】: Delegado 【FlowDelegate】"
]
},
{
"file": "node_02.dart",
"name": "Combinación de Flow circular con animación",
"desc": [
"Logra el efecto cambiando la posición de los componentes circundantes a través de la animación"
]
}
]
}

View File

@ -0,0 +1,29 @@
{
"id": 99,
"name": "Flow",
"localName": "Disposition fluide",
"info": "Peut contenir plusieurs composants, nécessite de définir un délégué pour l'agencement, permet une personnalisation élevée de l'agencement des composants, atteignant des effets impossibles avec des dispositions ordinaires. Le roi des dispositions, sans aucun doute.",
"lever": 5,
"family": 3,
"linkIds": [
98,
94
],
"nodes": [
{
"file": "node_01.dart",
"name": "Disposition circulaire Flow",
"desc": [
"【children】 : Liste des composants 【List<Widget>】",
"【delegate】 : Délégué 【FlowDelegate】"
]
},
{
"file": "node_02.dart",
"name": "Combinaison de Flow circulaire et animation",
"desc": [
"Modifier la position des composants environnants via une animation pour obtenir l'effet"
]
}
]
}

View File

@ -0,0 +1,29 @@
{
"id": 99,
"name": "Flow",
"localName": "Layout di Flusso",
"info": "Può contenere più componenti, richiede la definizione di un delegato per la disposizione, permette un alto livello di personalizzazione della disposizione dei componenti, raggiungendo effetti che i layout comuni non possono ottenere. Il re dei layout, a pieno titolo.",
"lever": 5,
"family": 3,
"linkIds": [
98,
94
],
"nodes": [
{
"file": "node_01.dart",
"name": "Disposizione Circolare di Flow",
"desc": [
"【children】 : Lista dei componenti 【List<Widget>】",
"【delegate】 : Delegato 【FlowDelegate】"
]
},
{
"file": "node_02.dart",
"name": "Combinazione di Flow Circolare e Animazione",
"desc": [
"Modifica la posizione dei componenti circostanti attraverso l'animazione per ottenere l'effetto desiderato"
]
}
]
}

View File

@ -0,0 +1,29 @@
{
"id": 99,
"name": "Flow",
"localName": "フローレイアウト",
"info": "複数のコンポーネントを収容でき、自身で配置のプロキシを指定する必要があります。コンポーネントの配置を高度にカスタマイズでき、通常のレイアウトでは実現できない効果を実現します。レイアウトの王者、その名にふさわしい。",
"lever": 5,
"family": 3,
"linkIds": [
98,
94
],
"nodes": [
{
"file": "node_01.dart",
"name": "Flow円形配置",
"desc": [
"【children】 : コンポーネントリスト 【List<Widget>】",
"【delegate】 : プロキシ 【FlowDelegate】"
]
},
{
"file": "node_02.dart",
"name": "Flow円形とアニメーションの組み合わせ",
"desc": [
"アニメーションを使用して周囲のコンポーネントの位置を変更することで効果を実現"
]
}
]
}

View File

@ -0,0 +1,29 @@
{
"id": 99,
"name": "Flow",
"localName": "플로우 레이아웃",
"info": "여러 컴포넌트를 수용할 수 있으며, 배치를 위한 대리자를 직접 지정해야 합니다. 컴포넌트 배치를 고도로 커스터마이징할 수 있어 일반 레이아웃으로는 달성할 수 없는 효과를 구현할 수 있습니다. 레이아웃의 왕, 그 이름에 걸맞습니다.",
"lever": 5,
"family": 3,
"linkIds": [
98,
94
],
"nodes": [
{
"file": "node_01.dart",
"name": "Flow 원형 배치",
"desc": [
"【children】 : 컴포넌트 리스트 【List<Widget>】",
"【delegate】 : 대리자 【FlowDelegate】"
]
},
{
"file": "node_02.dart",
"name": "Flow 원형과 애니메이션 결합",
"desc": [
"애니메이션을 통해 주변 컴포넌트의 위치를 변경하여 효과를 구현"
]
}
]
}

View File

@ -0,0 +1,29 @@
{
"id": 99,
"name": "Flow",
"localName": "Layout de Fluxo",
"info": "Pode acomodar vários componentes, é necessário definir um agente de disposição, permitindo uma alta personalização da disposição dos componentes, alcançando efeitos que layouts comuns não conseguem. O rei dos layouts, sem dúvida.",
"lever": 5,
"family": 3,
"linkIds": [
98,
94
],
"nodes": [
{
"file": "node_01.dart",
"name": "Disposição Circular do Flow",
"desc": [
"【children】 : Lista de componentes 【List<Widget>】",
"【delegate】 : Agente 【FlowDelegate】"
]
},
{
"file": "node_02.dart",
"name": "Combinação de Flow Circular com Animação",
"desc": [
"Alterar a posição dos componentes ao redor através de animação para alcançar o efeito"
]
}
]
}

View File

@ -0,0 +1,29 @@
{
"id": 99,
"name": "Flow",
"localName": "Макет потока",
"info": "Может вмещать несколько компонентов, требует самостоятельного определения прокси для размещения, позволяет высоко настраивать расположение компонентов, достигая эффектов, недоступных для обычных макетов. Безусловный король макетов.",
"lever": 5,
"family": 3,
"linkIds": [
98,
94
],
"nodes": [
{
"file": "node_01.dart",
"name": "Круговое расположение Flow",
"desc": [
"【children】 : Список компонентов 【List<Widget>】",
"【delegate】 : Прокси 【FlowDelegate】"
]
},
{
"file": "node_02.dart",
"name": "Круговое расположение Flow с анимацией",
"desc": [
"Достижение эффекта путем изменения положения окружающих компонентов с помощью анимации"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 161,
"name": "IndexedStack",
"localName": "Indexierter Stapel",
"info": "Unterklasse der Stack-Komponente, kann mehrere Komponenten stapeln und durch den Index die anzuzeigende Komponente angeben, die anderen werden ausgeblendet.",
"lever": 4,
"family": 1,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Grundlegende Verwendung von IndexedStack",
"desc": [
"【children】 : Liste der Unterkomponenten 【Lis<Widget>】",
"【alignment】 : Ausrichtung 【AlignmentGeometry】",
"【index】 : Aktuell angezeigte Komponente 【int】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 161,
"name": "IndexedStack",
"localName": "Indexed Stack",
"info": "A subclass of the Stack component that can stack multiple components and specify the index of the component to be displayed, while the rest are hidden.",
"lever": 4,
"family": 1,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Basic Usage of IndexedStack",
"desc": [
"【children】: List of child components 【List<Widget>】",
"【alignment】: Alignment 【AlignmentGeometry】",
"【index】: Currently displayed component 【int】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 161,
"name": "IndexedStack",
"localName": "Pila indexada",
"info": "Subclase del componente Stack, puede apilar múltiples componentes y especificar el índice del componente que se mostrará a través del índice, el resto se ocultará.",
"lever": 4,
"family": 1,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Uso básico de IndexedStack",
"desc": [
"【children】 : Lista de componentes hijos 【Lis<Widget>】",
"【alignment】 : Alineación 【AlignmentGeometry】",
"【index】 : Componente actualmente visible 【int】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 161,
"name": "IndexedStack",
"localName": "Empilement indexé",
"info": "Sous-classe du composant Stack, permet d'empiler plusieurs composants et de spécifier l'index du composant à afficher via l'index, les autres seront masqués.",
"lever": 4,
"family": 1,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Utilisation de base d'IndexedStack",
"desc": [
"【children】 : Liste des composants enfants 【Lis<Widget>】",
"【alignment】 : Alignement 【AlignmentGeometry】",
"【index】 : Composant actuellement affiché 【int】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 161,
"name": "IndexedStack",
"localName": "Pila indicizzata",
"info": "Sottoclasse del componente Stack, può impilare più componenti e specificare l'indice del componente da visualizzare tramite index, gli altri verranno nascosti.",
"lever": 4,
"family": 1,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Uso di base di IndexedStack",
"desc": [
"【children】 : Lista dei componenti figli 【Lis<Widget>】",
"【alignment】 : Allineamento 【AlignmentGeometry】",
"【index】 : Componente attualmente visualizzato 【int】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 161,
"name": "IndexedStack",
"localName": "インデックススタック",
"info": "Stackコンポーネントのサブクラスで、複数のコンポーネントをスタックし、indexを指定して表示するコンポーネントを指定できます。それ以外のコンポーネントは非表示になります。",
"lever": 4,
"family": 1,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "IndexedStackの基本使用",
"desc": [
"【children】 : 子コンポーネントリスト 【Lis<Widget>】",
"【alignment】 : 配置方法 【AlignmentGeometry】",
"【index】 : 現在表示されているコンポーネント 【int】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 161,
"name": "IndexedStack",
"localName": "인덱스 스택",
"info": "Stack 컴포넌트의 하위 클래스로, 여러 컴포넌트를 쌓아 놓고 index를 통해 표시할 컴포넌트의 인덱스를 지정할 수 있으며, 나머지는 숨겨집니다.",
"lever": 4,
"family": 1,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "IndexedStack 기본 사용",
"desc": [
"【children】 : 자식 컴포넌트 리스트 【Lis<Widget>】",
"【alignment】 : 정렬 방식 【AlignmentGeometry】",
"【index】 : 현재 표시되는 컴포넌트 【int】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 161,
"name": "IndexedStack",
"localName": "Pilha Indexada",
"info": "Subclasse do componente Stack, pode empilhar vários componentes e especificar o índice do componente a ser exibido através do index, os restantes serão ocultados.",
"lever": 4,
"family": 1,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Uso básico do IndexedStack",
"desc": [
"【children】 : Lista de componentes filhos 【Lis<Widget>】",
"【alignment】 : Alinhamento 【AlignmentGeometry】",
"【index】 : Componente atualmente exibido 【int】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 161,
"name": "IndexedStack",
"localName": "Индексированный стек",
"info": "Подкласс компонента Stack, который позволяет складывать несколько компонентов и указывать индекс отображаемого компонента через index, остальные будут скрыты.",
"lever": 4,
"family": 1,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Основное использование IndexedStack",
"desc": [
"【children】 : Список дочерних компонентов 【Lis<Widget>】",
"【alignment】 : Способ выравнивания 【AlignmentGeometry】",
"【index】 : Текущий отображаемый компонент 【int】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 342,
"name": "ListBody",
"localName": "Listenkörper",
"info": "Ordnet mehrere Unterkomponenten entlang einer Achse an, hat wenige einstellbare Attribute und wird selten verwendet, stattdessen wird meist ListView bevorzugt.",
"lever": 4,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Grundlegende Verwendung von ListView",
"desc": [
"【mainAxis】: Hauptachsenrichtung 【Axis】",
"【reverse】: Umgekehrt oder nicht 【bool】",
"【children】: Sammlung von Unterkomponenten 【List<Widget>】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 342,
"name": "ListBody",
"localName": "List Body",
"info": "Arranges several child components along the axis, with few properties that can be set. It is rarely used, and ListView is generally chosen instead.",
"lever": 4,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Basic Usage of ListView",
"desc": [
"【mainAxis】: Main axis direction 【Axis】",
"【reverse】: Whether to reverse 【bool】",
"【children】: Child component collection 【List<Widget>】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 342,
"name": "ListBody",
"localName": "Cuerpo de la lista",
"info": "Organiza varios subcomponentes a lo largo de un eje, con pocas propiedades configurables, generalmente se usa poco y se prefiere usar ListView.",
"lever": 4,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Uso básico de ListView",
"desc": [
"【mainAxis】 : Dirección del eje principal 【Axis】",
"【reverse】: Si es inverso 【bool】",
"【children】: Conjunto de subcomponentes 【List<Widget>】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 342,
"name": "ListBody",
"localName": "Corps de liste",
"info": "Dispose plusieurs sous-composants selon un axe, avec peu de propriétés configurables, rarement utilisé, on préfère généralement utiliser ListView.",
"lever": 4,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Utilisation de base de ListView",
"desc": [
"【mainAxis】 : Direction de l'axe principal 【Axis】",
"【reverse】: Inverser ou non 【bool】",
"【children】: Ensemble de sous-composants 【List<Widget>】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 342,
"name": "ListBody",
"localName": "Corpo della lista",
"info": "Dispone diversi componenti figli lungo un asse, con poche proprietà configurabili. Viene utilizzato raramente, preferendo invece l'uso di ListView.",
"lever": 4,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Uso di base di ListView",
"desc": [
"【mainAxis】 : Direzione dell'asse principale 【Axis】",
"【reverse】: Inversione 【bool】",
"【children】: Insieme di componenti figli 【List<Widget>】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 342,
"name": "ListBody",
"localName": "リストボディ",
"info": "複数の子コンポーネントを軸方向に並べ替えます。設定可能な属性は少なく、通常はあまり使用されず、代わりにListViewが選択されます。",
"lever": 4,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "ListViewの基本的な使用",
"desc": [
"【mainAxis】 : 主軸方向 【Axis】",
"【reverse】: 逆方向かどうか 【bool】",
"【children】: 子コンポーネント集 【List<Widget>】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 342,
"name": "ListBody",
"localName": "리스트 바디",
"info": "여러 하위 컴포넌트를 축 방향으로 배열하며, 설정 가능한 속성이 적어 일반적으로 잘 사용되지 않고, 대신 ListView를 선택하여 사용합니다.",
"lever": 4,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "ListView의 기본 사용법",
"desc": [
"【mainAxis】 : 주축 방향 【Axis】",
"【reverse】: 역방향 여부 【bool】",
"【children】: 하위 컴포넌트 집합 【List<Widget>】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 342,
"name": "ListBody",
"localName": "Corpo da Lista",
"info": "Organiza vários subcomponentes ao longo de um eixo, com poucas propriedades configuráveis, geralmente pouco utilizado, optando-se por usar ListView.",
"lever": 4,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Uso Básico do ListView",
"desc": [
"【mainAxis】 : Direção do eixo principal 【Axis】",
"【reverse】: Se é invertido 【bool】",
"【children】: Conjunto de subcomponentes 【List<Widget>】"
]
}
]
}

View File

@ -0,0 +1,20 @@
{
"id": 342,
"name": "ListBody",
"localName": "Тело списка",
"info": "Располагает несколько дочерних компонентов по оси, имеет мало настраиваемых свойств, обычно редко используется, вместо этого выбирают ListView.",
"lever": 4,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Основное использование ListView",
"desc": [
"【mainAxis】 : Направление основной оси 【Axis】",
"【reverse】: Обратное направление 【bool】",
"【children】: Набор дочерних компонентов 【List<Widget>】"
]
}
]
}

View File

@ -0,0 +1,24 @@
{
"id": 344,
"name": "NestedScrollViewViewport",
"localName": "Verschachtelter Scroll-Viewport",
"info": "Ein in NestedScrollView verwendeter Viewport, der ein SliverOverlapAbsorberHandle enthält und es benachrichtigt, wenn der Viewport sein Layout neu berechnen muss. Zum Beispiel, wenn es gescrollt wird.",
"lever": 1,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Einführung in NestedScrollViewViewport",
"desc": [
"【offset】 : *Versatz 【ViewportOffset】",
"【handle】 : *Handler 【SliverOverlapAbsorberHandle】",
"【axisDirection】 : Achsenrichtung 【AxisDirection】",
"【crossAxisDirection】 : Querachsenrichtung 【AxisDirection】",
"【slivers】 : Unterkomponenten 【List<Widget>】",
"【clipBehavior】 : Abschneideverhalten 【Clip】",
"【anchor】 : Ankerpunkt 【double】"
]
}
]
}

View File

@ -0,0 +1,24 @@
{
"id": 344,
"name": "NestedScrollViewViewport",
"localName": "Nested Scroll Viewport",
"info": "A viewport used in NestedScrollView, which holds a SliverOverlapAbsorberHandle and notifies it when the viewport needs to recalculate its layout. For example, when scrolling it.",
"lever": 1,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Introduction to NestedScrollViewViewport",
"desc": [
"【offset】 : *Offset 【ViewportOffset】",
"【handle】 : *Handle 【SliverOverlapAbsorberHandle】",
"【axisDirection】 : Axis Direction 【AxisDirection】",
"【crossAxisDirection】 : Cross Axis Direction 【AxisDirection】",
"【slivers】 : Child Components 【List<Widget>】",
"【clipBehavior】 : Clip Behavior 【Clip】",
"【anchor】 : Anchor 【double】"
]
}
]
}

View File

@ -0,0 +1,24 @@
{
"id": 344,
"name": "NestedScrollViewViewport",
"localName": "Ventana de desplazamiento anidado",
"info": "Ventana utilizada en NestedScrollView que contiene un SliverOverlapAbsorberHandle y lo notifica cuando la ventana necesita recalcular su diseño. Por ejemplo, cuando se desplaza.",
"lever": 1,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Introducción a NestedScrollViewViewport",
"desc": [
"【offset】 : *desplazamiento 【ViewportOffset】",
"【handle】 : *manejador 【SliverOverlapAbsorberHandle】",
"【axisDirection】 : dirección del eje 【AxisDirection】",
"【crossAxisDirection】 : dirección del eje cruzado 【AxisDirection】",
"【slivers】 : componentes hijos 【List<Widget>】",
"【clipBehavior】 : comportamiento de recorte 【Clip】",
"【anchor】 : punto de anclaje 【double】"
]
}
]
}

View File

@ -0,0 +1,24 @@
{
"id": 344,
"name": "NestedScrollViewViewport",
"localName": "Vue de défilement imbriquée",
"info": "Une vue utilisée dans NestedScrollView, qui détient un SliverOverlapAbsorberHandle et le notifie lorsque la vue a besoin de recalculer sa disposition. Par exemple, lors du défilement.",
"lever": 1,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Introduction à NestedScrollViewViewport",
"desc": [
"【offset】 : *décalage 【ViewportOffset】",
"【handle】 : *gestionnaire 【SliverOverlapAbsorberHandle】",
"【axisDirection】 : direction de l'axe 【AxisDirection】",
"【crossAxisDirection】 : direction de l'axe croisé 【AxisDirection】",
"【slivers】 : composants enfants 【List<Widget>】",
"【clipBehavior】 : comportement de découpage 【Clip】",
"【anchor】 : point d'ancrage 【double】"
]
}
]
}

View File

@ -0,0 +1,24 @@
{
"id": 344,
"name": "NestedScrollViewViewport",
"localName": "Vista scorrevole annidata",
"info": "Vista utilizzata in NestedScrollView, che detiene SliverOverlapAbsorberHandle e lo notifica quando la vista necessita di ricalcolare il layout. Ad esempio, quando viene scorsa.",
"lever": 1,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Introduzione a NestedScrollViewViewport",
"desc": [
"【offset】 : *offset 【ViewportOffset】",
"【handle】 : *gestore 【SliverOverlapAbsorberHandle】",
"【axisDirection】 : direzione dell'asse 【AxisDirection】",
"【crossAxisDirection】 : direzione dell'asse incrociato 【AxisDirection】",
"【slivers】 : componenti figli 【List<Widget>】",
"【clipBehavior】 : comportamento di ritaglio 【Clip】",
"【anchor】 : punto di ancoraggio 【double】"
]
}
]
}

View File

@ -0,0 +1,24 @@
{
"id": 344,
"name": "NestedScrollViewViewport",
"localName": "ネストされたスクロールビューポート",
"info": "NestedScrollView で使用されるビューポートで、このビューポートは SliverOverlapAbsorberHandle を保持し、ビューポートがレイアウトを再計算する必要があるときに通知します。例えば、スクロールするときなどです。",
"lever": 1,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "NestedScrollViewViewport の紹介",
"desc": [
"【offset】 : *オフセット 【ViewportOffset】",
"【handle】 : *ハンドル 【SliverOverlapAbsorberHandle】",
"【axisDirection】 : 軸方向 【AxisDirection】",
"【crossAxisDirection】 : 交差軸方向 【AxisDirection】",
"【slivers】 : 子コンポーネント 【List<Widget>】",
"【clipBehavior】 : クリップ動作 【Clip】",
"【anchor】 : アンカー 【double】"
]
}
]
}

View File

@ -0,0 +1,24 @@
{
"id": 344,
"name": "NestedScrollViewViewport",
"localName": "중첩 스크롤 뷰포트",
"info": "NestedScrollView에서 사용되는 뷰포트로, 이 뷰포트는 SliverOverlapAbsorberHandle을 보유하고 있으며, 뷰포트가 레이아웃을 다시 계산해야 할 때 이를 알립니다. 예를 들어, 스크롤할 때.",
"lever": 1,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "NestedScrollViewViewport 소개",
"desc": [
"【offset】 : *오프셋 【ViewportOffset】",
"【handle】 : *핸들러 【SliverOverlapAbsorberHandle】",
"【axisDirection】 : 축 방향 【AxisDirection】",
"【crossAxisDirection】 : 교차 축 방향 【AxisDirection】",
"【slivers】 : 자식 위젯 【List<Widget>】",
"【clipBehavior】 : 클립 동작 【Clip】",
"【anchor】 : 앵커 【double】"
]
}
]
}

View File

@ -0,0 +1,24 @@
{
"id": 344,
"name": "NestedScrollViewViewport",
"localName": "Porto de Rolagem Aninhado",
"info": "Porto utilizado no NestedScrollView, que detém o SliverOverlapAbsorberHandle e notifica-o quando o porto precisa recalcular o layout. Por exemplo, quando é rolado.",
"lever": 1,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Introdução ao NestedScrollViewViewport",
"desc": [
"【offset】 : *deslocamento 【ViewportOffset】",
"【handle】 : *manipulador 【SliverOverlapAbsorberHandle】",
"【axisDirection】 : direção do eixo 【AxisDirection】",
"【crossAxisDirection】 : direção do eixo cruzado 【AxisDirection】",
"【slivers】 : componentes filhos 【List<Widget>】",
"【clipBehavior】 : comportamento de corte 【Clip】",
"【anchor】 : âncora 【double】"
]
}
]
}

View File

@ -0,0 +1,24 @@
{
"id": 344,
"name": "NestedScrollViewViewport",
"localName": "Вложенный скроллируемый вид",
"info": "Вид, используемый в NestedScrollView, который содержит SliverOverlapAbsorberHandle и уведомляет его, когда вид требует пересчета макета. Например, при его прокрутке.",
"lever": 1,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Описание NestedScrollViewViewport",
"desc": [
"【offset】 : *смещение 【ViewportOffset】",
"【handle】 : *обработчик 【SliverOverlapAbsorberHandle】",
"【axisDirection】 : направление оси 【AxisDirection】",
"【crossAxisDirection】 : направление поперечной оси 【AxisDirection】",
"【slivers】 : дочерние компоненты 【List<Widget>】",
"【clipBehavior】 : поведение обрезки 【Clip】",
"【anchor】 : якорь 【double】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 101,
"name": "RichText",
"localName": "RichText",
"info": "Eine RichText-Komponente, die verschiedene Textstile oder verschiedene Komponenten aufnehmen kann und weit verbreitet ist.",
"lever": 5,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Grundlegende Verwendung von RichText",
"desc": [
"【text】: Text 【TextSpan】",
" Andere Eigenschaften sind identisch mit Text, siehe dazu."
]
},
{
"file": "node2_widget.dart",
"name": "RichText enthält andere Komponenten",
"desc": [
"Verwenden Sie WidgetSpan, um normale Komponenten zu tragen, als Inhalt von RichText"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 101,
"name": "RichText",
"localName": "Rich Text",
"info": "A rich text component that can accommodate various text styles or various components, widely used.",
"lever": 5,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Basic Usage of RichText",
"desc": [
"【text】: text 【TextSpan】",
" Other properties are the same as Text, see it for details."
]
},
{
"file": "node2_widget.dart",
"name": "RichText Contains Other Components",
"desc": [
"Use WidgetSpan to carry ordinary components as the content of RichText"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 101,
"name": "RichText",
"localName": "Texto enriquecido",
"info": "Componente de texto enriquecido que puede contener varios estilos de texto o varios componentes, ampliamente utilizado.",
"lever": 5,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Uso básico de RichText",
"desc": [
"【text】 : texto 【TextSpan】",
" Otras propiedades son las mismas que Text, consulte para más detalles."
]
},
{
"file": "node2_widget.dart",
"name": "RichText contiene otros componentes",
"desc": [
"Usa WidgetSpan para contener componentes comunes como contenido de RichText"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 101,
"name": "RichText",
"localName": "Texte enrichi",
"info": "Un composant de texte enrichi qui peut contenir divers styles de texte ou divers composants, largement utilisé.",
"lever": 5,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Utilisation de base de RichText",
"desc": [
"【text】 : texte 【TextSpan】",
" Les autres propriétés sont les mêmes que Text, voir pour plus de détails."
]
},
{
"file": "node2_widget.dart",
"name": "RichText contenant d'autres composants",
"desc": [
"Utilisez WidgetSpan pour contenir des composants ordinaires, en tant que contenu de RichText"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 101,
"name": "RichText",
"localName": "Testo Arricchito",
"info": "Un componente di testo arricchito che può contenere vari stili di testo o vari componenti, ampiamente utilizzato.",
"lever": 5,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Uso Base di RichText",
"desc": [
"【text】: testo 【TextSpan】",
" Altre proprietà sono le stesse di Text, vedi dettagli."
]
},
{
"file": "node2_widget.dart",
"name": "RichText Contiene Altri Componenti",
"desc": [
"Utilizza WidgetSpan per contenere componenti comuni, come contenuto di RichText"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 101,
"name": "RichText",
"localName": "リッチテキスト",
"info": "さまざまなテキストスタイルやコンポーネントを包含できるリッチテキストコンポーネントで、広く使用されています。",
"lever": 5,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "RichTextの基本的な使用",
"desc": [
"【text】 : テキスト 【TextSpan】",
" 他のプロパティはTextと同じです。詳細はそちらを参照してください。"
]
},
{
"file": "node2_widget.dart",
"name": "RichTextに他のコンポーネントを含める",
"desc": [
"WidgetSpanを使用して通常のコンポーネントをリッチテキストの内容として含める"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 101,
"name": "RichText",
"localName": "리치 텍스트",
"info": "다양한 텍스트 스타일이나 다양한 컴포넌트를 포함할 수 있는 리치 텍스트 컴포넌트로, 널리 사용됩니다.",
"lever": 5,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "RichText 기본 사용",
"desc": [
"【text】 : 텍스트 【TextSpan】",
" 다른 속성은 Text와 동일하며, 자세한 내용은 해당 항목을 참조하세요."
]
},
{
"file": "node2_widget.dart",
"name": "RichText에 다른 컴포넌트 포함",
"desc": [
"WidgetSpan을 사용하여 일반 컴포넌트를 포함하고, 이를 RichText의 내용으로 사용합니다."
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 101,
"name": "RichText",
"localName": "Texto Rico",
"info": "Um componente de texto rico que pode acomodar vários estilos de texto ou vários componentes, amplamente utilizado.",
"lever": 5,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Uso Básico do RichText",
"desc": [
"【text】 : texto 【TextSpan】",
" Outras propriedades são as mesmas que Text, consulte para mais detalhes."
]
},
{
"file": "node2_widget.dart",
"name": "RichText Contendo Outros Componentes",
"desc": [
"Use WidgetSpan para suportar componentes comuns como conteúdo do RichText"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 101,
"name": "RichText",
"localName": "Форматированный текст",
"info": "Компонент форматированного текста, который может содержать различные стили текста или компоненты, широко применяется.",
"lever": 5,
"family": 3,
"linkIds": [],
"nodes": [
{
"file": "node1_base.dart",
"name": "Основное использование RichText",
"desc": [
"【text】 : текст 【TextSpan】",
" Другие свойства такие же, как у Text, подробнее см. там."
]
},
{
"file": "node2_widget.dart",
"name": "RichText содержит другие компоненты",
"desc": [
"Используйте WidgetSpan для размещения обычных компонентов в качестве содержимого RichText"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 95,
"name": "Row",
"localName": "Zeilenlayout",
"info": "Ein Flex-Layout mit horizontaler Ausrichtung, das mehrere Komponenten aufnehmen kann. Alle anderen Eigenschaften sind identisch, siehe Flex.",
"lever": 4,
"family": 3,
"linkIds": [
94,
96
],
"nodes": [
{
"file": "node1_base.dart",
"name": "Grundlegende Verwendung von Row",
"desc": [
"【children】: Komponentenliste 【List<Widget>】",
"【mainAxisAlignment】: Hauptachsenausrichtung 【MainAxisAlignment】",
"【crossAxisAlignment】: Kreuzachsenausrichtung 【CrossAxisAlignment】",
"【textBaseline】: Textbaseline 【TextBaseline】",
"【verticalDirection】: Vertikale Richtung 【VerticalDirection】",
"【mainAxisSize】: Hauptachsengröße 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 95,
"name": "Row",
"localName": "Row Layout",
"info": "A Flex layout with a horizontal arrangement direction that can accommodate multiple components. All other properties are the same, see Flex for details.",
"lever": 4,
"family": 3,
"linkIds": [
94,
96
],
"nodes": [
{
"file": "node1_base.dart",
"name": "Basic Usage of Row",
"desc": [
"【children】: Component list 【List<Widget>】",
"【mainAxisAlignment】: Main axis alignment 【MainAxisAlignment】",
"【crossAxisAlignment】: Cross axis alignment 【CrossAxisAlignment】",
"【textBaseline】: Text baseline 【TextBaseline】",
"【verticalDirection】: Vertical direction 【VerticalDirection】",
"【mainAxisSize】: Main axis size 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 95,
"name": "Row",
"localName": "Disposición de fila",
"info": "Disposición Flex con dirección horizontal, puede contener múltiples componentes. Todas las demás propiedades son iguales, consulte Flex para más detalles.",
"lever": 4,
"family": 3,
"linkIds": [
94,
96
],
"nodes": [
{
"file": "node1_base.dart",
"name": "Uso básico de Row",
"desc": [
"【children】: Lista de componentes 【List<Widget>】",
"【mainAxisAlignment】: Alineación del eje principal 【MainAxisAlignment】",
"【crossAxisAlignment】: Alineación del eje transversal 【CrossAxisAlignment】",
"【textBaseline】: Línea base del texto 【TextBaseline】",
"【verticalDirection】: Dirección vertical 【VerticalDirection】",
"【mainAxisSize】: Tamaño del eje principal 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 95,
"name": "Row",
"localName": "Disposition en ligne",
"info": "Une disposition Flex avec une orientation horizontale, capable de contenir plusieurs composants. Toutes les autres propriétés sont identiques, voir Flex pour plus de détails.",
"lever": 4,
"family": 3,
"linkIds": [
94,
96
],
"nodes": [
{
"file": "node1_base.dart",
"name": "Utilisation de base de Row",
"desc": [
"【children】 : Liste des composants 【List<Widget>】",
"【mainAxisAlignment】 : Alignement de l'axe principal 【MainAxisAlignment】",
"【crossAxisAlignment】 : Alignement de l'axe secondaire 【CrossAxisAlignment】",
"【textBaseline】 : Ligne de base du texte 【TextBaseline】",
"【verticalDirection】 : Direction verticale 【VerticalDirection】",
"【mainAxisSize】 : Taille de l'axe principal 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 95,
"name": "Row",
"localName": "Layout a righe",
"info": "Layout Flex con direzione orizzontale, può contenere più componenti. Tutte le altre proprietà sono le stesse, vedi Flex per i dettagli.",
"lever": 4,
"family": 3,
"linkIds": [
94,
96
],
"nodes": [
{
"file": "node1_base.dart",
"name": "Uso di base di Row",
"desc": [
"【children】 : Lista di componenti 【List<Widget>】",
"【mainAxisAlignment】 : Allineamento dell'asse principale 【MainAxisAlignment】",
"【crossAxisAlignment】 : Allineamento dell'asse trasversale 【CrossAxisAlignment】",
"【textBaseline】 : Linea di base del testo 【TextBaseline】",
"【verticalDirection】 : Direzione verticale 【VerticalDirection】",
"【mainAxisSize】 : Dimensione dell'asse principale 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 95,
"name": "Row",
"localName": "行レイアウト",
"info": "レイアウト方向が横向きのFlexレイアウトで、複数のコンポーネントを収容できます。他の属性はすべて同じです。詳細はFlexを参照してください。",
"lever": 4,
"family": 3,
"linkIds": [
94,
96
],
"nodes": [
{
"file": "node1_base.dart",
"name": "Rowの基本使用",
"desc": [
"【children】 : コンポーネントリスト 【List<Widget>】",
"【mainAxisAlignment】 : 主軸の整列 【MainAxisAlignment】",
"【crossAxisAlignment】 : 交差軸の整列 【CrossAxisAlignment】",
"【textBaseline】 : テキストベースライン 【TextBaseline】",
"【verticalDirection】 : 垂直方向 【VerticalDirection】",
"【mainAxisSize】 : 主軸のサイズ 【MainAxisSize】"
]
}
]
}

View File

@ -0,0 +1,26 @@
{
"id": 95,
"name": "Row",
"localName": "행 레이아웃",
"info": "배치 방향이 가로인 Flex 레이아웃으로, 여러 컴포넌트를 수용할 수 있습니다. 다른 속성은 모두 동일하며, 자세한 내용은 Flex를 참조하세요.",
"lever": 4,
"family": 3,
"linkIds": [
94,
96
],
"nodes": [
{
"file": "node1_base.dart",
"name": "Row 기본 사용법",
"desc": [
"【children】 : 컴포넌트 리스트 【List<Widget>】",
"【mainAxisAlignment】 : 주축 정렬 【MainAxisAlignment】",
"【crossAxisAlignment】 : 교차축 정렬 【CrossAxisAlignment】",
"【textBaseline】 : 텍스트 기준선 【TextBaseline】",
"【verticalDirection】 : 수직 방향 【VerticalDirection】",
"【mainAxisSize】 : 주축 크기 【MainAxisSize】"
]
}
]
}

Some files were not shown because too many files have changed in this diff Show More