feat: 修正庫存與撥補單邏輯並整合文件
All checks were successful
Koori-ERP-Deploy-System / deploy-demo (push) Successful in 53s
Koori-ERP-Deploy-System / deploy-production (push) Has been skipped

1. 修復倉庫統計數據加總與樣式。
2. 修正可用庫存計算邏輯(排除不可銷售倉庫)。
3. 撥補單商品列表加入批號與效期顯示。
4. 修正撥補單儲存邏輯以支援精確批號轉移。
5. 整合 FEATURES.md 至 README.md。
This commit is contained in:
2026-01-26 14:59:24 +08:00
parent b0848a6bb8
commit 106de4e945
81 changed files with 4118 additions and 1023 deletions

164
lang/zh_TW.json Normal file
View File

@@ -0,0 +1,164 @@
{
"accepted": ":attribute 必須接受。",
"active_url": ":attribute 並非一個有效的網址。",
"after": ":attribute 必須在 :date 之後。",
"after_or_equal": ":attribute 必須在 :date 之後或相等。",
"alpha": ":attribute 只能由字母組成。",
"alpha_dash": ":attribute 只能由字母、數字、破折號與底線組成。",
"alpha_num": ":attribute 只能由字母與數字組成。",
"array": ":attribute 必須是一個陣列。",
"before": ":attribute 必須在 :date 之前。",
"before_or_equal": ":attribute 必須在 :date 之前或相等。",
"between": {
"numeric": ":attribute 必須介於 :min 至 :max 之間。",
"file": ":attribute 必須介於 :min 至 :max KB 之間。",
"string": ":attribute 必須介於 :min 至 :max 個字元之間。",
"array": ":attribute 必須介於 :min 至 :max 個項目之間。"
},
"boolean": ":attribute 必須為布林值。",
"confirmed": ":attribute 確認欄位不一致。",
"date": ":attribute 並非一個有效的日期。",
"date_equals": ":attribute 必須等於 :date。",
"date_format": ":attribute 不符合 :format 的格式。",
"different": ":attribute 與 :other 必須不同。",
"digits": ":attribute 必須是 :digits 位數字。",
"digits_between": ":attribute 必須介於 :min 至 :max 位數字之間。",
"dimensions": ":attribute 圖片尺寸不正確。",
"distinct": ":attribute 已經存在。",
"email": ":attribute 必須是一個有效的電子郵件地址。",
"ends_with": ":attribute 結尾必須包含下列之一::values。",
"exists": "所選的 :attribute 選項無效。",
"file": ":attribute 必須是一個檔案。",
"filled": ":attribute 屬性是必填的。",
"gt": {
"numeric": ":attribute 必須大於 :value。",
"file": ":attribute 必須大於 :value KB。",
"string": ":attribute 必須多於 :value 個字元。",
"array": ":attribute 必須多於 :value 個項目。"
},
"gte": {
"numeric": ":attribute 必須大於或等於 :value。",
"file": ":attribute 必須大於或等於 :value KB。",
"string": ":attribute 必須多於或等於 :value 個字元。",
"array": ":attribute 必須多於或等於 :value 個項目。"
},
"image": ":attribute 必須是一張圖片。",
"in": "所選的 :attribute 選項無效。",
"in_array": ":attribute 沒有在 :other 中。",
"integer": ":attribute 必須是一個整數。",
"ip": ":attribute 必須是一個有效的 IP 地址。",
"ipv4": ":attribute 必須是一個有效的 IPv4 地址。",
"ipv6": ":attribute 必須是一個有效的 IPv6 地址。",
"json": ":attribute 必須是一個有效的 JSON 字串。",
"lt": {
"numeric": ":attribute 必須小於 :value。",
"file": ":attribute 必須小於 :value KB。",
"string": ":attribute 必須少於 :value 個字元。",
"array": ":attribute 必須少於 :value 個項目。"
},
"lte": {
"numeric": ":attribute 必須小於或等於 :value。",
"file": ":attribute 必須小於或等於 :value KB。",
"string": ":attribute 必須少於或等於 :value 個字元。",
"array": ":attribute 必須少於或等於 :value 個項目。"
},
"max": {
"numeric": ":attribute 不能大於 :max。",
"file": ":attribute 不能大於 :max KB。",
"string": ":attribute 不能多於 :max 個字元。",
"array": ":attribute 最多有 :max 個項目。"
},
"mimes": ":attribute 必須是一個 :values 格式的檔案。",
"mimetypes": ":attribute 必須是一個 :values 格式的檔案。",
"min": {
"numeric": ":attribute 不能小於 :min。",
"file": ":attribute 不能小於 :min KB。",
"string": ":attribute 不能少於 :min 個字元。",
"array": ":attribute 至少有 :min 個項目。"
},
"multiple_of": ":attribute 必須為 :value 的倍數。",
"not_in": "所選的 :attribute 選項無效。",
"not_regex": ":attribute 的格式錯誤。",
"numeric": ":attribute 必須是一個數字。",
"password": "密碼錯誤。",
"present": ":attribute 必須存在。",
"regex": ":attribute 的格式錯誤。",
"required": ":attribute 欄位必填。",
"required_if": "當 :other 是 :value 時,:attribute 欄位必填。",
"required_unless": "當 :other 不是 :value 時,:attribute 欄位必填。",
"required_with": "當 :values 出現時,:attribute 欄位必填。",
"required_with_all": "當 :values 出現時,:attribute 欄位必填。",
"required_without": "當 :values 留空時,:attribute 欄位必填。",
"required_without_all": "當 :values 留空時,:attribute 欄位必填。",
"same": ":attribute 與 :other 必須相同。",
"size": {
"numeric": ":attribute 的大小必須是 :size。",
"file": ":attribute 的大小必須是 :size KB。",
"string": ":attribute 必須是 :size 個字元。",
"array": ":attribute 必須包含 :size 個項目。"
},
"starts_with": ":attribute 開頭必須包含下列之一::values。",
"string": ":attribute 必須是一個字串。",
"timezone": ":attribute 必須是一個有效的時區。",
"unique": ":attribute 已經存在。",
"uploaded": ":attribute 上傳失敗。",
"url": ":attribute 的格式錯誤。",
"uuid": ":attribute 必須是一個有效的 UUID。",
"auth.failed": "帳號或密碼錯誤。",
"auth.password": "密碼錯誤。",
"auth.throttle": "嘗試登入次數過多,請在 :seconds 秒後再試。",
"passwords.reset": "密碼已重設!",
"passwords.sent": "密碼重設連結已發送!",
"passwords.throttled": "請稍候再試。",
"passwords.token": "密碼重設連結已失效。",
"passwords.user": "找不到該電子郵件地址的使用者。",
"attributes": {
"name": "名稱",
"username": "使用者名稱",
"email": "電子郵件",
"first_name": "名",
"last_name": "姓",
"password": "密碼",
"password_confirmation": "確認密碼",
"city": "城市",
"country": "國家",
"address": "地址",
"phone": "電話",
"mobile": "手機",
"age": "年齡",
"sex": "性別",
"gender": "性別",
"day": "天",
"month": "月",
"year": "年",
"hour": "時",
"minute": "分",
"second": "秒",
"title": "標題",
"content": "內容",
"description": "描述",
"excerpt": "摘要",
"date": "日期",
"time": "時間",
"available": "可用的",
"size": "大小",
"product_id": "商品",
"vendor_id": "供應商",
"warehouse_id": "倉庫",
"unit_id": "單位",
"items": "明細項目",
"quantity": "數量",
"yield_quantity": "標準產出量",
"production_date": "生產日期",
"output_batch_number": "成品批號",
"output_quantity": "生產數量",
"source_warehouse_id": "來源倉庫",
"target_warehouse_id": "目標倉庫",
"expected_delivery_date": "預計到貨日期",
"invoice_number": "發票號碼",
"invoice_date": "發票日期",
"invoice_amount": "發票金額",
"tax_amount": "稅額",
"remark": "備註"
}
}

