Merge pull request #79 from azkadev/main

Add Indonesian Language And Fix Editor Page
This commit is contained in:
lollipopkit
2023-07-28 17:26:13 +08:00
committed by GitHub
8 changed files with 930 additions and 24 deletions

View File

@@ -7,6 +7,7 @@ import 'package:intl/intl.dart' as intl;
import 'l10n_de.dart';
import 'l10n_en.dart';
import 'l10n_id.dart';
import 'l10n_zh.dart';
/// Callers can lookup localized strings with an instance of S
@@ -92,6 +93,7 @@ abstract class S {
static const List<Locale> supportedLocales = <Locale>[
Locale('de'),
Locale('en'),
Locale('id'),
Locale('zh'),
Locale('zh', 'TW')
];
@@ -568,7 +570,7 @@ abstract class S {
///
/// In en, this message translates to:
/// **'request failed, status code: {code}'**
String httpFailedWithCode(Object code);
String httpFailedWithCode(Object code, Object kode);
/// No description provided for @image.
///
@@ -1360,7 +1362,7 @@ class _SDelegate extends LocalizationsDelegate<S> {
}
@override
bool isSupported(Locale locale) => <String>['de', 'en', 'zh'].contains(locale.languageCode);
bool isSupported(Locale locale) => <String>['de', 'en', 'id', 'zh'].contains(locale.languageCode);
@override
bool shouldReload(_SDelegate old) => false;
@@ -1382,6 +1384,7 @@ S lookupS(Locale locale) {
switch (locale.languageCode) {
case 'de': return SDe();
case 'en': return SEn();
case 'id': return SId();
case 'zh': return SZh();
}

View File

@@ -255,7 +255,7 @@ class SDe extends S {
String get host => 'Host';
@override
String httpFailedWithCode(Object code) {
String httpFailedWithCode(Object code, Object kode) {
return 'Anfrage fehlgeschlagen, Statuscode: $code';
}

View File

@@ -255,7 +255,7 @@ class SEn extends S {
String get host => 'Host';
@override
String httpFailedWithCode(Object code) {
String httpFailedWithCode(Object code, Object kode) {
return 'request failed, status code: $code';
}

View File

@@ -0,0 +1,677 @@
import 'l10n.dart';
/// The translations for Indonesian (`id`).
class SId extends S {
SId([String locale = 'id']) : super(locale);
@override
String get about => 'Tentang';
@override
String get aboutThanks => 'Terima kasih kepada orang -orang berikut yang berpartisipasi.';
@override
String get add => 'Menambahkan';
@override
String get addAServer => 'tambahkan server';
@override
String get addPrivateKey => 'Tambahkan kunci pribadi';
@override
String get added2List => 'Ditambahkan ke Daftar Tugas';
@override
String get all => 'Semua';
@override
String get alreadyLastDir => 'Sudah di direktori terakhir.';
@override
String get alterHost => 'Alter host';
@override
String get attention => 'Perhatian';
@override
String get auto => 'Auto';
@override
String get autoUpdateHomeWidget => 'Widget Rumah Pembaruan Otomatis';
@override
String get backup => 'Cadangan';
@override
String get backupAndRestore => 'Cadangan dan Pulihkan';
@override
String get backupTip => 'Data yang diekspor hanya dienkripsi.\nTolong jaga keamanannya.';
@override
String get backupVersionNotMatch => 'Versi cadangan tidak cocok.';
@override
String get bgRun => 'Jalankan di Backgroud';
@override
String get canPullRefresh => 'Anda dapat menarik untuk menyegarkan.';
@override
String get cancel => 'Membatalkan';
@override
String get choose => 'Memilih';
@override
String get chooseFontFile => 'Pilih file font';
@override
String get choosePrivateKey => 'Pilih Kunci Pribadi';
@override
String get clear => 'Jernih';
@override
String get close => 'Menutup';
@override
String get cmd => 'Memerintah';
@override
String get conn => 'Koneksi';
@override
String get containerName => 'Nama kontainer';
@override
String get containerStatus => 'Status wadah';
@override
String get convert => 'Mengubah';
@override
String get copy => 'Menyalin';
@override
String get copyPath => 'Path Copy';
@override
String get createFile => 'Buat file';
@override
String get createFolder => 'Membuat folder';
@override
String get dark => 'Gelap';
@override
String get debug => 'Debug';
@override
String get decode => 'Membaca sandi';
@override
String get delete => 'Menghapus';
@override
String get deleteAllServers => 'Hapus semua server';
@override
String get disabled => 'Dengan disabilitas';
@override
String get disconnected => 'Terputus';
@override
String get diskIgnorePath => 'Abaikan jalan untuk disk';
@override
String dl2Local(Object fileName) {
return 'Unduh $fileName ke lokal?';
}
@override
String get dockerEditHost => 'Edit Docker_host';
@override
String get dockerEmptyRunningItems => 'Tidak ada wadah yang berjalan.\nMungkin saja env DOCKER_HOST tidak dibaca dengan benar. Anda dapat menemukannya dengan menjalankan `echo \$DOCKER_HOST` di terminal.';
@override
String dockerImagesFmt(Object count) {
return '$count gambar';
}
@override
String get dockerNotInstalled => 'Docker tidak terpasang';
@override
String dockerStatusRunningAndStoppedFmt(Object runningCount, Object stoppedCount) {
return '$runningCount running, $stoppedCount container stopped.';
}
@override
String dockerStatusRunningFmt(Object count) {
return '$count wadah berjalan.';
}
@override
String get download => 'Unduh';
@override
String downloadStatus(Object percent, Object size) {
return '$percent% dari $size';
}
@override
String get edit => 'Edit';
@override
String get editVirtKeys => 'Edit kunci virtual';
@override
String get editor => 'Editor';
@override
String get encode => 'Menyandi';
@override
String get error => 'Kesalahan';
@override
String get exampleName => 'Nama contoh';
@override
String get experimentalFeature => 'Fitur eksperimental';
@override
String get export => 'Ekspor';
@override
String get extraArgs => 'Args ekstra';
@override
String get failed => 'Gagal';
@override
String get feedback => 'Masukan';
@override
String get feedbackOnGithub => 'Jika Anda memiliki pertanyaan, silakan umpan balik tentang GitHub.';
@override
String get fieldMustNotEmpty => 'Bidang -bidang ini tidak boleh kosong.';
@override
String fileNotExist(Object file) {
return '$file tidak ada';
}
@override
String fileTooLarge(Object file, Object size, Object sizeMax) {
return 'File \'$file\' terlalu besar $size, max $sizeMax';
}
@override
String get files => 'File';
@override
String get finished => 'Selesai';
@override
String get font => 'Font';
@override
String get fontSize => 'Ukuran huruf';
@override
String foundNUpdate(Object count) {
return 'Menemukan $count pembaruan';
}
@override
String get fullScreen => 'Mode Layar Penuh';
@override
String get fullScreenJitter => 'Jitter layar penuh';
@override
String get fullScreenJitterHelp => 'Untuk menghindari pembakaran layar';
@override
String get getPushTokenFailed => 'Tidak bisa mengambil token dorong';
@override
String get gettingToken => 'Mendapatkan token ...';
@override
String get goto => 'Pergi ke';
@override
String get homeWidgetUrlConfig => 'Konfigurasi URL Widget Rumah';
@override
String get host => 'Host';
@override
String httpFailedWithCode(Object code, Object kode) {
return 'Permintaan gagal, kode status: $kode';
}
@override
String get image => 'Gambar';
@override
String get imagesList => 'Daftar gambar';
@override
String get import => 'Impor';
@override
String get inner => 'Batin';
@override
String get inputDomainHere => 'Input domain di sini';
@override
String get install => 'Install';
@override
String get installDockerWithUrl => 'Silakan https://docs.docker.com/engine/install Docker pertama.';
@override
String get invalidJson => 'JSON tidak valid';
@override
String get invalidVersion => 'Versi tidak valid';
@override
String invalidVersionHelp(Object url) {
return 'Pastikan Docker diinstal dengan benar, atau Anda menggunakan versi yang tidak dikompilasi. Jika Anda tidak memiliki masalah di atas, silakan kirimkan masalah pada $url.';
}
@override
String get isBusy => 'Sibuk sekarang';
@override
String get keepForeground => 'Simpan Aplikasi Foreground!';
@override
String get keyAuth => 'Auth kunci';
@override
String get keyboardCompatibility => 'Mungkin untuk meningkatkan kompatibilitas metode input';
@override
String get keyboardType => 'Tipe Keyborad';
@override
String get language => 'Bahasa';
@override
String get languageName => 'Indonesia';
@override
String get lastTry => 'Percobaan terakhir';
@override
String get launchPage => 'Halaman peluncuran';
@override
String get license => 'Lisensi';
@override
String get light => 'Terang';
@override
String get loadingFiles => 'Memuat file ...';
@override
String get log => 'Catatan';
@override
String get loss => 'kehilangan';
@override
String madeWithLove(Object myGithub) {
return 'Dibuat dengan ❤️ oleh $myGithub';
}
@override
String get max => 'Max';
@override
String get maxRetryCount => 'Jumlah penyambungan kembali server';
@override
String get maxRetryCountEqual0 => 'Akan mencoba lagi lagi dan lagi.';
@override
String get min => 'Min';
@override
String get mission => 'Misi';
@override
String get ms => 'MS';
@override
String get name => 'Nama';
@override
String get needRestart => 'Perlu memulai ulang aplikasi';
@override
String get netViewType => 'Jenis tampilan bersih';
@override
String get newContainer => 'Wadah baru';
@override
String get noClient => 'Tidak ada klien';
@override
String get noInterface => 'Tidak ada antarmuka';
@override
String get noOptions => 'Tidak ada opsi';
@override
String get noResult => 'Tidak ada hasil';
@override
String get noSavedPrivateKey => 'Tidak ada kunci pribadi yang disimpan.';
@override
String get noSavedSnippet => 'Tidak ada cuplikan yang disimpan.';
@override
String get noServerAvailable => 'Tidak ada server yang tersedia.';
@override
String get noUpdateAvailable => 'Tidak ada pembaruan yang tersedia';
@override
String get notSelected => 'Tidak terpilih';
@override
String get nullToken => 'Token NULL';
@override
String get ok => 'OKE';
@override
String get onServerDetailPage => 'Di halaman detail server';
@override
String get open => 'Membuka';
@override
String get paste => 'Tempel';
@override
String get path => 'Jalur';
@override
String get pickFile => 'Pilih file';
@override
String get pingAvg => 'Rata -rata:';
@override
String get pingInputIP => 'Harap masukkan IP / domain target.';
@override
String get pingNoServer => 'Tidak ada server untuk melakukan ping.\nHarap tambahkan server di tab Server.';
@override
String get pkg => 'Pkg';
@override
String get platformNotSupportUpdate => 'Platform saat ini tidak mendukung pembaruan aplikasi.\nSilakan bangun dari sumber dan instal.';
@override
String get plzEnterHost => 'Harap masukkan host.';
@override
String get plzSelectKey => 'Pilih kunci.';
@override
String get port => 'Port';
@override
String get preview => 'Pratinjau';
@override
String get primaryColor => 'Warna utama';
@override
String get privateKey => 'Kunci Pribadi';
@override
String get process => 'Proses';
@override
String get pushToken => 'Dorong token';
@override
String get pwd => 'Kata sandi';
@override
String get remotePath => 'Jalur jarak jauh';
@override
String get rename => 'Ganti nama';
@override
String reportBugsOnGithubIssue(Object url) {
return 'Harap laporkan bug di $url';
}
@override
String get restart => 'Mengulang kembali';
@override
String get restore => 'Memulihkan';
@override
String get restoreSuccess => 'Kembalikan kesuksesan. Mulai ulang aplikasi untuk diterapkan.';
@override
String restoreSureWithDate(Object date) {
return 'Apakah Anda pasti akan memulihkan dari $date?';
}
@override
String get result => 'Hasil';
@override
String get rotateAngel => 'Sudut rotasi';
@override
String get run => 'Berlari';
@override
String get save => 'Menyimpan';
@override
String get saved => 'Diselamatkan';
@override
String get second => 'S';
@override
String get server => 'Server';
@override
String get serverTabConnecting => 'Menghubungkan ...';
@override
String get serverTabEmpty => 'Tidak ada server.\nKlik fab untuk menambahkan satu.';
@override
String get serverTabFailed => 'Gagal';
@override
String get serverTabLoading => 'Memuat...';
@override
String get serverTabPlzSave => 'Harap \'simpan\' kunci pribadi ini lagi.';
@override
String get serverTabUnkown => 'Negara yang tidak diketahui';
@override
String get setting => 'Pengaturan';
@override
String get sftpDlPrepare => 'Bersiap untuk terhubung ...';
@override
String get sftpNoDownloadTask => 'Tidak ada tugas unduhan.';
@override
String get sftpSSHConnected => 'Sftp terhubung';
@override
String get showDistLogo => 'Tampilkan logo distribusi';
@override
String get snippet => 'Snippet';
@override
String get speed => 'Kecepatan';
@override
String spentTime(Object time) {
return 'Menghabiskan waktu: $time';
}
@override
String sshTip(Object url) {
return 'Fungsi ini sekarang dalam tahap eksperimen.\n\nHarap laporkan bug di $url atau bergabunglah dengan pengembangan kami.';
}
@override
String get sshVirtualKeyAutoOff => 'Switching Otomatis Kunci Virtual';
@override
String get start => 'Awal';
@override
String get stop => 'Berhenti';
@override
String get success => 'Kesuksesan';
@override
String sureDelete(Object name) {
return 'Apakah Anda pasti akan menghapus [$name]?';
}
@override
String get sureDirEmpty => 'Pastikan dir kosong.';
@override
String get sureNoPwd => 'Apakah Anda pasti tidak menggunakan kata sandi?';
@override
String sureToDeleteServer(Object server) {
return 'Apakah Anda pasti akan menghapus server [$server]?';
}
@override
String get system => 'Sistem';
@override
String get tag => 'Tag';
@override
String get terminal => 'Terminal';
@override
String get theme => ' Tema';
@override
String get themeMode => 'Mode tema';
@override
String get times => 'Waktu';
@override
String get traffic => 'Lalu lintas';
@override
String get ttl => 'ttl';
@override
String get unknown => 'Tidak dikenal';
@override
String get unknownError => 'Kesalahan yang tidak diketahui';
@override
String get unkownConvertMode => 'Mode Konversi Tidak Diketahui';
@override
String get update => 'Memperbarui';
@override
String get updateAll => 'Perbarui semua';
@override
String get updateIntervalEqual0 => 'Anda mengatur ke 0, tidak akan memperbarui secara otomatis.\nTidak dapat menghitung status CPU.';
@override
String get updateServerStatusInterval => 'Interval Pembaruan Status Server';
@override
String updateTip(Object newest) {
return 'UPDATE: v1.0.$newest';
}
@override
String updateTipTooLow(Object newest) {
return 'Versi saat ini terlalu rendah, harap perbarui ke v1.0.$newest';
}
@override
String get upload => 'Mengunggah';
@override
String get upsideDown => 'Terbalik';
@override
String get urlOrJson => 'URL atau JSON';
@override
String get user => 'Username';
@override
String versionHaveUpdate(Object build) {
return 'Ditemukan: v1.0.$build, klik untuk memperbarui';
}
@override
String versionUnknownUpdate(Object build) {
return 'Saat ini: v1.0.$build';
}
@override
String versionUpdated(Object build) {
return 'Saat ini: v1.0.$build, mutakhir';
}
@override
String get viewErr => 'Lihat kesalahan';
@override
String get waitConnection => 'Harap tunggu koneksi akan dibuat.';
@override
String get whenOpenApp => 'Saat membuka aplikasi';
@override
String get willTakEeffectImmediately => 'Akan segera berlaku';
}

View File

@@ -255,7 +255,7 @@ class SZh extends S {
String get host => '主机';
@override
String httpFailedWithCode(Object code) {
String httpFailedWithCode(Object code, Object kode) {
return '请求失败, 状态码: $code';
}
@@ -931,7 +931,7 @@ class SZhTw extends SZh {
String get host => '主機';
@override
String httpFailedWithCode(Object code) {
String httpFailedWithCode(Object code, Object kode) {
return '請求失敗, 狀態碼: $code';
}

View File

@@ -12,6 +12,7 @@ class PersistentStore<E> {
}
StoreProperty<T> property<T>(String key, {T? defaultValue}) {
return StoreProperty<T>(box, key, defaultValue);
}
}

212
lib/l10n/app_id.arb Normal file
View File

@@ -0,0 +1,212 @@
{
"@@locale": "id",
"about": "Tentang",
"aboutThanks": "Terima kasih kepada orang -orang berikut yang berpartisipasi.",
"add": "Menambahkan",
"addAServer": "tambahkan server",
"addPrivateKey": "Tambahkan kunci pribadi",
"added2List": "Ditambahkan ke Daftar Tugas",
"all": "Semua",
"alreadyLastDir": "Sudah di direktori terakhir.",
"alterHost": "Alter host",
"attention": "Perhatian",
"auto": "Auto",
"autoUpdateHomeWidget": "Widget Rumah Pembaruan Otomatis",
"backup": "Cadangan",
"backupAndRestore": "Cadangan dan Pulihkan",
"backupTip": "Data yang diekspor hanya dienkripsi.\nTolong jaga keamanannya.",
"backupVersionNotMatch": "Versi cadangan tidak cocok.",
"bgRun": "Jalankan di Backgroud",
"canPullRefresh": "Anda dapat menarik untuk menyegarkan.",
"cancel": "Membatalkan",
"choose": "Memilih",
"chooseFontFile": "Pilih file font",
"choosePrivateKey": "Pilih Kunci Pribadi",
"clear": "Jernih",
"close": "Menutup",
"cmd": "Memerintah",
"conn": "Koneksi",
"containerName": "Nama kontainer",
"containerStatus": "Status wadah",
"convert": "Mengubah",
"copy": "Menyalin",
"copyPath": "Path Copy",
"createFile": "Buat file",
"createFolder": "Membuat folder",
"dark": "Gelap",
"debug": "Debug",
"decode": "Membaca sandi",
"delete": "Menghapus",
"deleteAllServers": "Hapus semua server",
"disabled": "Dengan disabilitas",
"disconnected": "Terputus",
"diskIgnorePath": "Abaikan jalan untuk disk",
"dl2Local": "Unduh {fileName} ke lokal?",
"dockerEditHost": "Edit Docker_host",
"dockerEmptyRunningItems": "Tidak ada wadah yang berjalan.\nMungkin saja env DOCKER_HOST tidak dibaca dengan benar. Anda dapat menemukannya dengan menjalankan `echo $DOCKER_HOST` di terminal.",
"dockerImagesFmt": "{count} gambar",
"dockerNotInstalled": "Docker tidak terpasang",
"dockerStatusRunningAndStoppedFmt": "{runningCount} running, {stoppedCount} container stopped.",
"dockerStatusRunningFmt": "{count} wadah berjalan.",
"download": "Unduh",
"downloadStatus": "{percent}% dari {size}",
"edit": "Edit",
"editVirtKeys": "Edit kunci virtual",
"editor": "Editor",
"encode": "Menyandi",
"error": "Kesalahan",
"exampleName": "Nama contoh",
"experimentalFeature": "Fitur eksperimental",
"export": "Ekspor",
"extraArgs": "Args ekstra",
"failed": "Gagal",
"feedback": "Masukan",
"feedbackOnGithub": "Jika Anda memiliki pertanyaan, silakan umpan balik tentang GitHub.",
"fieldMustNotEmpty": "Bidang -bidang ini tidak boleh kosong.",
"fileNotExist": "{file} tidak ada",
"fileTooLarge": "File '{file}' terlalu besar {size}, max {sizeMax}",
"files": "File",
"finished": "Selesai",
"font": "Font",
"fontSize": "Ukuran huruf",
"foundNUpdate": "Menemukan {count} pembaruan",
"fullScreen": "Mode Layar Penuh",
"fullScreenJitter": "Jitter layar penuh",
"fullScreenJitterHelp": "Untuk menghindari pembakaran layar",
"getPushTokenFailed": "Tidak bisa mengambil token dorong",
"gettingToken": "Mendapatkan token ...",
"goto": "Pergi ke",
"homeWidgetUrlConfig": "Konfigurasi URL Widget Rumah",
"host": "Host",
"httpFailedWithCode": "Permintaan gagal, kode status: {kode}",
"image": "Gambar",
"imagesList": "Daftar gambar",
"import": "Impor",
"inner": "Batin",
"inputDomainHere": "Input domain di sini",
"install": "Install",
"installDockerWithUrl": "Silakan https://docs.docker.com/engine/install Docker pertama.",
"invalidJson": "JSON tidak valid",
"invalidVersion": "Versi tidak valid",
"invalidVersionHelp": "Pastikan Docker diinstal dengan benar, atau Anda menggunakan versi yang tidak dikompilasi. Jika Anda tidak memiliki masalah di atas, silakan kirimkan masalah pada {url}.",
"isBusy": "Sibuk sekarang",
"keepForeground": "Simpan Aplikasi Foreground!",
"keyAuth": "Auth kunci",
"keyboardCompatibility": "Mungkin untuk meningkatkan kompatibilitas metode input",
"keyboardType": "Tipe Keyborad",
"language": "Bahasa",
"languageName": "Indonesia",
"lastTry": "Percobaan terakhir",
"launchPage": "Halaman peluncuran",
"license": "Lisensi",
"light": "Terang",
"loadingFiles": "Memuat file ...",
"log": "Catatan",
"loss": "kehilangan",
"madeWithLove": "Dibuat dengan ❤️ oleh {myGithub}",
"max": "Max",
"maxRetryCount": "Jumlah penyambungan kembali server",
"maxRetryCountEqual0": "Akan mencoba lagi lagi dan lagi.",
"min": "Min",
"mission": "Misi",
"ms": "MS",
"name": "Nama",
"needRestart": "Perlu memulai ulang aplikasi",
"netViewType": "Jenis tampilan bersih",
"newContainer": "Wadah baru",
"noClient": "Tidak ada klien",
"noInterface": "Tidak ada antarmuka",
"noOptions": "Tidak ada opsi",
"noResult": "Tidak ada hasil",
"noSavedPrivateKey": "Tidak ada kunci pribadi yang disimpan.",
"noSavedSnippet": "Tidak ada cuplikan yang disimpan.",
"noServerAvailable": "Tidak ada server yang tersedia.",
"noUpdateAvailable": "Tidak ada pembaruan yang tersedia",
"notSelected": "Tidak terpilih",
"nullToken": "Token NULL",
"ok": "OKE",
"onServerDetailPage": "Di halaman detail server",
"open": "Membuka",
"paste": "Tempel",
"path": "Jalur",
"pickFile": "Pilih file",
"pingAvg": "Rata -rata:",
"pingInputIP": "Harap masukkan IP / domain target.",
"pingNoServer": "Tidak ada server untuk melakukan ping.\nHarap tambahkan server di tab Server.",
"pkg": "Pkg",
"platformNotSupportUpdate": "Platform saat ini tidak mendukung pembaruan aplikasi.\nSilakan bangun dari sumber dan instal.",
"plzEnterHost": "Harap masukkan host.",
"plzSelectKey": "Pilih kunci.",
"port": "Port",
"preview": "Pratinjau",
"primaryColor": "Warna utama",
"privateKey": "Kunci Pribadi",
"process": "Proses",
"pushToken": "Dorong token",
"pwd": "Kata sandi",
"remotePath": "Jalur jarak jauh",
"rename": "Ganti nama",
"reportBugsOnGithubIssue": "Harap laporkan bug di {url}",
"restart": "Mengulang kembali",
"restore": "Memulihkan",
"restoreSuccess": "Kembalikan kesuksesan. Mulai ulang aplikasi untuk diterapkan.",
"restoreSureWithDate": "Apakah Anda pasti akan memulihkan dari {date}?",
"result": "Hasil",
"rotateAngel": "Sudut rotasi",
"run": "Berlari",
"save": "Menyimpan",
"saved": "Diselamatkan",
"second": "S",
"server": "Server",
"serverTabConnecting": "Menghubungkan ...",
"serverTabEmpty": "Tidak ada server.\nKlik fab untuk menambahkan satu.",
"serverTabFailed": "Gagal",
"serverTabLoading": "Memuat...",
"serverTabPlzSave": "Harap 'simpan' kunci pribadi ini lagi.",
"serverTabUnkown": "Negara yang tidak diketahui",
"setting": "Pengaturan",
"sftpDlPrepare": "Bersiap untuk terhubung ...",
"sftpNoDownloadTask": "Tidak ada tugas unduhan.",
"sftpSSHConnected": "Sftp terhubung",
"showDistLogo": "Tampilkan logo distribusi",
"snippet": "Snippet",
"speed": "Kecepatan",
"spentTime": "Menghabiskan waktu: {time}",
"sshTip": "Fungsi ini sekarang dalam tahap eksperimen.\n\nHarap laporkan bug di {url} atau bergabunglah dengan pengembangan kami.",
"sshVirtualKeyAutoOff": "Switching Otomatis Kunci Virtual",
"start": "Awal",
"stop": "Berhenti",
"success": "Kesuksesan",
"sureDelete": "Apakah Anda pasti akan menghapus [{name}]?",
"sureDirEmpty": "Pastikan dir kosong.",
"sureNoPwd": "Apakah Anda pasti tidak menggunakan kata sandi?",
"sureToDeleteServer": "Apakah Anda pasti akan menghapus server [{server}]?",
"system": "Sistem",
"tag": "Tag",
"terminal": "Terminal",
"theme": " Tema",
"themeMode": "Mode tema",
"times": "Waktu",
"traffic": "Lalu lintas",
"ttl": "ttl",
"unknown": "Tidak dikenal",
"unknownError": "Kesalahan yang tidak diketahui",
"unkownConvertMode": "Mode Konversi Tidak Diketahui",
"update": "Memperbarui",
"updateAll": "Perbarui semua",
"updateIntervalEqual0": "Anda mengatur ke 0, tidak akan memperbarui secara otomatis.\nTidak dapat menghitung status CPU.",
"updateServerStatusInterval": "Interval Pembaruan Status Server",
"updateTip": "UPDATE: v1.0.{newest}",
"updateTipTooLow": "Versi saat ini terlalu rendah, harap perbarui ke v1.0.{newest}",
"upload": "Mengunggah",
"upsideDown": "Terbalik",
"urlOrJson": "URL atau JSON",
"user": "Username",
"versionHaveUpdate": "Ditemukan: v1.0.{build}, klik untuk memperbarui",
"versionUnknownUpdate": "Saat ini: v1.0.{build}",
"versionUpdated": "Saat ini: v1.0.{build}, mutakhir",
"viewErr": "Lihat kesalahan",
"waitConnection": "Harap tunggu koneksi akan dibuat.",
"whenOpenApp": "Saat membuka aplikasi",
"willTakEeffectImmediately": "Akan segera berlaku"
}

View File

@@ -29,7 +29,7 @@ class _EditorPageState extends State<EditorPage> with AfterLayoutMixin {
late CodeController _controller;
late final _focusNode = FocusNode();
final _setting = locator<SettingStore>();
late Map<String, TextStyle> _codeTheme;
Map<String, TextStyle>? _codeTheme;
late S _s;
late String? _langCode;
@@ -41,13 +41,15 @@ class _EditorPageState extends State<EditorPage> with AfterLayoutMixin {
language: suffix2HighlightMap[_langCode],
);
if (isDarkMode(context)) {
_codeTheme = themeMap[_setting.editorDarkTheme.fetch()] ?? monokaiTheme;
} else {
_codeTheme = themeMap[_setting.editorTheme.fetch()] ?? a11yLightTheme;
}
_focusNode.requestFocus();
WidgetsBinding.instance.addPostFrameCallback((Duration duration) async {
if (isDarkMode(context)) {
_codeTheme = themeMap[_setting.editorDarkTheme.fetch()] ?? monokaiTheme;
} else {
_codeTheme = themeMap[_setting.editorTheme.fetch()] ?? a11yLightTheme;
}
_focusNode.requestFocus();
setState(() {});
});
}
@override
@@ -66,7 +68,12 @@ class _EditorPageState extends State<EditorPage> with AfterLayoutMixin {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: _codeTheme['root']!.backgroundColor,
backgroundColor: () {
if (_codeTheme != null) {
return _codeTheme!['root']!.backgroundColor;
}
return null;
}(),
appBar: AppBar(
centerTitle: true,
title: TwoLineText(up: getFileName(widget.path) ?? '', down: _s.editor),
@@ -89,15 +96,21 @@ class _EditorPageState extends State<EditorPage> with AfterLayoutMixin {
)
],
),
body: SingleChildScrollView(
child: CodeTheme(
data: CodeThemeData(styles: _codeTheme),
child: CodeField(
focusNode: _focusNode,
controller: _controller,
lineNumberStyle: const LineNumberStyle(
width: 47,
margin: 7,
body: Visibility(
visible: (_codeTheme != null),
replacement: const Center(
child: CircularProgressIndicator(),
),
child: SingleChildScrollView(
child: CodeTheme(
data: CodeThemeData(styles: _codeTheme ?? (isDarkMode(context) ? monokaiTheme : a11yLightTheme)),
child: CodeField(
focusNode: _focusNode,
controller: _controller,
lineNumberStyle: const LineNumberStyle(
width: 47,
margin: 7,
),
),
),
),