Skip to content

Commit

Permalink
add localization for filepond (#8)
Browse files Browse the repository at this point in the history
* feat: add localization for filepond

* fix: add Instruction in README file for usage of localization
  • Loading branch information
uluumbch authored Jul 31, 2024
1 parent bbdad11 commit 953a5c7
Show file tree
Hide file tree
Showing 41 changed files with 1,441 additions and 1 deletion.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,27 @@ Additionally, you can also pass [any property that the Filepond component accept
<x-filepond::upload wire:model="file" max-files="5" />
```

Localization automatically works based on the current locale. If you want to customize the language, you can publish the language file using:

```bash
php artisan vendor:publish --tag="livewire-filepond-translations"
```

If you want to change your locale you can do so by change the `.env` file:

```env
APP_LOCALE=id # change to Indonesian for example
```

or by setting the locale using laravel's `App` facade:

```php
use Illuminate\Support\Facades\App;

App::setLocale('id'); // change to Indonesian for example
```
The last method can be used to change the locale on the fly. Like when a user changes the language (You need to implement this yourself).

## Publishing assets

Livewire Filepond automatically loads the scripts through an endpoint. If you want to serve the assets directly, you can publish them:
Expand Down
42 changes: 42 additions & 0 deletions resources/lang/ar/filepond.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php
declare(strict_types=1);

return [
'labelIdle' => 'اسحب و ادرج ملفاتك أو <span class="filepond--label-action"> تصفح </span>',
'labelInvalidField' => 'الحقل يحتوي على ملفات غير صالحة',
'labelFileWaitingForSize' => 'بانتظار الحجم',
'labelFileSizeNotAvailable' => 'الحجم غير متاح',
'labelFileLoading' => 'بالإنتظار',
'labelFileLoadError' => 'حدث خطأ أثناء التحميل',
'labelFileProcessing' => 'يتم الرفع',
'labelFileProcessingComplete' => 'تم الرفع',
'labelFileProcessingAborted' => 'تم إلغاء الرفع',
'labelFileProcessingError' => 'حدث خطأ أثناء الرفع',
'labelFileProcessingRevertError' => 'حدث خطأ أثناء التراجع',
'labelFileRemoveError' => 'حدث خطأ أثناء الحذف',
'labelTapToCancel' => 'انقر للإلغاء',
'labelTapToRetry' => 'انقر لإعادة المحاولة',
'labelTapToUndo' => 'انقر للتراجع',
'labelButtonRemoveItem' => 'مسح',
'labelButtonAbortItemLoad' => 'إلغاء',
'labelButtonRetryItemLoad' => 'إعادة',
'labelButtonAbortItemProcessing' => 'إلغاء',
'labelButtonUndoItemProcessing' => 'تراجع',
'labelButtonRetryItemProcessing' => 'إعادة',
'labelButtonProcessItem' => 'رفع',
'labelMaxFileSizeExceeded' => 'الملف كبير جدا',
'labelMaxFileSize' => 'حجم الملف الأقصى: {filesize}',
'labelMaxTotalFileSizeExceeded' => 'تم تجاوز الحد الأقصى للحجم الإجمالي',
'labelMaxTotalFileSize' => 'الحد الأقصى لحجم الملف: {filesize}',
'labelFileTypeNotAllowed' => 'ملف من نوع غير صالح',
'fileValidateTypeLabelExpectedTypes' => 'تتوقع {allButLastType} من {lastType}',
'imageValidateSizeLabelFormatError' => 'نوع الصورة غير مدعوم',
'imageValidateSizeLabelImageSizeTooSmall' => 'الصورة صغير جدا',
'imageValidateSizeLabelImageSizeTooBig' => 'الصورة كبيرة جدا',
'imageValidateSizeLabelExpectedMinSize' => 'الحد الأدنى للأبعاد هو: {minWidth} × {minHeight}',
'imageValidateSizeLabelExpectedMaxSize' => 'الحد الأقصى للأبعاد هو: {maxWidth} × {maxHeight}',
'imageValidateSizeLabelImageResolutionTooLow' => 'الدقة ضعيفة جدا',
'imageValidateSizeLabelImageResolutionTooHigh' => 'الدقة مرتفعة جدا',
'imageValidateSizeLabelExpectedMinResolution' => 'أقل دقة: {minResolution}',
'imageValidateSizeLabelExpectedMaxResolution' => 'أقصى دقة: {maxResolution}'
];
42 changes: 42 additions & 0 deletions resources/lang/az/filepond.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php
declare(strict_types=1);

return [
'labelIdle' => 'Faylınızı Sürüşdürün & Buraxın ya da <span class="filepond--label-action"> Seçin </span>',
'labelInvalidField' => 'Sahədə etibarsız fayllar var',
'labelFileWaitingForSize' => 'Ölçü hesablanır',
'labelFileSizeNotAvailable' => 'Ölçü mövcud deyil',
'labelFileLoading' => 'Yüklənir',
'labelFileLoadError' => 'Yükləmə əsnasında xəta baş verdi',
'labelFileProcessing' => 'Yüklənir',
'labelFileProcessingComplete' => 'Yükləmə tamamlandı',
'labelFileProcessingAborted' => 'Yükləmə ləğv edildi',
'labelFileProcessingError' => 'Yükəyərkən xəta baş verdi',
'labelFileProcessingRevertError' => 'Geri çəkərkən xəta baş verdi',
'labelFileRemoveError' => 'Çıxararkən xəta baş verdi',
'labelTapToCancel' => 'İmtina etmək üçün klikləyin',
'labelTapToRetry' => 'Təkrar yoxlamaq üçün klikləyin',
'labelTapToUndo' => 'Geri almaq üçün klikləyin',
'labelButtonRemoveItem' => 'Çıxar',
'labelButtonAbortItemLoad' => 'İmtina Et',
'labelButtonRetryItemLoad' => 'Təkrar yoxla',
'labelButtonAbortItemProcessing' => 'İmtina et',
'labelButtonUndoItemProcessing' => 'Geri Al',
'labelButtonRetryItemProcessing' => 'Təkrar yoxla',
'labelButtonProcessItem' => 'Yüklə',
'labelMaxFileSizeExceeded' => 'Fayl çox böyükdür',
'labelMaxFileSize' => 'Ən böyük fayl ölçüsü: {filesize}',
'labelMaxTotalFileSizeExceeded' => 'Maksimum ölçü keçildi',
'labelMaxTotalFileSize' => 'Maksimum fayl ölçüsü :{filesize}',
'labelFileTypeNotAllowed' => 'Etibarsız fayl tipi',
'fileValidateTypeLabelExpectedTypes' => 'Bu {allButLastType} ya da bu fayl olması lazımdır: {lastType}',
'imageValidateSizeLabelFormatError' => 'Şəkil tipi dəstəklənmir',
'imageValidateSizeLabelImageSizeTooSmall' => 'Şəkil çox kiçik',
'imageValidateSizeLabelImageSizeTooBig' => 'Şəkil çox böyük',
'imageValidateSizeLabelExpectedMinSize' => 'Minimum ölçü {minWidth} × {minHeight}',
'imageValidateSizeLabelExpectedMaxSize' => 'Maksimum ölçü {maxWidth} × {maxHeight}',
'imageValidateSizeLabelImageResolutionTooLow' => 'Görüntü imkanı çox aşağı',
'imageValidateSizeLabelImageResolutionTooHigh' => 'Görüntü imkanı çox yüksək',
'imageValidateSizeLabelExpectedMinResolution' => 'Minimum görüntü imkanı {minResolution}',
'imageValidateSizeLabelExpectedMaxResolution' => 'Maximum görüntü imkanı {maxResolution}'
];
5 changes: 5 additions & 0 deletions resources/lang/ca/filepond.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php
declare(strict_types=1);

return [
];
42 changes: 42 additions & 0 deletions resources/lang/ckb/filepond.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php
declare(strict_types=1);

return [
'labelIdle' => 'پەڕگەکان فڕێ بدە ئێرە بۆ بارکردن یان <span class="filepond--label-action"> هەڵبژێرە </span>',
'labelInvalidField' => 'پەڕگەی نادروستی تێدایە',
'labelFileWaitingForSize' => 'چاوەڕوانیی قەبارە',
'labelFileSizeNotAvailable' => 'قەبارە بەردەست نیە',
'labelFileLoading' => 'بارکردن',
'labelFileLoadError' => 'هەڵە لەماوەی بارکردن',
'labelFileProcessing' => 'بارکردن',
'labelFileProcessingComplete' => 'بارکردن تەواو بوو',
'labelFileProcessingAborted' => 'بارکردن هەڵوەشایەوە',
'labelFileProcessingError' => 'هەڵە لەکاتی بارکردندا',
'labelFileProcessingRevertError' => 'هەڵە لە کاتی گەڕانەوە',
'labelFileRemoveError' => 'هەڵە لە کاتی سڕینەوە',
'labelTapToCancel' => 'بۆ هەڵوەشاندنەوە Tab دابگرە',
'labelTapToRetry' => 'tap دابگرە بۆ دووبارەکردنەوە',
'labelTapToUndo' => 'tap دابگرە بۆ گەڕاندنەوە',
'labelButtonRemoveItem' => 'سڕینەوە',
'labelButtonAbortItemLoad' => 'هەڵوەشاندنەوە',
'labelButtonRetryItemLoad' => 'هەوڵدانەوە',
'labelButtonAbortItemProcessing' => 'پەشیمانبوونەوە',
'labelButtonUndoItemProcessing' => 'گەڕاندنەوە',
'labelButtonRetryItemProcessing' => 'هەوڵدانەوە',
'labelButtonProcessItem' => 'بارکردن',
'labelMaxFileSizeExceeded' => 'پەڕگە زۆر گەورەیە',
'labelMaxFileSize' => 'زۆرترین قەبارە {filesize}',
'labelMaxTotalFileSizeExceeded' => 'زۆرترین قەبارەی کۆی گشتی تێپەڕێندرا',
'labelMaxTotalFileSize' => 'زۆرترین قەبارەی کۆی پەڕگە {filesize}',
'labelFileTypeNotAllowed' => 'جۆری پەڕگەکە نادروستە',
'fileValidateTypeLabelExpectedTypes' => 'جگە لە {allButLastType} یان {lastType}',
'imageValidateSizeLabelFormatError' => 'جۆری وێنە پاڵپشتیی نەکراوە',
'imageValidateSizeLabelImageSizeTooSmall' => 'وێنەکە زۆر بچووکە',
'imageValidateSizeLabelImageSizeTooBig' => 'وێنەکە زۆر گەورەیە',
'imageValidateSizeLabelExpectedMinSize' => 'کەمترین قەبارە {minWidth} × {minHeight}',
'imageValidateSizeLabelExpectedMaxSize' => 'زۆرترین قەبارە {maxWidth} × {maxHeight}',
'imageValidateSizeLabelImageResolutionTooLow' => 'وردبینییەکەی زۆر کەمە',
'imageValidateSizeLabelImageResolutionTooHigh' => 'وردبینییەکەی زۆر بەرزە',
'imageValidateSizeLabelExpectedMinResolution' => 'کەمترین وردبینیی {minResolution}',
'imageValidateSizeLabelExpectedMaxResolution' => 'زۆرترین وردبینی {maxResolution}'
];
42 changes: 42 additions & 0 deletions resources/lang/cs/filepond.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php
declare(strict_types=1);

return [
'labelIdle' => 'Přetáhněte soubor sem (drag&drop) nebo <span class="filepond--label-action"> Vyhledat </span>',
'labelInvalidField' => 'Pole obsahuje chybné soubory',
'labelFileWaitingForSize' => 'Zjišťuje se velikost',
'labelFileSizeNotAvailable' => 'Velikost není známá',
'labelFileLoading' => 'Přenáší se',
'labelFileLoadError' => 'Chyba při přenosu',
'labelFileProcessing' => 'Probíhá upload',
'labelFileProcessingComplete' => 'Upload dokončen',
'labelFileProcessingAborted' => 'Upload stornován',
'labelFileProcessingError' => 'Chyba při uploadu',
'labelFileProcessingRevertError' => 'Chyba při obnově',
'labelFileRemoveError' => 'Chyba při odstranění',
'labelTapToCancel' => 'klepněte pro storno',
'labelTapToRetry' => 'klepněte pro opakování',
'labelTapToUndo' => 'klepněte pro vrácení',
'labelButtonRemoveItem' => 'Odstranit',
'labelButtonAbortItemLoad' => 'Storno',
'labelButtonRetryItemLoad' => 'Opakovat',
'labelButtonAbortItemProcessing' => 'Zpět',
'labelButtonUndoItemProcessing' => 'Vrátit',
'labelButtonRetryItemProcessing' => 'Opakovat',
'labelButtonProcessItem' => 'Upload',
'labelMaxFileSizeExceeded' => 'Soubor je příliš velký',
'labelMaxFileSize' => 'Největší velikost souboru je {filesize}',
'labelMaxTotalFileSizeExceeded' => 'Překročena maximální celková velikost souboru',
'labelMaxTotalFileSize' => 'Maximální celková velikost souboru je {filesize}',
'labelFileTypeNotAllowed' => 'Soubor je nesprávného typu',
'fileValidateTypeLabelExpectedTypes' => 'Očekává se {allButLastType} nebo {lastType}',
'imageValidateSizeLabelFormatError' => 'Obrázek tohoto typu není podporován',
'imageValidateSizeLabelImageSizeTooSmall' => 'Obrázek je příliš malý',
'imageValidateSizeLabelImageSizeTooBig' => 'Obrázek je příliš velký',
'imageValidateSizeLabelExpectedMinSize' => 'Minimální rozměr je {minWidth} × {minHeight}',
'imageValidateSizeLabelExpectedMaxSize' => 'Maximální rozměr je {maxWidth} × {maxHeight}',
'imageValidateSizeLabelImageResolutionTooLow' => 'Rozlišení je příliš malé',
'imageValidateSizeLabelImageResolutionTooHigh' => 'Rozlišení je příliš velké',
'imageValidateSizeLabelExpectedMinResolution' => 'Minimální rozlišení je {minResolution}',
'imageValidateSizeLabelExpectedMaxResolution' => 'Maximální rozlišení je {maxResolution}'
];
41 changes: 41 additions & 0 deletions resources/lang/da/filepond.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<?php
declare(strict_types=1);

return [
'labelInvalidField' => 'Felt indeholder ugyldige filer',
'labelFileWaitingForSize' => 'Venter på størrelse',
'labelFileSizeNotAvailable' => 'Størrelse ikke tilgængelig',
'labelFileLoading' => 'Loader',
'labelFileLoadError' => 'Load fejlede',
'labelFileProcessing' => 'Uploader',
'labelFileProcessingComplete' => 'Upload færdig',
'labelFileProcessingAborted' => 'Upload annulleret',
'labelFileProcessingError' => 'Upload fejlede',
'labelFileProcessingRevertError' => 'Fortryd fejlede',
'labelFileRemoveError' => 'Fjern fejlede',
'labelTapToCancel' => 'tryk for at annullere',
'labelTapToRetry' => 'tryk for at prøve igen',
'labelTapToUndo' => 'tryk for at fortryde',
'labelButtonRemoveItem' => 'Fjern',
'labelButtonAbortItemLoad' => 'Annuller',
'labelButtonRetryItemLoad' => 'Forsøg igen',
'labelButtonAbortItemProcessing' => 'Annuller',
'labelButtonUndoItemProcessing' => 'Fortryd',
'labelButtonRetryItemProcessing' => 'Prøv igen',
'labelButtonProcessItem' => 'Upload',
'labelMaxFileSizeExceeded' => 'Filen er for stor',
'labelMaxFileSize' => 'Maksimal filstørrelse er {filesize}',
'labelMaxTotalFileSizeExceeded' => 'Maksimal totalstørrelse overskredet',
'labelMaxTotalFileSize' => 'Maksimal total filstørrelse er {filesize}',
'labelFileTypeNotAllowed' => 'Ugyldig filtype',
'fileValidateTypeLabelExpectedTypes' => 'Forventer {allButLastType} eller {lastType}',
'imageValidateSizeLabelFormatError' => 'Ugyldigt format',
'imageValidateSizeLabelImageSizeTooSmall' => 'Billedet er for lille',
'imageValidateSizeLabelImageSizeTooBig' => 'Billedet er for stort',
'imageValidateSizeLabelExpectedMinSize' => 'Minimum størrelse er {minBredde} × {minHøjde}',
'imageValidateSizeLabelExpectedMaxSize' => 'Maksimal størrelse er {maxWidth} × {maxHeight}',
'imageValidateSizeLabelImageResolutionTooLow' => 'For lav opløsning',
'imageValidateSizeLabelImageResolutionTooHigh' => 'For høj opløsning',
'imageValidateSizeLabelExpectedMinResolution' => 'Minimum opløsning er {minResolution}',
'imageValidateSizeLabelExpectedMaxResolution' => 'Maksimal opløsning er {maxResolution}'
];
42 changes: 42 additions & 0 deletions resources/lang/de/filepond.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php
declare(strict_types=1);

return [
'labelIdle' => 'Dateien ablegen oder <span class="filepond--label-action"> auswählen </span>',
'labelInvalidField' => 'Feld beinhaltet ungültige Dateien',
'labelFileWaitingForSize' => 'Dateigröße berechnen',
'labelFileSizeNotAvailable' => 'Dateigröße nicht verfügbar',
'labelFileLoading' => 'Laden',
'labelFileLoadError' => 'Fehler beim Laden',
'labelFileProcessing' => 'Upload läuft',
'labelFileProcessingComplete' => 'Upload abgeschlossen',
'labelFileProcessingAborted' => 'Upload abgebrochen',
'labelFileProcessingError' => 'Fehler beim Upload',
'labelFileProcessingRevertError' => 'Fehler beim Wiederherstellen',
'labelFileRemoveError' => 'Fehler beim Löschen',
'labelTapToCancel' => 'abbrechen',
'labelTapToRetry' => 'erneut versuchen',
'labelTapToUndo' => 'rückgängig',
'labelButtonRemoveItem' => 'Entfernen',
'labelButtonAbortItemLoad' => 'Verwerfen',
'labelButtonRetryItemLoad' => 'Erneut versuchen',
'labelButtonAbortItemProcessing' => 'Abbrechen',
'labelButtonUndoItemProcessing' => 'Rückgängig',
'labelButtonRetryItemProcessing' => 'Erneut versuchen',
'labelButtonProcessItem' => 'Upload',
'labelMaxFileSizeExceeded' => 'Datei ist zu groß',
'labelMaxFileSize' => 'Maximale Dateigröße: {filesize}',
'labelMaxTotalFileSizeExceeded' => 'Maximale gesamte Dateigröße überschritten',
'labelMaxTotalFileSize' => 'Maximale gesamte Dateigröße: {filesize}',
'labelFileTypeNotAllowed' => 'Dateityp ungültig',
'fileValidateTypeLabelExpectedTypes' => 'Erwartet {allButLastType} oder {lastType}',
'imageValidateSizeLabelFormatError' => 'Bildtyp nicht unterstützt',
'imageValidateSizeLabelImageSizeTooSmall' => 'Bild ist zu klein',
'imageValidateSizeLabelImageSizeTooBig' => 'Bild ist zu groß',
'imageValidateSizeLabelExpectedMinSize' => 'Mindestgröße: {minWidth} × {minHeight}',
'imageValidateSizeLabelExpectedMaxSize' => 'Maximale Größe: {maxWidth} × {maxHeight}',
'imageValidateSizeLabelImageResolutionTooLow' => 'Auflösung ist zu niedrig',
'imageValidateSizeLabelImageResolutionTooHigh' => 'Auflösung ist zu hoch',
'imageValidateSizeLabelExpectedMinResolution' => 'Mindestauflösung: {minResolution}',
'imageValidateSizeLabelExpectedMaxResolution' => 'Maximale Auflösung: {maxResolution}'
];
42 changes: 42 additions & 0 deletions resources/lang/el/filepond.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php
declare(strict_types=1);

return [
'labelIdle' => 'Σύρετε τα αρχεία σας στο πλαίσιο ή <span class="filepond--label-action"> Επιλέξτε </span>',
'labelInvalidField' => 'Το πεδίο περιέχει μη έγκυρα αρχεία',
'labelFileWaitingForSize' => 'Σε αναμονή για το μέγεθος',
'labelFileSizeNotAvailable' => 'Μέγεθος μη διαθέσιμο',
'labelFileLoading' => 'Φόρτωση σε εξέλιξη',
'labelFileLoadError' => 'Σφάλμα κατά τη φόρτωση',
'labelFileProcessing' => 'Επεξεργασία',
'labelFileProcessingComplete' => 'Η επεξεργασία ολοκληρώθηκε',
'labelFileProcessingAborted' => 'Η επεξεργασία ακυρώθηκε',
'labelFileProcessingError' => 'Σφάλμα κατά την επεξεργασία',
'labelFileProcessingRevertError' => 'Σφάλμα κατά την επαναφορά',
'labelFileRemoveError' => 'Σφάλμα κατά την διαγραφή',
'labelTapToCancel' => 'πατήστε για ακύρωση',
'labelTapToRetry' => 'πατήστε για επανάληψη',
'labelTapToUndo' => 'πατήστε για αναίρεση',
'labelButtonRemoveItem' => 'Αφαίρεση',
'labelButtonAbortItemLoad' => 'Ακύρωση',
'labelButtonRetryItemLoad' => 'Επανάληψη',
'labelButtonAbortItemProcessing' => 'Ακύρωση',
'labelButtonUndoItemProcessing' => 'Αναίρεση',
'labelButtonRetryItemProcessing' => 'Επανάληψη',
'labelButtonProcessItem' => 'Μεταφόρτωση',
'labelMaxFileSizeExceeded' => 'Το αρχείο είναι πολύ μεγάλο',
'labelMaxFileSize' => 'Το μέγιστο μέγεθος αρχείου είναι {filesize}',
'labelMaxTotalFileSizeExceeded' => 'Υπέρβαση του μέγιστου συνολικού μεγέθους',
'labelMaxTotalFileSize' => 'Το μέγιστο συνολικό μέγεθος αρχείων είναι {filesize}',
'labelFileTypeNotAllowed' => 'Μη έγκυρος τύπος αρχείου',
'fileValidateTypeLabelExpectedTypes' => 'Τα αποδεκτά αρχεία είναι {allButLastType} ή {lastType}',
'imageValidateSizeLabelFormatError' => 'Ο τύπος της εικόνας δεν υποστηρίζεται',
'imageValidateSizeLabelImageSizeTooSmall' => 'Η εικόνα είναι πολύ μικρή',
'imageValidateSizeLabelImageSizeTooBig' => 'Η εικόνα είναι πολύ μεγάλη',
'imageValidateSizeLabelExpectedMinSize' => 'Το ελάχιστο αποδεκτό μέγεθος είναι {minWidth} × {minHeight}',
'imageValidateSizeLabelExpectedMaxSize' => 'Το μέγιστο αποδεκτό μέγεθος είναι {maxWidth} × {maxHeight}',
'imageValidateSizeLabelImageResolutionTooLow' => 'Η ανάλυση της εικόνας είναι πολύ χαμηλή',
'imageValidateSizeLabelImageResolutionTooHigh' => 'Η ανάλυση της εικόνας είναι πολύ υψηλή',
'imageValidateSizeLabelExpectedMinResolution' => 'Η ελάχιστη αποδεκτή ανάλυση είναι {minResolution}',
'imageValidateSizeLabelExpectedMaxResolution' => 'Η μέγιστη αποδεκτή ανάλυση είναι {maxResolution}'
];
Loading

0 comments on commit 953a5c7

Please sign in to comment.