166
lang/zh_TW/auth.php Normal file
View File

@@ -0,0 +1,166 @@
<?php
return [
'accepted' => ':attribute 必須接受。',
'active_url' => ':attribute 並非一個有效的網址。',
'after' => ':attribute 必須在 :date 之後。',
'after_or_equal' => ':attribute 必須在 :date 之後或相等。',
'alpha' => ':attribute 只能由字母組成。',
'alpha_dash' => ':attribute 只能由字母、數字、破折號與底線組成。',
'alpha_num' => ':attribute 只能由字母與數字組成。',
'array' => ':attribute 必須是一個陣列。',
'before' => ':attribute 必須在 :date 之前。',
'before_or_equal' => ':attribute 必須在 :date 之前或相等。',
'between' => [
'numeric' => ':attribute 必須介於 :min 至 :max 之間。',
'file' => ':attribute 必須介於 :min 至 :max KB 之間。',
'string' => ':attribute 必須介於 :min 至 :max 個字元之間。',
'array' => ':attribute 必須介於 :min 至 :max 個項目之間。',
],
'boolean' => ':attribute 必須為布林值。',
'confirmed' => ':attribute 確認欄位不一致。',
'date' => ':attribute 並非一個有效的日期。',
'date_equals' => ':attribute 必須等於 :date。',
'date_format' => ':attribute 不符合 :format 的格式。',
'different' => ':attribute 與 :other 必須不同。',
'digits' => ':attribute 必須是 :digits 位數字。',
'digits_between' => ':attribute 必須介於 :min 至 :max 位數字之間。',
'dimensions' => ':attribute 圖片尺寸不正確。',
'distinct' => ':attribute 已經存在。',
'email' => ':attribute 必須是一個有效的電子郵件地址。',
'ends_with' => ':attribute 結尾必須包含下列之一::values。',
'exists' => '所選的 :attribute 選項無效。',
'file' => ':attribute 必須是一個檔案。',
'filled' => ':attribute 屬性是必填的。',
'gt' => [
'numeric' => ':attribute 必須大於 :value。',
'file' => ':attribute 必須大於 :value KB。',
'string' => ':attribute 必須多於 :value 個字元。',
'array' => ':attribute 必須多於 :value 個項目。',
],
'gte' => [
'numeric' => ':attribute 必須大於或等於 :value。',
'file' => ':attribute 必須大於或等於 :value KB。',
'string' => ':attribute 必須多於或等於 :value 個字元。',
'array' => ':attribute 必須多於或等於 :value 個項目。',
],
'image' => ':attribute 必須是一張圖片。',
'in' => '所選的 :attribute 選項無效。',
'in_array' => ':attribute 沒有在 :other 中。',
'integer' => ':attribute 必須是一個整數。',
'ip' => ':attribute 必須是一個有效的 IP 地址。',
'ipv4' => ':attribute 必須是一個有效的 IPv4 地址。',
'ipv6' => ':attribute 必須是一個有效的 IPv6 地址。',
'json' => ':attribute 必須是一個有效的 JSON 字串。',
'lt' => [
'numeric' => ':attribute 必須小於 :value。',
'file' => ':attribute 必須小於 :value KB。',
'string' => ':attribute 必須少於 :value 個字元。',
'array' => ':attribute 必須少於 :value 個項目。',
],
'lte' => [
'numeric' => ':attribute 必須小於或等於 :value。',
'file' => ':attribute 必須小於或等於 :value KB。',
'string' => ':attribute 必須少於或等於 :value 個字元。',
'array' => ':attribute 必須少於或等於 :value 個項目。',
],
'max' => [
'numeric' => ':attribute 不能大於 :max。',
'file' => ':attribute 不能大於 :max KB。',
'string' => ':attribute 不能多於 :max 個字元。',
'array' => ':attribute 最多有 :max 個項目。',
],
'mimes' => ':attribute 必須是一個 :values 格式的檔案。',
'mimetypes' => ':attribute 必須是一個 :values 格式的檔案。',
'min' => [
'numeric' => ':attribute 不能小於 :min。',
'file' => ':attribute 不能小於 :min KB。',
'string' => ':attribute 不能少於 :min 個字元。',
'array' => ':attribute 至少有 :min 個項目。',
],
'multiple_of' => ':attribute 必須為 :value 的倍數。',
'not_in' => '所選的 :attribute 選項無效。',
'not_regex' => ':attribute 的格式錯誤。',
'numeric' => ':attribute 必須是一個數字。',
'password' => '密碼錯誤。',
'present' => ':attribute 必須存在。',
'regex' => ':attribute 的格式錯誤。',
'required' => ':attribute 欄位必填。',
'required_if' => '當 :other 是 :value 時,:attribute 欄位必填。',
'required_unless' => '當 :other 不是 :value 時,:attribute 欄位必填。',
'required_with' => '當 :values 出現時,:attribute 欄位必填。',
'required_with_all' => '當 :values 出現時,:attribute 欄位必填。',
'required_without' => '當 :values 留空時,:attribute 欄位必填。',
'required_without_all' => '當 :values 留空時,:attribute 欄位必填。',
'same' => ':attribute 與 :other 必須相同。',
'size' => [
'numeric' => ':attribute 的大小必須是 :size。',
'file' => ':attribute 的大小必須是 :size KB。',
'string' => ':attribute 必須是 :size 個字元。',
'array' => ':attribute 必須包含 :size 個項目。',
],
'starts_with' => ':attribute 開頭必須包含下列之一::values。',
'string' => ':attribute 必須是一個字串。',
'timezone' => ':attribute 必須是一個有效的時區。',
'unique' => ':attribute 已經存在。',
'uploaded' => ':attribute 上傳失敗。',
'url' => ':attribute 的格式錯誤。',
'uuid' => ':attribute 必須是一個有效的 UUID。',
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
'attributes' => [
'name' => '名稱',
'username' => '使用者名稱',
'email' => '電子郵件',
'first_name' => '名',
'last_name' => '姓',
'password' => '密碼',
'password_confirmation' => '確認密碼',
'city' => '城市',
'country' => '國家',
'address' => '地址',
'phone' => '電話',
'mobile' => '手機',
'age' => '年齡',
'sex' => '性別',
'gender' => '性別',
'day' => '天',
'month' => '月',
'year' => '年',
'hour' => '時',
'minute' => '分',
'second' => '秒',
'title' => '標題',
'content' => '內容',
'description' => '描述',
'excerpt' => '摘要',
'date' => '日期',
'time' => '時間',
'available' => '可用的',
'size' => '大小',
'product_id' => '商品',
'vendor_id' => '供應商',
'warehouse_id' => '倉庫',
'unit_id' => '單位',
'items' => '明細項目',
'quantity' => '數量',
'yield_quantity' => '標準產出量',
'production_date' => '生產日期',
'output_batch_number' => '成品批號',
'output_quantity' => '生產數量',
'source_warehouse_id' => '來源倉庫',
'target_warehouse_id' => '目標倉庫',
'expected_delivery_date' => '預計到貨日期',
'invoice_number' => '發票號碼',
'invoice_date' => '發票日期',
'invoice_amount' => '發票金額',
'tax_amount' => '稅額',
'remark' => '備註',
'code' => '代號',
],
];

