PHP code example of syriable / filament-translator
1. Go to this page and download the library: Download syriable/filament-translator library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
syriable / filament-translator example snippets
use Filament\Panel;
use Syriable\Filament\Plugins\Translator\TranslatorPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
TranslatorPlugin::make()
->pathAliases([
'App\\Livewire' => 'livewire',
]),
]);
}
TranslatorPlugin::make()
->pathAliases([
'App\\Livewire' => 'livewire',
]);
// Replace all aliases instead of merging:
TranslatorPlugin::make()
->pathAliases(['App\\Livewire' => 'livewire'], merge: false);
// Seed every new key with an empty string instead of a humanised guess:
TranslatorPlugin::make()->createMissingTranslationKeys(using: fn (string $key) => '');
// Enable only in the local environment:
TranslatorPlugin::make()->createMissingTranslationKeys(fn () => app()->isLocal());
TranslatorPlugin::get(); // plugin instance on the current panel
TranslatorPlugin::isActive(); // whether the plugin is registered
use Syriable\Filament\Plugins\Translator\ConventionRegistry;
app(ConventionRegistry::class)->registerDefaults();
// app/Providers/AppServiceProvider.php
public function boot(): void
{
app(ConventionRegistry::class)->registerDefaults();
}
// Used unchanged in a form…
Separator::make('or'),
// …resolved from lang/{locale}/livewire/auth/login.php:
'form' => ['components' => ['or' => ['text' => 'Or']]],
'components' => [
// Adopts the column default map (label, tooltip, description, …):
\App\Filament\Tables\Columns\ProgressColumn::class,
// Or pin specific attributes:
\App\Filament\Tables\Filters\StatusFilter::class => [
'label' => false,
],
],
Text::make(null)->key('or'); // resolves {namespace}.form.components.or.content
Text::make('Or'); // literal — no lang lookup
TextInput::make('password')
->hintIcon('heroicon-o-question-mark-circle'); // one argument — tooltip comes from lang
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
TextInput::make('name')
->conventionKey('custom.segment.name');
Toggle::make('active')
->conventionKey('globals.active', isAbsolute: true);
use Syriable\Filament\Plugins\Translator\Filament\Pages\TranslatablePage;
use Syriable\Filament\Plugins\Translator\Filament\Resources\TranslatableResource;
class Login extends TranslatablePage { /* … */ }
class UserResource extends TranslatableResource { /* … */ }