mirror of
https://github.com/opensourcepos/opensourcepos.git
synced 2026-09-15 23:07:45 -04:00
bugfix(items, validation): reject unsafe tax names and fix payments temp table collision - Add unicode_alpha_numeric_punct rule (OSPOSRules) to allow accented/CJK chars in text fields while blocking HTML-unsafe chars (<, >) as defense-in-depth against injection - Items controller: extract validateItemFields/validateBulkUpdateFields, validate tax_names on save and bulk update using new rule; add shared validateFields helper in Secure_Controller to DRY up validation + JSON error response - Escape tax_group output in sales/quote.php and receipt_email.php views to harden output encoding at render time - Rename sales_payments_temp -> sales_report_payments_temp (Summary_report) and -> sales_search_payments_temp (Sale model) to avoid name collision between concurrently-created temp tables - AGENTS.md: document alignment rule for => columns when inserting new language keys Tests: - Add ItemsControllerTest covering postSave/bulkupdate tax_names validation - Reject <, > in tax_names on /items/save and /items/bulkupdate - Verify unicode and apostrophe-containing tax names are accepted - Cover CSV import helpers: header generation (basic, multiple locations, attributes), stock-location/attribute header builders, get_csv_file parsing (plain, BOM-prefixed, multi-row) - Validate required-header detection for import templates - Remove outdated tax name test from SalesControllerTest - Simplify Database class references in SalesControllerTest i18n: - Add tax_name_invalid translation to Items.php for 20+ locales, inserted alphabetically after tax_category in each file - Normalize quote style in ar-EG/Items.php to single quotes - Add ka/Items.php Georgian locale scaffold Signed-off-by: objecttothis <17935339+objecttothis@users.noreply.github.com>
125 lines
7.7 KiB
PHP
125 lines
7.7 KiB
PHP
<?php
|
|
|
|
return [
|
|
'add_minus' => '增/減庫存.',
|
|
'allow_alt_description' => '允許ALT描述',
|
|
'amount_entry' => '金額輸入',
|
|
'bulk_edit' => '批次編輯',
|
|
'buy_price_required' => '進貨價為必填欄位.',
|
|
'cannot_be_deleted' => '無法刪除選定產品,所選產品中的一個或多個有銷售紀綠。',
|
|
'cannot_find_item' => '無法找到任何有關的產品.',
|
|
'categories' => '',
|
|
'category' => '類別',
|
|
'category_new' => '',
|
|
'category_required' => '類別為必填欄位.',
|
|
'change_all_to_allow_alt_desc' => '充許全部ALT倒序.',
|
|
'change_all_to_not_allow_allow_desc' => '不允許全部ALT倒序.',
|
|
'change_all_to_serialized' => '全部更改序號至序列化',
|
|
'change_all_to_unserialized' => '全部更改序號至非序列化',
|
|
'change_image' => '更改圖像',
|
|
'confirm_bulk_edit' => '您確定您要編輯的所有選定的產品嗎?',
|
|
'confirm_bulk_edit_wipe_taxes' => '所有項目稅信息將被替換。',
|
|
'confirm_delete' => '你確定你要刪除選定的產品嗎?',
|
|
'confirm_restore' => '您確定要恢復所選項目嗎?',
|
|
'cost_price' => '成本價',
|
|
'cost_price_number' => '成本價必需是數值.',
|
|
'cost_price_required' => '成本價為必填攔位.',
|
|
'count' => '更新庫存',
|
|
'csv_import_failed' => 'CSV匯入失敗',
|
|
'csv_import_invalid_location' => '',
|
|
'csv_import_nodata_wrongformat' => '上傳的 CSV 文件沒有數據或格式不正確。',
|
|
'csv_import_partially_failed' => '線上有 {0} 個項目導入失敗:{1}。未導入任何行。',
|
|
'csv_import_success' => '項目 CSV 導入成功。',
|
|
'current_quantity' => '當前數量',
|
|
'default_pack_name' => '每個',
|
|
'description' => '描述',
|
|
'details_count' => '庫存盤點詳情',
|
|
'do_nothing' => '沒有執行任何修改',
|
|
'edit' => '',
|
|
'edit_fields_you_want_to_update' => '編輯您選定產品的所有欄位.',
|
|
'edit_multiple_items' => '編輯多項產品',
|
|
'empty_upc_items' => 'Empty UPC Items',
|
|
'error_adding_updating' => '新增/更新產品錯誤',
|
|
'error_updating_multiple' => '更新產品錯誤',
|
|
'generate_barcodes' => '產生條碼',
|
|
'hsn_code' => '協調系統命名法',
|
|
'image' => 'Avatar',
|
|
'import_items_csv' => 'Import items from CSV sheet',
|
|
'info_provided_by' => '訊息提供者',
|
|
'inventory' => '庫存',
|
|
'inventory_CSV_import_quantity' => '從 CSV 導入的數量',
|
|
'inventory_comments' => '評論',
|
|
'inventory_data_tracking' => '庫存數據跟踪',
|
|
'inventory_date' => '日期',
|
|
'inventory_employee' => '員工',
|
|
'inventory_in_out_quantity' => '進/出數量',
|
|
'inventory_remarks' => '評論',
|
|
'is_deleted' => '已刪除',
|
|
'is_printed' => '',
|
|
'is_serialized' => '產品有序號',
|
|
'item' => '產品',
|
|
'item_id' => '',
|
|
'item_number' => 'UPC/EAN/ISBN',
|
|
'item_number_duplicate' => '項目編號已存在於數據庫中。',
|
|
'item_number_invalid' => '項目編號包含不允許的字符。',
|
|
'kit' => '成套工具',
|
|
'location' => '位置',
|
|
'low_inventory_items' => '低庫存產品',
|
|
'low_sell_item' => '低價商品',
|
|
'manually_editing_of_quantity' => '手動編輯數量',
|
|
'markup' => '',
|
|
'name' => '產品名稱',
|
|
'name_required' => '產品名稱為必填.',
|
|
'new' => '新增產品',
|
|
'no_description_items' => '產品沒有說明',
|
|
'no_items_to_display' => '沒有產品可以顯示.',
|
|
'none' => '無',
|
|
'none_selected' => '您還沒有選擇任何產品進行編輯',
|
|
'nonstock' => '無庫存',
|
|
'number_information' => '產品編號',
|
|
'number_required' => '條形碼是必填字段。',
|
|
'one_or_multiple' => '產品',
|
|
'pack_name' => '包裝名稱',
|
|
'qty_per_pack' => '每包數量',
|
|
'quantity' => '數量',
|
|
'quantity_number' => '數量必需是數值.',
|
|
'quantity_required' => '數量為必填欄位.',
|
|
'receiving_quantity' => 'Receiving quantity',
|
|
'remove_image' => '刪除圖像',
|
|
'reorder_level' => '補貨點',
|
|
'reorder_level_number' => '補貨點必需是數值.',
|
|
'reorder_level_required' => '補貨點為必填欄位.',
|
|
'retrive_item_info' => '檢索產品訊息',
|
|
'sales_tax_1' => '營業稅',
|
|
'sales_tax_2' => '營業稅 2',
|
|
'search_attributes' => 'Search Custom Fields',
|
|
'select_image' => '選擇圖像',
|
|
'serialized_items' => '序列化產品',
|
|
'standard' => '標準',
|
|
'stock' => '庫存',
|
|
'stock_location' => '倉庫地址',
|
|
'stock_type' => '股票類型',
|
|
'successful_adding' => '已成功新增產品',
|
|
'successful_bulk_edit' => '您已成功更新所選產品',
|
|
'successful_deleted' => '刪除成功',
|
|
'successful_updating' => '已成功更新產品',
|
|
'supplier' => '供貨商',
|
|
'tax_1' => '稅額 1',
|
|
'tax_2' => '稅額 2',
|
|
'tax_3' => '',
|
|
'tax_category' => '稅種',
|
|
'tax_name_invalid' => '稅項名稱包含不允許的字元。',
|
|
'tax_percent' => '稅率',
|
|
'tax_percent_number' => '稅收百分比必須是數值',
|
|
'tax_percent_required' => '稅率為必填欄位.',
|
|
'tax_percents' => '稅率 %',
|
|
'temp' => '臨時',
|
|
'type' => '物品種類',
|
|
'unit_price' => '單價',
|
|
'unit_price_number' => '單價必需是數值.',
|
|
'unit_price_required' => '單價為必填欄位.',
|
|
'upc_database' => 'UPC Database',
|
|
'update' => '更新產品',
|
|
'use_inventory_menu' => '使用庫存清單',
|
|
];
|