166
lang/zh_TW/pagination.php Normal file
View File

@@ -0,0 +1,166 @@
<?php
return [
'accepted' => ':attribute 必須接受。',
'active_url' => ':attribute 並非一個有效的網址。',
'after' => ':attribute 必須在 :date 之後。',
'after_or_equal' => ':attribute 必須在 :date 之後或相等。',
'alpha' => ':attribute 只能由字母組成。',
'alpha_dash' => ':attribute 只能由字母、數字、破折號與底線組成。',
'alpha_num' => ':attribute 只能由字母與數字組成。',
'array' => ':attribute 必須是一個陣列。',
'before' => ':attribute 必須在 :date 之前。',
'before_or_equal' => ':attribute 必須在 :date 之前或相等。',
'between' => [
'numeric' => ':attribute 必須介於 :min 至 :max 之間。',
'file' => ':attribute 必須介於 :min 至 :max KB 之間。',
'string' => ':attribute 必須介於 :min 至 :max 個字元之間。',
'array' => ':attribute 必須介於 :min 至 :max 個項目之間。',
],
'boolean' => ':attribute 必須為布林值。',
'confirmed' => ':attribute 確認欄位不一致。',
'date' => ':attribute 並非一個有效的日期。',
'date_equals' => ':attribute 必須等於 :date。',
'date_format' => ':attribute 不符合 :format 的格式。',
'different' => ':attribute 與 :other 必須不同。',
'digits' => ':attribute 必須是 :digits 位數字。',
'digits_between' => ':attribute 必須介於 :min 至 :max 位數字之間。',
'dimensions' => ':attribute 圖片尺寸不正確。',
'distinct' => ':attribute 已經存在。',
'email' => ':attribute 必須是一個有效的電子郵件地址。',
'ends_with' => ':attribute 結尾必須包含下列之一::values。',
'exists' => '所選的 :attribute 選項無效。',
'file' => ':attribute 必須是一個檔案。',
'filled' => ':attribute 屬性是必填的。',
'gt' => [
'numeric' => ':attribute 必須大於 :value。',
'file' => ':attribute 必須大於 :value KB。',
'string' => ':attribute 必須多於 :value 個字元。',
'array' => ':attribute 必須多於 :value 個項目。',
],
'gte' => [
'numeric' => ':attribute 必須大於或等於 :value。',
'file' => ':attribute 必須大於或等於 :value KB。',
'string' => ':attribute 必須多於或等於 :value 個字元。',
'array' => ':attribute 必須多於或等於 :value 個項目。',
],
'image' => ':attribute 必須是一張圖片。',
'in' => '所選的 :attribute 選項無效。',
'in_array' => ':attribute 沒有在 :other 中。',
'integer' => ':attribute 必須是一個整數。',
'ip' => ':attribute 必須是一個有效的 IP 地址。',
'ipv4' => ':attribute 必須是一個有效的 IPv4 地址。',
'ipv6' => ':attribute 必須是一個有效的 IPv6 地址。',
'json' => ':attribute 必須是一個有效的 JSON 字串。',
'lt' => [
'numeric' => ':attribute 必須小於 :value。',
'file' => ':attribute 必須小於 :value KB。',
'string' => ':attribute 必須少於 :value 個字元。',
'array' => ':attribute 必須少於 :value 個項目。',
],
'lte' => [
'numeric' => ':attribute 必須小於或等於 :value。',
'file' => ':attribute 必須小於或等於 :value KB。',
'string' => ':attribute 必須少於或等於 :value 個字元。',
'array' => ':attribute 必須少於或等於 :value 個項目。',
],
'max' => [
'numeric' => ':attribute 不能大於 :max。',
'file' => ':attribute 不能大於 :max KB。',
'string' => ':attribute 不能多於 :max 個字元。',
'array' => ':attribute 最多有 :max 個項目。',
],
'mimes' => ':attribute 必須是一個 :values 格式的檔案。',
'mimetypes' => ':attribute 必須是一個 :values 格式的檔案。',
'min' => [
'numeric' => ':attribute 不能小於 :min。',
'file' => ':attribute 不能小於 :min KB。',
'string' => ':attribute 不能少於 :min 個字元。',
'array' => ':attribute 至少有 :min 個項目。',
],
'multiple_of' => ':attribute 必須為 :value 的倍數。',
'not_in' => '所選的 :attribute 選項無效。',
'not_regex' => ':attribute 的格式錯誤。',
'numeric' => ':attribute 必須是一個數字。',
'password' => '密碼錯誤。',
'present' => ':attribute 必須存在。',
'regex' => ':attribute 的格式錯誤。',
'required' => ':attribute 欄位必填。',
'required_if' => '當 :other 是 :value 時,:attribute 欄位必填。',
'required_unless' => '當 :other 不是 :value 時,:attribute 欄位必填。',
'required_with' => '當 :values 出現時,:attribute 欄位必填。',
'required_with_all' => '當 :values 出現時,:attribute 欄位必填。',
'required_without' => '當 :values 留空時,:attribute 欄位必填。',
'required_without_all' => '當 :values 留空時,:attribute 欄位必填。',
'same' => ':attribute 與 :other 必須相同。',
'size' => [
'numeric' => ':attribute 的大小必須是 :size。',
'file' => ':attribute 的大小必須是 :size KB。',
'string' => ':attribute 必須是 :size 個字元。',
'array' => ':attribute 必須包含 :size 個項目。',
],
'starts_with' => ':attribute 開頭必須包含下列之一::values。',
'string' => ':attribute 必須是一個字串。',
'timezone' => ':attribute 必須是一個有效的時區。',
'unique' => ':attribute 已經存在。',
'uploaded' => ':attribute 上傳失敗。',
'url' => ':attribute 的格式錯誤。',
'uuid' => ':attribute 必須是一個有效的 UUID。',
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
'attributes' => [
'name' => '名稱',
'username' => '使用者名稱',
'email' => '電子郵件',
'first_name' => '名',
'last_name' => '姓',
'password' => '密碼',
'password_confirmation' => '確認密碼',
'city' => '城市',
'country' => '國家',
'address' => '地址',
'phone' => '電話',
'mobile' => '手機',
'age' => '年齡',
'sex' => '性別',
'gender' => '性別',
'day' => '天',
'month' => '月',
'year' => '年',
'hour' => '時',
'minute' => '分',
'second' => '秒',
'title' => '標題',
'content' => '內容',
'description' => '描述',
'excerpt' => '摘要',
'date' => '日期',
'time' => '時間',
'available' => '可用的',
'size' => '大小',
'product_id' => '商品',
'vendor_id' => '供應商',
'warehouse_id' => '倉庫',
'unit_id' => '單位',
'items' => '明細項目',
'quantity' => '數量',
'yield_quantity' => '標準產出量',
'production_date' => '生產日期',
'output_batch_number' => '成品批號',
'output_quantity' => '生產數量',
'source_warehouse_id' => '來源倉庫',
'target_warehouse_id' => '目標倉庫',
'expected_delivery_date' => '預計到貨日期',
'invoice_number' => '發票號碼',
'invoice_date' => '發票日期',
'invoice_amount' => '發票金額',
'tax_amount' => '稅額',
'remark' => '備註',
'code' => '代號',
],
];

