feat: add i18n support for Vietnamese and English
Some checks failed
Tests / PHP 8.3 (push) Has been cancelled
Tests / PHP 8.4 (push) Has been cancelled
Tests / PHP 8.5 (push) Has been cancelled

This commit is contained in:
2026-05-04 10:40:39 +00:00
parent 3a8db5cae6
commit 8c6b71cb8a
64 changed files with 4652 additions and 254 deletions

View File

@@ -20,13 +20,18 @@ class ContractResource extends Resource
protected static string|BackedEnum|null $navigationIcon = Heroicon::OutlinedDocumentText;
protected static ?string $pluralLabel = 'Contracts';
protected static ?string $pluralLabel = 'app.resource_contracts';
protected static ?int $navigationSort = 4;
public static function getPluralLabel(): ?string
{
return __('app.resource_contracts');
}
public static function getNavigationGroup(): ?string
{
return 'Management';
return __('app.nav_management');
}
public static function form(Schema $schema): Schema

View File

@@ -16,33 +16,37 @@ class ContractForm
{
return $schema
->components([
Section::make('Thông tin hợp đồng')
Section::make(__('app.contract_info'))
->schema([
Select::make('product_id')
->label(__('app.product'))
->relationship('product', 'name')
->searchable()
->required(),
Select::make('customer_id')
->label(__('app.widget_customer'))
->relationship('customer', 'name')
->searchable()
->required(),
Select::make('type')
->label(__('app.contract'))
->options(ContractType::options())
->required()
->native(false),
Select::make('status')
->label(__('app.status'))
->options(ContractStatus::ACTIVE->options())
->default('active')
->required()
->native(false),
DatePicker::make('start_date')
->label('Ngày bắt đầu'),
->label(__('app.start_date')),
DatePicker::make('end_date')
->label('Ngày kết thúc'),
->label(__('app.end_date')),
DatePicker::make('printed_at')
->label('Ngày in HĐ'),
->label(__('app.printed_at')),
TextInput::make('signed_status')
->label('Tình trạng ký')
->label(__('app.signed_status'))
->maxLength(255),
])
->columns(2),

View File

@@ -46,7 +46,7 @@ class ContractsTable
->toggleable(),
TextColumn::make('feedbacks_count')
->counts('feedbacks')
->label('Tickets'),
->label(__('app.tickets')),
TextColumn::make('created_at')
->dateTime()
->sortable()