From bbdc5bad9fa03ace28eb383b09d736320bc7e748 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Tue, 7 Apr 2026 10:21:07 +0800 Subject: [PATCH] =?UTF-8?q?[FEAT]=20=E9=87=8D=E6=A7=8B=E6=A9=9F=E5=8F=B0?= =?UTF-8?q?=E7=8B=80=E6=85=8B=E5=88=A4=E5=AE=9A=E9=82=8F=E8=BC=AF=E4=B8=A6?= =?UTF-8?q?=E5=84=AA=E5=8C=96=E5=85=A8=E7=AB=99=E5=A4=9A=E8=AA=9E=E7=B3=BB?= =?UTF-8?q?=E6=94=AF=E6=8F=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 重構機台在線狀態判定機制:移除資料庫 status 欄位,改由 Model 根據心跳時間動態計算。 2. 修正儀表板 (Dashboard) 與機台管理頁面的多語系顯示問題,解決換行導致翻譯失效的 Bug。 3. 修正個人檔案頁面的麵包屑 (Breadcrumbs) 導航,補齊「個人設定」層級。 4. 更新 IoT API (B010, B600) 的認證機制與日誌處理邏輯。 5. 同步更新繁中、英文、日文語言檔,確保 UI 標籤一致性。 --- .../MachineSettingController.php | 1 - .../Controllers/Admin/DashboardController.php | 27 +- .../Controllers/Admin/MachineController.php | 37 +- .../Api/V1/App/MachineController.php | 8 +- .../Api/V1/App/TransactionController.php | 4 +- app/Models/Machine/Machine.php | 84 +- app/Services/Machine/MachineService.php | 5 +- database/factories/Machine/MachineFactory.php | 1 - ...119_update_remote_commands_status_enum.php | 8 +- ...2625_remove_status_from_machines_table.php | 30 + lang/en.json | 1169 +++++++++-------- lang/ja.json | 1156 +++++++++------- lang/zh_TW.json | 1166 ++++++++-------- .../basic-settings/machines/index.blade.php | 37 +- resources/views/admin/dashboard.blade.php | 247 ++-- .../views/admin/machines/index.blade.php | 221 ++-- .../views/components/breadcrumbs.blade.php | 2 +- tests/Feature/MachineStatusTest.php | 86 ++ 18 files changed, 2476 insertions(+), 1813 deletions(-) create mode 100644 database/migrations/2026_04_07_092625_remove_status_from_machines_table.php create mode 100644 tests/Feature/MachineStatusTest.php diff --git a/app/Http/Controllers/Admin/BasicSettings/MachineSettingController.php b/app/Http/Controllers/Admin/BasicSettings/MachineSettingController.php index ff2c54d..8d20bf9 100644 --- a/app/Http/Controllers/Admin/BasicSettings/MachineSettingController.php +++ b/app/Http/Controllers/Admin/BasicSettings/MachineSettingController.php @@ -105,7 +105,6 @@ class MachineSettingController extends AdminController } $machine = Machine::create(array_merge($validated, [ - 'status' => 'offline', 'api_token' => \Illuminate\Support\Str::random(60), 'creator_id' => auth()->id(), 'updater_id' => auth()->id(), diff --git a/app/Http/Controllers/Admin/DashboardController.php b/app/Http/Controllers/Admin/DashboardController.php index 60b355a..d4354aa 100644 --- a/app/Http/Controllers/Admin/DashboardController.php +++ b/app/Http/Controllers/Admin/DashboardController.php @@ -12,28 +12,31 @@ class DashboardController extends Controller { // 每頁顯示筆數限制 (預設為 10) $perPage = (int) request()->input('per_page', 10); - if ($perPage <= 0) $perPage = 10; - + if ($perPage <= 0) + $perPage = 10; + // 從資料庫獲取真實統計數據 - $totalRevenue = \App\Models\Member\MemberWallet::sum('balance'); - $activeMachines = Machine::where('status', 'online')->count(); - $alertsPending = Machine::where('status', 'error')->count(); + $totalRevenue = \App\Models\Member\MemberWallet::sum('balance'); + $activeMachines = Machine::online()->count(); + $offlineMachines = Machine::offline()->count(); + $alertsPending = Machine::hasError()->count(); $memberCount = \App\Models\Member\Member::count(); // 獲取機台列表 (分頁) - $machines = Machine::when($request->search, function($query, $search) { - $query->where(function($q) use ($search) { - $q->where('name', 'like', "%{$search}%") - ->orWhere('serial_no', 'like', "%{$search}%"); - }); - }) - ->latest() + $machines = Machine::when($request->search, function ($query, $search) { + $query->where(function ($q) use ($search) { + $q->where('name', 'like', "%{$search}%") + ->orWhere('serial_no', 'like', "%{$search}%"); + }); + }) + ->orderByDesc('last_heartbeat_at') ->paginate($perPage) ->withQueryString(); return view('admin.dashboard', compact( 'totalRevenue', 'activeMachines', + 'offlineMachines', 'alertsPending', 'memberCount', 'machines' diff --git a/app/Http/Controllers/Admin/MachineController.php b/app/Http/Controllers/Admin/MachineController.php index 7aa02e5..c8ce46a 100644 --- a/app/Http/Controllers/Admin/MachineController.php +++ b/app/Http/Controllers/Admin/MachineController.php @@ -9,19 +9,21 @@ use Illuminate\View\View; class MachineController extends AdminController { - public function __construct(protected MachineService $machineService) {} + public function __construct(protected MachineService $machineService) + { + } public function index(Request $request): View { $per_page = $request->input('per_page', 10); - + $query = Machine::query(); // 搜尋:名稱或序號 if ($search = $request->input('search')) { $query->where(function ($q) use ($search) { $q->where('name', 'like', "%{$search}%") - ->orWhere('serial_no', 'like', "%{$search}%"); + ->orWhere('serial_no', 'like', "%{$search}%"); }); } @@ -34,14 +36,31 @@ class MachineController extends AdminController return view('admin.machines.index', compact('machines')); } + /** + * 更新機台基本資訊 (目前僅名稱) + */ + public function update(Request $request, Machine $machine) + { + $validated = $request->validate([ + 'name' => 'required|string|max:255', + ]); + + $machine->update($validated); + + return redirect()->route('admin.machines.index') + ->with('success', __('Machine updated successfully.')); + } + /** * 顯示特定機台的日誌與詳細資訊 */ public function show(int $id): View { - $machine = Machine::with(['logs' => function ($query) { - $query->latest()->limit(50); - }])->findOrFail($id); + $machine = Machine::with([ + 'logs' => function ($query) { + $query->latest()->limit(50); + } + ])->findOrFail($id); return view('admin.machines.show', compact('machine')); } @@ -53,7 +72,7 @@ class MachineController extends AdminController public function logsAjax(Request $request, Machine $machine) { $per_page = $request->input('per_page', 10); - + $startDate = $request->get('start_date', now()->format('Y-m-d')); $endDate = $request->get('end_date', now()->format('Y-m-d')); @@ -88,7 +107,7 @@ class MachineController extends AdminController { // 取得當前使用者有權限的所有機台 (已透過 Global Scope 過濾) $machines = Machine::all(); - + $date = $request->get('date', now()->toDateString()); $service = app(\App\Services\Machine\MachineService::class); $fleetStats = $service->getFleetStats($date); @@ -111,7 +130,7 @@ class MachineController extends AdminController public function slotsAjax(Machine $machine) { $slots = $machine->slots()->with('product:id,name,image_url')->orderByRaw('CAST(slot_no AS UNSIGNED) ASC')->get(); - + return response()->json([ 'success' => true, 'machine' => $machine->only(['id', 'name', 'serial_no']), diff --git a/app/Http/Controllers/Api/V1/App/MachineController.php b/app/Http/Controllers/Api/V1/App/MachineController.php index 6c2dd12..e2d79ec 100644 --- a/app/Http/Controllers/Api/V1/App/MachineController.php +++ b/app/Http/Controllers/Api/V1/App/MachineController.php @@ -18,7 +18,7 @@ class MachineController extends Controller public function heartbeat(Request $request) { $machine = $request->get('machine'); - $data = $request->all(); + $data = $request->except(['machine', 'key']); // 排除 Middleware 注入的 Model 物件與認證 key // 異步處理狀態更新 ProcessHeartbeat::dispatch($machine->serial_no, $data); @@ -84,7 +84,7 @@ class MachineController extends Controller public function recordRestock(Request $request) { $machine = $request->get('machine'); - $data = $request->all(); + $data = $request->except(['machine', 'key']); // 排除 Middleware 注入物件 $data['serial_no'] = $machine->serial_no; \App\Jobs\Machine\ProcessRestockReport::dispatch($data); @@ -135,7 +135,7 @@ class MachineController extends Controller public function syncTimer(Request $request) { $machine = $request->get('machine'); - $data = $request->all(); + $data = $request->except(['machine', 'key']); // 排除 Middleware 注入物件 ProcessTimerStatus::dispatch($machine->serial_no, $data); @@ -148,7 +148,7 @@ class MachineController extends Controller public function syncCoinInventory(Request $request) { $machine = $request->get('machine'); - $data = $request->all(); + $data = $request->except(['machine', 'key']); // 排除 Middleware 注入物件 ProcessCoinInventory::dispatch($machine->serial_no, $data); diff --git a/app/Http/Controllers/Api/V1/App/TransactionController.php b/app/Http/Controllers/Api/V1/App/TransactionController.php index 09e482b..3da1dbd 100644 --- a/app/Http/Controllers/Api/V1/App/TransactionController.php +++ b/app/Http/Controllers/Api/V1/App/TransactionController.php @@ -16,7 +16,7 @@ class TransactionController extends Controller public function store(Request $request) { $machine = $request->get('machine'); - $data = $request->all(); + $data = $request->except(['machine', 'key']); // 排除 Middleware 注入物件 $data['serial_no'] = $machine->serial_no; ProcessTransaction::dispatch($data); @@ -34,7 +34,7 @@ class TransactionController extends Controller public function recordInvoice(Request $request) { $machine = $request->get('machine'); - $data = $request->all(); + $data = $request->except(['machine', 'key']); // 排除 Middleware 注入物件 $data['serial_no'] = $machine->serial_no; ProcessInvoice::dispatch($data); diff --git a/app/Models/Machine/Machine.php b/app/Models/Machine/Machine.php index 26df42c..14638d4 100644 --- a/app/Models/Machine/Machine.php +++ b/app/Models/Machine/Machine.php @@ -38,7 +38,6 @@ class Machine extends Model 'serial_no', 'model', 'location', - 'status', 'current_page', 'door_status', 'temperature', @@ -69,7 +68,88 @@ class Machine extends Model 'updater_id', ]; - protected $appends = ['image_urls']; + protected $appends = ['image_urls', 'calculated_status']; + + /** + * 動態計算機台當前狀態 + * 1. 離線 (offline):超過 30 秒未收到心跳 + * 2. 異常 (error):在線但過去 15 分鐘內有錯誤/警告日誌 + * 3. 在線 (online):正常在線 + */ + public function getCalculatedStatusAttribute(): string + { + // 判定離線 + if (!$this->last_heartbeat_at || $this->last_heartbeat_at->diffInSeconds(now()) >= 30) { + return 'offline'; + } + + // 判定異常 (檢查過去 15 分鐘內是否有 error 或 warning 日誌) + $hasRecentErrors = $this->logs() + ->whereIn('level', ['error', 'warning']) + ->where('created_at', '>=', now()->subMinutes(15)) + ->exists(); + + if ($hasRecentErrors) { + return 'error'; + } + + return 'online'; + } + + /** + * Scope: 判定在線 (30 秒內有心跳) + */ + public function scopeOnline($query) + { + return $query->where('last_heartbeat_at', '>=', now()->subSeconds(30)); + } + + /** + * Scope: 判定離線 (超過 30 秒未收到心跳或從未收到心跳) + */ + public function scopeOffline($query) + { + return $query->where(function ($q) { + $q->whereNull('last_heartbeat_at') + ->orWhere('last_heartbeat_at', '<', now()->subSeconds(30)); + }); + } + + /** + * Scope: 判定異常 (過去 15 分鐘內有錯誤或警告日誌) + */ + public function scopeHasError($query) + { + return $query->whereExists(function ($q) { + $q->select(\Illuminate\Support\Facades\DB::raw(1)) + ->from('machine_logs') + ->whereColumn('machine_logs.machine_id', 'machines.id') + ->whereIn('level', ['error', 'warning']) + ->where('created_at', '>=', now()->subMinutes(15)); + }); + } + + /** + * Scope: 判定運行中 (在線且無近期異常) + */ + public function scopeRunning($query) + { + return $query->online()->whereNotExists(function ($q) { + $q->select(\Illuminate\Support\Facades\DB::raw(1)) + ->from('machine_logs') + ->whereColumn('machine_logs.machine_id', 'machines.id') + ->whereIn('level', ['error', 'warning']) + ->where('created_at', '>=', now()->subMinutes(15)); + }); + } + + /** + * Scope: 判定異常在線 (在線且有近期異常) + */ + public function scopeErrorOnline($query) + { + return $query->online()->hasError(); + } protected $casts = [ 'last_heartbeat_at' => 'datetime', diff --git a/app/Services/Machine/MachineService.php b/app/Services/Machine/MachineService.php index 367836e..041160c 100644 --- a/app/Services/Machine/MachineService.php +++ b/app/Services/Machine/MachineService.php @@ -30,7 +30,6 @@ class MachineService $model = $data['model'] ?? $machine->model; $updateData = [ - 'status' => 'online', 'temperature' => $temperature, 'current_page' => $currentPage, 'door_status' => $doorStatus, @@ -176,10 +175,10 @@ class MachineService $start = Carbon::parse($date)->startOfDay(); $end = Carbon::parse($date)->endOfDay(); - // 1. Online Count (Base on current status) + // 1. Online Count (Base on new heartbeat logic) $machines = Machine::all(); // This is filtered by TenantScoped $totalMachines = $machines->count(); - $onlineCount = $machines->where('status', 'online')->count(); + $onlineCount = Machine::online()->count(); $machineIds = $machines->pluck('id')->toArray(); diff --git a/database/factories/Machine/MachineFactory.php b/database/factories/Machine/MachineFactory.php index cb123a6..3fa1018 100644 --- a/database/factories/Machine/MachineFactory.php +++ b/database/factories/Machine/MachineFactory.php @@ -14,7 +14,6 @@ class MachineFactory extends Factory return [ 'name' => 'Machine-' . fake()->unique()->numberBetween(101, 999), 'location' => fake()->address(), - 'status' => fake()->randomElement(['online', 'offline', 'error']), 'temperature' => fake()->randomFloat(2, 2, 10), 'firmware_version' => 'v' . fake()->randomElement(['1.0.0', '1.1.2', '2.0.1']), 'serial_no' => 'SN-' . strtoupper(fake()->unique()->bothify('??###?')), diff --git a/database/migrations/2026_04_02_110119_update_remote_commands_status_enum.php b/database/migrations/2026_04_02_110119_update_remote_commands_status_enum.php index 77d972d..e5e7a23 100644 --- a/database/migrations/2026_04_02_110119_update_remote_commands_status_enum.php +++ b/database/migrations/2026_04_02_110119_update_remote_commands_status_enum.php @@ -11,9 +11,9 @@ return new class extends Migration */ public function up(): void { - Schema::table('remote_commands', function (Blueprint $table) { + if (DB::getDriverName() !== 'sqlite') { DB::statement("ALTER TABLE remote_commands MODIFY COLUMN status ENUM('pending', 'sent', 'success', 'failed', 'superseded') DEFAULT 'pending'"); - }); + } } /** @@ -21,8 +21,8 @@ return new class extends Migration */ public function down(): void { - Schema::table('remote_commands', function (Blueprint $table) { + if (DB::getDriverName() !== 'sqlite') { DB::statement("ALTER TABLE remote_commands MODIFY COLUMN status ENUM('pending', 'sent', 'success', 'failed') DEFAULT 'pending'"); - }); + } } }; diff --git a/database/migrations/2026_04_07_092625_remove_status_from_machines_table.php b/database/migrations/2026_04_07_092625_remove_status_from_machines_table.php new file mode 100644 index 0000000..9a94ac6 --- /dev/null +++ b/database/migrations/2026_04_07_092625_remove_status_from_machines_table.php @@ -0,0 +1,30 @@ +dropColumn('status'); + } + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('machines', function (Blueprint $table) { + $table->string('status')->default('offline')->after('location'); + }); + } +}; diff --git a/lang/en.json b/lang/en.json index 7c912da..c8c3cda 100644 --- a/lang/en.json +++ b/lang/en.json @@ -1,49 +1,61 @@ { - "Abnormal": "Abnormal", + "15 Seconds": "15 Seconds", + "30 Seconds": "30 Seconds", + "60 Seconds": "60 Seconds", "A new verification link has been sent to your email address.": "A new verification link has been sent to your email address.", - "AI Prediction": "AI Prediction", - "API Token": "API Token", - "API Token Copied": "API Token Copied", - "API Token regenerated successfully.": "API Token regenerated successfully.", - "APK Versions": "APK Versions", - "APP Features": "APP Features", - "APP Management": "APP Management", - "APP Version": "APP Version", - "APP_ID": "APP_ID", - "APP_KEY": "APP_KEY", + "Abnormal": "Abnormal", "Account": "Account", "Account :name status has been changed to :status.": "Account :name status has been changed to :status.", + "Account created successfully.": "Account created successfully.", + "Account deleted successfully.": "Account deleted successfully.", "Account Info": "Account Info", "Account List": "Account List", "Account Management": "Account Management", "Account Name": "Account Name", "Account Settings": "Account Settings", "Account Status": "Account Status", - "Account created successfully.": "Account created successfully.", - "Account deleted successfully.": "Account deleted successfully.", "Account updated successfully.": "Account updated successfully.", - "Slot updated successfully.": "Slot updated successfully.", "Account:": "Account:", + "accounts": "Account Management", "Accounts / Machines": "Accounts / Machines", "Action": "Action", "Actions": "Actions", "Active": "Active", + "Active Status": "Active Status", + "Ad Settings": "Ad Settings", "Add Account": "Add Account", + "Add Advertisement": "Add Advertisement", + "Add Category": "Add Category", "Add Customer": "Add Customer", "Add Machine": "Add Machine", "Add Machine Model": "Add Machine Model", "Add Maintenance Record": "Add Maintenance Record", + "Add Product": "Add Product", "Add Role": "Add Role", + "Adjust Stock": "Adjust Stock", + "Adjust Stock & Expiry": "Adjust Stock & Expiry", "Admin": "Admin", + "admin": "管理員", + "Admin display name": "Admin display name", "Admin Name": "Admin Name", "Admin Page": "Admin Page", "Admin Sellable Products": "Admin Sellable Products", - "Admin display name": "Admin display name", "Administrator": "Administrator", + "Advertisement assigned successfully": "Advertisement assigned successfully", + "Advertisement assigned successfully.": "Advertisement assigned successfully.", + "Advertisement created successfully": "Advertisement created successfully", + "Advertisement created successfully.": "Advertisement created successfully.", + "Advertisement deleted successfully": "Advertisement deleted successfully", + "Advertisement deleted successfully.": "Advertisement deleted successfully.", + "Advertisement List": "Advertisement List", "Advertisement Management": "Advertisement Management", + "Advertisement updated successfully": "Advertisement updated successfully", + "Advertisement updated successfully.": "Advertisement updated successfully.", + "Advertisement Video/Image": "Advertisement Video/Image", "Affiliated Company": "Affiliated Company", "Affiliated Unit": "Company Name", "Affiliation": "Company Name", + "AI Prediction": "AI Prediction", "Alert Summary": "Alert Summary", "Alerts": "Alerts", "Alerts Pending": "Alerts Pending", @@ -53,10 +65,24 @@ "All Companies": "All Companies", "All Levels": "All Levels", "All Machines": "All Machines", + "All Stable": "All Stable", "All Times System Timezone": "All times are in system timezone", + "Amount": "Amount", "An error occurred while saving.": "An error occurred while saving.", + "analysis": "Analysis Management", "Analysis Management": "Analysis Management", "Analysis Permissions": "Analysis Permissions", + "API Token": "API Token", + "API Token Copied": "API Token Copied", + "API Token regenerated successfully.": "API Token regenerated successfully.", + "APK Versions": "APK Versions", + "app": "APP Management", + "APP Features": "APP Features", + "APP Management": "APP Management", + "APP Version": "APP Version", + "APP_ID": "APP_ID", + "APP_KEY": "APP_KEY", + "Apply changes to all identical products in this machine": "Apply changes to all identical products in this machine", "Apply to all identical products in this machine": "Apply to all identical products in this machine", "Are you sure to delete this customer?": "Are you sure to delete this customer?", "Are you sure you want to change the status of this product? Disabled products will not be visible on the machine.": "Are you sure you want to change the status of this product? Disabled products will not be visible on the machine.", @@ -65,6 +91,7 @@ "Are you sure you want to deactivate this account? After deactivating, this account will no longer be able to log in to the system.": "Are you sure you want to deactivate this account? After deactivating, this account will no longer be able to log in to the system.", "Are you sure you want to delete this account?": "Are you sure you want to delete this account?", "Are you sure you want to delete this account? This action cannot be undone.": "Are you sure you want to delete this account? This action cannot be undone.", + "Are you sure you want to delete this advertisement? This will also remove all assignments to machines.": "Are you sure you want to delete this advertisement? This will also remove all assignments to machines.", "Are you sure you want to delete this configuration?": "您確定要刪除此金流配置嗎?", "Are you sure you want to delete this configuration? This action cannot be undone.": "Are you sure you want to delete this configuration? This action cannot be undone.", "Are you sure you want to delete this item? This action cannot be undone.": "Are you sure you want to delete this item? This action cannot be undone.", @@ -73,12 +100,17 @@ "Are you sure you want to delete this role? This action cannot be undone.": "Are you sure you want to delete this role? This action cannot be undone.", "Are you sure you want to delete your account?": "Are you sure you want to delete your account?", "Are you sure you want to proceed? This action cannot be undone.": "您確定要繼續嗎?此操作將無法復原。", + "Are you sure you want to remove this assignment?": "Are you sure you want to remove this assignment?", "Are you sure you want to send this command?": "Are you sure you want to send this command?", "Are you sure?": "Are you sure?", "Assign": "Assign", + "Assign Advertisement": "Assign Advertisement", "Assign Machines": "Assign Machines", "Assigned Machines": "Assigned Machines", + "Assignment removed successfully.": "Assignment removed successfully.", + "audit": "Audit Management", "Audit Management": "Audit Management", + "Audit Permissions": "Audit Permissions", "Authorization updated successfully": "Authorization updated successfully", "Authorize": "Authorize", "Authorize Btn": "Authorize", @@ -91,36 +123,48 @@ "Available Machines": "可供分配的機台", "Avatar updated successfully.": "Avatar updated successfully.", "Avg Cycle": "Avg Cycle", + "Back to History": "Back to History", "Back to List": "Back to List", "Badge Settings": "Badge Settings", "Barcode": "Barcode", + "Barcode / Material": "Barcode / Material", "Basic Information": "Basic Information", "Basic Settings": "Basic Settings", "Basic Specifications": "Basic Specifications", + "basic-settings": "Basic Settings", + "basic.machines": "機台設定", + "basic.payment-configs": "客戶金流設定", + "Batch": "Batch", "Batch No": "Batch No", + "Batch Number": "Batch Number", "Belongs To": "Company Name", "Belongs To Company": "Company Name", "Business Type": "Business Type", "Buyout": "Buyout", "Cancel": "Cancel", "Cancel Purchase": "Cancel Purchase", - "Cannot Delete Role": "Cannot Delete Role", "Cannot change Super Admin status.": "Cannot change Super Admin status.", + "Cannot delete advertisement being used by machines.": "Cannot delete advertisement being used by machines.", "Cannot delete company with active accounts.": "Cannot delete company with active accounts.", "Cannot delete model that is currently in use by machines.": "Cannot delete model that is currently in use by machines.", + "Cannot Delete Role": "Cannot Delete Role", "Cannot delete role with active users.": "Cannot delete role with active users.", "Card Reader": "Card Reader", "Card Reader No": "Card Reader No", "Card Reader Reboot": "Card Reader Reboot", "Card Reader Restart": "Card Reader Restart", "Card Reader Seconds": "Card Reader Seconds", + "Card Terminal": "Card Terminal", "Category": "Category", + "Category Management": "Category Management", + "Category Name": "Category Name", "Category Name (en)": "Category Name (English)", "Category Name (ja)": "Category Name (Japanese)", "Category Name (zh_TW)": "Category Name (Traditional Chinese)", "Change": "Change", "Change Stock": "Change Stock", "Channel Limits": "Channel Limits", + "Channel Limits (Track/Spring)": "Channel Limits (Track/Spring)", "Channel Limits Configuration": "Channel Limits Configuration", "ChannelId": "ChannelId", "ChannelSecret": "ChannelSecret", @@ -133,9 +177,24 @@ "Click to Open Dashboard": "Click to Open Dashboard", "Click to upload": "Click to upload", "Close Panel": "Close Panel", + "Command Center": "Command Center", + "Command Confirmation": "Command Confirmation", + "Command error:": "Command error:", + "Command has been queued successfully.": "Command has been queued successfully.", + "Command queued successfully.": "Command queued successfully.", + "Command Type": "Command Type", + "companies": "Customer Management", + "Company": "Company", + "Company Code": "Company Code", + "Company Information": "Company Information", + "Company Level": "Company Level", + "Company Name": "Company Name", + "Config Name": "Config Name", + "Configuration Name": "Configuration Name", "Confirm": "Confirm", "Confirm Account Deactivation": "Confirm Deactivation", "Confirm Account Status Change": "Confirm Account Status Change", + "Confirm Assignment": "Confirm Assignment", "Confirm Changes": "Confirm Changes", "Confirm Deletion": "Confirm Deletion", "Confirm Password": "Confirm Password", @@ -151,9 +210,11 @@ "Contact Phone": "Contact Phone", "Contract Period": "Contract Period", "Contract Until (Optional)": "Contract Until (Optional)", + "Control": "Control", "Cost": "Cost", "Coupons": "Coupons", "Create": "Create", + "Create a new role and assign permissions.": "Create a new role and assign permissions.", "Create Config": "Create Config", "Create Machine": "Create Machine", "Create New Role": "Create New Role", @@ -161,7 +222,7 @@ "Create Product": "Create Product", "Create Role": "Create Role", "Create Sub Account Role": "Create Sub Account Role", - "Create a new role and assign permissions.": "Create a new role and assign permissions.", + "Creation Time": "Creation Time", "Critical": "Critical", "Current": "Current", "Current Password": "Current Password", @@ -169,14 +230,14 @@ "Current Stock": "Current Stock", "Current Type": "Current Type", "Current:": "Cur:", - "Customer Details": "Customer Details", - "Customer Info": "Customer Info", - "Customer Management": "Customer Management", - "Customer Payment Config": "Customer Payment Config", "Customer and associated accounts disabled successfully.": "Customer and associated accounts disabled successfully.", "Customer created successfully.": "Customer created successfully", "Customer deleted successfully.": "Customer deleted successfully.", + "Customer Details": "Customer Details", "Customer enabled successfully.": "Customer enabled successfully.", + "Customer Info": "Customer Info", + "Customer Management": "Customer Management", + "Customer Payment Config": "Customer Payment Config", "Customer updated successfully.": "Customer updated successfully.", "Cycle Efficiency": "Cycle Efficiency", "Daily Revenue": "Daily Revenue", @@ -184,6 +245,10 @@ "Dashboard": "Dashboard", "Data Configuration": "Data Configuration", "Data Configuration Permissions": "Data Configuration Permissions", + "data-config": "Data Configuration", + "data-config.sub-account-roles": "子帳號角色", + "data-config.sub-accounts": "子帳號管理", + "Date Range": "Date Range", "Day Before": "Day Before", "Default Donate": "Default Donate", "Default Not Donate": "Default Not Donate", @@ -191,7 +256,10 @@ "Define new third-party payment parameters": "Define new third-party payment parameters", "Delete": "Delete", "Delete Account": "Delete Account", + "Delete Advertisement": "Delete Advertisement", + "Delete Advertisement Confirmation": "Delete Advertisement Confirmation", "Delete Permanently": "Delete Permanently", + "Delete Product": "Delete Product", "Delete Product Confirmation": "Delete Product Confirmation", "Deposit Bonus": "Deposit Bonus", "Describe the repair or maintenance status...": "Describe the repair or maintenance status...", @@ -207,6 +275,18 @@ "Dispense Failed": "Dispense Failed", "Dispense Success": "Dispense Success", "Dispensing": "Dispensing", + "Duration": "Duration", + "Duration (Seconds)": "Duration (Seconds)", + "e.g. 500ml / 300g": "e.g. 500ml / 300g", + "e.g. John Doe": "e.g. John Doe", + "e.g. johndoe": "e.g. johndoe", + "e.g. Taiwan Star": "e.g. Taiwan Star", + "e.g. TWSTAR": "e.g. TWSTAR", + "e.g., Beverage": "e.g., Beverage", + "e.g., Company Standard Pay": "e.g., Company Standard Pay", + "e.g., Drinks": "e.g., Drinks", + "e.g., Taipei Station": "e.g., Taipei Station", + "e.g., お飲み物": "e.g., O-Nomimono", "E.SUN QR Scan": "E.SUN QR Scan", "E.SUN QR Scan Settings Description": "E.SUN Bank QR Scan Payment Settings", "EASY_MERCHANT_ID": "EASY_MERCHANT_ID", @@ -214,12 +294,15 @@ "ECPay Invoice Settings Description": "ECPay Electronic Invoice Settings", "Edit": "Edit", "Edit Account": "Edit Account", + "Edit Advertisement": "Edit Advertisement", "Edit Category": "Edit Category", "Edit Customer": "Edit Customer", "Edit Expiry": "Edit Expiry", "Edit Machine": "Edit Machine", "Edit Machine Model": "Edit Machine Model", + "Edit Machine Name": "Edit Machine Name", "Edit Machine Settings": "Edit Machine Settings", + "Edit Name": "Edit Name", "Edit Payment Config": "Edit Payment Config", "Edit Product": "Edit Product", "Edit Role": "Edit Role", @@ -235,37 +318,50 @@ "Enabled/Disabled": "Enabled/Disabled", "End Date": "End Date", "Engineer": "Engineer", + "English": "English", "Ensure your account is using a long, random password to stay secure.": "Ensure your account is using a long, random password to stay secure.", + "Enter ad material name": "Enter ad material name", "Enter login ID": "Enter login ID", "Enter machine location": "Enter machine location", "Enter machine name": "Enter machine name", + "Enter machine name...": "Enter machine name...", "Enter model name": "Enter model name", "Enter role name": "Enter role name", "Enter serial number": "Enter serial number", "Enter your password to confirm": "Enter your password to confirm", + "Entire Machine": "Entire Machine", "Equipment efficiency and OEE metrics": "設備效能與 OEE 綜合指標", "Error": "Error", "Error processing request": "Error processing request", + "Execute": "Execute", "Execute Change": "Execute Change", + "Execute Delivery Now": "Execute Delivery Now", "Execute maintenance and operational commands remotely": "Execute maintenance and operational commands remotely", + "Execute Remote Change": "Execute Remote Change", "Execution Time": "Execution Time", "Exp": "Exp", "Expired": "Expired", "Expired / Disabled": "Expired / Disabled", + "Expiring": "Expiring", + "Expiry": "Expiry", "Expiry Date": "Expiry Date", "Expiry Management": "Expiry Management", + "Failed": "Failed", + "failed": "failed", "Failed to fetch machine data.": "Failed to fetch machine data.", "Failed to load permissions": "Failed to load permissions", "Failed to save permissions.": "Failed to save permissions.", "Failed to update machine images: ": "Failed to update machine images: ", "Feature Settings": "Feature Settings", "Feature Toggles": "Feature Toggles", + "files selected": "files selected", "Fill in the device repair or maintenance details": "Fill in the device repair or maintenance details", "Fill in the product details below": "Fill in the product details below", "Firmware Version": "Firmware Version", "Fleet Avg OEE": "Fleet Avg OEE", "Fleet Performance": "Fleet Performance", "Force end current session": "Force end current session", + "Force End Session": "Force End Session", "From": "From", "From:": "From:", "Full Access": "Full Access", @@ -276,6 +372,7 @@ "Gift Definitions": "Gift Definitions", "Global roles accessible by all administrators.": "Global roles accessible by all administrators.", "Got it": "Got it", + "Grant UI Access": "Grant UI Access", "Half Points": "Half Points", "Half Points Amount": "Half Points Amount", "Hardware & Network": "Hardware & Network", @@ -288,93 +385,118 @@ "Heating Start Time": "Heating Start Time", "Helper": "Helper", "Home Page": "Home Page", + "hours ago": "hours ago", "Identity & Codes": "Identity & Codes", + "image": "image", "Info": "Info", "Initial Admin Account": "Initial Admin Account", "Initial Role": "Initial Role", "Installation": "Installation", "Invoice Status": "Invoice Status", "Items": "Items", + "items": "items", + "Japanese": "Japanese", "JKO_MERCHANT_ID": "JKO_MERCHANT_ID", + "john@example.com": "john@example.com", "Joined": "Joined", + "Just now": "Just now", "Key": "Key", "Key No": "Key No", - "LEVEL TYPE": "LEVEL TYPE", - "LINE Pay Direct": "LINE Pay Direct", - "LINE Pay Direct Settings Description": "LINE Pay Official Direct Connection Settings", - "LINE_MERCHANT_ID": "LINE_MERCHANT_ID", - "LIVE": "LIVE", + "Last Communication": "Last Communication", "Last Heartbeat": "Last Heartbeat", "Last Page": "Last Page", "Last Signal": "Last Signal", + "Last Sync": "Last Sync", "Last Time": "Last Time", "Last Updated": "Last Updated", "Lease": "Lease", "Level": "Level", + "LEVEL TYPE": "LEVEL TYPE", + "line": "Line Management", "Line Coupons": "Line Coupons", "Line Machines": "Line Machines", "Line Management": "Line Management", "Line Members": "Line Members", "Line Official Account": "Line Official Account", "Line Orders": "Line Orders", + "LINE Pay Direct": "LINE Pay Direct", + "LINE Pay Direct Settings Description": "LINE Pay Official Direct Connection Settings", "Line Permissions": "Line Permissions", "Line Products": "Line Products", + "LINE_MERCHANT_ID": "LINE_MERCHANT_ID", + "LIVE": "LIVE", "Live Fleet Updates": "Live Fleet Updates", "Loading Cabinet...": "Loading Cabinet...", "Loading machines...": "Loading machines...", "Loading...": "Loading...", "Location": "Location", "Lock": "Lock", + "Lock Now": "Lock Now", + "Lock Page": "Lock Page", + "Lock Page Lock": "Lock Page", + "Lock Page Unlock": "Unlock Locked Page", "Locked Page": "Locked Page", "Login History": "Login History", "Logout": "Logout", "Logs": "Logs", + "Low": "Low Stock", + "Low Stock": "Low Stock", "Loyalty & Features": "Loyalty & Features", + "Machine Advertisement Settings": "Machine Advertisement Settings", "Machine Count": "Machine Count", + "Machine created successfully.": "Machine created successfully.", "Machine Details": "Machine Details", "Machine Images": "Machine Images", + "Machine images updated successfully.": "Machine images updated successfully.", "Machine Info": "Machine Info", "Machine Information": "Machine Information", + "Machine Inventory": "Machine Inventory", + "Machine is heartbeat normal": "Machine is heartbeat normal", "Machine List": "Machine List", "Machine Login Logs": "Machine Login Logs", "Machine Logs": "Machine Logs", "Machine Management": "Machine Management", "Machine Management Permissions": "Machine Management Permissions", "Machine Model": "Machine Model", + "Machine model created successfully.": "Machine model created successfully.", + "Machine model deleted successfully.": "Machine model deleted successfully.", "Machine Model Settings": "Machine Model Settings", + "Machine model updated successfully.": "Machine model updated successfully.", "Machine Name": "Machine Name", "Machine Permissions": "Machine Permissions", + "Machine Reboot": "Machine Reboot", "Machine Registry": "Machine Registry", "Machine Reports": "Machine Reports", "Machine Restart": "Machine Restart", "Machine Settings": "Machine Settings", + "Machine settings updated successfully.": "Machine settings updated successfully.", "Machine Status": "Machine Status", "Machine Status List": "Machine Status List", + "Machine updated successfully.": "Machine updated successfully.", "Machine Utilization": "Machine Utilization", - "Stock & Expiry": "Stock & Expiry", - "Stock & Expiry Management": "Stock & Expiry Management", - "Machine created successfully.": "Machine created successfully.", - "Machine images updated successfully.": "Machine images updated successfully.", - "Machine model created successfully.": "Machine model created successfully.", - "Machine model deleted successfully.": "Machine model deleted successfully.", - "Machine model updated successfully.": "Machine model updated successfully.", - "Machine settings updated successfully.": "Machine settings updated successfully.", "Machines": "Machines", + "machines": "Machine Management", "Machines Online": "Machines Online", "Maintenance": "Maintenance", "Maintenance Content": "Maintenance Content", "Maintenance Date": "Maintenance Date", "Maintenance Details": "Maintenance Details", + "Maintenance Operations": "Maintenance Operations", "Maintenance Photos": "Maintenance Photos", "Maintenance QR": "Maintenance QR", "Maintenance QR Code": "Maintenance QR Code", - "Maintenance Records": "Maintenance Records", "Maintenance record created successfully": "Maintenance record created successfully", + "Maintenance Records": "Maintenance Records", + "Manage": "Manage", "Manage Account Access": "管理帳號存取", - "Manage Expiry": "Manage Expiry", + "Manage ad materials and machine playback settings": "Manage ad materials and machine playback settings", "Manage administrative and tenant accounts": "Manage administrative and tenant accounts", "Manage all tenant accounts and validity": "Manage all tenant accounts and validity", + "Manage Expiry": "Manage Expiry", + "Manage inventory and monitor expiry dates across all machines": "Manage inventory and monitor expiry dates across all machines", "Manage machine access permissions": "Manage machine access permissions", + "Manage your ad material details": "Manage your ad material details", + "Manage your catalog, categories, and inventory settings.": "Manage your catalog, categories, and inventory settings.", "Manage your catalog, prices, and multilingual details.": "Manage your catalog, prices, and multilingual details.", "Manage your machine fleet and operational data": "Manage your machine fleet and operational data", "Manage your profile information, security settings, and login history": "Manage your profile information, security settings, and login history", @@ -382,437 +504,23 @@ "Management of operational parameters and models": "Management of operational parameters and models", "Manufacturer": "Manufacturer", "Material Code": "Material Code", + "Material Name": "Material Name", + "Material Type": "Material Type", "Max": "Max", "Max 3": "Max 3", + "Max 50MB": "Max 50MB", + "Max 5MB": "Max 5MB", "Max Capacity:": "Max Capacity:", + "Member": "Member", "Member & External": "Member & External", "Member List": "Member List", "Member Management": "Member Management", "Member Price": "Member Price", "Member Status": "Member Status", "Member System": "Member System", + "members": "Member Management", "Membership Tiers": "Membership Tiers", "Menu Permissions": "Menu Permissions", - "Merchant IDs": "Merchant IDs", - "Merchant payment gateway settings management": "Merchant payment gateway settings management", - "Message": "Message", - "Message Content": "Message Content", - "Message Display": "Message Display", - "Min 8 characters": "Min 8 characters", - "Model": "Model", - "Model Name": "Model Name", - "Models": "Models", - "Modifying your own administrative permissions may result in losing access to certain system functions.": "Modifying your own administrative permissions may result in losing access to certain system functions.", - "Monitor and manage stock levels across your fleet": "Monitor and manage stock levels across your fleet", - "Monitor events and system activity across your vending fleet.": "Monitor events and system activity across your vending fleet.", - "Monthly Transactions": "Monthly Transactions", - "Monthly cumulative revenue overview": "Monthly cumulative revenue overview", - "Name": "Name", - "Name in English": "Name in English", - "Name in Japanese": "Name in Japanese", - "Name in Traditional Chinese": "Name in Traditional Chinese", - "Never Connected": "Never Connected", - "New Password": "New Password", - "New Password (leave blank to keep current)": "New Password (leave blank to keep current)", - "New Record": "New Record", - "New Role": "New Role", - "New Sub Account Role": "New Sub Account Role", - "Next": "Next", - "No Invoice": "No Invoice", - "No Machine Selected": "No Machine Selected", - "No accounts found": "No accounts found", - "No active cargo lanes found": "No active cargo lanes found", - "No alert summary": "No alert summary", - "No command history": "No command history", - "No configurations found": "No configurations found", - "No content provided": "No content provided", - "No customers found": "No customers found", - "No data available": "No data available", - "No file uploaded.": "No file uploaded.", - "No images uploaded": "No images uploaded", - "No location set": "No location set", - "No login history yet": "No login history yet", - "No logs found": "No logs found", - "No machines assigned": "未分配機台", - "No machines available": "No machines available", - "No machines available in this company.": "此客戶目前沒有可供分配的機台。", - "No matching logs found": "No matching logs found", - "No matching machines": "No matching machines", - "No permissions": "No permissions", - "No roles available": "No roles available", - "No roles found.": "No roles found.", - "No slots found": "No slots found", - "No users found": "No users found", - "None": "None", - "Normal": "Normal", - "Not Used": "Not Used", - "Not Used Description": "不使用第三方支付介接", - "Notes": "Notes", - "OEE": "OEE", - "OEE Efficiency Trend": "OEE Efficiency Trend", - "OEE Score": "OEE Score", - "OEE.Activity": "Activity", - "OEE.Errors": "Errors", - "OEE.Hours": "Hours", - "OEE.Orders": "Orders", - "OEE.Sales": "Sales", - "Offline": "Offline", - "Offline Machines": "Offline Machines", - "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.", - "Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.", - "Online": "Online", - "Online Duration": "Online Duration", - "Online Machines": "Online Machines", - "Online Status": "Online Status", - "Only system roles can be assigned to platform administrative accounts.": "Only system roles can be assigned to platform administrative accounts.", - "Operation Note": "Operation Note", - "Operational Parameters": "Operational Parameters", - "Operations": "Operations", - "Optimal": "Optimal", - "Optimized Performance": "Optimized Performance", - "Optimized for display. Supported formats: JPG, PNG, WebP.": "Optimized for display. Supported formats: JPG, PNG, WebP.", - "Optional": "Optional", - "Order Management": "Order Management", - "Orders": "Orders", - "Original": "Original", - "Original Type": "Original Type", - "Original:": "Ori:", - "Other Permissions": "Other Permissions", - "Others": "Others", - "Output Count": "Output Count", - "Owner": "Company Name", - "PARTNER_KEY": "PARTNER_KEY", - "PI_MERCHANT_ID": "PI_MERCHANT_ID", - "PNG, JPG up to 2MB": "PNG, JPG up to 2MB", - "PNG, JPG, WEBP up to 10MB": "PNG, JPG, WEBP up to 10MB", - "PS_MERCHANT_ID": "PS_MERCHANT_ID", - "Page Lock Status": "Page Lock Status", - "Parameters": "Parameters", - "Pass Code": "Pass Code", - "Pass Codes": "Pass Codes", - "Password": "Password", - "Password updated successfully.": "密碼已成功變更。", - "Payment & Invoice": "Payment & Invoice", - "Payment Buffer Seconds": "Payment Buffer Seconds", - "Payment Config": "Payment Config", - "Payment Configuration": "Payment Configuration", - "Payment Configuration created successfully.": "Payment Configuration created successfully.", - "Payment Configuration deleted successfully.": "Payment Configuration deleted successfully.", - "Payment Configuration updated successfully.": "Payment Configuration updated successfully.", - "Payment Selection": "Payment Selection", - "Pending": "Waiting for Machine", - "Sent": "Picked up by Machine", - "Success": "Success", - "Failed": "Failed", - "Creation Time": "Creation Time", - "Picked up Time": "Picked up Time", - "Picked up": "Picked up", - "Performance": "Performance", - "Permanent": "Permanent", - "Permanently Delete Account": "Permanently Delete Account", - "Permission Settings": "Permission Settings", - "Permissions": "Permissions", - "Permissions updated successfully": "Authorization updated successfully", - "Phone": "Phone", - "Photo Slot": "Photo Slot", - "Pickup Code": "Pickup Code", - "Pickup Codes": "Pickup Codes", - "Please check the following errors:": "Please check the following errors:", - "Please check the form for errors.": "Please check the form for errors.", - "Please select a machine to view metrics": "請選擇機台以查看數據", - "Point Rules": "Point Rules", - "Point Settings": "Point Settings", - "Previous": "Previous", - "Pricing Information": "Pricing Information", - "Product Details": "Product Details", - "Product Image": "Product Image", - "Product Management": "Product Management", - "Product Name (Multilingual)": "Product Name (Multilingual)", - "Product Reports": "Product Reports", - "Product Status": "商品狀態", - "Product created successfully": "Product created successfully", - "Product deleted successfully": "Product deleted successfully", - "Product status updated to :status": "Product status updated to :status", - "Product updated successfully": "Product updated successfully", - "Production Company": "Production Company", - "Profile": "Profile", - "Profile Information": "Profile Information", - "Profile Settings": "Profile Settings", - "Profile updated successfully.": "Profile updated successfully.", - "Promotions": "Promotions", - "Protected": "Protected", - "Purchase Audit": "Purchase Audit", - "Purchase Finished": "Purchase Finished", - "Purchases": "Purchases", - "Purchasing": "Purchasing", - "Qty": "Qty", - "Quality": "品質 (Quality)", - "Questionnaire": "Questionnaire", - "Quick Expiry Check": "Quick Expiry Check", - "Quick Maintenance": "Quick Maintenance", - "Quick Select": "快速選取", - "Quick search...": "Quick search...", - "Real-time OEE analysis awaits": "即時 OEE 分析預備中", - "Real-time Operation Logs (Last 50)": "Real-time Operation Logs (Last 50)", - "Real-time fleet efficiency and OEE metrics": "Real-time fleet efficiency and OEE metrics", - "Real-time monitoring across all machines": "Real-time monitoring across all machines", - "Real-time performance analytics": "Real-time performance analytics", - "Real-time status monitoring": "Real-time status monitoring", - "Reason for this command...": "Reason for this command...", - "Receipt Printing": "Receipt Printing", - "Recent Commands": "Recent Commands", - "Recent Login": "Recent Login", - "Regenerate": "Regenerate", - "Regenerating the token will disconnect the physical machine until it is updated. Continue?": "Regenerating the token will disconnect the physical machine until it is updated. Continue?", - "Remote Change": "Remote Change", - "Remote Checkout": "Remote Checkout", - "Remote Command Center": "Remote Command Center", - "Remote Dispense": "Remote Dispense", - "Remote Lock": "Remote Lock", - "Remote Management": "Remote Management", - "Remote Permissions": "Remote Permissions", - "Remote Settlement": "Remote Settlement", - "Removal": "Removal", - "Repair": "Repair", - "Replenishment Audit": "Replenishment Audit", - "Replenishment Page": "Replenishment Page", - "Replenishment Records": "Replenishment Records", - "Replenishments": "Replenishments", - "Reporting Period": "Reporting Period", - "Reservation Members": "Reservation Members", - "Reservation System": "Reservation System", - "Reservations": "Reservations", - "Reset POS terminal": "Reset POS terminal", - "Restart entire machine": "Restart entire machine", - "Restrict machine UI access": "Restrict machine UI access", - "Returns": "Returns", - "Risk": "Risk", - "Role": "Role", - "Role Identification": "Role Identification", - "Role Management": "Role Management", - "Role Name": "Role Name", - "Role Permissions": "Role Permissions", - "Role Settings": "Role Permissions", - "Role Type": "Role Type", - "Role created successfully.": "Role created successfully.", - "Role deleted successfully.": "Role deleted successfully.", - "Role name already exists in this company.": "Role name already exists in this company.", - "Role not found.": "Role not found.", - "Role updated successfully.": "Role updated successfully.", - "Roles": "Role Permissions", - "Roles scoped to specific customer companies.": "Roles scoped to specific customer companies.", - "Running Status": "Running Status", - "SYSTEM": "SYSTEM", - "Sale Price": "Sale Price", - "Sales": "Sales", - "Sales Activity": "銷售活動", - "Sales Management": "Sales Management", - "Sales Permissions": "Sales Permissions", - "Sales Records": "Sales Records", - "Save": "Save", - "Save Changes": "Save Changes", - "Save Config": "Save Config", - "Save Permissions": "儲存權限", - "Saved.": "Saved.", - "Saving...": "儲存中...", - "Scale level and access control": "層級與存取控制", - "Scan this code to quickly access the maintenance form for this device.": "Scan this code to quickly access the maintenance form for this device.", - "Search Company Title...": "Search Company Title...", - "Search by name or S/N...": "Search by name or S/N...", - "Search company...": "Search company...", - "Search configurations...": "Search configurations...", - "Search customers...": "Search customers...", - "Search machines by name or serial...": "Search machines by name or serial...", - "Search machines...": "Search machines...", - "Search models...": "Search models...", - "Search roles...": "Search roles...", - "Search serial no or name...": "Search serial no or name...", - "Search serial or machine...": "Search serial or machine...", - "Search serial or name...": "Search serial or name...", - "Search users...": "Search users...", - "Security & State": "Security & State", - "Select All": "Select All", - "Select Cargo Lane": "Select Cargo Lane", - "Select Company": "Select Company Name", - "Select Company (Default: System)": "Select Company (Default: System)", - "Select Machine": "Select Machine", - "Select Machine to view metrics": "Please select a machine to view metrics", - "Select Model": "Select Model", - "Select Owner": "Select Company Name", - "Select Slot...": "Select Slot...", - "Select a machine to deep dive": "Please select a machine to deep dive", - "Select an asset from the left to start analysis": "Select an asset from the left to start analysis", - "Select date to sync data": "Select date to sync data", - "Selected": "Selected", - "Selected Date": "Search Date", - "Selection": "Selection", - "set": "set", - "Serial & Version": "Serial & Version", - "Serial NO": "SERIAL NO", - "Serial No": "Serial No", - "Serial Number": "Serial Number", - "Show": "Show", - "Show material code field in products": "Show material code field in products", - "Show points rules in products": "Show points rules in products", - "Showing": "Showing", - "Showing :from to :to of :total items": "Showing :from to :to of :total items", - "Sign in to your account": "Sign in to your account", - "Signed in as": "Signed in as", - "Slot": "Slot", - "Slot Mechanism (default: Conveyor, check for Spring)": "Slot Mechanism (default: Conveyor, check for Spring)", - "Slot Status": "Slot Status", - "Slot Test": "Slot Test", - "Some fields need attention": "Some fields need attention", - "Special Permission": "Special Permission", - "Specifications": "Specifications", - "Spring Channel Limit": "Spring Channel Limit", - "Spring Limit": "Spring Limit", - "Staff Stock": "Staff Stock", - "Start Date": "Start Date", - "Status": "Status", - "Status / Temp / Sub / Card / Scan": "Status / Temp / Sub / Card / Scan", - "Stock Management": "Stock Management", - "Real-time monitoring and adjustment of cargo lane inventory and expiration dates": "Real-time monitoring and adjustment of cargo lane inventory and expiration dates", - "Stock Quantity": "Stock Quantity", - "Store Gifts": "Store Gifts", - "Store ID": "Store ID", - "Store Management": "Store Management", - "StoreID": "StoreID", - "Sub Account Management": "Sub Account Management", - "Sub Account Roles": "Sub Account Roles", - "Sub Accounts": "Sub Accounts", - "Sub-actions": "子項目", - "Sub-machine Status Request": "Sub-machine Status", - "Submit Record": "Submit Record", - "Superseded": "Superseded", - "Superseded by new adjustment": "Superseded by new adjustment", - "Superseded by new command": "Superseded by new command", - "Super Admin": "Super Admin", - "Super-admin role cannot be assigned to tenant accounts.": "Super-admin role cannot be assigned to tenant accounts.", - "Survey Analysis": "Survey Analysis", - "System Default": "System Default", - "System Default (Common)": "System Default (Common)", - "System Level": "System Level", - "System Official": "System Official", - "System Reboot": "System Reboot", - "System Role": "System Role", - "System role name cannot be modified.": "System role name cannot be modified.", - "System roles cannot be deleted by tenant administrators.": "System roles cannot be deleted by tenant administrators.", - "System roles cannot be modified by tenant administrators.": "System roles cannot be modified by tenant administrators.", - "System super admin accounts cannot be deleted.": "System super admin accounts cannot be deleted.", - "System super admin accounts cannot be modified via this interface.": "System super admin accounts cannot be modified via this interface.", - "Systems Initializing": "Systems Initializing", - "TapPay Integration": "TapPay Integration", - "TapPay Integration Settings Description": "TapPay Payment Integration Settings", - "Target": "目標", - "Tax ID (Optional)": "Tax ID (Optional)", - "Temperature": "Temperature", - "TermID": "TermID", - "The Super Admin role cannot be deleted.": "The Super Admin role cannot be deleted.", - "The Super Admin role is immutable.": "The Super Admin role is immutable.", - "The Super Admin role name cannot be modified.": "The Super Admin role name cannot be modified.", - "The image is too large. Please upload an image smaller than 1MB.": "The image is too large. Please upload an image smaller than 1MB.", - "This is a system administrator role. Its name is locked to ensure system stability.": "This is a system administrator role. Its name is locked to ensure system stability.", - "This role belongs to another company and cannot be assigned.": "This role belongs to another company and cannot be assigned.", - "Time": "Time", - "Time Slots": "Time Slots", - "Timer": "Timer", - "Timestamp": "Timestamp", - "To": "To", - "Today Cumulative Sales": "Today Cumulative Sales", - "Today's Transactions": "Today's Transactions", - "Total Connected": "Total Connected", - "Total Customers": "Total Customers", - "Total Daily Sales": "Today's Total Sales", - "Total Gross Value": "Total Gross Value", - "Total Logins": "Total Logins", - "Total Selected": "Total Selected", - "Total Slots": "Total Slots", - "Total items": "Total items: :count", - "Track Channel Limit": "Track Channel Limit", - "Track Limit": "Track Limit", - "Track device health and maintenance history": "Track device health and maintenance history", - "Transfer Audit": "Transfer Audit", - "Transfers": "Transfers", - "Trigger Dispense": "Trigger Dispense", - "Tutorial Page": "Tutorial Page", - "Type": "Type", - "Type to search or leave blank for system defaults.": "Type to search or leave blank for system defaults.", - "UI Elements": "UI Elements", - "Unauthorized Status": "Unauthorized", - "Uncategorized": "Uncategorized", - "Unified Operational Timeline": "Unified Operational Timeline", - "Units": "Units", - "Unknown": "Unknown", - "Unlock": "Unlock", - "Update": "Update", - "Update Authorization": "Update Authorization", - "Update Customer": "Update Customer", - "Update Password": "Update Password", - "Update Product": "Update Product", - "Update existing role and permissions.": "Update existing role and permissions.", - "Update your account's profile information and email address.": "Update your account's profile information and email address.", - "Upload New Images": "Upload New Images", - "Uploading new images will replace all existing images.": "Uploading new images will replace all existing images.", - "User": "User", - "User Info": "User Info", - "Username": "Username", - "Users": "Users", - "Utilization Rate": "Utilization Rate", - "Utilization Timeline": "稼動時序", - "Utilization, OEE and Operational Intelligence": "稼動率、OEE 與營運情報", - "Utilized Time": "Utilized Time", - "Valid Until": "Valid Until", - "Validation Error": "Validation Error", - "Vending Page": "Vending Page", - "Venue Management": "Venue Management", - "View Details": "View Details", - "View Logs": "View Logs", - "Waiting for Payment": "Waiting for Payment", - "Warehouse List": "Warehouse List", - "Warehouse List (All)": "Warehouse List (All)", - "Warehouse List (Individual)": "Warehouse List (Individual)", - "Warehouse Management": "Warehouse Management", - "Warehouse Permissions": "Warehouse Permissions", - "Warning": "Warning", - "Warning: You are editing your own role!": "Warning: You are editing your own role!", - "Welcome Gift": "Welcome Gift", - "Welcome Gift Status": "Welcome Gift Status", - "Work Content": "Work Content", - "Yes, regenerate": "Yes, regenerate", - "Yesterday": "Yesterday", - "You cannot assign permissions you do not possess.": "You cannot assign permissions you do not possess.", - "You cannot delete your own account.": "You cannot delete your own account.", - "Your email address is unverified.": "Your email address is unverified.", - "Your recent account activity": "Your recent account activity", - "accounts": "Account Management", - "admin": "管理員", - "analysis": "Analysis Management", - "app": "APP Management", - "audit": "Audit Management", - "basic-settings": "Basic Settings", - "basic.machines": "機台設定", - "basic.payment-configs": "客戶金流設定", - "companies": "Customer Management", - "data-config": "Data Configuration", - "data-config.sub-account-roles": "子帳號角色", - "data-config.sub-accounts": "子帳號管理", - "e.g. John Doe": "e.g. John Doe", - "e.g. TWSTAR": "e.g. TWSTAR", - "e.g. Taiwan Star": "e.g. Taiwan Star", - "e.g. johndoe": "e.g. johndoe", - "e.g., Beverage": "e.g., Beverage", - "e.g., Company Standard Pay": "e.g., Company Standard Pay", - "e.g., Drinks": "e.g., Drinks", - "e.g., Taipei Station": "e.g., Taipei Station", - "e.g., お飲み物": "e.g., O-Nomimono", - "failed": "failed", - "files selected": "files selected", - "items": "items", - "john@example.com": "john@example.com", - "line": "Line Management", - "machines": "Machine Management", - "members": "Member Management", "menu.analysis": "Analysis Management", "menu.app": "APP Management", "menu.audit": "Audit Management", @@ -844,64 +552,501 @@ "menu.sales": "Sales Management", "menu.special-permission": "Special Permission", "menu.warehouses": "Warehouse Management", + "Merchant IDs": "Merchant IDs", + "Merchant payment gateway settings management": "Merchant payment gateway settings management", + "Message": "Message", + "Message Content": "Message Content", + "Message Display": "Message Display", "min": "min", - "pending": "pending", - "sent": "sent", - "success": "success", - "Total": "Total", - "Low": "Low Stock", - "Manage": "Manage", - "Control": "Control", - "Command Center": "Command Center", - "Manage inventory and monitor expiry dates across all machines": "Manage inventory and monitor expiry dates across all machines", - "Operation Records": "Operation Records", - "New Command": "New Command", - "Adjust Stock": "Adjust Stock", - "Adjust Stock & Expiry": "Adjust Stock & Expiry", - "Back to History": "Back to History", - "Command Type": "Command Type", - "No records found": "No records found", - "View More": "View More", - "Operator": "Operator", - "Stock": "Stock", - "Expiry": "Expiry", - "Batch": "Batch", - "N/A": "N/A", - "All Stable": "All Stable", - "Expiring": "Expiring", - "Just now": "Just now", + "Min 8 characters": "Min 8 characters", "mins ago": "mins ago", - "hours ago": "hours ago", - "Last Sync": "Last Sync", - "Last Communication": "Last Communication", - "Command Confirmation": "Command Confirmation", - "Please confirm the details below": "Please confirm the details below", + "Model": "Model", + "Model Name": "Model Name", + "Models": "Models", + "Modifying your own administrative permissions may result in losing access to certain system functions.": "Modifying your own administrative permissions may result in losing access to certain system functions.", + "Monitor and manage stock levels across your fleet": "Monitor and manage stock levels across your fleet", + "Monitor events and system activity across your vending fleet.": "Monitor events and system activity across your vending fleet.", + "Monthly cumulative revenue overview": "Monthly cumulative revenue overview", + "Monthly Transactions": "Monthly Transactions", + "Multilingual Names": "Multilingual Names", + "N/A": "N/A", + "Name": "Name", + "Name in English": "Name in English", + "Name in Japanese": "Name in Japanese", + "Name in Traditional Chinese": "Name in Traditional Chinese", + "Never Connected": "Never Connected", + "New Command": "New Command", + "New Machine Name": "New Machine Name", + "New Password": "New Password", + "New Password (leave blank to keep current)": "New Password (leave blank to keep current)", + "New Record": "New Record", + "New Role": "New Role", + "New Sub Account Role": "New Sub Account Role", + "Next": "Next", + "No accounts found": "No accounts found", + "No active cargo lanes found": "No active cargo lanes found", "No additional notes": "No additional notes", - "Execute": "Execute", - "Command has been queued successfully.": "Command has been queued successfully.", - "Command error:": "Command error:", - "System & Security Control": "System & Security Control", - "Maintenance Operations": "Maintenance Operations", - "Entire Machine": "Entire Machine", + "No advertisements found.": "No advertisements found.", + "No alert summary": "No alert summary", + "No assignments": "No assignments", + "No command history": "No command history", + "No Company": "No Company", + "No configurations found": "No configurations found", + "No content provided": "No content provided", + "No customers found": "No customers found", + "No data available": "No data available", + "No file uploaded.": "No file uploaded.", + "No heartbeat for over 30 seconds": "No heartbeat for over 30 seconds", + "No images uploaded": "No images uploaded", + "No Invoice": "No Invoice", + "No location set": "No location set", + "No login history yet": "No login history yet", + "No logs found": "No logs found", + "No Machine Selected": "No Machine Selected", + "No machines assigned": "未分配機台", + "No machines available": "No machines available", + "No machines available in this company.": "此客戶目前沒有可供分配的機台。", + "No maintenance records found": "No maintenance records found", + "No matching logs found": "No matching logs found", + "No matching machines": "No matching machines", + "No materials available": "No materials available", + "No permissions": "No permissions", + "No records found": "No records found", + "No roles available": "No roles available", + "No roles found.": "No roles found.", + "No slots found": "No slots found", + "No users found": "No users found", + "None": "None", + "Normal": "Normal", + "Not Used": "Not Used", + "Not Used Description": "不使用第三方支付介接", + "Notes": "Notes", + "OEE": "OEE", + "OEE Efficiency Trend": "OEE Efficiency Trend", + "OEE Score": "OEE Score", + "OEE.Activity": "Activity", + "OEE.Errors": "Errors", + "OEE.Hours": "Hours", + "OEE.Orders": "Orders", + "OEE.Sales": "Sales", + "of": "of", + "Offline": "Offline", + "Offline Machines": "Offline Machines", + "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.", + "Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.", + "Online": "Online", + "Online Duration": "Online Duration", + "Online Machines": "Online Machines", + "Online Status": "Online Status", + "Only system roles can be assigned to platform administrative accounts.": "Only system roles can be assigned to platform administrative accounts.", + "Operation Note": "Operation Note", + "Operation Records": "Operation Records", + "Operational Parameters": "Operational Parameters", + "Operations": "Operations", + "Operator": "Operator", + "Optimal": "Optimal", + "Optimized for display. Supported formats: JPG, PNG, WebP.": "Optimized for display. Supported formats: JPG, PNG, WebP.", + "Optimized Performance": "Optimized Performance", + "Optional": "Optional", + "Order Management": "Order Management", + "Orders": "Orders", + "Original": "Original", + "Original Type": "Original Type", + "Original:": "Ori:", + "Other Permissions": "Other Permissions", + "Others": "Others", + "Output Count": "Output Count", + "Owner": "Company Name", + "Page Lock Status": "Page Lock Status", + "Parameters": "Parameters", + "PARTNER_KEY": "PARTNER_KEY", + "Pass Code": "Pass Code", + "Pass Codes": "Pass Codes", + "Password": "Password", + "Password updated successfully.": "密碼已成功變更。", + "Payment & Invoice": "Payment & Invoice", + "Payment Buffer Seconds": "Payment Buffer Seconds", + "Payment Config": "Payment Config", + "Payment Configuration": "Payment Configuration", + "Payment Configuration created successfully.": "Payment Configuration created successfully.", + "Payment Configuration deleted successfully.": "Payment Configuration deleted successfully.", + "Payment Configuration updated successfully.": "Payment Configuration updated successfully.", + "Payment Selection": "Payment Selection", + "Pending": "Waiting for Machine", + "pending": "pending", + "Performance": "Performance", + "Permanent": "Permanent", + "Permanently Delete Account": "Permanently Delete Account", + "Permission Settings": "Permission Settings", + "Permissions": "Permissions", + "permissions": "permissions", + "Permissions updated successfully": "Authorization updated successfully", + "permissions.accounts": "permissions.accounts", + "permissions.companies": "permissions.companies", + "permissions.roles": "permissions.roles", + "Phone": "Phone", + "Photo Slot": "Photo Slot", + "PI_MERCHANT_ID": "PI_MERCHANT_ID", + "Picked up": "Picked up", + "Picked up Time": "Picked up Time", + "Pickup Code": "Pickup Code", + "Pickup Codes": "Pickup Codes", + "Playback Order": "Playback Order", + "Please check the following errors:": "Please check the following errors:", + "Please check the form for errors.": "Please check the form for errors.", + "Please confirm the details below": "Please confirm the details below", + "Please select a machine first": "Please select a machine first", + "Please select a machine to view and manage its advertisements.": "Please select a machine to view and manage its advertisements.", + "Please select a machine to view metrics": "請選擇機台以查看數據", + "Please select a material": "Please select a material", + "Please select a slot": "Please select a slot", + "PNG, JPG up to 2MB": "PNG, JPG up to 2MB", + "PNG, JPG, WEBP up to 10MB": "PNG, JPG, WEBP up to 10MB", + "Point Rules": "Point Rules", + "Point Settings": "Point Settings", + "Points Rule": "Points Rule", + "Points Settings": "Points Settings", + "Points toggle": "Points toggle", "POS Reboot": "POS Reboot", - "Card Terminal": "Card Terminal", - "Settlement": "Settlement", - "Force End Session": "Force End Session", - "Security Controls": "Security Controls", - "Unlock Page": "Unlock Page", - "Grant UI Access": "Grant UI Access", - "Unlock Now": "Unlock Now", - "Lock Page": "Lock Page", - "Restrict UI Access": "Restrict UI Access", - "Lock Now": "Lock Now", - "Execute Remote Change": "Execute Remote Change", - "Select Target Slot": "Select Target Slot", - "Execute Delivery Now": "Execute Delivery Now", - "Trigger": "Trigger", - "Slot No": "Slot No", - "Amount": "Amount", - "Machine Reboot": "Machine Reboot", + "Position": "Position", + "Preview": "Preview", + "Previous": "Previous", + "Price / Member": "Price / Member", + "Pricing Information": "Pricing Information", + "Product Count": "Product Count", + "Product created successfully": "Product created successfully", + "Product deleted successfully": "Product deleted successfully", + "Product Details": "Product Details", + "Product Image": "Product Image", + "Product Info": "Product Info", + "Product List": "Product List", + "Product Management": "Product Management", + "Product Name (Multilingual)": "Product Name (Multilingual)", + "Product Reports": "Product Reports", + "Product Status": "商品狀態", + "Product status updated to :status": "Product status updated to :status", + "Product updated successfully": "Product updated successfully", + "Production Company": "Production Company", + "Profile": "Profile", + "Profile Information": "Profile Information", + "Profile Settings": "Profile Settings", + "Profile updated successfully.": "Profile updated successfully.", + "Promotions": "Promotions", + "Protected": "Protected", + "PS_LEVEL": "PS_LEVEL", + "PS_MERCHANT_ID": "PS_MERCHANT_ID", + "Purchase Audit": "Purchase Audit", + "Purchase Finished": "Purchase Finished", + "Purchases": "Purchases", + "Purchasing": "Purchasing", + "Qty": "Qty", + "Quality": "品質 (Quality)", + "Questionnaire": "Questionnaire", + "Quick Expiry Check": "Quick Expiry Check", + "Quick Maintenance": "Quick Maintenance", + "Quick search...": "Quick search...", + "Quick Select": "快速選取", + "Real-time fleet efficiency and OEE metrics": "Real-time fleet efficiency and OEE metrics", + "Real-time monitoring across all machines": "Real-time monitoring across all machines", + "Real-time monitoring and adjustment of cargo lane inventory and expiration dates": "Real-time monitoring and adjustment of cargo lane inventory and expiration dates", + "Real-time OEE analysis awaits": "即時 OEE 分析預備中", + "Real-time Operation Logs (Last 50)": "Real-time Operation Logs (Last 50)", + "Real-time performance analytics": "Real-time performance analytics", + "Real-time status monitoring": "Real-time status monitoring", + "Reason for this command...": "Reason for this command...", + "Receipt Printing": "Receipt Printing", + "Recent Commands": "Recent Commands", + "Recent Login": "Recent Login", + "Recently reported errors or warnings in logs": "Recently reported errors or warnings in logs", + "Regenerate": "Regenerate", + "Regenerating the token will disconnect the physical machine until it is updated. Continue?": "Regenerating the token will disconnect the physical machine until it is updated. Continue?", + "remote": "remote", + "Remote Change": "Remote Change", + "Remote Checkout": "Remote Checkout", + "Remote Command Center": "Remote Command Center", + "Remote Dispense": "Remote Dispense", + "Remote Lock": "Remote Lock", + "Remote Management": "Remote Management", + "Remote Permissions": "Remote Permissions", "Remote Reboot": "Remote Checkout", - "Lock Page Unlock": "Unlock Locked Page", - "Lock Page Lock": "Lock Page" -} + "Remote Settlement": "Remote Settlement", + "Removal": "Removal", + "Repair": "Repair", + "Replenishment Audit": "Replenishment Audit", + "Replenishment Page": "Replenishment Page", + "Replenishment Records": "Replenishment Records", + "Replenishments": "Replenishments", + "Reporting Period": "Reporting Period", + "reservation": "reservation", + "Reservation Members": "Reservation Members", + "Reservation System": "Reservation System", + "Reservations": "Reservations", + "Reset POS terminal": "Reset POS terminal", + "Restart entire machine": "Restart entire machine", + "Restrict machine UI access": "Restrict machine UI access", + "Restrict UI Access": "Restrict UI Access", + "Retail Price": "Retail Price", + "Returns": "Returns", + "Risk": "Risk", + "Role": "Role", + "Role created successfully.": "Role created successfully.", + "Role deleted successfully.": "Role deleted successfully.", + "Role Identification": "Role Identification", + "Role Management": "Role Management", + "Role Name": "Role Name", + "Role name already exists in this company.": "Role name already exists in this company.", + "Role not found.": "Role not found.", + "Role Permissions": "Role Permissions", + "Role Settings": "Role Permissions", + "Role Type": "Role Type", + "Role updated successfully.": "Role updated successfully.", + "Roles": "Role Permissions", + "roles": "roles", + "Roles scoped to specific customer companies.": "Roles scoped to specific customer companies.", + "Running": "Running", + "Running Status": "Running Status", + "s": "s", + "Sale Price": "Sale Price", + "Sales": "Sales", + "sales": "sales", + "Sales Activity": "銷售活動", + "Sales Management": "Sales Management", + "Sales Permissions": "Sales Permissions", + "Sales Records": "Sales Records", + "Save": "Save", + "Save Changes": "Save Changes", + "Save Config": "Save Config", + "Save Material": "Save Material", + "Save Permissions": "儲存權限", + "Saved.": "Saved.", + "Saving...": "儲存中...", + "Scale level and access control": "層級與存取控制", + "Scan this code to quickly access the maintenance form for this device.": "Scan this code to quickly access the maintenance form for this device.", + "Search accounts...": "Search accounts...", + "Search by name or S/N...": "Search by name or S/N...", + "Search cargo lane": "Search cargo lane", + "Search Company Title...": "Search Company Title...", + "Search company...": "Search company...", + "Search configurations...": "Search configurations...", + "Search customers...": "Search customers...", + "Search Machine...": "Search Machine...", + "Search machines by name or serial...": "Search machines by name or serial...", + "Search machines...": "Search machines...", + "Search models...": "Search models...", + "Search products...": "Search products...", + "Search roles...": "Search roles...", + "Search serial no or name...": "Search serial no or name...", + "Search serial or machine...": "Search serial or machine...", + "Search serial or name...": "Search serial or name...", + "Search users...": "Search users...", + "Search...": "Search...", + "Seconds": "Seconds", + "Security & State": "Security & State", + "Security Controls": "Security Controls", + "Select a machine to deep dive": "Please select a machine to deep dive", + "Select a material to play on this machine": "Select a material to play on this machine", + "Select All": "Select All", + "Select an asset from the left to start analysis": "Select an asset from the left to start analysis", + "Select Cargo Lane": "Select Cargo Lane", + "Select Category": "Select Category", + "Select Company": "Select Company Name", + "Select Company (Default: System)": "Select Company (Default: System)", + "Select date to sync data": "Select date to sync data", + "Select Machine": "Select Machine", + "Select Machine to view metrics": "Please select a machine to view metrics", + "Select Material": "Select Material", + "Select Model": "Select Model", + "Select Owner": "Select Company Name", + "Select Slot...": "Select Slot...", + "Select Target Slot": "Select Target Slot", + "Select...": "Select...", + "Selected": "Selected", + "Selected Date": "Search Date", + "Selection": "Selection", + "Sent": "Picked up by Machine", + "sent": "sent", + "Serial & Version": "Serial & Version", + "Serial NO": "SERIAL NO", + "Serial No": "Serial No", + "Serial Number": "Serial Number", + "set": "set", + "Settlement": "Settlement", + "Show": "Show", + "Show material code field in products": "Show material code field in products", + "Show points rules in products": "Show points rules in products", + "Showing": "Showing", + "Showing :from to :to of :total items": "Showing :from to :to of :total items", + "Sign in to your account": "Sign in to your account", + "Signed in as": "Signed in as", + "Slot": "Slot", + "Slot Mechanism (default: Conveyor, check for Spring)": "Slot Mechanism (default: Conveyor, check for Spring)", + "Slot No": "Slot No", + "Slot Status": "Slot Status", + "Slot Test": "Slot Test", + "Slot updated successfully.": "Slot updated successfully.", + "Smallest number plays first.": "Smallest number plays first.", + "Some fields need attention": "Some fields need attention", + "Sort Order": "Sort Order", + "Special Permission": "Special Permission", + "special-permission": "special-permission", + "Specification": "Specification", + "Specifications": "Specifications", + "Spring Channel Limit": "Spring Channel Limit", + "Spring Limit": "Spring Limit", + "Staff Stock": "Staff Stock", + "Standby": "Standby", + "standby": "standby", + "Standby Ad": "Standby Ad", + "Start Date": "Start Date", + "Statistics": "Statistics", + "Status": "Status", + "Status / Temp / Sub / Card / Scan": "Status / Temp / Sub / Card / Scan", + "Stock": "Stock", + "Stock & Expiry": "Stock & Expiry", + "Stock & Expiry Management": "Stock & Expiry Management", + "Stock Management": "Stock Management", + "Stock Quantity": "Stock Quantity", + "Stock:": "Stock:", + "Store Gifts": "Store Gifts", + "Store ID": "Store ID", + "Store Management": "Store Management", + "StoreID": "StoreID", + "Sub Account Management": "Sub Account Management", + "Sub Account Roles": "Sub Account Roles", + "Sub Accounts": "Sub Accounts", + "Sub-actions": "子項目", + "Sub-machine Status Request": "Sub-machine Status", + "Submit Record": "Submit Record", + "Success": "Success", + "success": "success", + "Super Admin": "Super Admin", + "super-admin": "super-admin", + "Super-admin role cannot be assigned to tenant accounts.": "Super-admin role cannot be assigned to tenant accounts.", + "Superseded": "Superseded", + "Superseded by new adjustment": "Superseded by new adjustment", + "Superseded by new command": "Superseded by new command", + "Survey Analysis": "Survey Analysis", + "Syncing Permissions...": "Syncing Permissions...", + "SYSTEM": "SYSTEM", + "System": "System", + "System & Security Control": "System & Security Control", + "System Default": "System Default", + "System Default (All Companies)": "System Default (All Companies)", + "System Default (Common)": "System Default (Common)", + "System Level": "System Level", + "System Official": "System Official", + "System Reboot": "System Reboot", + "System Role": "System Role", + "System role name cannot be modified.": "System role name cannot be modified.", + "System roles cannot be deleted by tenant administrators.": "System roles cannot be deleted by tenant administrators.", + "System roles cannot be modified by tenant administrators.": "System roles cannot be modified by tenant administrators.", + "System super admin accounts cannot be deleted.": "System super admin accounts cannot be deleted.", + "System super admin accounts cannot be modified via this interface.": "System super admin accounts cannot be modified via this interface.", + "Systems Initializing": "Systems Initializing", + "TapPay Integration": "TapPay Integration", + "TapPay Integration Settings Description": "TapPay Payment Integration Settings", + "Target": "目標", + "Target Position": "Target Position", + "Tax ID": "Tax ID", + "Tax ID (Optional)": "Tax ID (Optional)", + "Temperature": "Temperature", + "TermID": "TermID", + "The image is too large. Please upload an image smaller than 1MB.": "The image is too large. Please upload an image smaller than 1MB.", + "The Super Admin role cannot be deleted.": "The Super Admin role cannot be deleted.", + "The Super Admin role is immutable.": "The Super Admin role is immutable.", + "The Super Admin role name cannot be modified.": "The Super Admin role name cannot be modified.", + "This is a system administrator role. Its name is locked to ensure system stability.": "This is a system administrator role. Its name is locked to ensure system stability.", + "This role belongs to another company and cannot be assigned.": "This role belongs to another company and cannot be assigned.", + "Time": "Time", + "Time Slots": "Time Slots", + "Timer": "Timer", + "Timestamp": "Timestamp", + "To": "To", + "to": "to", + "To:": "To:", + "Today Cumulative Sales": "Today Cumulative Sales", + "Today's Transactions": "Today's Transactions", + "Total": "Total", + "Total Connected": "Total Connected", + "Total Customers": "Total Customers", + "Total Daily Sales": "Today's Total Sales", + "Total Gross Value": "Total Gross Value", + "Total items": "Total items: :count", + "Total Logins": "Total Logins", + "Total Selected": "Total Selected", + "Total Slots": "Total Slots", + "Track Channel Limit": "Track Channel Limit", + "Track device health and maintenance history": "Track device health and maintenance history", + "Track Limit": "Track Limit", + "Traditional Chinese": "Traditional Chinese", + "Transfer Audit": "Transfer Audit", + "Transfers": "Transfers", + "Trigger": "Trigger", + "Trigger Dispense": "Trigger Dispense", + "Trigger Remote Dispense": "Trigger Remote Dispense", + "Tutorial Page": "Tutorial Page", + "Type": "Type", + "Type to search or leave blank for system defaults.": "Type to search or leave blank for system defaults.", + "UI Elements": "UI Elements", + "Unauthorized Status": "Unauthorized", + "Uncategorized": "Uncategorized", + "Unified Operational Timeline": "Unified Operational Timeline", + "Units": "Units", + "Unknown": "Unknown", + "Unlock": "Unlock", + "Unlock Now": "Unlock Now", + "Unlock Page": "Unlock Page", + "Update": "Update", + "Update Authorization": "Update Authorization", + "Update Customer": "Update Customer", + "Update existing role and permissions.": "Update existing role and permissions.", + "Update identification for your asset": "Update identification for your asset", + "Update Password": "Update Password", + "Update Product": "Update Product", + "Update your account's profile information and email address.": "Update your account's profile information and email address.", + "Upload Image": "Upload Image", + "Upload New Images": "Upload New Images", + "Upload Video": "Upload Video", + "Uploading new images will replace all existing images.": "Uploading new images will replace all existing images.", + "User": "User", + "user": "user", + "User Info": "User Info", + "Username": "Username", + "Users": "Users", + "Utilization Rate": "Utilization Rate", + "Utilization Timeline": "稼動時序", + "Utilization, OEE and Operational Intelligence": "稼動率、OEE 與營運情報", + "Utilized Time": "Utilized Time", + "Valid Until": "Valid Until", + "Validation Error": "Validation Error", + "Vending": "Vending", + "vending": "vending", + "Vending Page": "Vending Page", + "Venue Management": "Venue Management", + "video": "video", + "View Details": "View Details", + "View Logs": "View Logs", + "View More": "View More", + "Visit Gift": "Visit Gift", + "visit_gift": "visit_gift", + "vs Yesterday": "vs Yesterday", + "Waiting for Payment": "Waiting for Payment", + "Warehouse List": "Warehouse List", + "Warehouse List (All)": "Warehouse List (All)", + "Warehouse List (Individual)": "Warehouse List (Individual)", + "Warehouse Management": "Warehouse Management", + "Warehouse Permissions": "Warehouse Permissions", + "warehouses": "warehouses", + "Warning": "Warning", + "Warning: You are editing your own role!": "Warning: You are editing your own role!", + "Welcome Gift": "Welcome Gift", + "Welcome Gift Status": "Welcome Gift Status", + "Work Content": "Work Content", + "Yes, regenerate": "Yes, regenerate", + "Yesterday": "Yesterday", + "You cannot assign permissions you do not possess.": "You cannot assign permissions you do not possess.", + "You cannot delete your own account.": "You cannot delete your own account.", + "Your email address is unverified.": "Your email address is unverified.", + "Your recent account activity": "Your recent account activity", + "待填寫": "待填寫" +} \ No newline at end of file diff --git a/lang/ja.json b/lang/ja.json index 811f2ae..c9a7110 100644 --- a/lang/ja.json +++ b/lang/ja.json @@ -1,49 +1,61 @@ { - "Abnormal": "異常", + "15 Seconds": "15秒", + "30 Seconds": "30秒", + "60 Seconds": "60秒", "A new verification link has been sent to your email address.": "新しい認証リンクがメールアドレスに送信されました。", - "AI Prediction": "AI予測", - "API Token": "APIトークン", - "API Token Copied": "APIトークンをコピーしました", - "API Token regenerated successfully.": "APIトークンが正常に再生成されました。", - "APK Versions": "APKバージョン", - "APP Features": "APP機能設定", - "APP Management": "APP管理", - "APP Version": "APPバージョン", - "APP_ID": "APP_ID", - "APP_KEY": "APP_KEY", + "Abnormal": "異常", "Account": "アカウント", "Account :name status has been changed to :status.": "アカウント :name のステータスが :status に変更されました。", + "Account created successfully.": "アカウントが正常に作成されました。", + "Account deleted successfully.": "アカウントが正常に削除されました。", "Account Info": "アカウント情報", "Account List": "アカウント一覧", "Account Management": "アカウント管理", "Account Name": "アカウント名", "Account Settings": "アカウント設定", "Account Status": "アカウント状態", - "Account created successfully.": "アカウントが正常に作成されました。", - "Account deleted successfully.": "アカウントが正常に削除されました。", "Account updated successfully.": "アカウントが正常に更新されました。", - "Slot updated successfully.": "スロットが正常に更新されました。", "Account:": "アカウント:", + "accounts": "アカウント管理", "Accounts / Machines": "アカウント / 機体", "Action": "操作", "Actions": "操作", "Active": "有効", + "Active Status": "有効ステータス", + "Ad Settings": "広告設定", "Add Account": "アカウント追加", + "Add Advertisement": "広告を追加", + "Add Category": "カテゴリーを追加", "Add Customer": "顧客追加", "Add Machine": "機体追加", "Add Machine Model": "モデル追加", "Add Maintenance Record": "メンテナンス記録追加", + "Add Product": "商品を追加", "Add Role": "権限追加", + "Adjust Stock": "在庫調整", + "Adjust Stock & Expiry": "在庫と消費期限の調整", "Admin": "管理者", + "admin": "管理員", + "Admin display name": "管理者表示名", "Admin Name": "管理者名", "Admin Page": "管理者ページ", "Admin Sellable Products": "商品表示管理", - "Admin display name": "管理者表示名", "Administrator": "管理者", + "Advertisement assigned successfully": "広告の割り当てに成功しました", + "Advertisement assigned successfully.": "広告の割り当てに成功しました。", + "Advertisement created successfully": "広告の作成に成功しました", + "Advertisement created successfully.": "広告の作成に成功しました。", + "Advertisement deleted successfully": "広告の削除に成功しました", + "Advertisement deleted successfully.": "広告の削除に成功しました。", + "Advertisement List": "広告一覧", "Advertisement Management": "広告管理", + "Advertisement updated successfully": "広告の更新に成功しました", + "Advertisement updated successfully.": "広告の更新に成功しました。", + "Advertisement Video/Image": "広告動画/画像", "Affiliated Company": "所属会社", "Affiliated Unit": "所属会社", "Affiliation": "所属会社", + "AI Prediction": "AI予測", "Alert Summary": "アラート概要", "Alerts": "アラート", "Alerts Pending": "保留中のアラート", @@ -53,10 +65,24 @@ "All Companies": "すべての会社", "All Levels": "すべてのレベル", "All Machines": "すべての機体", + "All Stable": "全機正常", "All Times System Timezone": "時間はすべてシステムタイムゾーンに基づきます", + "Amount": "金額", "An error occurred while saving.": "保存中にエラーが発生しました。", + "analysis": "分析管理", "Analysis Management": "分析管理", "Analysis Permissions": "分析権限", + "API Token": "APIトークン", + "API Token Copied": "APIトークンをコピーしました", + "API Token regenerated successfully.": "APIトークンが正常に再生成されました。", + "APK Versions": "APKバージョン", + "app": "APP管理", + "APP Features": "APP機能設定", + "APP Management": "APP管理", + "APP Version": "APPバージョン", + "APP_ID": "APP_ID", + "APP_KEY": "APP_KEY", + "Apply changes to all identical products in this machine": "この機台の同一商品すべてに変更を適用", "Apply to all identical products in this machine": "この機体内のすべての同一商品に適用する", "Are you sure to delete this customer?": "この顧客を削除してもよろしいですか?", "Are you sure you want to change the status of this product? Disabled products will not be visible on the machine.": "この商品のステータスを変更してもよろしいですか?無効にすると機体に表示されなくなります。", @@ -65,6 +91,7 @@ "Are you sure you want to deactivate this account? After deactivating, this account will no longer be able to log in to the system.": "このアカウントを無効化してもよろしいですか?無効化すると、システムにログインできなくなります。", "Are you sure you want to delete this account?": "このアカウントを削除してもよろしいですか?", "Are you sure you want to delete this account? This action cannot be undone.": "このアカウントを削除してもよろしいですか?この操作は取り消せません。", + "Are you sure you want to delete this advertisement? This will also remove all assignments to machines.": "Are you sure you want to delete this advertisement? This will also remove all assignments to machines.", "Are you sure you want to delete this configuration?": "この設定を削除してもよろしいですか?", "Are you sure you want to delete this configuration? This action cannot be undone.": "この設定を削除してもよろしいですか?この操作は取り消せません。", "Are you sure you want to delete this item? This action cannot be undone.": "この項目を削除してもよろしいですか?この操作は取り消せません。", @@ -73,12 +100,17 @@ "Are you sure you want to delete this role? This action cannot be undone.": "この権限を削除してもよろしいですか?この操作は取り消せません。", "Are you sure you want to delete your account?": "アカウントを削除してもよろしいですか?", "Are you sure you want to proceed? This action cannot be undone.": "続行してもよろしいですか?この操作は取り消せません。", + "Are you sure you want to remove this assignment?": "この割り当てを解除してもよろしいですか?", "Are you sure you want to send this command?": "このコマンドを送信してもよろしいですか?", "Are you sure?": "よろしいですか?", "Assign": "割り当て", + "Assign Advertisement": "広告を割り当て", "Assign Machines": "機体割り当て", "Assigned Machines": "割り当て済み機体", + "Assignment removed successfully.": "割り当てを解除しました。", + "audit": "監査管理", "Audit Management": "監査管理", + "Audit Permissions": "稽核権限", "Authorization updated successfully": "権限が正常に更新されました", "Authorize": "認証", "Authorize Btn": "認証", @@ -91,36 +123,48 @@ "Available Machines": "割り当て可能な機体", "Avatar updated successfully.": "アバターが正常に更新されました。", "Avg Cycle": "平均サイクル", + "Back to History": "履歴に戻る", "Back to List": "リストに戻る", "Badge Settings": "バッジ設定", "Barcode": "バーコード", + "Barcode / Material": "バーコード / 素材", "Basic Information": "基本情報", "Basic Settings": "基本設定", "Basic Specifications": "基本仕様", + "basic-settings": "基本設定", + "basic.machines": "機体設定", + "basic.payment-configs": "顧客決済設定", + "Batch": "バッチ", "Batch No": "ロット番号", + "Batch Number": "バッチ番号", "Belongs To": "所属会社", "Belongs To Company": "所属会社", "Business Type": "業種", "Buyout": "買い取り", "Cancel": "キャンセル", "Cancel Purchase": "購入キャンセル", - "Cannot Delete Role": "権限を削除できません", "Cannot change Super Admin status.": "Super Admin のステータスは変更できません。", + "Cannot delete advertisement being used by machines.": "マシンで使用中の広告は削除できません。", "Cannot delete company with active accounts.": "有効なアカウントを持つ会社は削除できません。", "Cannot delete model that is currently in use by machines.": "機体で使用中のモデルは削除できません。", + "Cannot Delete Role": "権限を削除できません", "Cannot delete role with active users.": "有効なユーザーを持つ権限は削除できません。", "Card Reader": "カードリーダー", "Card Reader No": "カードリーダー番号", "Card Reader Reboot": "カードリーダーの再起動", "Card Reader Restart": "カードリーダー再起動", "Card Reader Seconds": "カードリーダー秒数", + "Card Terminal": "カード端末", "Category": "カテゴリ", + "Category Management": "カテゴリー管理", + "Category Name": "カテゴリー名", "Category Name (en)": "カテゴリ名 (英語)", "Category Name (ja)": "カテゴリ名 (日本語)", "Category Name (zh_TW)": "カテゴリ名 (繁体字中国語)", "Change": "変更", "Change Stock": "在庫変更", "Channel Limits": "チャネル制限", + "Channel Limits (Track/Spring)": "チャネル上限(トラック/スプリング)", "Channel Limits Configuration": "チャネル制限設定", "ChannelId": "チャネルID", "ChannelSecret": "チャネルシークレット", @@ -134,7 +178,12 @@ "Click to upload": "クリックしてアップロード", "Close Panel": "パネルを閉じる", "Command Center": "指令センター", + "Command Confirmation": "コマンド実行の確認", + "Command error:": "コマンドエラー:", + "Command has been queued successfully.": "コマンドがキューに正常に追加されました。", "Command queued successfully.": "コマンドが正常にキューに追加されました。", + "Command Type": "コマンドタイプ", + "companies": "顧客管理", "Company": "会社", "Company Code": "会社コード", "Company Information": "会社情報", @@ -145,6 +194,7 @@ "Confirm": "確認", "Confirm Account Deactivation": "無効化の確認", "Confirm Account Status Change": "アカウントステータス変更の確認", + "Confirm Assignment": "割り当てを確認", "Confirm Changes": "変更を確認", "Confirm Deletion": "削除の確認", "Confirm Password": "パスワード(確認)", @@ -160,9 +210,11 @@ "Contact Phone": "電話番号", "Contract Period": "契約期間", "Contract Until (Optional)": "契約終了日(任意)", + "Control": "操作", "Cost": "コスト", "Coupons": "クーポン", "Create": "作成", + "Create a new role and assign permissions.": "新しい権限を定義し、パーミッションを割り当てます。", "Create Config": "設定作成", "Create Machine": "機体作成", "Create New Role": "新しい権限を作成", @@ -170,7 +222,7 @@ "Create Product": "商品作成", "Create Role": "権限作成", "Create Sub Account Role": "子アカウント権限作成", - "Create a new role and assign permissions.": "新しい権限を定義し、パーミッションを割り当てます。", + "Creation Time": "作成日時", "Critical": "致命的", "Current": "現在", "Current Password": "現在のパスワード", @@ -178,14 +230,14 @@ "Current Stock": "現在庫", "Current Type": "現在のタイプ", "Current:": "現在:", - "Customer Details": "顧客詳細", - "Customer Info": "顧客情報", - "Customer Management": "顧客管理", - "Customer Payment Config": "顧客決済設定", "Customer and associated accounts disabled successfully.": "顧客と関連アカウントが正常に無効化されました。", "Customer created successfully.": "顧客が正常に作成されました。", "Customer deleted successfully.": "顧客が正常に削除されました。", + "Customer Details": "顧客詳細", "Customer enabled successfully.": "顧客が正常に有効化されました。", + "Customer Info": "顧客情報", + "Customer Management": "顧客管理", + "Customer Payment Config": "顧客決済設定", "Customer updated successfully.": "顧客が正常に更新されました。", "Cycle Efficiency": "サイクル効率", "Daily Revenue": "日次収益", @@ -193,6 +245,10 @@ "Dashboard": "ダッシュボード", "Data Configuration": "データ設定", "Data Configuration Permissions": "データ設定権限", + "data-config": "データ設定", + "data-config.sub-account-roles": "子アカウント権限", + "data-config.sub-accounts": "子アカウント管理", + "Date Range": "期間", "Day Before": "前日", "Default Donate": "デフォルト寄付する", "Default Not Donate": "デフォルト寄付しない", @@ -200,7 +256,10 @@ "Define new third-party payment parameters": "新しい外部決済パラメータを定義します", "Delete": "削除", "Delete Account": "アカウント削除", + "Delete Advertisement": "広告を削除", + "Delete Advertisement Confirmation": "広告削除の確認", "Delete Permanently": "完全に削除", + "Delete Product": "商品を削除", "Delete Product Confirmation": "商品削除の確認", "Deposit Bonus": "リチャージボーナス", "Describe the repair or maintenance status...": "修理またはメンテナンスの状況を記入してください...", @@ -216,6 +275,18 @@ "Dispense Failed": "払い出し失敗", "Dispense Success": "払い出し成功", "Dispensing": "払い出し中", + "Duration": "再生時間", + "Duration (Seconds)": "再生時間(秒)", + "e.g. 500ml / 300g": "例: 500ml / 300g", + "e.g. John Doe": "例:山田太郎", + "e.g. johndoe": "例:yamadataro", + "e.g. Taiwan Star": "例:Taiwan Star", + "e.g. TWSTAR": "例:TWSTAR", + "e.g., Beverage": "例:飲料", + "e.g., Company Standard Pay": "例:標準決済設定", + "e.g., Drinks": "例:ドリンク", + "e.g., Taipei Station": "例:台北駅前", + "e.g., お飲み物": "例:お飲み物", "E.SUN QR Scan": "玉山銀行QRスキャン", "E.SUN QR Scan Settings Description": "玉山銀行QRスキャン決済設定", "EASY_MERCHANT_ID": "EASY_MERCHANT_ID", @@ -223,12 +294,15 @@ "ECPay Invoice Settings Description": "緑界(ECPay)電子請求書発行設定", "Edit": "編集", "Edit Account": "アカウント編集", + "Edit Advertisement": "広告を編集", "Edit Category": "カテゴリ編集", "Edit Customer": "顧客編集", "Edit Expiry": "有効期限編集", "Edit Machine": "機体編集", "Edit Machine Model": "モデル編集", + "Edit Machine Name": "マシン名を編集", "Edit Machine Settings": "機体設定編集", + "Edit Name": "名前を編集", "Edit Payment Config": "決済設定編集", "Edit Product": "商品編集", "Edit Role": "権限編集", @@ -244,37 +318,50 @@ "Enabled/Disabled": "有効/無効", "End Date": "終了日", "Engineer": "エンジニア", + "English": "英語", "Ensure your account is using a long, random password to stay secure.": "セキュリティを保つため、アカウントには長くランダムなパスワードを使用してください。", + "Enter ad material name": "広告素材名を入力", "Enter login ID": "ログインIDを入力", "Enter machine location": "設置場所を入力", "Enter machine name": "機体名を入力", + "Enter machine name...": "マシン名を入力...", "Enter model name": "モデル名を入力", "Enter role name": "権限名を入力", "Enter serial number": "シリアル番号を入力", "Enter your password to confirm": "確認のためパスワードを入力してください", + "Entire Machine": "機体全体", "Equipment efficiency and OEE metrics": "設備効率とOEE総合指標", "Error": "エラー", "Error processing request": "リクエスト処理エラー", + "Execute": "実行する", "Execute Change": "釣り銭払い出し実行", + "Execute Delivery Now": "今すぐ払い出し", "Execute maintenance and operational commands remotely": "機材のメンテナンスや操作コマンドの遠隔実行", + "Execute Remote Change": "遠隔払い出し実行", "Execution Time": "実行時間", "Exp": "有効期限", "Expired": "期限切れ", "Expired / Disabled": "期限切れ / 無効", + "Expiring": "期限間近", + "Expiry": "期限", "Expiry Date": "有効期限", "Expiry Management": "賞味期限管理", + "failed": "失敗", + "Failed": "失敗", "Failed to fetch machine data.": "機体データの取得に失敗しました。", "Failed to load permissions": "権限の読み込みに失敗しました", "Failed to save permissions.": "権限の保存に失敗しました。", "Failed to update machine images: ": "機体画像の更新に失敗しました: ", "Feature Settings": "機能設定", "Feature Toggles": "機能切り替え", + "files selected": "個のファイルを選択", "Fill in the device repair or maintenance details": "修理またはメンテナンスの詳細を記入してください", "Fill in the product details below": "商品の詳細を記入してください", "Firmware Version": "ファームウェアバージョン", "Fleet Avg OEE": "フリート平均OEE", "Fleet Performance": "フリートパフォーマンス", "Force end current session": "現在のセッションを強制終了", + "Force End Session": "セッション強制終了", "From": "から", "From:": "から:", "Full Access": "フルアクセス", @@ -285,6 +372,7 @@ "Gift Definitions": "ギフト定義", "Global roles accessible by all administrators.": "すべての管理者がアクセス可能なグローバル権限。", "Got it": "了解しました", + "Grant UI Access": "UIアクセス許可", "Half Points": "ハーフポイント", "Half Points Amount": "ハーフポイント金額", "Hardware & Network": "ハードウェアとネットワーク", @@ -297,93 +385,118 @@ "Heating Start Time": "加熱開始時間", "Helper": "ヘルパー", "Home Page": "ホームページ", + "hours ago": "時間前", "Identity & Codes": "IDとコード", + "image": "画像", "Info": "情報", "Initial Admin Account": "初期管理者アカウント", "Initial Role": "初期権限", "Installation": "設置", "Invoice Status": "請求書ステータス", "Items": "項目", + "items": "項目", + "Japanese": "日本語", "JKO_MERCHANT_ID": "JKO_MERCHANT_ID", + "john@example.com": "john@example.com", "Joined": "参加日", + "Just now": "たった今", "Key": "キー", "Key No": "キー番号", - "LEVEL TYPE": "レベルタイプ", - "LINE Pay Direct": "LINE Pay直販", - "LINE Pay Direct Settings Description": "LINE Pay公式直接接続設定", - "LINE_MERCHANT_ID": "LINE_MERCHANT_ID", - "LIVE": "ライブ", + "Last Communication": "最終通信", "Last Heartbeat": "最終ハートビート", "Last Page": "最後のページ", "Last Signal": "最終信号", + "Last Sync": "最終通信", "Last Time": "最終時間", "Last Updated": "最終更新", "Lease": "リース", "Level": "レベル", + "LEVEL TYPE": "レベルタイプ", + "line": "Line管理", "Line Coupons": "Lineクーポン", "Line Machines": "Line連携機体", "Line Management": "Line管理", "Line Members": "Line会員", "Line Official Account": "Line公式アカウント", "Line Orders": "Line注文", + "LINE Pay Direct": "LINE Pay直販", + "LINE Pay Direct Settings Description": "LINE Pay公式直接接続設定", "Line Permissions": "Line権限", "Line Products": "Line商品", + "LINE_MERCHANT_ID": "LINE_MERCHANT_ID", + "LIVE": "ライブ", "Live Fleet Updates": "リアルタイム機体状況", "Loading Cabinet...": "棚を読み込み中...", "Loading machines...": "機体を読み込み中...", "Loading...": "読み込み中...", "Location": "場所", "Lock": "ロック", + "Lock Now": "今すぐロック", + "Lock Page": "ページロック", + "Lock Page Lock": "ページをロック", + "Lock Page Unlock": "ロック解除", "Locked Page": "ロックされたページ", "Login History": "ログイン履歴", "Logout": "ログアウト", "Logs": "ログ", + "Low": "在庫不足", + "Low Stock": "在庫不足", "Loyalty & Features": "ロイヤリティと機能", + "Machine Advertisement Settings": "マシン広告設定", "Machine Count": "機体数", + "Machine created successfully.": "機体が正常に作成されました。", "Machine Details": "機体詳細", "Machine Images": "機体画像", + "Machine images updated successfully.": "機体画像が正常に更新されました。", "Machine Info": "機体情報", "Machine Information": "機体情報", + "Machine Inventory": "マシン在庫", + "Machine is heartbeat normal": "通信状態良好", "Machine List": "機体一覧", "Machine Login Logs": "機体ログインログ", "Machine Logs": "機体ログ", "Machine Management": "機体管理", "Machine Management Permissions": "機体管理権限", "Machine Model": "機体モデル", + "Machine model created successfully.": "機体モデルが正常に作成されました。", + "Machine model deleted successfully.": "機体モデルが正常に削除されました。", "Machine Model Settings": "機体モデル設定", + "Machine model updated successfully.": "機体モデルが正常に更新されました。", "Machine Name": "機体名", "Machine Permissions": "機体権限", + "Machine Reboot": "マシンの再起動", "Machine Registry": "機体レジストリ", "Machine Reports": "機体レポート", "Machine Restart": "機体再起動", "Machine Settings": "機体設定", + "Machine settings updated successfully.": "機体設定が正常に更新されました。", "Machine Status": "機体状態", "Machine Status List": "機体稼動状況リスト", - "Stock & Expiry": "在庫と消費期限", - "Stock & Expiry Management": "在庫・期限管理", + "Machine updated successfully.": "マシンが正常に更新されました。", "Machine Utilization": "機台稼働率", - "Machine created successfully.": "機体が正常に作成されました。", - "Machine images updated successfully.": "機体画像が正常に更新されました。", - "Machine model created successfully.": "機体モデルが正常に作成されました。", - "Machine model deleted successfully.": "機体モデルが正常に削除されました。", - "Machine model updated successfully.": "機体モデルが正常に更新されました。", - "Machine settings updated successfully.": "機体設定が正常に更新されました。", "Machines": "機体", + "machines": "機体管理", "Machines Online": "オンライン機体", "Maintenance": "メンテナンス", "Maintenance Content": "メンテナンス内容", "Maintenance Date": "メンテナンス日", "Maintenance Details": "メンテナンス詳細", + "Maintenance Operations": "メンテナンス操作", "Maintenance Photos": "メンテナンス写真", "Maintenance QR": "メンテナンスQR", "Maintenance QR Code": "メンテナンスQRコード", - "Maintenance Records": "メンテナンス記録", "Maintenance record created successfully": "メンテナンス記録が正常に作成されました", + "Maintenance Records": "メンテナンス記録", + "Manage": "管理", "Manage Account Access": "アカウントアクセス管理", - "Manage Expiry": "有効期限管理", + "Manage ad materials and machine playback settings": "広告素材とマシン再生設定を管理", "Manage administrative and tenant accounts": "管理者およびテナントアカウントの管理", "Manage all tenant accounts and validity": "すべてのテナントアカウントと有効性の管理", + "Manage Expiry": "有効期限管理", + "Manage inventory and monitor expiry dates across all machines": "全機台の在庫管理と賞味期限の監視", "Manage machine access permissions": "機体のアクセス権限管理", + "Manage your ad material details": "広告素材の詳細を管理", + "Manage your catalog, categories, and inventory settings.": "カタログ、カテゴリー、在庫設定を管理します。", "Manage your catalog, prices, and multilingual details.": "カタログ、価格、多言語詳細を管理します。", "Manage your machine fleet and operational data": "機体群と運用データを管理します", "Manage your profile information, security settings, and login history": "プロフィール、セキュリティ、ログイン履歴を管理します", @@ -391,429 +504,23 @@ "Management of operational parameters and models": "運用パラメータとモデルの管理", "Manufacturer": "メーカー", "Material Code": "品目コード", + "Material Name": "素材名", + "Material Type": "素材タイプ", "Max": "最大", "Max 3": "最大3枚", + "Max 50MB": "最大50MB", + "Max 5MB": "最大5MB", "Max Capacity:": "最大容量:", + "Member": "会員", "Member & External": "会員と外部連携", "Member List": "会員一覧", "Member Management": "会員管理", "Member Price": "会員価格", "Member Status": "会員状態", "Member System": "会員システム", + "members": "会員管理", "Membership Tiers": "会員ランク", "Menu Permissions": "メニュー権限", - "Merchant IDs": "ショップID", - "Merchant payment gateway settings management": "ショップ決済ゲートウェイ設定管理", - "Message": "メッセージ", - "Message Content": "メッセージ内容", - "Message Display": "メッセージ表示", - "Min 8 characters": "最低8文字", - "Model": "モデル", - "Model Name": "モデル名", - "Models": "モデル", - "Modifying your own administrative permissions may result in losing access to certain system functions.": "自分自身の管理権限を変更すると、特定のシステム機能へのアクセスを失う可能性があります。", - "Monitor and manage stock levels across your fleet": "全機台の在庫状況を監視・管理します", - "Monitor events and system activity across your vending fleet.": "自動販売機群のイベントとシステムアクティビティを監視します。", - "Monthly Transactions": "月間取引数", - "Monthly cumulative revenue overview": "月間累積収益の概要", - "Name": "名前", - "Name in English": "英語名", - "Name in Japanese": "日本語名", - "Name in Traditional Chinese": "繁体字中国語名", - "Never Connected": "未接続", - "New Password": "新しいパスワード", - "New Password (leave blank to keep current)": "新しいパスワード(変更しない場合は空白)", - "New Record": "新規記録", - "New Role": "新しい権限", - "New Sub Account Role": "新しい子アカウント権限", - "Next": "次へ", - "No Invoice": "請求書なし", - "No Machine Selected": "機体が選択されていません", - "No accounts found": "アカウントが見つかりません", - "No active cargo lanes found": "アクティブな貨道が見つかりません", - "No alert summary": "アラートの概要はありません", - "No command history": "コマンド履歴なし", - "No configurations found": "設定が見つかりません", - "No content provided": "内容が提供されていません", - "No customers found": "顧客が見つかりません", - "No data available": "データがありません", - "No file uploaded.": "ファイルがアップロードされていません。", - "No images uploaded": "画像がアップロードされていません", - "No location set": "場所が設定されていません", - "No login history yet": "ログイン履歴がまだありません", - "No logs found": "ログが見つかりません", - "No machines assigned": "機体が割り当てられていません", - "No machines available": "利用可能な機体はありません", - "No machines available in this company.": "この会社で割り当て可能な機体はありません。", - "No matching logs found": "一致するログが見つかりません", - "No matching machines": "一致する機体が見つかりません", - "No permissions": "権限なし", - "No roles available": "利用可能な権限はありません", - "No roles found.": "権限が見つかりません。", - "No slots found": "スロットが見つかりません", - "No users found": "ユーザーが見つかりません", - "None": "なし", - "Normal": "通常", - "Not Used": "不使用", - "Not Used Description": "外部決済サービスを使用しない", - "Notes": "備考", - "OEE": "OEE", - "OEE Efficiency Trend": "OEE効率傾向", - "OEE Score": "OEEスコア", - "OEE.Activity": "アクティビティ", - "OEE.Errors": "エラー", - "OEE.Hours": "時間", - "OEE.Orders": "注文数", - "OEE.Sales": "売上高", - "Offline": "オフライン", - "Offline Machines": "オフライン機体", - "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "アカウントを削除すると、そのすべてのリソースとデータが完全に削除されます。削除する前に、保存しておきたいデータをダウンロードしてください。", - "Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "アカウントを削除すると、そのすべてのリソースとデータが完全に削除されます。完全に削除するには、パスワードを入力してください。", - "Online": "オンライン", - "Online Duration": "オンライン継続時間", - "Online Machines": "オンライン機体", - "Online Status": "オンライン状態", - "Only system roles can be assigned to platform administrative accounts.": "プラットフォーム管理アカウントにはシステム権限のみを割り当てることができます。", - "Operation Note": "操作メモ", - "Operational Parameters": "運用パラメータ", - "Operations": "運用", - "Optimal": "最適", - "Optimized Performance": "最適化されたパフォーマンス", - "Optimized for display. Supported formats: JPG, PNG, WebP.": "表示用に最適化。対応形式:JPG, PNG, WebP。", - "Optional": "任意", - "Order Management": "注文管理", - "Orders": "注文", - "Original": "元", - "Original Type": "元のタイプ", - "Original:": "元:", - "Other Permissions": "その他の権限", - "Others": "その他", - "Output Count": "出力数", - "Owner": "所属会社", - "PARTNER_KEY": "PARTNER_KEY", - "PI_MERCHANT_ID": "PI_MERCHANT_ID", - "PNG, JPG up to 2MB": "2MB以下のPNG、JPG", - "PNG, JPG, WEBP up to 10MB": "PNG, JPG, WEBP 最大10MB", - "PS_MERCHANT_ID": "PS_MERCHANT_ID", - "Page Lock Status": "ページロック状態", - "Parameters": "パラメータ", - "Pass Code": "パスコード", - "Pass Codes": "パスコード", - "Password": "パスワード", - "Password updated successfully.": "パスワードが正常に更新されました。", - "Payment & Invoice": "決済と請求書", - "Payment Buffer Seconds": "決済猶予秒数", - "Payment Config": "決済設定", - "Payment Configuration": "決済設定", - "Payment Configuration created successfully.": "決済設定が正常に作成されました。", - "Payment Configuration deleted successfully.": "決済設定が正常に削除されました。", - "Payment Configuration updated successfully.": "決済設定が正常に更新されました。", - "Payment Selection": "決済選択", - "Pending": "機台の取得待ち", - "Performance": "パフォーマンス", - "Permanent": "永久", - "Permanently Delete Account": "アカウントを完全に削除", - "Permission Settings": "パーミッション設定", - "Permissions": "パーミッション", - "Permissions updated successfully": "権限が正常に更新されました", - "Phone": "電話番号", - "Photo Slot": "写真スロット", - "Pickup Code": "受け取りコード", - "Pickup Codes": "受け取りコード", - "Please check the following errors:": "以下のエラーを確認してください:", - "Please check the form for errors.": "フォームのエラーを確認してください。", - "Please select a machine to view metrics": "データを確認する機体を選択してください", - "Point Rules": "ポイントルール", - "Point Settings": "ポイント設定", - "Previous": "前へ", - "Pricing Information": "価格情報", - "Product Details": "商品詳細", - "Product Image": "商品画像", - "Product Management": "商品管理", - "Product Name (Multilingual)": "商品名(多言語)", - "Product Reports": "商品レポート", - "Product Status": "商品状態", - "Product created successfully": "商品が正常に作成されました", - "Product deleted successfully": "商品が正常に削除されました", - "Product status updated to :status": "商品ステータスが :status に更新されました", - "Product updated successfully": "商品が正常に更新されました", - "Production Company": "製造会社", - "Profile": "プロフィール", - "Profile Information": "プロフィール情報", - "Profile Settings": "プロフィール設定", - "Profile updated successfully.": "プロフィールが正常に更新されました。", - "Promotions": "販促", - "Protected": "保護済み", - "Purchase Audit": "購入監査", - "Purchase Finished": "購入完了", - "Purchases": "購入", - "Purchasing": "購入中", - "Qty": "数量", - "Quality": "品質", - "Questionnaire": "アンケート", - "Quick Expiry Check": "有効期限クイックチェック", - "Quick Maintenance": "クイックメンテナンス", - "Quick Select": "クイック選択", - "Quick search...": "クイック検索...", - "Real-time fleet efficiency and OEE metrics": "リアルタイムのフリート効率とOEE指標", - "Real-time monitoring across all machines": "全機体のリアルタイム監視", - "Real-time performance analytics": "リアルタイムのパフォーマンス分析", - "Real-time status monitoring": "リアルタイムの状態監視", - "Reason for this command...": "このコマンドの理由...", - "Receipt Printing": "レシート印刷", - "Recent Commands": "最近のコマンド", - "Recent Login": "最近のログイン", - "Regenerate": "再生成", - "Regenerating the token will disconnect the physical machine until it is updated. Continue?": "トークンを再生成すると、機体を更新するまで接続が切断されます。続行しますか?", - "Remote Change": "リモート変更", - "Remote Checkout": "リモートチェックアウト", - "Remote Command Center": "遠隔指令センター", - "Remote Dispense": "リモート払い出し", - "Remote Lock": "リモートロック", - "Remote Management": "リモート管理", - "Remote Permissions": "リモート権限", - "Remote Settlement": "遠隔決済処理", - "Removal": "取り外し", - "Repair": "修理", - "Replenishment Audit": "補充監査", - "Replenishment Page": "補充ページ", - "Replenishment Records": "補充記録", - "Replenishments": "補充", - "Reporting Period": "レポート期間", - "Reservation Members": "予約会員", - "Reservation System": "予約システム", - "Reservations": "予約", - "Reset POS terminal": "POS端末のリセット", - "Restart entire machine": "機台全体を再起動", - "Restrict machine UI access": "機台UIアクセス制限", - "Returns": "返品", - "Risk": "リスク", - "Role": "役職", - "Role Identification": "権限識別", - "Role Management": "権限管理", - "Role Name": "権限名", - "Role Permissions": "権限パーミッション", - "Role Settings": "権限パーミッション設定", - "Role Type": "権限タイプ", - "Role created successfully.": "権限が正常に作成されました。", - "Role deleted successfully.": "権限が正常に削除されました。", - "Role name already exists in this company.": "この会社内に同じ名前の権限が既に存在します。", - "Role not found.": "権限が見つかりません。", - "Role updated successfully.": "権限が正常に更新されました。", - "Roles": "権限パーミッション", - "Roles scoped to specific customer companies.": "特定の顧客会社に限定された権限。", - "Running Status": "稼働状態", - "SYSTEM": "システム", - "Sale Price": "販売価格", - "Sales": "売上", - "Sales Activity": "販売アクティビティ", - "Sales Management": "売上管理", - "Sales Permissions": "売上権限", - "Sales Records": "売上記録", - "Save": "保存", - "Save Changes": "変更を保存", - "Save Config": "設定保存", - "Save Permissions": "パーミッション保存", - "Saved.": "保存しました。", - "Saving...": "保存中...", - "Scale level and access control": "規模レベルとアクセス制御", - "Scan this code to quickly access the maintenance form for this device.": "このコードをスキャンして、端末のメンテナンスフォームに素早くアクセスします。", - "Search Company Title...": "会社名を検索...", - "Search by name or S/N...": "名称または製造番号で検索...", - "Search company...": "会社を検索...", - "Search configurations...": "設定を検索...", - "Search customers...": "顧客を検索...", - "Search machines by name or serial...": "機体名またはシリアルで検索...", - "Search machines...": "機体を検索...", - "Search models...": "モデルを検索...", - "Search roles...": "権限を検索...", - "Search serial no or name...": "シリアルまたは名前を検索...", - "Search serial or machine...": "シリアルまたは機体を検索...", - "Search serial or name...": "シリアルまたは名前を検索...", - "Search users...": "ユーザーを検索...", - "Security & State": "セキュリティと状態", - "Select All": "すべて選択", - "Select Cargo Lane": "貨道選択", - "Select Company": "会社名を選択", - "Select Company (Default: System)": "会社を選択(デフォルト:システム)", - "Select Machine": "機体を選択", - "Select Machine to view metrics": "データを確認する機体を選択してください", - "Select Model": "モデルを選択", - "Select Owner": "会社名を選択", - "Select Slot...": "貨道を選択...", - "Select a machine to deep dive": "詳細分析を行う機体を選択してください", - "Select date to sync data": "同期する日付を選択してください", - "Selected": "選択中", - "Selected Date": "検索日", - "Selection": "選択", - "set": "設定済み", - "Serial & Version": "シリアルとバージョン", - "Serial NO": "シリアル番号", - "Serial No": "シリアル番号", - "Serial Number": "シリアル番号", - "Show": "表示", - "Show material code field in products": "商品の品目コードを表示する", - "Show points rules in products": "商品のポイントルールを表示する", - "Showing": "表示中", - "Showing :from to :to of :total items": ":from から :to まで表示中 (全 :total 項目)", - "Sign in to your account": "アカウントにサインイン", - "Signed in as": "ログイン中:", - "Slot": "スロット", - "Slot Mechanism (default: Conveyor, check for Spring)": "スロット機構(デフォルト:ベルト、スプリングはチェック)", - "Slot Status": "スロット状態", - "Slot Test": "スロットテスト", - "Some fields need attention": "いくつかの入力項目を確認してください", - "Special Permission": "特別権限", - "Specifications": "仕様", - "Spring Channel Limit": "スプリングチャネル制限", - "Spring Limit": "スプリング制限", - "Staff Stock": "スタッフ在庫", - "Start Date": "開始日", - "Status": "ステータス", - "Status / Temp / Sub / Card / Scan": "状態 / 温度 / 子機 / カード / スキャン", - "Stock Management": "在庫管理", - "Real-time monitoring and adjustment of cargo lane inventory and expiration dates": "各マシンの在庫と賞味期限をリアルタイムで監視・調整します", - "Superseded by new adjustment": "この指令は新しい調整によって置き換えられました", - "Superseded by new command": "この指令は新しいコマンドによって置き換えられました", - "Stock Quantity": "在庫数", - "Store Gifts": "ショップギフト", - "Store ID": "ストアID", - "Store Management": "ショップ管理", - "StoreID": "ストアID", - "Sub Account Management": "子アカウント管理", - "Sub Account Roles": "子アカウント権限", - "Sub Accounts": "子アカウント", - "Sub-actions": "サブアクション", - "Sub-machine Status Request": "子機状態", - "Submit Record": "記録を提出", - "Success": "成功", - "Superseded": "取り消し", - "Super Admin": "Super Admin", - "Super-admin role cannot be assigned to tenant accounts.": "Super Admin 権限はテナントアカウントに割り当てることはできません。", - "Survey Analysis": "アンケート分析", - "System Default": "システムデフォルト", - "System Default (Common)": "システムデフォルト(共通)", - "System Level": "システムレベル", - "System Official": "システム公式", - "System Reboot": "システム再起動", - "System Role": "システム権限", - "System role name cannot be modified.": "システム権限名は変更できません。", - "System roles cannot be deleted by tenant administrators.": "テナント管理者はシステム権限を削除できません。", - "System roles cannot be modified by tenant administrators.": "テナント管理者はシステム権限を変更できません。", - "System super admin accounts cannot be deleted.": "システム Super Admin アカウントは削除できません。", - "System super admin accounts cannot be modified via this interface.": "システム Super Admin アカウントはこの画面から変更できません。", - "Systems Initializing": "システム初期化中", - "TapPay Integration": "TapPay連携", - "TapPay Integration Settings Description": "TapPay決済連携設定", - "Target": "目標", - "Tax ID (Optional)": "統一編號(任意)", - "Temperature": "温度", - "TermID": "端末ID", - "The Super Admin role cannot be deleted.": "Super Admin 権限は削除できません。", - "The Super Admin role is immutable.": "Super Admin 権限は変更できません。", - "The Super Admin role name cannot be modified.": "Super Admin 権限名は変更できません。", - "The image is too large. Please upload an image smaller than 1MB.": "画像サイズが大きすぎます。1MB以下の画像をアップロードしてください。", - "This is a system administrator role. Its name is locked to ensure system stability.": "これはシステム管理者権限です。システムの安定性を確保するため、名称はロックされています。", - "This role belongs to another company and cannot be assigned.": "この権限は別の会社に属しているため割り当てられません。", - "Time": "時間", - "Time Slots": "時間帯", - "Timer": "タイマー", - "Timestamp": "タイムスタンプ", - "To": "へ", - "Today Cumulative Sales": "本日累積売上高", - "Today's Transactions": "本日の取引数", - "Total Connected": "合計接続数", - "Total Customers": "合計顧客数", - "Total Daily Sales": "本日の総売上", - "Total Gross Value": "総グロス価値", - "Total Logins": "合計ログイン数", - "Total Selected": "選択済み合計", - "Total Slots": "総スロット数", - "Total items": "合計項目数: :count", - "Track Channel Limit": "軌道チャネル制限", - "Track Limit": "軌通制限", - "Track device health and maintenance history": "端末の健全性とメンテナンス履歴を追跡", - "Transfer Audit": "転送監査", - "Transfers": "転送", - "Trigger Dispense": "出庫トリガー", - "Tutorial Page": "チュートリアルページ", - "Type": "タイプ", - "Type to search or leave blank for system defaults.": "検索キーワードを入力するか、空白のままにしてシステムデフォルトを使用します。", - "UI Elements": "UI要素", - "Unauthorized Status": "未認証", - "Uncategorized": "未分類", - "Unified Operational Timeline": "統合運用タイムライン", - "Units": "ユニット", - "Unknown": "不明", - "Unlock": "解除", - "Update": "更新", - "Update Authorization": "認証更新", - "Update Customer": "顧客更新", - "Update Password": "パスワード更新", - "Update Product": "商品更新", - "Update existing role and permissions.": "既存の権限とパーミッションを更新します。", - "Update your account's profile information and email address.": "アカウントのプロフィール情報とメールアドレスを更新します。", - "Upload New Images": "新しい画像をアップロード", - "Uploading new images will replace all existing images.": "新しい画像をアップロードすると、既存の画像はすべて入れ替わります。", - "User": "ユーザー", - "User Info": "ユーザー情報", - "Username": "ユーザー名", - "Users": "ユーザー", - "Utilization Rate": "稼働率", - "Utilization Timeline": "稼動時序", - "Utilization, OEE and Operational Intelligence": "稼動率、OEE と運用インテリジェンス", - "Utilized Time": "稼動時間", - "Valid Until": "有効期限", - "Validation Error": "バリデーションエラー", - "Vending Page": "自販機ページ", - "Venue Management": "会場管理", - "View Details": "詳細を見る", - "View Logs": "ログを見る", - "Waiting for Payment": "支払い待ち", - "Warehouse List": "倉庫リスト", - "Warehouse List (All)": "倉庫リスト(すべて)", - "Warehouse List (Individual)": "倉庫リスト(個別)", - "Warehouse Management": "倉庫管理", - "Warehouse Permissions": "倉庫権限", - "Warning": "警告", - "Warning: You are editing your own role!": "警告:自分自身の権限を編集しています!", - "Welcome Gift": "ウェルカムギフト", - "Welcome Gift Status": "ウェルカムギフト状態", - "Work Content": "作業内容", - "Yes, regenerate": "はい、再生成します", - "Yesterday": "昨日", - "You cannot assign permissions you do not possess.": "自分が持っていないパーミッションを割り当てることはできません。", - "You cannot delete your own account.": "自分自身のアカウントを削除することはできません。", - "Your email address is unverified.": "メールアドレスが未認証です。", - "Your recent account activity": "最近のアカウントアクティビティ", - "accounts": "アカウント管理", - "admin": "管理員", - "analysis": "分析管理", - "app": "APP管理", - "audit": "監査管理", - "basic-settings": "基本設定", - "basic.machines": "機体設定", - "basic.payment-configs": "顧客決済設定", - "companies": "顧客管理", - "data-config": "データ設定", - "data-config.sub-account-roles": "子アカウント権限", - "data-config.sub-accounts": "子アカウント管理", - "e.g. John Doe": "例:山田太郎", - "e.g. TWSTAR": "例:TWSTAR", - "e.g. Taiwan Star": "例:Taiwan Star", - "e.g. johndoe": "例:yamadataro", - "e.g., Beverage": "例:飲料", - "e.g., Company Standard Pay": "例:標準決済設定", - "e.g., Drinks": "例:ドリンク", - "e.g., Taipei Station": "例:台北駅前", - "e.g., お飲み物": "例:お飲み物", - "failed": "失敗", - "files selected": "個のファイルを選択", - "items": "項目", - "john@example.com": "john@example.com", - "line": "Line管理", - "machines": "機体管理", - "members": "会員管理", "menu.analysis": "分析管理", "menu.app": "APP管理", "menu.audit": "監査管理", @@ -845,68 +552,501 @@ "menu.sales": "売上管理", "menu.special-permission": "特別権限", "menu.warehouses": "倉庫管理", + "Merchant IDs": "ショップID", + "Merchant payment gateway settings management": "ショップ決済ゲートウェイ設定管理", + "Message": "メッセージ", + "Message Content": "メッセージ内容", + "Message Display": "メッセージ表示", "min": "分", - "pending": "機台の取得待ち", - "sent": "機台が取得済み", - "success": "成功", - "Sent": "機台が取得済み", - "Failed": "失敗", - "Creation Time": "作成日時", - "Picked up Time": "取得日時", - "Picked up": "取得", - "Total": "合計", - "Low": "在庫不足", - "Manage": "管理", - "Control": "操作", - "Manage inventory and monitor expiry dates across all machines": "全機台の在庫管理と賞味期限の監視", - "Operation Records": "操作記録", - "New Command": "新規コマンド", - "Adjust Stock": "在庫調整", - "Adjust Stock & Expiry": "在庫と消費期限の調整", - "Back to History": "履歴に戻る", - "Command Type": "コマンドタイプ", - "No records found": "記録が見つかりません", - "View More": "もっと見る", - "Operator": "操作員", - "Stock": "在庫", - "Expiry": "期限", - "Batch": "バッチ", - "N/A": "N/A", - "All Stable": "全機正常", - "Expiring": "期限間近", - "Just now": "たった今", + "Min 8 characters": "最低8文字", "mins ago": "分前", - "hours ago": "時間前", - "Last Sync": "最終通信", - "Last Communication": "最終通信", - "Command Confirmation": "コマンド実行の確認", - "Please confirm the details below": "以下の操作内容を確認してください", + "Model": "モデル", + "Model Name": "モデル名", + "Models": "モデル", + "Modifying your own administrative permissions may result in losing access to certain system functions.": "自分自身の管理権限を変更すると、特定のシステム機能へのアクセスを失う可能性があります。", + "Monitor and manage stock levels across your fleet": "全機台の在庫状況を監視・管理します", + "Monitor events and system activity across your vending fleet.": "自動販売機群のイベントとシステムアクティビティを監視します。", + "Monthly cumulative revenue overview": "月間累積収益の概要", + "Monthly Transactions": "月間取引数", + "Multilingual Names": "多言語名称", + "N/A": "N/A", + "Name": "名前", + "Name in English": "英語名", + "Name in Japanese": "日本語名", + "Name in Traditional Chinese": "繁体字中国語名", + "Never Connected": "未接続", + "New Command": "新規コマンド", + "New Machine Name": "新しいマシン名", + "New Password": "新しいパスワード", + "New Password (leave blank to keep current)": "新しいパスワード(変更しない場合は空白)", + "New Record": "新規記録", + "New Role": "新しい権限", + "New Sub Account Role": "新しい子アカウント権限", + "Next": "次へ", + "No accounts found": "アカウントが見つかりません", + "No active cargo lanes found": "アクティブな貨道が見つかりません", "No additional notes": "追加のメモはありません", - "Execute": "実行する", - "Command has been queued successfully.": "コマンドがキューに正常に追加されました。", - "Command error:": "コマンドエラー:", - "System & Security Control": "システムとセキュリティ制御", - "Maintenance Operations": "メンテナンス操作", - "Entire Machine": "機体全体", + "No advertisements found.": "広告が見つかりません。", + "No alert summary": "アラートの概要はありません", + "No assignments": "割り当てなし", + "No command history": "コマンド履歴なし", + "No Company": "会社なし", + "No configurations found": "設定が見つかりません", + "No content provided": "内容が提供されていません", + "No customers found": "顧客が見つかりません", + "No data available": "データがありません", + "No file uploaded.": "ファイルがアップロードされていません。", + "No heartbeat for over 30 seconds": "30秒以上ハートビートがありません", + "No images uploaded": "画像がアップロードされていません", + "No Invoice": "請求書なし", + "No location set": "場所が設定されていません", + "No login history yet": "ログイン履歴がまだありません", + "No logs found": "ログが見つかりません", + "No Machine Selected": "機体が選択されていません", + "No machines assigned": "機体が割り当てられていません", + "No machines available": "利用可能な機体はありません", + "No machines available in this company.": "この会社で割り当て可能な機体はありません。", + "No maintenance records found": "メンテナンス記録がありません", + "No matching logs found": "一致するログが見つかりません", + "No matching machines": "一致する機体が見つかりません", + "No materials available": "利用可能な素材がありません", + "No permissions": "権限なし", + "No records found": "記録が見つかりません", + "No roles available": "利用可能な権限はありません", + "No roles found.": "権限が見つかりません。", + "No slots found": "スロットが見つかりません", + "No users found": "ユーザーが見つかりません", + "None": "なし", + "Normal": "通常", + "Not Used": "不使用", + "Not Used Description": "外部決済サービスを使用しない", + "Notes": "備考", + "OEE": "OEE", + "OEE Efficiency Trend": "OEE効率傾向", + "OEE Score": "OEEスコア", + "OEE.Activity": "アクティビティ", + "OEE.Errors": "エラー", + "OEE.Hours": "時間", + "OEE.Orders": "注文数", + "OEE.Sales": "売上高", + "of": "/", + "Offline": "オフライン", + "Offline Machines": "オフライン機体", + "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "アカウントを削除すると、そのすべてのリソースとデータが完全に削除されます。削除する前に、保存しておきたいデータをダウンロードしてください。", + "Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "アカウントを削除すると、そのすべてのリソースとデータが完全に削除されます。完全に削除するには、パスワードを入力してください。", + "Online": "オンライン", + "Online Duration": "オンライン継続時間", + "Online Machines": "オンライン機体", + "Online Status": "オンライン状態", + "Only system roles can be assigned to platform administrative accounts.": "プラットフォーム管理アカウントにはシステム権限のみを割り当てることができます。", + "Operation Note": "操作メモ", + "Operation Records": "操作記録", + "Operational Parameters": "運用パラメータ", + "Operations": "運用", + "Operator": "操作員", + "Optimal": "最適", + "Optimized for display. Supported formats: JPG, PNG, WebP.": "表示用に最適化。対応形式:JPG, PNG, WebP。", + "Optimized Performance": "最適化されたパフォーマンス", + "Optional": "任意", + "Order Management": "注文管理", + "Orders": "注文", + "Original": "元", + "Original Type": "元のタイプ", + "Original:": "元:", + "Other Permissions": "その他の権限", + "Others": "その他", + "Output Count": "出力数", + "Owner": "所属会社", + "Page Lock Status": "ページロック状態", + "Parameters": "パラメータ", + "PARTNER_KEY": "PARTNER_KEY", + "Pass Code": "パスコード", + "Pass Codes": "パスコード", + "Password": "パスワード", + "Password updated successfully.": "パスワードが正常に更新されました。", + "Payment & Invoice": "決済と請求書", + "Payment Buffer Seconds": "決済猶予秒数", + "Payment Config": "決済設定", + "Payment Configuration": "決済設定", + "Payment Configuration created successfully.": "決済設定が正常に作成されました。", + "Payment Configuration deleted successfully.": "決済設定が正常に削除されました。", + "Payment Configuration updated successfully.": "決済設定が正常に更新されました。", + "Payment Selection": "決済選択", + "Pending": "機台の取得待ち", + "pending": "機台の取得待ち", + "Performance": "パフォーマンス", + "Permanent": "永久", + "Permanently Delete Account": "アカウントを完全に削除", + "Permission Settings": "パーミッション設定", + "Permissions": "パーミッション", + "permissions": "permissions", + "Permissions updated successfully": "権限が正常に更新されました", + "permissions.accounts": "permissions.accounts", + "permissions.companies": "permissions.companies", + "permissions.roles": "permissions.roles", + "Phone": "電話番号", + "Photo Slot": "写真スロット", + "PI_MERCHANT_ID": "PI_MERCHANT_ID", + "Picked up": "取得", + "Picked up Time": "取得日時", + "Pickup Code": "受け取りコード", + "Pickup Codes": "受け取りコード", + "Playback Order": "再生順序", + "Please check the following errors:": "以下のエラーを確認してください:", + "Please check the form for errors.": "フォームのエラーを確認してください。", + "Please confirm the details below": "以下の操作内容を確認してください", + "Please select a machine first": "先にマシンを選択してください", + "Please select a machine to view and manage its advertisements.": "広告を表示・管理するマシンを選択してください。", + "Please select a machine to view metrics": "データを確認する機体を選択してください", + "Please select a material": "素材を選択してください", + "Please select a slot": "スロットを選択してください", + "PNG, JPG up to 2MB": "2MB以下のPNG、JPG", + "PNG, JPG, WEBP up to 10MB": "PNG, JPG, WEBP 最大10MB", + "Point Rules": "ポイントルール", + "Point Settings": "ポイント設定", + "Points Rule": "ポイントルール", + "Points Settings": "ポイント設定", + "Points toggle": "ポイント切替", "POS Reboot": "POS再起動", - "Card Terminal": "カード端末", - "Settlement": "決済処理", - "Force End Session": "セッション強制終了", - "Security Controls": "セキュリティ制御", - "Unlock Page": "ページ解除", - "Grant UI Access": "UIアクセス許可", - "Unlock Now": "今すぐ解除", - "Lock Page": "ページロック", - "Restrict UI Access": "UIアクセス制限", - "Lock Now": "今すぐロック", - "Execute Remote Change": "遠隔払い出し実行", - "Select Target Slot": "ターゲットスロットを選択", - "Execute Delivery Now": "今すぐ払い出し", - "Trigger": "実行", - "Slot No": "スロット番号", - "Amount": "金額", - "Machine Reboot": "マシンの再起動", + "Position": "位置", + "Preview": "プレビュー", + "Previous": "前へ", + "Price / Member": "価格 / 会員", + "Pricing Information": "価格情報", + "Product Count": "商品数", + "Product created successfully": "商品が正常に作成されました", + "Product deleted successfully": "商品が正常に削除されました", + "Product Details": "商品詳細", + "Product Image": "商品画像", + "Product Info": "商品情報", + "Product List": "商品一覧", + "Product Management": "商品管理", + "Product Name (Multilingual)": "商品名(多言語)", + "Product Reports": "商品レポート", + "Product Status": "商品状態", + "Product status updated to :status": "商品ステータスが :status に更新されました", + "Product updated successfully": "商品が正常に更新されました", + "Production Company": "製造会社", + "Profile": "プロフィール", + "Profile Information": "プロフィール情報", + "Profile Settings": "プロフィール設定", + "Profile updated successfully.": "プロフィールが正常に更新されました。", + "Promotions": "販促", + "Protected": "保護済み", + "PS_LEVEL": "PS_LEVEL", + "PS_MERCHANT_ID": "PS_MERCHANT_ID", + "Purchase Audit": "購入監査", + "Purchase Finished": "購入完了", + "Purchases": "購入", + "Purchasing": "購入中", + "Qty": "数量", + "Quality": "品質", + "Questionnaire": "アンケート", + "Quick Expiry Check": "有効期限クイックチェック", + "Quick Maintenance": "クイックメンテナンス", + "Quick search...": "クイック検索...", + "Quick Select": "クイック選択", + "Real-time fleet efficiency and OEE metrics": "リアルタイムのフリート効率とOEE指標", + "Real-time monitoring across all machines": "全機体のリアルタイム監視", + "Real-time monitoring and adjustment of cargo lane inventory and expiration dates": "各マシンの在庫と賞味期限をリアルタイムで監視・調整します", + "Real-time OEE analysis awaits": "リアルタイムOEE分析を待機中", + "Real-time Operation Logs (Last 50)": "リアルタイム稼働ログ(直近50件)", + "Real-time performance analytics": "リアルタイムのパフォーマンス分析", + "Real-time status monitoring": "リアルタイムの状態監視", + "Reason for this command...": "このコマンドの理由...", + "Receipt Printing": "レシート印刷", + "Recent Commands": "最近のコマンド", + "Recent Login": "最近のログイン", + "Recently reported errors or warnings in logs": "最近のログにエラーまたは警告があります", + "Regenerate": "再生成", + "Regenerating the token will disconnect the physical machine until it is updated. Continue?": "トークンを再生成すると、機体を更新するまで接続が切断されます。続行しますか?", + "remote": "remote", + "Remote Change": "リモート変更", + "Remote Checkout": "リモートチェックアウト", + "Remote Command Center": "遠隔指令センター", + "Remote Dispense": "リモート払い出し", + "Remote Lock": "リモートロック", + "Remote Management": "リモート管理", + "Remote Permissions": "リモート権限", "Remote Reboot": "リモート精算", - "Lock Page Unlock": "ロック解除", - "Lock Page Lock": "ページをロック" -} + "Remote Settlement": "遠隔決済処理", + "Removal": "取り外し", + "Repair": "修理", + "Replenishment Audit": "補充監査", + "Replenishment Page": "補充ページ", + "Replenishment Records": "補充記録", + "Replenishments": "補充", + "Reporting Period": "レポート期間", + "reservation": "reservation", + "Reservation Members": "予約会員", + "Reservation System": "予約システム", + "Reservations": "予約", + "Reset POS terminal": "POS端末のリセット", + "Restart entire machine": "機台全体を再起動", + "Restrict machine UI access": "機台UIアクセス制限", + "Restrict UI Access": "UIアクセス制限", + "Retail Price": "小売価格", + "Returns": "返品", + "Risk": "リスク", + "Role": "役職", + "Role created successfully.": "権限が正常に作成されました。", + "Role deleted successfully.": "権限が正常に削除されました。", + "Role Identification": "権限識別", + "Role Management": "権限管理", + "Role Name": "権限名", + "Role name already exists in this company.": "この会社内に同じ名前の権限が既に存在します。", + "Role not found.": "権限が見つかりません。", + "Role Permissions": "権限パーミッション", + "Role Settings": "権限パーミッション設定", + "Role Type": "権限タイプ", + "Role updated successfully.": "権限が正常に更新されました。", + "Roles": "権限パーミッション", + "roles": "roles", + "Roles scoped to specific customer companies.": "特定の顧客会社に限定された権限。", + "Running": "稼働中", + "Running Status": "稼働状態", + "s": "s", + "Sale Price": "販売価格", + "Sales": "売上", + "sales": "sales", + "Sales Activity": "販売アクティビティ", + "Sales Management": "売上管理", + "Sales Permissions": "売上権限", + "Sales Records": "売上記録", + "Save": "保存", + "Save Changes": "変更を保存", + "Save Config": "設定保存", + "Save Material": "素材を保存", + "Save Permissions": "パーミッション保存", + "Saved.": "保存しました。", + "Saving...": "保存中...", + "Scale level and access control": "規模レベルとアクセス制御", + "Scan this code to quickly access the maintenance form for this device.": "このコードをスキャンして、端末のメンテナンスフォームに素早くアクセスします。", + "Search accounts...": "アカウントを検索...", + "Search by name or S/N...": "名称または製造番号で検索...", + "Search cargo lane": "貨道を検索", + "Search Company Title...": "会社名を検索...", + "Search company...": "会社を検索...", + "Search configurations...": "設定を検索...", + "Search customers...": "顧客を検索...", + "Search Machine...": "マシンを検索...", + "Search machines by name or serial...": "機体名またはシリアルで検索...", + "Search machines...": "機体を検索...", + "Search models...": "モデルを検索...", + "Search products...": "商品を検索...", + "Search roles...": "権限を検索...", + "Search serial no or name...": "シリアルまたは名前を検索...", + "Search serial or machine...": "シリアルまたは機体を検索...", + "Search serial or name...": "シリアルまたは名前を検索...", + "Search users...": "ユーザーを検索...", + "Search...": "検索...", + "Seconds": "秒", + "Security & State": "セキュリティと状態", + "Security Controls": "セキュリティ制御", + "Select a machine to deep dive": "詳細分析を行う機体を選択してください", + "Select a material to play on this machine": "このマシンで再生する素材を選択", + "Select All": "すべて選択", + "Select an asset from the left to start analysis": "左側から資産を選択して分析を開始", + "Select Cargo Lane": "貨道選択", + "Select Category": "カテゴリーを選択", + "Select Company": "会社名を選択", + "Select Company (Default: System)": "会社を選択(デフォルト:システム)", + "Select date to sync data": "同期する日付を選択してください", + "Select Machine": "機体を選択", + "Select Machine to view metrics": "データを確認する機体を選択してください", + "Select Material": "素材を選択", + "Select Model": "モデルを選択", + "Select Owner": "会社名を選択", + "Select Slot...": "貨道を選択...", + "Select Target Slot": "ターゲットスロットを選択", + "Select...": "選択...", + "Selected": "選択中", + "Selected Date": "検索日", + "Selection": "選択", + "sent": "機台が取得済み", + "Sent": "機台が取得済み", + "Serial & Version": "シリアルとバージョン", + "Serial NO": "シリアル番号", + "Serial No": "シリアル番号", + "Serial Number": "シリアル番号", + "set": "設定済み", + "Settlement": "決済処理", + "Show": "表示", + "Show material code field in products": "商品の品目コードを表示する", + "Show points rules in products": "商品のポイントルールを表示する", + "Showing": "表示中", + "Showing :from to :to of :total items": ":from から :to まで表示中 (全 :total 項目)", + "Sign in to your account": "アカウントにサインイン", + "Signed in as": "ログイン中:", + "Slot": "スロット", + "Slot Mechanism (default: Conveyor, check for Spring)": "スロット機構(デフォルト:ベルト、スプリングはチェック)", + "Slot No": "スロット番号", + "Slot Status": "スロット状態", + "Slot Test": "スロットテスト", + "Slot updated successfully.": "スロットが正常に更新されました。", + "Smallest number plays first.": "番号が小さい順に再生されます。", + "Some fields need attention": "いくつかの入力項目を確認してください", + "Sort Order": "並び順", + "Special Permission": "特別権限", + "special-permission": "special-permission", + "Specification": "仕様", + "Specifications": "仕様", + "Spring Channel Limit": "スプリングチャネル制限", + "Spring Limit": "スプリング制限", + "Staff Stock": "スタッフ在庫", + "Standby": "スタンバイ", + "standby": "standby", + "Standby Ad": "スタンバイ広告", + "Start Date": "開始日", + "Statistics": "統計", + "Status": "ステータス", + "Status / Temp / Sub / Card / Scan": "状態 / 温度 / 子機 / カード / スキャン", + "Stock": "在庫", + "Stock & Expiry": "在庫と消費期限", + "Stock & Expiry Management": "在庫・期限管理", + "Stock Management": "在庫管理", + "Stock Quantity": "在庫数", + "Stock:": "在庫:", + "Store Gifts": "ショップギフト", + "Store ID": "ストアID", + "Store Management": "ショップ管理", + "StoreID": "ストアID", + "Sub Account Management": "子アカウント管理", + "Sub Account Roles": "子アカウント権限", + "Sub Accounts": "子アカウント", + "Sub-actions": "サブアクション", + "Sub-machine Status Request": "子機状態", + "Submit Record": "記録を提出", + "Success": "成功", + "success": "成功", + "Super Admin": "Super Admin", + "super-admin": "super-admin", + "Super-admin role cannot be assigned to tenant accounts.": "Super Admin 権限はテナントアカウントに割り当てることはできません。", + "Superseded": "取り消し", + "Superseded by new adjustment": "この指令は新しい調整によって置き換えられました", + "Superseded by new command": "この指令は新しいコマンドによって置き換えられました", + "Survey Analysis": "アンケート分析", + "Syncing Permissions...": "権限を同期中...", + "SYSTEM": "システム", + "System": "システム", + "System & Security Control": "システムとセキュリティ制御", + "System Default": "システムデフォルト", + "System Default (All Companies)": "システムデフォルト(全社)", + "System Default (Common)": "システムデフォルト(共通)", + "System Level": "システムレベル", + "System Official": "システム公式", + "System Reboot": "システム再起動", + "System Role": "システム権限", + "System role name cannot be modified.": "システム権限名は変更できません。", + "System roles cannot be deleted by tenant administrators.": "テナント管理者はシステム権限を削除できません。", + "System roles cannot be modified by tenant administrators.": "テナント管理者はシステム権限を変更できません。", + "System super admin accounts cannot be deleted.": "システム Super Admin アカウントは削除できません。", + "System super admin accounts cannot be modified via this interface.": "システム Super Admin アカウントはこの画面から変更できません。", + "Systems Initializing": "システム初期化中", + "TapPay Integration": "TapPay連携", + "TapPay Integration Settings Description": "TapPay決済連携設定", + "Target": "目標", + "Target Position": "ターゲット位置", + "Tax ID": "税務番号", + "Tax ID (Optional)": "統一編號(任意)", + "Temperature": "温度", + "TermID": "端末ID", + "The image is too large. Please upload an image smaller than 1MB.": "画像サイズが大きすぎます。1MB以下の画像をアップロードしてください。", + "The Super Admin role cannot be deleted.": "Super Admin 権限は削除できません。", + "The Super Admin role is immutable.": "Super Admin 権限は変更できません。", + "The Super Admin role name cannot be modified.": "Super Admin 権限名は変更できません。", + "This is a system administrator role. Its name is locked to ensure system stability.": "これはシステム管理者権限です。システムの安定性を確保するため、名称はロックされています。", + "This role belongs to another company and cannot be assigned.": "この権限は別の会社に属しているため割り当てられません。", + "Time": "時間", + "Time Slots": "時間帯", + "Timer": "タイマー", + "Timestamp": "タイムスタンプ", + "To": "へ", + "to": "to", + "To:": "宛先:", + "Today Cumulative Sales": "本日累積売上高", + "Today's Transactions": "本日の取引数", + "Total": "合計", + "Total Connected": "合計接続数", + "Total Customers": "合計顧客数", + "Total Daily Sales": "本日の総売上", + "Total Gross Value": "総グロス価値", + "Total items": "合計項目数: :count", + "Total Logins": "合計ログイン数", + "Total Selected": "選択済み合計", + "Total Slots": "総スロット数", + "Track Channel Limit": "軌道チャネル制限", + "Track device health and maintenance history": "端末の健全性とメンテナンス履歴を追跡", + "Track Limit": "軌通制限", + "Traditional Chinese": "繁體中文", + "Transfer Audit": "転送監査", + "Transfers": "転送", + "Trigger": "実行", + "Trigger Dispense": "出庫トリガー", + "Trigger Remote Dispense": "リモート出荷を実行", + "Tutorial Page": "チュートリアルページ", + "Type": "タイプ", + "Type to search or leave blank for system defaults.": "検索キーワードを入力するか、空白のままにしてシステムデフォルトを使用します。", + "UI Elements": "UI要素", + "Unauthorized Status": "未認証", + "Uncategorized": "未分類", + "Unified Operational Timeline": "統合運用タイムライン", + "Units": "ユニット", + "Unknown": "不明", + "Unlock": "解除", + "Unlock Now": "今すぐ解除", + "Unlock Page": "ページ解除", + "Update": "更新", + "Update Authorization": "認証更新", + "Update Customer": "顧客更新", + "Update existing role and permissions.": "既存の権限とパーミッションを更新します。", + "Update identification for your asset": "資産の識別名を更新", + "Update Password": "パスワード更新", + "Update Product": "商品更新", + "Update your account's profile information and email address.": "アカウントのプロフィール情報とメールアドレスを更新します。", + "Upload Image": "画像をアップロード", + "Upload New Images": "新しい画像をアップロード", + "Upload Video": "動画をアップロード", + "Uploading new images will replace all existing images.": "新しい画像をアップロードすると、既存の画像はすべて入れ替わります。", + "User": "ユーザー", + "user": "user", + "User Info": "ユーザー情報", + "Username": "ユーザー名", + "Users": "ユーザー", + "Utilization Rate": "稼働率", + "Utilization Timeline": "稼動時序", + "Utilization, OEE and Operational Intelligence": "稼動率、OEE と運用インテリジェンス", + "Utilized Time": "稼動時間", + "Valid Until": "有効期限", + "Validation Error": "バリデーションエラー", + "Vending": "自販機", + "vending": "vending", + "Vending Page": "自販機ページ", + "Venue Management": "会場管理", + "video": "video", + "View Details": "詳細を見る", + "View Logs": "ログを見る", + "View More": "もっと見る", + "Visit Gift": "来店ギフト", + "visit_gift": "visit_gift", + "vs Yesterday": "前日比", + "Waiting for Payment": "支払い待ち", + "Warehouse List": "倉庫リスト", + "Warehouse List (All)": "倉庫リスト(すべて)", + "Warehouse List (Individual)": "倉庫リスト(個別)", + "Warehouse Management": "倉庫管理", + "Warehouse Permissions": "倉庫権限", + "warehouses": "warehouses", + "Warning": "警告", + "Warning: You are editing your own role!": "警告:自分自身の権限を編集しています!", + "Welcome Gift": "ウェルカムギフト", + "Welcome Gift Status": "ウェルカムギフト状態", + "Work Content": "作業内容", + "Yes, regenerate": "はい、再生成します", + "Yesterday": "昨日", + "You cannot assign permissions you do not possess.": "自分が持っていないパーミッションを割り当てることはできません。", + "You cannot delete your own account.": "自分自身のアカウントを削除することはできません。", + "Your email address is unverified.": "メールアドレスが未認証です。", + "Your recent account activity": "最近のアカウントアクティビティ", + "待填寫": "待填寫" +} \ No newline at end of file diff --git a/lang/zh_TW.json b/lang/zh_TW.json index 472856c..850cd97 100644 --- a/lang/zh_TW.json +++ b/lang/zh_TW.json @@ -1,31 +1,22 @@ { - "Abnormal": "異常", "15 Seconds": "15 秒", "30 Seconds": "30 秒", "60 Seconds": "60 秒", "A new verification link has been sent to your email address.": "已將新的驗證連結發送至您的電子郵件地址。", - "AI Prediction": "AI智能預測", - "API Token": "API 金鑰", - "API Token Copied": "API 金鑰已複製", - "API Token regenerated successfully.": "API 金鑰重新產生成功。", - "APK Versions": "APK版本", - "APP Features": "APP功能", - "APP Management": "APP管理", - "APP Version": "APP版本號", - "APP_ID": "APP_ID", - "APP_KEY": "APP_KEY", + "Abnormal": "異常", "Account": "帳號", "Account :name status has been changed to :status.": "帳號 :name 的狀態已變更為 :status。", + "Account created successfully.": "帳號已成功建立。", + "Account deleted successfully.": "帳號已成功刪除。", "Account Info": "帳號資訊", "Account List": "帳號列表", "Account Management": "帳號管理", "Account Name": "帳號名稱", "Account Settings": "帳戶設定", "Account Status": "帳號狀態", - "Account created successfully.": "帳號已成功建立。", - "Account deleted successfully.": "帳號已成功刪除。", "Account updated successfully.": "帳號已成功更新。", "Account:": "帳號:", + "accounts": "帳號管理", "Accounts / Machines": "帳號 / 機台", "Action": "操作", "Actions": "操作", @@ -41,26 +32,30 @@ "Add Maintenance Record": "新增維修管理單", "Add Product": "新增商品", "Add Role": "新增角色", + "Adjust Stock": "調整庫存", + "Adjust Stock & Expiry": "調整庫存與效期", "Admin": "管理員", + "admin": "管理員", + "Admin display name": "管理員顯示名稱", "Admin Name": "名稱", "Admin Page": "管理頁", "Admin Sellable Products": "管理者可賣", - "Admin display name": "管理員顯示名稱", "Administrator": "管理員", - "Advertisement List": "廣告列表", - "Advertisement Management": "廣告管理", - "Advertisement Video/Image": "廣告影片/圖片", "Advertisement assigned successfully": "廣告投放完成", "Advertisement assigned successfully.": "廣告投放完成。", "Advertisement created successfully": "廣告建立成功", "Advertisement created successfully.": "廣告建立成功。", "Advertisement deleted successfully": "廣告刪除成功", "Advertisement deleted successfully.": "廣告刪除成功。", + "Advertisement List": "廣告列表", + "Advertisement Management": "廣告管理", "Advertisement updated successfully": "廣告更新成功", "Advertisement updated successfully.": "廣告更新成功。", + "Advertisement Video/Image": "廣告影片/圖片", "Affiliated Company": "公司名稱", "Affiliated Unit": "公司名稱", "Affiliation": "所屬單位", + "AI Prediction": "AI智能預測", "Alert Summary": "告警摘要", "Alerts": "警示", "Alerts Pending": "待處理告警", @@ -70,10 +65,23 @@ "All Companies": "所有公司", "All Levels": "所有層級", "All Machines": "所有機台", + "All Stable": "狀態穩定", "All Times System Timezone": "所有時間為系統時區", + "Amount": "金額", "An error occurred while saving.": "儲存時發生錯誤。", + "analysis": "分析管理", "Analysis Management": "分析管理", "Analysis Permissions": "分析管理權限", + "API Token": "API 金鑰", + "API Token Copied": "API 金鑰已複製", + "API Token regenerated successfully.": "API 金鑰重新產生成功。", + "APK Versions": "APK版本", + "app": "APP 管理", + "APP Features": "APP功能", + "APP Management": "APP管理", + "APP Version": "APP版本號", + "APP_ID": "APP_ID", + "APP_KEY": "APP_KEY", "Apply changes to all identical products in this machine": "同步套用至此機台內的所有相同商品", "Apply to all identical products in this machine": "同步套用至此機台內的所有相同商品", "Are you sure to delete this customer?": "您確定要刪除此客戶嗎?", @@ -100,6 +108,7 @@ "Assign Machines": "分配機台", "Assigned Machines": "授權機台", "Assignment removed successfully.": "廣告投放已移除。", + "audit": "稽核管理", "Audit Management": "稽核管理", "Audit Permissions": "稽核管理權限", "Authorization updated successfully": "授權更新成功", @@ -114,6 +123,7 @@ "Available Machines": "可供分配的機台", "Avatar updated successfully.": "頭像已成功更新。", "Avg Cycle": "平均週期", + "Back to History": "返回紀錄", "Back to List": "返回列表", "Badge Settings": "識別證", "Barcode": "條碼", @@ -121,6 +131,10 @@ "Basic Information": "基本資訊", "Basic Settings": "基本設定", "Basic Specifications": "基本規格", + "basic-settings": "基本設定", + "basic.machines": "機台設定", + "basic.payment-configs": "客戶金流設定", + "Batch": "批號", "Batch No": "批號", "Batch Number": "批號", "Belongs To": "公司名稱", @@ -129,17 +143,18 @@ "Buyout": "買斷", "Cancel": "取消", "Cancel Purchase": "取消購買", - "Cannot Delete Role": "無法刪除該角色", "Cannot change Super Admin status.": "無法變更超級管理員的狀態。", "Cannot delete advertisement being used by machines.": "無法刪除正在使用的廣告素材。", "Cannot delete company with active accounts.": "無法刪除仍有客用帳號的客戶。", "Cannot delete model that is currently in use by machines.": "無法刪除目前正在被機台使用的型號。", + "Cannot Delete Role": "無法刪除該角色", "Cannot delete role with active users.": "無法刪除已有綁定帳號的角色。", "Card Reader": "刷卡機", "Card Reader No": "刷卡機編號", "Card Reader Reboot": "刷卡機重啟", "Card Reader Restart": "卡機重啟", "Card Reader Seconds": "刷卡機秒數", + "Card Terminal": "刷卡機端", "Category": "類別", "Category Management": "分類管理", "Category Name": "分類名稱", @@ -162,6 +177,20 @@ "Click to Open Dashboard": "點擊開啟儀表板", "Click to upload": "點擊上傳", "Close Panel": "關閉控制面板", + "Command Center": "指令中心", + "Command Confirmation": "指令確認", + "Command error:": "指令錯誤:", + "Command has been queued successfully.": "指令已成功排入佇列。", + "Command queued successfully.": "指令已加入佇列。", + "Command Type": "指令類型", + "companies": "客戶管理", + "Company": "客戶公司", + "Company Code": "公司代碼", + "Company Information": "公司資訊", + "Company Level": "公司層級", + "Company Name": "公司名稱", + "Config Name": "設定名稱", + "Configuration Name": "設定名稱", "Confirm": "確認", "Confirm Account Deactivation": "停用帳號確認", "Confirm Account Status Change": "帳號狀態變更確認", @@ -181,9 +210,11 @@ "Contact Phone": "聯絡人電話", "Contract Period": "合約期間", "Contract Until (Optional)": "合約到期日 (選填)", + "Control": "監控操作", "Cost": "成本", "Coupons": "優惠券", "Create": "建立", + "Create a new role and assign permissions.": "建立新角色並分配對應權限。", "Create Config": "建立配置", "Create Machine": "新增機台", "Create New Role": "建立新角色", @@ -191,7 +222,7 @@ "Create Product": "建立商品", "Create Role": "建立角色", "Create Sub Account Role": "建立子帳號角色", - "Create a new role and assign permissions.": "建立新角色並分配對應權限。", + "Creation Time": "建立時間", "Critical": "嚴重", "Current": "當前", "Current Password": "當前密碼", @@ -199,14 +230,14 @@ "Current Stock": "當前庫存", "Current Type": "當前類型", "Current:": "現:", - "Customer Details": "客戶詳情", - "Customer Info": "客戶資訊", - "Customer Management": "客戶管理", - "Customer Payment Config": "客戶金流設定", "Customer and associated accounts disabled successfully.": "客戶及其關聯帳號已成功停用。", "Customer created successfully.": "客戶新增成功。", "Customer deleted successfully.": "客戶已成功刪除。", + "Customer Details": "客戶詳情", "Customer enabled successfully.": "客戶已成功啟用。", + "Customer Info": "客戶資訊", + "Customer Management": "客戶管理", + "Customer Payment Config": "客戶金流設定", "Customer updated successfully.": "客戶更新成功。", "Cycle Efficiency": "週期效率", "Daily Revenue": "當日營收", @@ -214,6 +245,9 @@ "Dashboard": "儀表板", "Data Configuration": "資料設定", "Data Configuration Permissions": "資料設定權限", + "data-config": "資料設定", + "data-config.sub-account-roles": "子帳號角色", + "data-config.sub-accounts": "子帳號管理", "Date Range": "日期區間", "Day Before": "前日", "Default Donate": "預設捐贈", @@ -238,10 +272,21 @@ "Disable Product Confirmation": "停用商品確認", "Disabled": "已停用", "Discord Notifications": "Discord通知", + "Dispense Failed": "出貨失敗", "Dispense Success": "出貨成功", "Dispensing": "出貨", "Duration": "時長", "Duration (Seconds)": "播放秒數", + "e.g. 500ml / 300g": "例如:500ml / 300g", + "e.g. John Doe": "例如:張曉明", + "e.g. johndoe": "例如:xiaoming", + "e.g. Taiwan Star": "例如:台灣之星", + "e.g. TWSTAR": "例如:TWSTAR", + "e.g., Beverage": "例如:飲料", + "e.g., Company Standard Pay": "例如:公司標準支付", + "e.g., Drinks": "例如:Drinks", + "e.g., Taipei Station": "例如:台北車站", + "e.g., お飲み物": "例如:お飲み物", "E.SUN QR Scan": "玉山銀行標籤支付", "E.SUN QR Scan Settings Description": "玉山銀行掃碼支付設定", "EASY_MERCHANT_ID": "悠遊付 商店代號", @@ -255,7 +300,9 @@ "Edit Expiry": "編輯效期", "Edit Machine": "編輯機台", "Edit Machine Model": "編輯機台型號", + "Edit Machine Name": "編輯機台名稱", "Edit Machine Settings": "編輯機台設定", + "Edit Name": "編輯名稱", "Edit Payment Config": "編輯金流配置", "Edit Product": "編輯商品", "Edit Role": "編輯角色", @@ -277,32 +324,44 @@ "Enter login ID": "請輸入登入帳號", "Enter machine location": "請輸入機台地點", "Enter machine name": "請輸入機台名稱", + "Enter machine name...": "輸入機台名稱...", "Enter model name": "請輸入型號名稱", "Enter role name": "請輸入角色名稱", "Enter serial number": "請輸入機台序號", "Enter your password to confirm": "請輸入您的密碼以確認", + "Entire Machine": "全機台", "Equipment efficiency and OEE metrics": "設備效能與 OEE 綜合指標", "Error": "異常", "Error processing request": "處理請求時發生錯誤", + "Execute": "執行", "Execute Change": "執行找零", + "Execute Delivery Now": "立即執行出貨", + "Execute maintenance and operational commands remotely": "遠端執行維護與各項營運指令", + "Execute Remote Change": "執行遠端找零", "Execution Time": "執行時間", "Exp": "效期", "Expired": "已過期", "Expired / Disabled": "已過期 / 停用", + "Expiring": "效期將屆", + "Expiry": "效期", "Expiry Date": "有效日期", "Expiry Management": "效期管理", + "failed": "失敗", + "Failed": "執行失敗", "Failed to fetch machine data.": "無法取得機台資料。", "Failed to load permissions": "載入權限失敗", "Failed to save permissions.": "無法儲存權限設定。", "Failed to update machine images: ": "更新機台圖片失敗:", "Feature Settings": "功能設定", "Feature Toggles": "功能開關", + "files selected": "個檔案已選擇", "Fill in the device repair or maintenance details": "填寫設備維修或保養詳情", "Fill in the product details below": "請在下方填寫商品的詳細資訊", "Firmware Version": "韌體版本", "Fleet Avg OEE": "全機台平均 OEE", "Fleet Performance": "全機台效能", "Force end current session": "強制結束目前的連線", + "Force End Session": "強制結束當前會話", "From": "從", "From:": "起:", "Full Access": "全機台授權", @@ -313,6 +372,7 @@ "Gift Definitions": "禮品設定", "Global roles accessible by all administrators.": "適用於所有管理者的全域角色。", "Got it": "知道了", + "Grant UI Access": "開放 UI 存取權限", "Half Points": "半點數", "Half Points Amount": "半點數金額", "Hardware & Network": "硬體與網路", @@ -325,99 +385,115 @@ "Heating Start Time": "開啟-加熱時間", "Helper": "小幫手", "Home Page": "主頁面", + "hours ago": "小時前", "Identity & Codes": "識別與代碼", + "image": "圖片", "Info": "一般", "Initial Admin Account": "初始管理帳號", "Initial Role": "初始角色", "Installation": "裝機", "Invoice Status": "發票開立狀態", "Items": "個項目", - "JKO_MERCHANT_ID": "街口支付 商店代號", + "items": "筆項目", "Japanese": "日文", + "JKO_MERCHANT_ID": "街口支付 商店代號", + "john@example.com": "john@example.com", "Joined": "加入日期", + "Just now": "剛剛", "Key": "金鑰 (Key)", "Key No": "鑰匙編號", - "LEVEL TYPE": "層級類型", - "LINE Pay Direct": "LINE Pay 官方直連", - "LINE Pay Direct Settings Description": "LINE Pay 官方直連設定", - "LINE_MERCHANT_ID": "LINE Pay 商店代號", - "LIVE": "實時", + "Last Communication": "最後通訊", "Last Heartbeat": "最後心跳時間", "Last Page": "最後頁面", "Last Signal": "最後訊號時間", + "Last Sync": "最後通訊", "Last Time": "最後時間", "Last Updated": "最後更新日期", "Lease": "租賃", "Level": "層級", + "LEVEL TYPE": "層級類型", + "line": "Line 管理", "Line Coupons": "Line優惠券", "Line Machines": "Line機台", "Line Management": "Line管理", "Line Members": "Line會員", "Line Official Account": "Line生活圈", "Line Orders": "Line訂單", + "LINE Pay Direct": "LINE Pay 官方直連", + "LINE Pay Direct Settings Description": "LINE Pay 官方直連設定", "Line Permissions": "Line 管理權限", "Line Products": "Line商品", + "LINE_MERCHANT_ID": "LINE Pay 商店代號", + "LIVE": "實時", "Live Fleet Updates": "即時數據更新", "Loading Cabinet...": "正在載入貨道...", "Loading machines...": "正在載入機台...", "Loading...": "載入中...", "Location": "位置", "Lock": "鎖定", + "Lock Now": "立即鎖定", + "Lock Page": "頁面鎖定", + "Lock Page Lock": "鎖定頁鎖定", + "Lock Page Unlock": "鎖定頁解鎖", "Locked Page": "鎖定頁", "Login History": "登入歷史", "Logout": "登出", "Logs": "日誌", + "Low": "庫存不足", "Low Stock": "低庫存", "Loyalty & Features": "行銷與點數", "Machine Advertisement Settings": "機台廣告設置", "Machine Count": "機台數量", + "Machine created successfully.": "機台已成功建立。", "Machine Details": "機台詳情", "Machine Images": "機台照片", + "Machine images updated successfully.": "機台圖片已成功更新。", "Machine Info": "機台資訊", "Machine Information": "機台資訊", "Machine Inventory": "機台庫存", + "Machine is heartbeat normal": "機台通訊正常", "Machine List": "機台列表", "Machine Login Logs": "機台登入紀錄", "Machine Logs": "機台日誌", "Machine Management": "機台管理", "Machine Management Permissions": "機台管理權限", "Machine Model": "機台型號", + "Machine model created successfully.": "機台型號已成功建立。", + "Machine model deleted successfully.": "機台型號已成功刪除。", "Machine Model Settings": "機台型號設定", + "Machine model updated successfully.": "機台型號已成功更新。", "Machine Name": "機台名稱", "Machine Permissions": "機台權限", + "Machine Reboot": "機台重啟", "Machine Registry": "機台清冊", "Machine Reports": "機台報表", "Machine Restart": "機台重啟", "Machine Settings": "機台設定", + "Machine settings updated successfully.": "機台設定已成功更新。", "Machine Status": "機台狀態", "Machine Status List": "機台運行狀態列表", - "Stock & Expiry": "庫存與效期", - "Stock & Expiry Management": "庫存與效期管理", - "Real-time monitoring and adjustment of cargo lane inventory and expiration dates": "即時監控與調整各機台貨道庫存與效期狀態", - "Manage inventory and monitor expiry dates across all machines": "管理各機台庫存架位與效期監控", + "Machine updated successfully.": "機台更新成功。", "Machine Utilization": "機台稼動率", - "Machine created successfully.": "機台已成功建立。", - "Machine images updated successfully.": "機台圖片已成功更新。", - "Machine model created successfully.": "機台型號已成功建立。", - "Machine model deleted successfully.": "機台型號已成功刪除。", - "Machine model updated successfully.": "機台型號已成功更新。", - "Machine settings updated successfully.": "機台設定已成功更新。", "Machines": "機台列表", + "machines": "機台管理", "Machines Online": "在線機台數", "Maintenance": "保養", "Maintenance Content": "維修內容", "Maintenance Date": "維修日期", "Maintenance Details": "維修詳情", + "Maintenance Operations": "維護操作", "Maintenance Photos": "維修照片", "Maintenance QR": "維修掃描碼", "Maintenance QR Code": "維修掃描碼", - "Maintenance Records": "維修管理單", "Maintenance record created successfully": "維修紀錄已成功建立", + "Maintenance Records": "維修管理單", + "Manage": "管理", "Manage Account Access": "管理帳號存取", - "Manage Expiry": "進入效期管理", "Manage ad materials and machine playback settings": "管理廣告素材與機台播放設定", "Manage administrative and tenant accounts": "管理系統管理者與租戶帳號", "Manage all tenant accounts and validity": "管理所有租戶帳號與合約效期", + "Manage Expiry": "進入效期管理", + "Manage inventory and monitor expiry dates across all machines": "管理各機台庫存架位與效期監控", "Manage machine access permissions": "管理機台存取權限", "Manage your ad material details": "管理您的廣告素材詳情", "Manage your catalog, categories, and inventory settings.": "管理您的商品型錄、分類及庫存設定。", @@ -440,489 +516,11 @@ "Member List": "會員列表", "Member Management": "會員管理", "Member Price": "會員價", + "Member Status": "會員狀態", "Member System": "會員系統", + "members": "會員管理", "Membership Tiers": "會員等級", "Menu Permissions": "選單權限", - "Merchant IDs": "特店代號清單", - "Merchant payment gateway settings management": "特約商店支付網關參數管理", - "Message": "訊息", - "Message Content": "日誌內容", - "Message Display": "訊息顯示", - "Min 8 characters": "至少 8 個字元", - "Model": "機台型號", - "Model Name": "型號名稱", - "Models": "型號列表", - "Modifying your own administrative permissions may result in losing access to certain system functions.": "修改自身管理權限可能導致失去對部分系統功能的控制權。", - "Monitor and manage stock levels across your fleet": "監控並管理所有機台的庫存水位", - "Monitor events and system activity across your vending fleet.": "跨機台連線動態與系統日誌監控。", - "Monthly Transactions": "本月交易統計", - "Monthly cumulative revenue overview": "本月累計營收概況", - "Multilingual Names": "多語系名稱", - "Name": "名稱", - "Name in English": "英文名稱", - "Name in Japanese": "日文名稱", - "Name in Traditional Chinese": "繁體中文名稱", - "Never Connected": "從未連線", - "New Password": "新密碼", - "New Password (leave blank to keep current)": "新密碼 (若不修改請留空)", - "New Record": "新增單據", - "New Role": "新角色", - "New Sub Account Role": "新增子帳號角色", - "Next": "下一頁", - "No Company": "系統", - "No Invoice": "不開立發票", - "No Machine Selected": "尚未選擇機台", - "No accounts found": "找不到帳號資料", - "No active cargo lanes found": "未找到活動貨道", - "No advertisements found.": "未找到廣告素材。", - "No alert summary": "暫無告警記錄", - "No assignments": "尚未投放", - "No command history": "尚無指令紀錄", - "No configurations found": "暫無相關配置", - "No content provided": "未提供內容", - "No customers found": "找不到客戶資料", - "No data available": "暫無資料", - "No file uploaded.": "未上傳任何檔案。", - "No images uploaded": "尚未上傳照片", - "No location set": "尚未設定位置", - "No login history yet": "尚無登入紀錄", - "No logs found": "暫無相關日誌", - "No machines assigned": "未分配機台", - "No machines available": "目前沒有可供分配的機台", - "No machines available in this company.": "此客戶目前沒有可供分配的機台。", - "No maintenance records found": "找不到維修紀錄", - "No matching logs found": "找不到符合條件的日誌", - "No matching machines": "查無匹配機台", - "No materials available": "沒有可用的素材", - "No permissions": "無權限項目", - "No roles available": "目前沒有角色資料。", - "No roles found.": "找不到角色資料。", - "No slots found": "未找到貨道資訊", - "No users found": "找不到用戶資料", - "None": "無", - "Normal": "正常", - "Not Used": "不使用", - "Not Used Description": "不使用第三方支付介接", - "Notes": "備註", - "OEE Efficiency Trend": "OEE 效率趨勢", - "OEE Score": "OEE 綜合評分", - "OEE.Activity": "營運活動", - "OEE.Errors": "異常", - "OEE.Hours": "小時", - "OEE.Orders": "訂單", - "OEE.Sales": "銷售", - "Offline": "離線", - "Offline Machines": "離線機台", - "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "一旦您的帳號被刪除,其所有資源和數據將被永久刪除。在刪除帳號之前,請下載您希望保留的任何數據或資訊。", - "Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "帳號一旦刪除,所有關連數據將被永久移除。請輸入您的密碼以確認您希望永久刪除此帳號。", - "Online": "線上", - "Online Duration": "累積連線時數", - "Online Machines": "在線機台", - "Online Status": "在線狀態", - "Only system roles can be assigned to platform administrative accounts.": "僅系統角色可指派給平台管理帳號。", - "Operation Note": "操作備註", - "Operational Parameters": "運作參數", - "Operations": "運作設定", - "Optimal": "良好", - "Optimized Performance": "效能最佳化", - "Optimized for display. Supported formats: JPG, PNG, WebP.": "已針對顯示進行優化。支援格式:JPG, PNG, WebP。", - "Optional": "選填", - "Order Management": "訂單管理", - "Orders": "購買單", - "Original": "原始", - "Original Type": "原始類型", - "Original:": "原:", - "Other Permissions": "其他權限", - "Others": "其他功能", - "Output Count": "出貨次數", - "Owner": "公司名稱", - "PARTNER_KEY": "PARTNER_KEY", - "PI_MERCHANT_ID": "Pi 拍錢包 商店代號", - "PNG, JPG up to 2MB": "支援 PNG, JPG (最大 2MB)", - "PNG, JPG, WEBP up to 10MB": "支援 PNG, JPG, WEBP 格式,且不超過 10MB", - "PS_LEVEL": "PS_LEVEL", - "PS_MERCHANT_ID": "全盈+Pay 商店代號", - "Page Lock Status": "頁面鎖定狀態", - "Parameters": "參數設定", - "Pass Code": "通行碼", - "Pass Codes": "通行碼", - "Password": "密碼", - "Password updated successfully.": "密碼已成功變更。", - "Payment & Invoice": "金流與發票", - "Payment Buffer Seconds": "金流緩衝時間(s)", - "Payment Config": "金流配置", - "Payment Configuration": "客戶金流設定", - "Payment Configuration created successfully.": "金流設定已成功建立。", - "Payment Configuration deleted successfully.": "金流設定已成功刪除。", - "Payment Configuration updated successfully.": "金流設定已成功更新。", - "Payment Selection": "付款選擇", - "Pending": "等待機台領取", - "Performance": "效能 (Performance)", - "Permanent": "永久授權", - "Permanently Delete Account": "永久刪除帳號", - "Permission Settings": "權限設定", - "Permissions": "權限", - "Permissions updated successfully": "授權更新成功", - "Phone": "手機號碼", - "Photo Slot": "照片欄位", - "Pickup Code": "取貨碼", - "Pickup Codes": "取貨碼", - "Playback Order": "播放順序", - "Please check the following errors:": "請檢查以下錯誤:", - "Please check the form for errors.": "請檢查欄位內容是否正確。", - "Please select a machine first": "請先選擇機台", - "Please select a machine to view and manage its advertisements.": "請選擇一個機台以查看並管理其廣告。", - "Please select a machine to view metrics": "請選擇機台以查看數據", - "Please select a material": "請選擇素材", - "Point Rules": "點數規則", - "Point Settings": "點數設定", - "Points Rule": "點數規則", - "Points Settings": "點數設定", - "Points toggle": "點數開關", - "Position": "投放位置", - "Preview": "預覽", - "Previous": "上一頁", - "Price / Member": "售價 / 會員價", - "Pricing Information": "價格資訊", - "Product Count": "商品數量", - "Product Details": "商品詳情", - "Product Image": "商品圖片", - "Product Info": "商品資訊", - "Product List": "商品清單", - "Product Management": "商品管理", - "Product Name (Multilingual)": "商品名稱 (多語系)", - "Product Reports": "商品報表", - "Product Status": "商品狀態", - "Product created successfully": "商品已成功建立", - "Product deleted successfully": "商品已成功刪除", - "Product status updated to :status": "商品狀態已更新為 :status", - "Product updated successfully": "商品已成功更新", - "Production Company": "生產公司", - "Profile": "個人檔案", - "Profile Information": "個人基本資料", - "Profile Settings": "個人設定", - "Profile updated successfully.": "個人資料已成功更新。", - "Promotions": "促銷時段", - "Protected": "受保護", - "Purchase Audit": "採購單", - "Purchase Finished": "購買結束", - "Purchases": "採購單", - "Purchasing": "購買中", - "Qty": "數量", - "Quality": "品質 (Quality)", - "Questionnaire": "問卷", - "Quick Expiry Check": "效期快速檢查", - "Quick Maintenance": "快速維護", - "Quick Select": "快速選取", - "Quick search...": "快速搜尋...", - "Real-time OEE analysis awaits": "即時 OEE 分析預備中", - "Real-time Operation Logs (Last 50)": "即時操作日誌 (最後 50 筆)", - "Real-time fleet efficiency and OEE metrics": "全機台即時效率與 OEE 指標", - "Real-time monitoring across all machines": "跨機台即時狀態監控", - "Real-time performance analytics": "即時效能分析", - "Real-time status monitoring": "即時監控機台連線動態", - "Reason for this command...": "請輸入執行此指令的原因...", - "Receipt Printing": "收據簽單", - "Recent Commands": "最近指令", - "Recent Login": "最近登入", - "Regenerate": "重新產生", - "Regenerating the token will disconnect the physical machine until it is updated. Continue?": "重新產生金鑰將導致實體機台暫時失去連線,必須於機台端更新此新金鑰才能恢復。確定繼續嗎?", - "Remote Change": "遠端找零", - "Remote Checkout": "遠端結帳", - "Remote Command Center": "遠端指令中心", - "Execute maintenance and operational commands remotely": "遠端執行維護與各項營運指令", - "Remote Dispense": "遠端出貨", - "Execute Remote Change": "執行遠端找零", - "Trigger Remote Dispense": "觸發遠端出貨", - "System & Security Control": "系統與安全控制", - "Maintenance Operations": "維護操作", - "Security Controls": "安全控制", - "Entire Machine": "全機台", - "POS Reboot": "刷卡重啟", - "Card Terminal": "刷卡機端", - "Unlock Page": "頁面解鎖", - "Grant UI Access": "開放 UI 存取權限", - "Lock Page": "頁面鎖定", - "Restrict UI Access": "限制 UI 存取權限", - "Unlock Now": "立即解鎖", - "Lock Now": "立即鎖定", - "Select Target Slot": "選擇目標貨道", - "Remote Lock": "遠端鎖定", - "Remote Management": "遠端管理", - "Remote Permissions": "遠端管理權限", - "Remote Settlement": "遠端結帳", - "Removal": "撤機", - "Repair": "維修", - "Replenishment Audit": "補貨單", - "Replenishment Page": "補貨頁", - "Replenishment Records": "機台補貨紀錄", - "Replenishments": "機台補貨單", - "Reporting Period": "報表區間", - "Reservation Members": "預約會員", - "Reservation System": "預約系統", - "Reservations": "預約管理", - "Reset POS terminal": "重設 POS 終端", - "Restart entire machine": "重啟整台機台", - "Restrict machine UI access": "限制機台介面存取", - "Retail Price": "零售價", - "Returns": "回庫單", - "Risk": "風險狀態", - "Role": "角色", - "Role Identification": "角色識別資訊", - "Role Management": "角色權限管理", - "Role Name": "角色名稱", - "Role Permissions": "角色權限", - "Role Settings": "角色權限", - "Role Type": "角色類型", - "Role created successfully.": "角色已成功建立。", - "Role deleted successfully.": "角色已成功刪除。", - "Role name already exists in this company.": "該公司已存在相同名稱的角色。", - "Role not found.": "角色不存在。", - "Role updated successfully.": "角色已成功更新。", - "Roles": "角色權限", - "Roles scoped to specific customer companies.": "適用於各個客戶公司的特定角色。", - "Running Status": "運行狀態", - "SYSTEM": "系統層級", - "Sale Price": "售價", - "Sales": "銷售管理", - "Sales Activity": "銷售活動", - "Sales Management": "銷售管理", - "Sales Permissions": "銷售管理權限", - "Sales Records": "銷售紀錄", - "Save": "儲存變更", - "Save Changes": "儲存變更", - "Save Config": "儲存配置", - "Save Material": "儲存素材", - "Save Permissions": "儲存權限", - "Saved.": "已儲存", - "Saving...": "儲存中...", - "Scale level and access control": "層級與存取控制", - "Scan this code to quickly access the maintenance form for this device.": "掃描此 QR Code 即可快速進入此設備的維修單填寫頁面。", - "Search Company Title...": "搜尋公司名稱...", - "Search Machine...": "搜尋機台...", - "Search accounts...": "搜尋帳號...", - "Search by name or S/N...": "搜尋名稱或序號...", - "Search company...": "搜尋公司...", - "Search configurations...": "搜尋設定...", - "Search customers...": "搜尋客戶...", - "Search machines by name or serial...": "搜尋機台名稱或序號...", - "Search machines...": "搜尋機台...", - "Search models...": "搜尋型號...", - "Search products...": "搜尋商品...", - "Search roles...": "搜尋角色...", - "Search serial no or name...": "搜尋序號或機台名稱...", - "Search serial or machine...": "搜尋序號或機台名稱...", - "Search serial or name...": "搜尋序號或機台名稱...", - "Search users...": "搜尋用戶...", - "Search...": "搜尋...", - "Seconds": "秒", - "Security & State": "安全性與狀態", - "Select All": "全選", - "Select Cargo Lane": "選擇貨道", - "Select Category": "選擇類別", - "Select Company": "選擇公司名稱", - "Select Company (Default: System)": "選擇公司 (預設:系統)", - "Select Machine": "選擇機台", - "Select Machine to view metrics": "請選擇機台以查看指標", - "Select Material": "選擇素材", - "Select Model": "選擇型號", - "Select Owner": "選擇公司名稱", - "Select Slot...": "選擇貨道...", - "Select a machine to deep dive": "請選擇機台以開始深度分析", - "Select a material to play on this machine": "選擇要在此機台播放的素材", - "Select an asset from the left to start analysis": "選擇左側機台以開始分析數據", - "Select date to sync data": "選擇日期以同步數據", - "Select...": "請選擇...", - "Selected": "已選擇", - "Selected Date": "查詢日期", - "Selection": "已選擇", - "set": "已設定", - "Serial & Version": "序號與版本", - "Serial NO": "機台序號", - "Serial No": "機台序號", - "Serial Number": "機台序號", - "Show": "顯示", - "Show material code field in products": "在商品資料中顯示物料編號欄位", - "Show points rules in products": "在商品資料中顯示點數規則相關欄位", - "Showing": "顯示第", - "Showing :from to :to of :total items": "顯示第 :from 到 :to 項,共 :total 項", - "Sign in to your account": "隨時隨地掌控您的業務。", - "Signed in as": "登入身份", - "Slot": "貨道", - "Slot Mechanism (default: Conveyor, check for Spring)": "貨道機制 (預設履帶,勾選為彈簧)", - "Slot Status": "貨道效期", - "Slot Test": "貨道測試", - "Slot updated successfully.": "貨道更新成功。", - "Smallest number plays first.": "數字愈小愈先播放。", - "Some fields need attention": "部分欄位需要注意", - "Sort Order": "排序", - "Special Permission": "特殊權限", - "Specification": "規格", - "Specifications": "規格", - "Spring Channel Limit": "彈簧貨道上限", - "Spring Limit": "彈簧貨道上限", - "Staff Stock": "人員庫存", - "Standby": "待機廣告", - "Standby Ad": "待機廣告", - "Start Date": "起始日", - "Statistics": "數據統計", - "Status": "狀態", - "Status / Temp / Sub / Card / Scan": "狀態 / 溫度 / 下位機 / 刷卡機 / 掃碼機", - "Superseded": "已取代", - "Superseded by new adjustment": "此指令已由後面最新的調整所取代", - "Superseded by new command": "此指令已由後面最新的指令所取代", - "Stock Management": "庫存管理單", - "Stock Quantity": "庫存數量", - "Store Gifts": "來店禮", - "Store ID": "商店代號", - "Store Management": "店家管理", - "StoreID": "商店代號 (StoreID)", - "Sub Account Management": "子帳號管理", - "Sub Account Roles": "子帳號角色", - "Sub Accounts": "子帳號", - "Sub-actions": "子項目", - "Sub-machine Status Request": "下位機狀態回傳", - "Submit Record": "提交紀錄", - "Success": "執行成功", - "Super Admin": "超級管理員", - "Super-admin role cannot be assigned to tenant accounts.": "超級管理員角色無法指派給租戶帳號。", - "Survey Analysis": "問卷分析", - "Syncing Permissions...": "正在同步權限...", - "System": "系統", - "System Default": "系統預設", - "System Default (All Companies)": "系統預設 (所有公司)", - "System Default (Common)": "系統預設 (通用)", - "System Level": "系統層級", - "System Official": "系統層", - "System Reboot": "系統重啟", - "System Role": "系統角色", - "System role name cannot be modified.": "內建系統角色的名稱無法修改。", - "System roles cannot be deleted by tenant administrators.": "租戶管理員無法刪除系統角色。", - "System roles cannot be modified by tenant administrators.": "租戶管理員無法修改系統角色。", - "System super admin accounts cannot be deleted.": "系統超級管理員帳號無法刪除。", - "System super admin accounts cannot be modified via this interface.": "系統超級管理員帳號無法透過此介面修改。", - "Systems Initializing": "系統初始化中", - "TapPay Integration": "TapPay 支付串接", - "TapPay Integration Settings Description": "喬睿科技支付串接設定", - "Target": "目標", - "Target Position": "投放位置", - "Tax ID": "統一編號", - "Tax ID (Optional)": "統一編號 (選填)", - "Temperature": "溫度", - "TermID": "終端代號 (TermID)", - "The Super Admin role cannot be deleted.": "超級管理員角色不可刪除。", - "The Super Admin role is immutable.": "超級管理員角色不可修改。", - "The Super Admin role name cannot be modified.": "超級管理員角色的名稱無法修改。", - "The image is too large. Please upload an image smaller than 1MB.": "圖片檔案太大,請上傳小於 1MB 的圖片。", - "This is a system administrator role. Its name is locked to ensure system stability.": "這是系統管理員角色,名稱已鎖定以確保系統穩定性。", - "This role belongs to another company and cannot be assigned.": "此角色屬於其他公司,無法指派。", - "Time": "時間", - "Time Slots": "時段組合", - "Timer": "計時器", - "Timestamp": "時間戳記", - "To": "至", - "To:": "終:", - "Today Cumulative Sales": "今日累積銷售", - "Today's Transactions": "今日交易額", - "Total Connected": "總計連線數", - "Total Customers": "客戶總數", - "Total Daily Sales": "本日累計銷量", - "Total Gross Value": "銷售總額", - "Total Logins": "總登入次數", - "Total Selected": "已選擇總數", - "Total Slots": "總貨道數", - "Total items": "總計 :count 項", - "Track Channel Limit": "履帶貨道上限", - "Track Limit": "履帶貨道上限", - "Track device health and maintenance history": "追蹤設備健康與維修歷史", - "Traditional Chinese": "繁體中文", - "Transfer Audit": "調撥單", - "Transfers": "調撥單", - "Trigger Dispense": "觸發出貨", - "Tutorial Page": "教學頁", - "Type": "類型", - "Type to search or leave blank for system defaults.": "輸入關鍵字搜尋,或留空以使用系統預設。", - "UI Elements": "UI元素", - "Unauthorized Status": "未授權", - "Uncategorized": "未分類", - "Unified Operational Timeline": "整合式營運時序圖", - "Units": "台", - "Unknown": "未知", - "Unlock": "解鎖", - "Update": "更新", - "Update Authorization": "更新授權", - "Update Customer": "更新客戶", - "Update Password": "更改密碼", - "Update Product": "更新商品", - "Update existing role and permissions.": "更新現有角色與權限設定。", - "Update your account's profile information and email address.": "更新您的帳號名稱、手機號碼與電子郵件地址。", - "Upload Image": "上傳圖片", - "Upload New Images": "上傳新照片", - "Upload Video": "上傳影片", - "Uploading new images will replace all existing images.": "上傳新照片將會取代所有現有照片。", - "User": "一般用戶", - "User Info": "用戶資訊", - "Username": "使用者帳號", - "Users": "帳號數", - "Utilization Rate": "機台稼動率", - "Utilization Timeline": "稼動時序", - "Utilization, OEE and Operational Intelligence": "稼動率、OEE 與營運情報", - "Utilized Time": "稼動持續時間", - "Valid Until": "合約到期日", - "Validation Error": "驗證錯誤", - "Vending": "販賣頁", - "Vending Page": "販賣頁", - "Venue Management": "場地管理", - "View Details": "查看詳情", - "View Logs": "查看日誌", - "Visit Gift": "來店禮", - "Waiting for Payment": "等待付款", - "Warehouse List": "倉庫清單", - "Warehouse List (All)": "倉庫列表(全)", - "Warehouse List (Individual)": "倉庫列表(個)", - "Warehouse Management": "倉庫管理", - "Warehouse Permissions": "倉庫管理權限", - "Warning": "即將過期", - "Warning: You are editing your own role!": "警告:您正在編輯目前使用的角色!", - "Welcome Gift": "來店禮", - "Welcome Gift Status": "來店禮", - "Work Content": "工作內容", - "Yes, regenerate": "確認重新產生", - "Yesterday": "昨日", - "You cannot assign permissions you do not possess.": "您無法指派您自身不具備的權限。", - "You cannot delete your own account.": "您無法刪除自己的帳號。", - "Your email address is unverified.": "您的電子郵件地址尚未驗證。", - "Your recent account activity": "最近的帳號活動", - "accounts": "帳號管理", - "admin": "管理員", - "analysis": "分析管理", - "app": "APP 管理", - "audit": "稽核管理", - "basic-settings": "基本設定", - "basic.machines": "機台設定", - "basic.payment-configs": "客戶金流設定", - "companies": "客戶管理", - "data-config": "資料設定", - "data-config.sub-account-roles": "子帳號角色", - "data-config.sub-accounts": "子帳號管理", - "e.g. 500ml / 300g": "例如:500ml / 300g", - "e.g. John Doe": "例如:張曉明", - "e.g. TWSTAR": "例如:TWSTAR", - "e.g. Taiwan Star": "例如:台灣之星", - "e.g. johndoe": "例如:xiaoming", - "e.g., Beverage": "例如:飲料", - "e.g., Company Standard Pay": "例如:公司標準支付", - "e.g., Drinks": "例如:Drinks", - "e.g., Taipei Station": "例如:台北車站", - "e.g., お飲み物": "例如:お飲み物", - "failed": "失敗", - "files selected": "個檔案已選擇", - "image": "圖片", - "items": "筆項目", - "john@example.com": "john@example.com", - "line": "Line 管理", - "machines": "機台管理", - "members": "會員管理", "menu.analysis": "數據分析", "menu.app": "APP 運維", "menu.audit": "審核管理", @@ -954,79 +552,501 @@ "menu.sales": "銷售報表", "menu.special-permission": "特殊權限", "menu.warehouses": "Warehouse Management", + "Merchant IDs": "特店代號清單", + "Merchant payment gateway settings management": "特約商店支付網關參數管理", + "Message": "訊息", + "Message Content": "日誌內容", + "Message Display": "訊息顯示", "min": "分", + "Min 8 characters": "至少 8 個字元", + "mins ago": "分鐘前", + "Model": "機台型號", + "Model Name": "型號名稱", + "Models": "型號列表", + "Modifying your own administrative permissions may result in losing access to certain system functions.": "修改自身管理權限可能導致失去對部分系統功能的控制權。", + "Monitor and manage stock levels across your fleet": "監控並管理所有機台的庫存水位", + "Monitor events and system activity across your vending fleet.": "跨機台連線動態與系統日誌監控。", + "Monthly cumulative revenue overview": "本月累計營收概況", + "Monthly Transactions": "本月交易統計", + "Multilingual Names": "多語系名稱", + "N/A": "不適用", + "Name": "名稱", + "Name in English": "英文名稱", + "Name in Japanese": "日文名稱", + "Name in Traditional Chinese": "繁體中文名稱", + "Never Connected": "從未連線", + "New Command": "新增指令", + "New Machine Name": "新機台名稱", + "New Password": "新密碼", + "New Password (leave blank to keep current)": "新密碼 (若不修改請留空)", + "New Record": "新增單據", + "New Role": "新角色", + "New Sub Account Role": "新增子帳號角色", + "Next": "下一頁", + "No accounts found": "找不到帳號資料", + "No active cargo lanes found": "未找到活動貨道", + "No additional notes": "無額外備註", + "No advertisements found.": "未找到廣告素材。", + "No alert summary": "暫無告警記錄", + "No assignments": "尚未投放", + "No command history": "尚無指令紀錄", + "No Company": "系統", + "No configurations found": "暫無相關配置", + "No content provided": "未提供內容", + "No customers found": "找不到客戶資料", + "No data available": "暫無資料", + "No file uploaded.": "未上傳任何檔案。", + "No heartbeat for over 30 seconds": "超過 30 秒未收到心跳", + "No images uploaded": "尚未上傳照片", + "No Invoice": "不開立發票", + "No location set": "尚未設定位置", + "No login history yet": "尚無登入紀錄", + "No logs found": "暫無相關日誌", + "No Machine Selected": "尚未選擇機台", + "No machines assigned": "未分配機台", + "No machines available": "目前沒有可供分配的機台", + "No machines available in this company.": "此客戶目前沒有可供分配的機台。", + "No maintenance records found": "找不到維修紀錄", + "No matching logs found": "找不到符合條件的日誌", + "No matching machines": "查無匹配機台", + "No materials available": "沒有可用的素材", + "No permissions": "無權限項目", + "No records found": "查無操作紀錄", + "No roles available": "目前沒有角色資料。", + "No roles found.": "找不到角色資料。", + "No slots found": "未找到貨道資訊", + "No users found": "找不到用戶資料", + "None": "無", + "Normal": "正常", + "Not Used": "不使用", + "Not Used Description": "不使用第三方支付介接", + "Notes": "備註", + "OEE": "OEE", + "OEE Efficiency Trend": "OEE 效率趨勢", + "OEE Score": "OEE 綜合評分", + "OEE.Activity": "營運活動", + "OEE.Errors": "異常", + "OEE.Hours": "小時", + "OEE.Orders": "訂單", + "OEE.Sales": "銷售", "of": "總計", + "Offline": "離線", + "Offline Machines": "離線機台", + "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "一旦您的帳號被刪除,其所有資源和數據將被永久刪除。在刪除帳號之前,請下載您希望保留的任何數據或資訊。", + "Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "帳號一旦刪除,所有關連數據將被永久移除。請輸入您的密碼以確認您希望永久刪除此帳號。", + "Online": "線上", + "Online Duration": "累積連線時數", + "Online Machines": "在線機台", + "Online Status": "在線狀態", + "Only system roles can be assigned to platform administrative accounts.": "僅系統角色可指派給平台管理帳號。", + "Operation Note": "操作備註", + "Operation Records": "操作紀錄", + "Operational Parameters": "運作參數", + "Operations": "運作設定", + "Operator": "操作者", + "Optimal": "良好", + "Optimized for display. Supported formats: JPG, PNG, WebP.": "已針對顯示進行優化。支援格式:JPG, PNG, WebP。", + "Optimized Performance": "效能最佳化", + "Optional": "選填", + "Order Management": "訂單管理", + "Orders": "購買單", + "Original": "原始", + "Original Type": "原始類型", + "Original:": "原:", + "Other Permissions": "其他權限", + "Others": "其他功能", + "Output Count": "出貨次數", + "Owner": "公司名稱", + "Page Lock Status": "頁面鎖定狀態", + "Parameters": "參數設定", + "PARTNER_KEY": "PARTNER_KEY", + "Pass Code": "通行碼", + "Pass Codes": "通行碼", + "Password": "密碼", + "Password updated successfully.": "密碼已成功變更。", + "Payment & Invoice": "金流與發票", + "Payment Buffer Seconds": "金流緩衝時間(s)", + "Payment Config": "金流配置", + "Payment Configuration": "客戶金流設定", + "Payment Configuration created successfully.": "金流設定已成功建立。", + "Payment Configuration deleted successfully.": "金流設定已成功刪除。", + "Payment Configuration updated successfully.": "金流設定已成功更新。", + "Payment Selection": "付款選擇", + "Pending": "等待機台領取", "pending": "等待機台領取", + "Performance": "效能 (Performance)", + "Permanent": "永久授權", + "Permanently Delete Account": "永久刪除帳號", + "Permission Settings": "權限設定", + "Permissions": "權限", "permissions": "權限設定", + "Permissions updated successfully": "授權更新成功", "permissions.accounts": "帳號管理", "permissions.companies": "客戶管理", "permissions.roles": "角色權限管理", + "Phone": "手機號碼", + "Photo Slot": "照片欄位", + "PI_MERCHANT_ID": "Pi 拍錢包 商店代號", + "Picked up": "領取", + "Picked up Time": "讀取時間", + "Pickup Code": "取貨碼", + "Pickup Codes": "取貨碼", + "Playback Order": "播放順序", + "Please check the following errors:": "請檢查以下錯誤:", + "Please check the form for errors.": "請檢查欄位內容是否正確。", + "Please confirm the details below": "請確認以下指令詳情", + "Please select a machine first": "請先選擇機台", + "Please select a machine to view and manage its advertisements.": "請選擇一個機台以查看並管理其廣告。", + "Please select a machine to view metrics": "請選擇機台以查看數據", + "Please select a material": "請選擇素材", + "Please select a slot": "請選擇貨道", + "PNG, JPG up to 2MB": "支援 PNG, JPG (最大 2MB)", + "PNG, JPG, WEBP up to 10MB": "支援 PNG, JPG, WEBP 格式,且不超過 10MB", + "Point Rules": "點數規則", + "Point Settings": "點數設定", + "Points Rule": "點數規則", + "Points Settings": "點數設定", + "Points toggle": "點數開關", + "POS Reboot": "刷卡重啟", + "Position": "投放位置", + "Preview": "預覽", + "Previous": "上一頁", + "Price / Member": "售價 / 會員價", + "Pricing Information": "價格資訊", + "Product Count": "商品數量", + "Product created successfully": "商品已成功建立", + "Product deleted successfully": "商品已成功刪除", + "Product Details": "商品詳情", + "Product Image": "商品圖片", + "Product Info": "商品資訊", + "Product List": "商品清單", + "Product Management": "商品管理", + "Product Name (Multilingual)": "商品名稱 (多語系)", + "Product Reports": "商品報表", + "Product Status": "商品狀態", + "Product status updated to :status": "商品狀態已更新為 :status", + "Product updated successfully": "商品已成功更新", + "Production Company": "生產公司", + "Profile": "個人檔案", + "Profile Information": "個人基本資料", + "Profile Settings": "個人設定", + "Profile updated successfully.": "個人資料已成功更新。", + "Promotions": "促銷時段", + "Protected": "受保護", + "PS_LEVEL": "PS_LEVEL", + "PS_MERCHANT_ID": "全盈+Pay 商店代號", + "Purchase Audit": "採購單", + "Purchase Finished": "購買結束", + "Purchases": "採購單", + "Purchasing": "購買中", + "Qty": "數量", + "Quality": "品質 (Quality)", + "Questionnaire": "問卷", + "Quick Expiry Check": "效期快速檢查", + "Quick Maintenance": "快速維護", + "Quick search...": "快速搜尋...", + "Quick Select": "快速選取", + "Real-time fleet efficiency and OEE metrics": "全機台即時效率與 OEE 指標", + "Real-time monitoring across all machines": "跨機台即時狀態監控", + "Real-time monitoring and adjustment of cargo lane inventory and expiration dates": "即時監控與調整各機台貨道庫存與效期狀態", + "Real-time OEE analysis awaits": "即時 OEE 分析預備中", + "Real-time Operation Logs (Last 50)": "即時操作日誌 (最後 50 筆)", + "Real-time performance analytics": "即時效能分析", + "Real-time status monitoring": "即時監控機台連線動態", + "Reason for this command...": "請輸入執行此指令的原因...", + "Receipt Printing": "收據簽單", + "Recent Commands": "最近指令", + "Recent Login": "最近登入", + "Recently reported errors or warnings in logs": "近期日誌中有錯誤或警告回報", + "Regenerate": "重新產生", + "Regenerating the token will disconnect the physical machine until it is updated. Continue?": "重新產生金鑰將導致實體機台暫時失去連線,必須於機台端更新此新金鑰才能恢復。確定繼續嗎?", "remote": "遠端管理", + "Remote Change": "遠端找零", + "Remote Checkout": "遠端結帳", + "Remote Command Center": "遠端指令中心", + "Remote Dispense": "遠端出貨", + "Remote Lock": "遠端鎖定", + "Remote Management": "遠端管理", + "Remote Permissions": "遠端管理權限", + "Remote Reboot": "遠端結帳", + "Remote Settlement": "遠端結帳", + "Removal": "撤機", + "Repair": "維修", + "Replenishment Audit": "補貨單", + "Replenishment Page": "補貨頁", + "Replenishment Records": "機台補貨紀錄", + "Replenishments": "機台補貨單", + "Reporting Period": "報表區間", "reservation": "預約系統", + "Reservation Members": "預約會員", + "Reservation System": "預約系統", + "Reservations": "預約管理", + "Reset POS terminal": "重設 POS 終端", + "Restart entire machine": "重啟整台機台", + "Restrict machine UI access": "限制機台介面存取", + "Restrict UI Access": "限制 UI 存取權限", + "Retail Price": "零售價", + "Returns": "回庫單", + "Risk": "風險狀態", + "Role": "角色", + "Role created successfully.": "角色已成功建立。", + "Role deleted successfully.": "角色已成功刪除。", + "Role Identification": "角色識別資訊", + "Role Management": "角色權限管理", + "Role Name": "角色名稱", + "Role name already exists in this company.": "該公司已存在相同名稱的角色。", + "Role not found.": "角色不存在。", + "Role Permissions": "角色權限", + "Role Settings": "角色權限", + "Role Type": "角色類型", + "Role updated successfully.": "角色已成功更新。", + "Roles": "角色權限", "roles": "角色權限", + "Roles scoped to specific customer companies.": "適用於各個客戶公司的特定角色。", + "Running": "運行中", + "Running Status": "運行狀態", "s": "秒", + "Sale Price": "售價", + "Sales": "銷售管理", "sales": "銷售管理", + "Sales Activity": "銷售活動", + "Sales Management": "銷售管理", + "Sales Permissions": "銷售管理權限", + "Sales Records": "銷售紀錄", + "Save": "儲存變更", + "Save Changes": "儲存變更", + "Save Config": "儲存配置", + "Save Material": "儲存素材", + "Save Permissions": "儲存權限", + "Saved.": "已儲存", + "Saving...": "儲存中...", + "Scale level and access control": "層級與存取控制", + "Scan this code to quickly access the maintenance form for this device.": "掃描此 QR Code 即可快速進入此設備的維修單填寫頁面。", + "Search accounts...": "搜尋帳號...", + "Search by name or S/N...": "搜尋名稱或序號...", + "Search cargo lane": "搜尋貨道編號或商品名稱", + "Search Company Title...": "搜尋公司名稱...", + "Search company...": "搜尋公司...", + "Search configurations...": "搜尋設定...", + "Search customers...": "搜尋客戶...", + "Search Machine...": "搜尋機台...", + "Search machines by name or serial...": "搜尋機台名稱或序號...", + "Search machines...": "搜尋機台...", + "Search models...": "搜尋型號...", + "Search products...": "搜尋商品...", + "Search roles...": "搜尋角色...", + "Search serial no or name...": "搜尋序號或機台名稱...", + "Search serial or machine...": "搜尋序號或機台名稱...", + "Search serial or name...": "搜尋序號或機台名稱...", + "Search users...": "搜尋用戶...", + "Search...": "搜尋...", + "Seconds": "秒", + "Security & State": "安全性與狀態", + "Security Controls": "安全控制", + "Select a machine to deep dive": "請選擇機台以開始深度分析", + "Select a material to play on this machine": "選擇要在此機台播放的素材", + "Select All": "全選", + "Select an asset from the left to start analysis": "選擇左側機台以開始分析數據", + "Select Cargo Lane": "選擇貨道", + "Select Category": "選擇類別", + "Select Company": "選擇公司名稱", + "Select Company (Default: System)": "選擇公司 (預設:系統)", + "Select date to sync data": "選擇日期以同步數據", + "Select Machine": "選擇機台", + "Select Machine to view metrics": "請選擇機台以查看指標", + "Select Material": "選擇素材", + "Select Model": "選擇型號", + "Select Owner": "選擇公司名稱", + "Select Slot...": "選擇貨道...", + "Select Target Slot": "選擇目標貨道", + "Select...": "請選擇...", + "Selected": "已選擇", + "Selected Date": "查詢日期", + "Selection": "已選擇", "sent": "機台已接收", + "Sent": "機台已接收", + "Serial & Version": "序號與版本", + "Serial NO": "機台序號", + "Serial No": "機台序號", + "Serial Number": "機台序號", + "set": "已設定", + "Settlement": "結帳處理", + "Show": "顯示", + "Show material code field in products": "在商品資料中顯示物料編號欄位", + "Show points rules in products": "在商品資料中顯示點數規則相關欄位", + "Showing": "顯示第", + "Showing :from to :to of :total items": "顯示第 :from 到 :to 項,共 :total 項", + "Sign in to your account": "隨時隨地掌控您的業務。", + "Signed in as": "登入身份", + "Slot": "貨道", + "Slot Mechanism (default: Conveyor, check for Spring)": "貨道機制 (預設履帶,勾選為彈簧)", + "Slot No": "貨道編號", + "Slot Status": "貨道效期", + "Slot Test": "貨道測試", + "Slot updated successfully.": "貨道更新成功。", + "Smallest number plays first.": "數字愈小愈先播放。", + "Some fields need attention": "部分欄位需要注意", + "Sort Order": "排序", + "Special Permission": "特殊權限", "special-permission": "特殊權限", + "Specification": "規格", + "Specifications": "規格", + "Spring Channel Limit": "彈簧貨道上限", + "Spring Limit": "彈簧貨道上限", + "Staff Stock": "人員庫存", + "Standby": "待機廣告", "standby": "待機廣告", + "Standby Ad": "待機廣告", + "Start Date": "起始日", + "Statistics": "數據統計", + "Status": "狀態", + "Status / Temp / Sub / Card / Scan": "狀態 / 溫度 / 下位機 / 刷卡機 / 掃碼機", + "Stock": "庫存", + "Stock & Expiry": "庫存與效期", + "Stock & Expiry Management": "庫存與效期管理", + "Stock Management": "庫存管理單", + "Stock Quantity": "庫存數量", + "Stock:": "庫存:", + "Store Gifts": "來店禮", + "Store ID": "商店代號", + "Store Management": "店家管理", + "StoreID": "商店代號 (StoreID)", + "Sub Account Management": "子帳號管理", + "Sub Account Roles": "子帳號角色", + "Sub Accounts": "子帳號", + "Sub-actions": "子項目", + "Sub-machine Status Request": "下位機狀態回傳", + "Submit Record": "提交紀錄", + "Success": "執行成功", "success": "成功", + "Super Admin": "超級管理員", "super-admin": "超級管理員", + "Super-admin role cannot be assigned to tenant accounts.": "超級管理員角色無法指派給租戶帳號。", + "Superseded": "已取代", + "Superseded by new adjustment": "此指令已由後面最新的調整所取代", + "Superseded by new command": "此指令已由後面最新的指令所取代", + "Survey Analysis": "問卷分析", + "Syncing Permissions...": "正在同步權限...", + "SYSTEM": "系統層級", + "System": "系統", + "System & Security Control": "系統與安全控制", + "System Default": "系統預設", + "System Default (All Companies)": "系統預設 (所有公司)", + "System Default (Common)": "系統預設 (通用)", + "System Level": "系統層級", + "System Official": "系統層", + "System Reboot": "系統重啟", + "System Role": "系統角色", + "System role name cannot be modified.": "內建系統角色的名稱無法修改。", + "System roles cannot be deleted by tenant administrators.": "租戶管理員無法刪除系統角色。", + "System roles cannot be modified by tenant administrators.": "租戶管理員無法修改系統角色。", + "System super admin accounts cannot be deleted.": "系統超級管理員帳號無法刪除。", + "System super admin accounts cannot be modified via this interface.": "系統超級管理員帳號無法透過此介面修改。", + "Systems Initializing": "系統初始化中", + "TapPay Integration": "TapPay 支付串接", + "TapPay Integration Settings Description": "喬睿科技支付串接設定", + "Target": "目標", + "Target Position": "投放位置", + "Tax ID": "統一編號", + "Tax ID (Optional)": "統一編號 (選填)", + "Temperature": "溫度", + "TermID": "終端代號 (TermID)", + "The image is too large. Please upload an image smaller than 1MB.": "圖片檔案太大,請上傳小於 1MB 的圖片。", + "The Super Admin role cannot be deleted.": "超級管理員角色不可刪除。", + "The Super Admin role is immutable.": "超級管理員角色不可修改。", + "The Super Admin role name cannot be modified.": "超級管理員角色的名稱無法修改。", + "This is a system administrator role. Its name is locked to ensure system stability.": "這是系統管理員角色,名稱已鎖定以確保系統穩定性。", + "This role belongs to another company and cannot be assigned.": "此角色屬於其他公司,無法指派。", + "Time": "時間", + "Time Slots": "時段組合", + "Timer": "計時器", + "Timestamp": "時間戳記", + "To": "至", "to": "至", + "To:": "終:", + "Today Cumulative Sales": "今日累積銷售", + "Today's Transactions": "今日交易額", + "Total": "總計", + "Total Connected": "總計連線數", + "Total Customers": "客戶總數", + "Total Daily Sales": "本日累計銷量", + "Total Gross Value": "銷售總額", + "Total items": "總計 :count 項", + "Total Logins": "總登入次數", + "Total Selected": "已選擇總數", + "Total Slots": "總貨道數", + "Track Channel Limit": "履帶貨道上限", + "Track device health and maintenance history": "追蹤設備健康與維修歷史", + "Track Limit": "履帶貨道上限", + "Traditional Chinese": "繁體中文", + "Transfer Audit": "調撥單", + "Transfers": "調撥單", + "Trigger": "觸發", + "Trigger Dispense": "觸發出貨", + "Trigger Remote Dispense": "觸發遠端出貨", + "Tutorial Page": "教學頁", + "Type": "類型", + "Type to search or leave blank for system defaults.": "輸入關鍵字搜尋,或留空以使用系統預設。", + "UI Elements": "UI元素", + "Unauthorized Status": "未授權", + "Uncategorized": "未分類", + "Unified Operational Timeline": "整合式營運時序圖", + "Units": "台", + "Unknown": "未知", + "Unlock": "解鎖", + "Unlock Now": "立即解鎖", + "Unlock Page": "頁面解鎖", + "Update": "更新", + "Update Authorization": "更新授權", + "Update Customer": "更新客戶", + "Update existing role and permissions.": "更新現有角色與權限設定。", + "Update identification for your asset": "更新您的資產識別名稱", + "Update Password": "更改密碼", + "Update Product": "更新商品", + "Update your account's profile information and email address.": "更新您的帳號名稱、手機號碼與電子郵件地址。", + "Upload Image": "上傳圖片", + "Upload New Images": "上傳新照片", + "Upload Video": "上傳影片", + "Uploading new images will replace all existing images.": "上傳新照片將會取代所有現有照片。", + "User": "一般用戶", "user": "一般用戶", + "User Info": "用戶資訊", + "Username": "使用者帳號", + "Users": "帳號數", + "Utilization Rate": "機台稼動率", + "Utilization Timeline": "稼動時序", + "Utilization, OEE and Operational Intelligence": "稼動率、OEE 與營運情報", + "Utilized Time": "稼動持續時間", + "Valid Until": "合約到期日", + "Validation Error": "驗證錯誤", + "Vending": "販賣頁", "vending": "販賣頁", + "Vending Page": "販賣頁", + "Venue Management": "場地管理", "video": "影片", + "View Details": "查看詳情", + "View Logs": "查看日誌", + "View More": "查看更多", + "Visit Gift": "來店禮", "visit_gift": "來店禮", "vs Yesterday": "較昨日", + "Waiting for Payment": "等待付款", + "Warehouse List": "倉庫清單", + "Warehouse List (All)": "倉庫列表(全)", + "Warehouse List (Individual)": "倉庫列表(個)", + "Warehouse Management": "倉庫管理", + "Warehouse Permissions": "倉庫管理權限", "warehouses": "倉庫管理", - "待填寫": "待填寫", - "Total": "總計", - "Low": "庫存不足", - "Operation Records": "操作紀錄", - "New Command": "新增指令", - "Adjust Stock": "調整庫存", - "Adjust Stock & Expiry": "調整庫存與效期", - "Sent": "機台已接收", - "Failed": "執行失敗", - "Operator": "操作者", - "Creation Time": "建立時間", - "Picked up Time": "讀取時間", - "Picked up": "領取", - "Back to History": "返回紀錄", - "Command Type": "指令類型", - "Manage": "管理", - "Control": "監控操作", - "Command Center": "指令中心", - "No records found": "查無操作紀錄", - "View More": "查看更多", - "Stock": "庫存", - "Expiry": "效期", - "Batch": "批號", - "N/A": "不適用", - "All Stable": "狀態穩定", - "Expiring": "效期將屆", - "Just now": "剛剛", - "mins ago": "分鐘前", - "hours ago": "小時前", - "Last Sync": "最後通訊", - "Last Communication": "最後通訊", - "Command Confirmation": "指令確認", - "Please confirm the details below": "請確認以下指令詳情", - "No additional notes": "無額外備註", - "Execute": "執行", - "Command has been queued successfully.": "指令已成功排入佇列。", - "Command error:": "指令錯誤:", - "Stock:": "庫存:", - "Search cargo lane": "搜尋貨道編號或商品名稱", - "Please select a slot": "請選擇貨道", - "Settlement": "結帳處理", - "Force End Session": "強制結束當前會話", - "Execute Delivery Now": "立即執行出貨", - "Trigger": "觸發", - "Slot No": "貨道編號", - "Amount": "金額", - "Machine Reboot": "機台重啟", - "Remote Reboot": "遠端結帳", - "Lock Page Unlock": "鎖定頁解鎖", - "Lock Page Lock": "鎖定頁鎖定", - "Dispense Failed": "出貨失敗" -} + "Warning": "即將過期", + "Warning: You are editing your own role!": "警告:您正在編輯目前使用的角色!", + "Welcome Gift": "來店禮", + "Welcome Gift Status": "來店禮", + "Work Content": "工作內容", + "Yes, regenerate": "確認重新產生", + "Yesterday": "昨日", + "You cannot assign permissions you do not possess.": "您無法指派您自身不具備的權限。", + "You cannot delete your own account.": "您無法刪除自己的帳號。", + "Your email address is unverified.": "您的電子郵件地址尚未驗證。", + "Your recent account activity": "最近的帳號活動", + "待填寫": "待填寫" +} \ No newline at end of file diff --git a/resources/views/admin/basic-settings/machines/index.blade.php b/resources/views/admin/basic-settings/machines/index.blade.php index 7b27ae5..5bd1ef3 100644 --- a/resources/views/admin/basic-settings/machines/index.blade.php +++ b/resources/views/admin/basic-settings/machines/index.blade.php @@ -194,8 +194,7 @@

{{ __('Machine Settings') }}

-

{{ - __('Management of operational parameters and models') }}

+

{{ __('Management of operational parameters and models') }}

@if($tab === 'machines') @@ -499,8 +498,7 @@ -

{{ __('No - accounts found') }}

+

{{ __('No accounts found') }}

@@ -628,8 +626,7 @@ class="inline-block align-bottom bg-white dark:bg-slate-900 rounded-3xl text-left overflow-hidden shadow-2xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full animate-luxury-in border border-slate-100 dark:border-slate-800">
-

{{ __('Add - Machine') }}

+

{{ __('Add Machine') }}

- +
@@ -757,8 +753,7 @@ class="inline-block align-bottom bg-white dark:bg-slate-900 rounded-3xl text-left overflow-hidden shadow-2xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full animate-luxury-in border border-slate-100 dark:border-slate-800">
-

{{ __('Add - Machine Model') }}

+

{{ __('Add Machine Model') }}

+
@@ -807,8 +800,7 @@ class="inline-block align-bottom bg-white dark:bg-slate-900 rounded-3xl text-left overflow-hidden shadow-2xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full animate-luxury-in border border-slate-100 dark:border-slate-800">
-

{{ - __('Edit Machine Model') }}

+

{{ __('Edit Machine Model') }}

+
@@ -1103,8 +1093,7 @@
-

{{ __('Hardware - & Network') }}

+

{{ __('Hardware & Network') }}

@@ -1291,9 +1280,7 @@
- {{ - __('Syncing Permissions...') }} + {{ __('Syncing Permissions...') }}
diff --git a/resources/views/admin/dashboard.blade.php b/resources/views/admin/dashboard.blade.php index 3f58496..f3edbc9 100644 --- a/resources/views/admin/dashboard.blade.php +++ b/resources/views/admin/dashboard.blade.php @@ -11,15 +11,17 @@

{{ __('Connectivity Status') }}

{{ __('Real-time status monitoring') }}

-
+
- + {{ __('LIVE') }}
- +
@@ -35,24 +37,27 @@
{{ __('Offline Machines') }}
- {{ $alertsPending }} + {{ $offlineMachines }}
{{ __('Alerts Pending') }}
- 0 + {{ $alertsPending }}
- +
- +
-

{{ $activeMachines }}

-

{{ __('Total Connected') }}

+

+ {{ $activeMachines }}

+

+ {{ __('Total Connected') }}

@@ -64,25 +69,38 @@

{{ __('Monthly Transactions') }}

{{ __('Monthly cumulative revenue overview') }}

-
- +
+ + +
- +
-
+
-
- +
+ + +

{{ __("Today's Transactions") }}

-

${{ number_format($totalRevenue / 30, 0) }}

+

+ ${{ number_format($totalRevenue / 30, 0) }}

- +12.5% + +12.5%

{{ __('vs Yesterday') }}

@@ -90,25 +108,39 @@
-
+

{{ __("Yesterday") }}

-
- +
+ + +
-

${{ number_format($totalRevenue / 25, 0) }}

+

${{ number_format($totalRevenue + / 25, 0) }}

-
+

{{ __("Day Before") }}

-
- +
+ + +
-

${{ number_format($totalRevenue / 40, 0) }}

+

${{ number_format($totalRevenue + / 40, 0) }}

@@ -121,22 +153,27 @@

{{ __('Machine Status List') }}

- + {{ __('Total items', ['count' => $machines->total()]) }}

{{ __('Real-time monitoring across all machines') }}

- +
- + - +
@@ -146,63 +183,115 @@ - - - - - - + + + + + + @forelse($machines as $machine) - - + - - - - + - - + {{ + __('Online') }} + + @elseif($cStatus === 'error') +
+
+ {{ + __('Error') }} +
+ @else +
+
+ {{ + __('Offline') }} +
+ @endif + + + + + + @empty - - - + + + @endforelse
{{ __('Machine Info') }}{{ __('Running Status') }}{{ __('Today Cumulative Sales') }}{{ __('Current Stock') }}{{ __('Last Signal') }}{{ __('Alert Summary') }} + {{ __('Machine Info') }} + {{ __('Running Status') }} + {{ __('Today Cumulative Sales') }} + {{ __('Current Stock') }} + {{ __('Last Signal') }} + {{ __('Alert Summary') }}
-
-
- -
-
- {{ $machine->name }} - (SN: {{ $machine->serial_no }}) -
+
+
+
+ + +
-
- @if($machine->status === 'online') - - {{ __('Online') }} - - @else - - {{ __('Offline') }} - - @endif - - $ 0 - -
-
-
-
- 15.5% {{ __('Low Stock') }} +
+ {{ + $machine->name }} + (SN: + {{ $machine->serial_no }})
-
-
- {{ $machine->last_heartbeat_at ? $machine->last_heartbeat_at->format('Y/m/d H:i') : '---' }} +
+
+ @php + $cStatus = $machine->calculated_status; + @endphp + + @if($cStatus === 'online') +
+
+ +
-
- {{ __('No alert summary') }} -
+ $ 0 + +
+
+
+
+ 15.5% {{ + __('Low Stock') }} +
+
+
+ {{ $machine->last_heartbeat_at ? $machine->last_heartbeat_at->format('Y/m/d H:i') : + '---' }} +
+
+ {{ + __('No alert summary') }} +
{{ __('No data available') }}
{{ __('No data available') }}
@@ -213,4 +302,4 @@
-@endsection +@endsection \ No newline at end of file diff --git a/resources/views/admin/machines/index.blade.php b/resources/views/admin/machines/index.blade.php index 54caa08..3987d11 100644 --- a/resources/views/admin/machines/index.blade.php +++ b/resources/views/admin/machines/index.blade.php @@ -3,84 +3,93 @@ @section('content') -
+
-

+

{{ __('Machine List') }}

@@ -167,9 +176,13 @@ window.machineApp = function() {

- @if($machine->status === 'online') -
+ @php + $cStatus = $machine->calculated_status; + @endphp + + @if($cStatus === 'online') +
@@ -179,17 +192,17 @@ window.machineApp = function() { class="text-xs font-black text-emerald-600 dark:text-emerald-400 tracking-widest uppercase">{{ __('Online') }}
- @elseif($machine->status === 'error') -
+ @elseif($cStatus === 'error') +
{{ __('Error') }}
@else -
+
{{ @@ -230,15 +243,16 @@ window.machineApp = function() { -@endsection + + + + @endsection \ No newline at end of file diff --git a/resources/views/components/breadcrumbs.blade.php b/resources/views/components/breadcrumbs.blade.php index 397addc..f4e1d63 100644 --- a/resources/views/components/breadcrumbs.blade.php +++ b/resources/views/components/breadcrumbs.blade.php @@ -123,7 +123,7 @@ 'stock' => __('Stock & Expiry'), default => null, }, - 'edit' => str_starts_with($routeName, 'profile') ? null : __('Edit'), + 'edit' => str_starts_with($routeName, 'profile') ? __('Profile') : __('Edit'), 'create' => __('Create'), 'show' => __('Detail'), 'logs' => __('Machine Logs'), diff --git a/tests/Feature/MachineStatusTest.php b/tests/Feature/MachineStatusTest.php new file mode 100644 index 0000000..7feb537 --- /dev/null +++ b/tests/Feature/MachineStatusTest.php @@ -0,0 +1,86 @@ +create([ + 'last_heartbeat_at' => now()->subSeconds(10), + ]); + + $this->assertEquals('online', $machine->calculated_status); + } + + /** + * Test machine is error with recent heartbeat but recent errors. + */ + public function test_machine_is_error_with_recent_logs(): void + { + $machine = Machine::factory()->create([ + 'last_heartbeat_at' => now()->subSeconds(10), + ]); + + // Add an error log 10 mins ago + MachineLog::create([ + 'machine_id' => $machine->id, + 'level' => 'error', + 'created_at' => now()->subMinutes(10), + 'message' => 'Test error', + ]); + + $this->assertEquals('error', $machine->calculated_status); + } + + /** + * Test machine is offline with old heartbeat (30s+). + */ + public function test_machine_is_offline_with_old_heartbeat(): void + { + $machine = Machine::factory()->create([ + 'last_heartbeat_at' => now()->subSeconds(35), + ]); + + $this->assertEquals('offline', $machine->calculated_status); + } + + /** + * Test machine scopes (online, offline, hasError). + */ + public function test_machine_scopes(): void + { + // 1. Online machine + $onlineMachine = Machine::factory()->create(['last_heartbeat_at' => now()->subSeconds(10)]); + + // 2. Offline machine + $offlineMachine = Machine::factory()->create(['last_heartbeat_at' => now()->subSeconds(40)]); + + // 3. Online machine with error + $errorMachine = Machine::factory()->create(['last_heartbeat_at' => now()->subSeconds(5)]); + MachineLog::create([ + 'machine_id' => $errorMachine->id, + 'level' => 'error', + 'created_at' => now()->subMinutes(5), + 'message' => 'Error log', + ]); + + $this->assertEquals(2, Machine::online()->count()); + $this->assertEquals(1, Machine::offline()->count()); + $this->assertEquals(1, Machine::online()->hasError()->count()); + + $this->assertTrue(Machine::online()->get()->contains($onlineMachine)); + $this->assertTrue(Machine::offline()->get()->contains($offlineMachine)); + $this->assertTrue(Machine::online()->hasError()->get()->contains($errorMachine)); + } +}