166
lang/zh_TW/passwords.php Normal file
View File

@@ -0,0 +1,166 @@
<?php
return [
'accepted' => ':attribute 必須接受。',
'active_url' => ':attribute 並非一個有效的網址。',
'after' => ':attribute 必須在 :date 之後。',
'after_or_equal' => ':attribute 必須在 :date 之後或相等。',
'alpha' => ':attribute 只能由字母組成。',
'alpha_dash' => ':attribute 只能由字母、數字、破折號與底線組成。',
'alpha_num' => ':attribute 只能由字母與數字組成。',
'array' => ':attribute 必須是一個陣列。',
'before' => ':attribute 必須在 :date 之前。',
'before_or_equal' => ':attribute 必須在 :date 之前或相等。',
'between' => [
'numeric' => ':attribute 必須介於 :min 至 :max 之間。',
'file' => ':attribute 必須介於 :min 至 :max KB 之間。',
'string' => ':attribute 必須介於 :min 至 :max 個字元之間。',
'array' => ':attribute 必須介於 :min 至 :max 個項目之間。',
],
'boolean' => ':attribute 必須為布林值。',
'confirmed' => ':attribute 確認欄位不一致。',
'date' => ':attribute 並非一個有效的日期。',
'date_equals' => ':attribute 必須等於 :date。',
'date_format' => ':attribute 不符合 :format 的格式。',
'different' => ':attribute 與 :other 必須不同。',
'digits' => ':attribute 必須是 :digits 位數字。',
'digits_between' => ':attribute 必須介於 :min 至 :max 位數字之間。',
'dimensions' => ':attribute 圖片尺寸不正確。',
'distinct' => ':attribute 已經存在。',
'email' => ':attribute 必須是一個有效的電子郵件地址。',
'ends_with' => ':attribute 結尾必須包含下列之一::values。',
'exists' => '所選的 :attribute 選項無效。',
'file' => ':attribute 必須是一個檔案。',
'filled' => ':attribute 屬性是必填的。',
'gt' => [
'numeric' => ':attribute 必須大於 :value。',
'file' => ':attribute 必須大於 :value KB。',
'string' => ':attribute 必須多於 :value 個字元。',
'array' => ':attribute 必須多於 :value 個項目。',
],
'gte' => [
'numeric' => ':attribute 必須大於或等於 :value。',
'file' => ':attribute 必須大於或等於 :value KB。',
'string' => ':attribute 必須多於或等於 :value 個字元。',
'array' => ':attribute 必須多於或等於 :value 個項目。',
],
'image' => ':attribute 必須是一張圖片。',
'in' => '所選的 :attribute 選項無效。',
'in_array' => ':attribute 沒有在 :other 中。',
'integer' => ':attribute 必須是一個整數。',
'ip' => ':attribute 必須是一個有效的 IP 地址。',
'ipv4' => ':attribute 必須是一個有效的 IPv4 地址。',
'ipv6' => ':attribute 必須是一個有效的 IPv6 地址。',
'json' => ':attribute 必須是一個有效的 JSON 字串。',
'lt' => [
'numeric' => ':attribute 必須小於 :value。',
'file' => ':attribute 必須小於 :value KB。',
'string' => ':attribute 必須少於 :value 個字元。',
'array' => ':attribute 必須少於 :value 個項目。',
],
'lte' => [
'numeric' => ':attribute 必須小於或等於 :value。',
'file' => ':attribute 必須小於或等於 :value KB。',
'string' => ':attribute 必須少於或等於 :value 個字元。',
'array' => ':attribute 必須少於或等於 :value 個項目。',
],
'max' => [
'numeric' => ':attribute 不能大於 :max。',
'file' => ':attribute 不能大於 :max KB。',
'string' => ':attribute 不能多於 :max 個字元。',
'array' => ':attribute 最多有 :max 個項目。',
],
'mimes' => ':attribute 必須是一個 :values 格式的檔案。',
'mimetypes' => ':attribute 必須是一個 :values 格式的檔案。',
'min' => [
'numeric' => ':attribute 不能小於 :min。',
'file' => ':attribute 不能小於 :min KB。',
'string' => ':attribute 不能少於 :min 個字元。',
'array' => ':attribute 至少有 :min 個項目。',
],
'multiple_of' => ':attribute 必須為 :value 的倍數。',
'not_in' => '所選的 :attribute 選項無效。',
'not_regex' => ':attribute 的格式錯誤。',
'numeric' => ':attribute 必須是一個數字。',
'password' => '密碼錯誤。',
'present' => ':attribute 必須存在。',
'regex' => ':attribute 的格式錯誤。',
'required' => ':attribute 欄位必填。',
'required_if' => '當 :other 是 :value 時,:attribute 欄位必填。',
'required_unless' => '當 :other 不是 :value 時,:attribute 欄位必填。',
'required_with' => '當 :values 出現時,:attribute 欄位必填。',
'required_with_all' => '當 :values 出現時,:attribute 欄位必填。',
'required_without' => '當 :values 留空時,:attribute 欄位必填。',
'required_without_all' => '當 :values 留空時,:attribute 欄位必填。',
'same' => ':attribute 與 :other 必須相同。',
'size' => [
'numeric' => ':attribute 的大小必須是 :size。',
'file' => ':attribute 的大小必須是 :size KB。',
'string' => ':attribute 必須是 :size 個字元。',
'array' => ':attribute 必須包含 :size 個項目。',
],
'starts_with' => ':attribute 開頭必須包含下列之一::values。',
'string' => ':attribute 必須是一個字串。',
'timezone' => ':attribute 必須是一個有效的時區。',
'unique' => ':attribute 已經存在。',
'uploaded' => ':attribute 上傳失敗。',
'url' => ':attribute 的格式錯誤。',
'uuid' => ':attribute 必須是一個有效的 UUID。',
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
'attributes' => [
'name' => '名稱',
'username' => '使用者名稱',
'email' => '電子郵件',
'first_name' => '名',
'last_name' => '姓',
'password' => '密碼',
'password_confirmation' => '確認密碼',
'city' => '城市',
'country' => '國家',
'address' => '地址',
'phone' => '電話',
'mobile' => '手機',
'age' => '年齡',
'sex' => '性別',
'gender' => '性別',
'day' => '天',
'month' => '月',
'year' => '年',
'hour' => '時',
'minute' => '分',
'second' => '秒',
'title' => '標題',
'content' => '內容',
'description' => '描述',
'excerpt' => '摘要',
'date' => '日期',
'time' => '時間',
'available' => '可用的',
'size' => '大小',
'product_id' => '商品',
'vendor_id' => '供應商',
'warehouse_id' => '倉庫',
'unit_id' => '單位',
'items' => '明細項目',
'quantity' => '數量',
'yield_quantity' => '標準產出量',
'production_date' => '生產日期',
'output_batch_number' => '成品批號',
'output_quantity' => '生產數量',
'source_warehouse_id' => '來源倉庫',
'target_warehouse_id' => '目標倉庫',
'expected_delivery_date' => '預計到貨日期',
'invoice_number' => '發票號碼',
'invoice_date' => '發票日期',
'invoice_amount' => '發票金額',
'tax_amount' => '稅額',
'remark' => '備註',
'code' => '代號',
],
];

225
lang/zh_TW/validation.php Normal file
View File

@@ -0,0 +1,225 @@
<?php
return [
'accepted' => ':attribute 必須接受。',
'active_url' => ':attribute 並非一個有效的網址。',
'after' => ':attribute 必須在 :date 之後。',
'after_or_equal' => ':attribute 必須在 :date 之後或相等。',
'alpha' => ':attribute 只能由字母組成。',
'alpha_dash' => ':attribute 只能由字母、數字、破折號與底線組成。',
'alpha_num' => ':attribute 只能由字母與數字組成。',
'array' => ':attribute 必須是一個陣列。',
'before' => ':attribute 必須在 :date 之前。',
'before_or_equal' => ':attribute 必須在 :date 之前或相等。',
'between' => [
'numeric' => ':attribute 必須介於 :min 至 :max 之間。',
'file' => ':attribute 必須介於 :min 至 :max KB 之間。',
'string' => ':attribute 必須介於 :min 至 :max 個字元之間。',
'array' => ':attribute 必須介於 :min 至 :max 個項目之間。',
],
'boolean' => ':attribute 必須為布林值。',
'confirmed' => ':attribute 確認欄位不一致。',
'date' => ':attribute 並非一個有效的日期。',
'date_equals' => ':attribute 必須等於 :date。',
'date_format' => ':attribute 不符合 :format 的格式。',
'different' => ':attribute 與 :other 必須不同。',
'digits' => ':attribute 必須是 :digits 位數字。',
'digits_between' => ':attribute 必須介於 :min 至 :max 位數字之間。',
'dimensions' => ':attribute 圖片尺寸不正確。',
'distinct' => ':attribute 已經存在。',
'email' => ':attribute 必須是一個有效的電子郵件地址。',
'ends_with' => ':attribute 結尾必須包含下列之一::values。',
'exists' => '所選的 :attribute 選項無效。',
'file' => ':attribute 必須是一個檔案。',
'filled' => ':attribute 屬性是必填的。',
'gt' => [
'numeric' => ':attribute 必須大於 :value。',
'file' => ':attribute 必須大於 :value KB。',
'string' => ':attribute 必須多於 :value 個字元。',
'array' => ':attribute 必須多於 :value 個項目。',
],
'gte' => [
'numeric' => ':attribute 必須大於或等於 :value。',
'file' => ':attribute 必須大於或等於 :value KB。',
'string' => ':attribute 必須多於或等於 :value 個字元。',
'array' => ':attribute 必須多於或等於 :value 個項目。',
],
'image' => ':attribute 必須是一張圖片。',
'in' => '所選的 :attribute 選項無效。',
'in_array' => ':attribute 沒有在 :other 中。',
'integer' => ':attribute 必須是一個整數。',
'ip' => ':attribute 必須是一個有效的 IP 地址。',
'ipv4' => ':attribute 必須是一個有效的 IPv4 地址。',
'ipv6' => ':attribute 必須是一個有效的 IPv6 地址。',
'json' => ':attribute 必須是一個有效的 JSON 字串。',
'lt' => [
'numeric' => ':attribute 必須小於 :value。',
'file' => ':attribute 必須小於 :value KB。',
'string' => ':attribute 必須少於 :value 個字元。',
'array' => ':attribute 必須少於 :value 個項目。',
],
'lte' => [
'numeric' => ':attribute 必須小於或等於 :value。',
'file' => ':attribute 必須小於或等於 :value KB。',
'string' => ':attribute 必須少於或等於 :value 個字元。',
'array' => ':attribute 必須少於或等於 :value 個項目。',
],
'max' => [
'numeric' => ':attribute 不能大於 :max。',
'file' => ':attribute 不能大於 :max KB。',
'string' => ':attribute 不能多於 :max 個字元。',
'array' => ':attribute 最多有 :max 個項目。',
],
'mimes' => ':attribute 必須是一個 :values 格式的檔案。',
'mimetypes' => ':attribute 必須是一個 :values 格式的檔案。',
'min' => [
'numeric' => ':attribute 不能小於 :min。',
'file' => ':attribute 不能小於 :min KB。',
'string' => ':attribute 不能少於 :min 個字元。',
'array' => ':attribute 至少有 :min 個項目。',
],
'multiple_of' => ':attribute 必須為 :value 的倍數。',
'not_in' => '所選的 :attribute 選項無效。',
'not_regex' => ':attribute 的格式錯誤。',
'numeric' => ':attribute 必須是一個數字。',
'password' => '密碼錯誤。',
'present' => ':attribute 必須存在。',
'regex' => ':attribute 的格式錯誤。',
'required' => ':attribute 欄位必填。',
'required_if' => '當 :other 是 :value 時,:attribute 欄位必填。',
'required_unless' => '當 :other 不是 :value 時,:attribute 欄位必填。',
'required_with' => '當 :values 出現時,:attribute 欄位必填。',
'required_with_all' => '當 :values 出現時,:attribute 欄位必填。',
'required_without' => '當 :values 留空時,:attribute 欄位必填。',
'required_without_all' => '當 :values 留空時,:attribute 欄位必填。',
'same' => ':attribute 與 :other 必須相同。',
'size' => [
'numeric' => ':attribute 的大小必須是 :size。',
'file' => ':attribute 的大小必須是 :size KB。',
'string' => ':attribute 必須是 :size 個字元。',
'array' => ':attribute 必須包含 :size 個項目。',
],
'starts_with' => ':attribute 開頭必須包含下列之一::values。',
'string' => ':attribute 必須是一個字串。',
'timezone' => ':attribute 必須是一個有效的時區。',
'unique' => ':attribute 已經存在。',
'uploaded' => ':attribute 上傳失敗。',
'url' => ':attribute 的格式錯誤。',
'uuid' => ':attribute 必須是一個有效的 UUID。',
'custom' => [
'attribute-name' => [
'rule-name' => 'custom-message',
],
],
'attributes' => [
'name' => '名稱',
'username' => '使用者名稱',
'email' => '電子郵件',
'first_name' => '名',
'last_name' => '姓',
'password' => '密碼',
'password_confirmation' => '確認密碼',
'city' => '城市',
'country' => '國家',
'address' => '地址',
'phone' => '電話',
'mobile' => '手機',
'age' => '年齡',
'sex' => '性別',
'gender' => '性別',
'day' => '天',
'month' => '月',
'year' => '年',
'hour' => '時',
'minute' => '分',
'second' => '秒',
'title' => '標題',
'content' => '內容',
'description' => '描述',
'excerpt' => '摘要',
'date' => '日期',
'time' => '時間',
'available' => '可用的',
'size' => '大小',
'product_id' => '商品',
'productId' => '商品',
'vendor_id' => '供應商',
'vendorId' => '供應商',
'warehouse_id' => '倉庫',
'warehouseId' => '倉庫',
'unit_id' => '單位',
'unitId' => '單位',
'items' => '明細項目',
'quantity' => '數量',
'yield_quantity' => '標準產出量',
'yieldQuantity' => '標準產出量',
'production_date' => '生產日期',
'productionDate' => '生產日期',
'output_batch_number' => '成品批號',
'outputBatchNumber' => '成品批號',
'output_quantity' => '生產數量',
'outputQuantity' => '生產數量',
'output_box_count' => '生產箱數',
'outputBoxCount' => '生產箱數',
'source_warehouse_id' => '來源倉庫',
'sourceWarehouseId' => '來源倉庫',
'target_warehouse_id' => '目標倉庫',
'targetWarehouseId' => '目標倉庫',
'expected_delivery_date' => '預計到貨日期',
'expectedDeliveryDate' => '預計到貨日期',
'invoice_number' => '發票號碼',
'invoiceNumber' => '發票號碼',
'invoice_date' => '發票日期',
'invoiceDate' => '發票日期',
'invoice_amount' => '發票金額',
'invoiceAmount' => '發票金額',
'tax_amount' => '稅額',
'taxAmount' => '稅額',
'remark' => '備註',
'code' => '代號',
'short_name' => '簡稱',
'shortName' => '簡稱',
'tax_id' => '統編',
'taxId' => '統編',
'owner' => '負責人',
'contact_name' => '聯絡人',
'contactName' => '聯絡人',
'tel' => '電話',
'phone' => '手機',
'address' => '地址',
'brand' => '品牌',
'specification' => '規格',
'base_unit_id' => '基本單位',
'baseUnitId' => '基本單位',
'large_unit_id' => '大單位',
'largeUnitId' => '大單位',
'purchase_unit_id' => '採購單位',
'purchaseUnitId' => '採購單位',
'conversion_rate' => '換算率',
'conversionRate' => '換算率',
'category_id' => '分類',
'categoryId' => '分類',
'inventory_id' => '庫存項目',
'inventoryId' => '庫存項目',
'arrival_date' => '到貨日期',
'arrivalDate' => '到貨日期',
'expiry_date' => '效期',
'expiryDate' => '效期',
'quantity_used' => '使用數量',
'quantityUsed' => '使用數量',
'items.*.product_id' => '明細商品',
'items.*.productId' => '明細商品',
'items.*.quantity' => '明細數量',
'items.*.unit_id' => '明細單位',
'items.*.unitId' => '明細單位',
'items.*.remark' => '明細備註',
'items.*.inventory_id' => '明細批號',
'items.*.inventoryId' => '明細批號',
'items.*.quantity_used' => '明細用量',
'items.*.quantityUsed' => '明細用量',
'items.*.subtotal' => '明細小計',
'items.*.subtotalAmount' => '明細小計',
],
];