🆙 Add cms i using 🆙

This commit is contained in:
Remco
2025-11-25 22:42:56 +01:00
parent 94704e0925
commit d44196149e
35591 changed files with 3601123 additions and 0 deletions
@@ -0,0 +1,34 @@
{
"name": "filament/query-builder",
"description": "A powerful query builder component for Filament.",
"license": "MIT",
"homepage": "https://github.com/filamentphp/filament",
"support": {
"issues": "https://github.com/filamentphp/filament/issues",
"source": "https://github.com/filamentphp/filament"
},
"require": {
"php": "^8.2",
"filament/actions": "self.version",
"filament/forms": "self.version",
"filament/schemas": "self.version",
"filament/support": "self.version"
},
"autoload": {
"psr-4": {
"Filament\\QueryBuilder\\": "src"
}
},
"extra": {
"laravel": {
"providers": [
"Filament\\QueryBuilder\\QueryBuilderServiceProvider"
]
}
},
"config": {
"sort-packages": true
},
"minimum-stability": "dev",
"prefer-stable": true
}
@@ -0,0 +1,439 @@
<?php
return [
'label' => 'Query builder',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'ቡድኖች',
'block' => [
'label' => 'Disjunction (ወይም)',
'or' => 'ወይም',
],
],
'rules' => [
'label' => 'ህጎች',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(ምንም ህጎች የሉም)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'ተሞልቶዋል',
'inverse' => 'ባዶ ነው',
],
'summary' => [
'direct' => ':attribute ተሞልቶዋል',
'inverse' => ':attribute ባዶ ነው',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'እውነት ነው',
'inverse' => 'እውነት አይደለም',
],
'summary' => [
'direct' => ':attribute እውነት ነው',
'inverse' => ':attribute እውነት አይደለም',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'በኋላ የሆነ',
'inverse' => 'በኋላ አይደለም',
],
'summary' => [
'direct' => ':attribute ከቀን :date በኋላ ነው',
'inverse' => ':attribute ከቀን :date በኋላ አይደለም',
],
],
'is_before' => [
'label' => [
'direct' => 'በፊት የሆነ',
'inverse' => 'በፊት ያልሆነ',
],
'summary' => [
'direct' => ':attribute is before :date',
'inverse' => ':attribute is not before :date',
],
],
'is_date' => [
'label' => [
'direct' => 'ቀኑ የሆነ',
'inverse' => 'ቀኑ ያልሆነ',
],
'summary' => [
'direct' => ':attribute :date ነው',
'inverse' => ':attribute :date አይደለም',
],
],
'is_month' => [
'label' => [
'direct' => 'ወሩ የሆነ',
'inverse' => 'ወሩ ያልሆነ',
],
'summary' => [
'direct' => ':attribute :month ነው',
'inverse' => ':attribute :month አይደለም',
],
],
'is_year' => [
'label' => [
'direct' => 'አመቱ የሆነ',
'inverse' => 'አመቱ ያልሆነ',
],
'summary' => [
'direct' => ':attribute is :year',
'inverse' => ':attribute is not :year',
],
],
'form' => [
'date' => [
'label' => 'ቀን',
],
'month' => [
'label' => 'ወር',
],
'year' => [
'label' => 'አመት',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'እኩል',
'inverse' => 'እኩል ያልሆነ',
],
'summary' => [
'direct' => ':attribute :number ነው',
'inverse' => ':attribute ከ:number ጋር እኩል አይደለም',
],
],
'is_max' => [
'label' => [
'direct' => 'ከፍተኛ የሆነ',
'inverse' => 'የሚበልጥ',
],
'summary' => [
'direct' => 'የ:attribute ትልቁ :number ነው',
'inverse' => ':attribute ከ:number ይበልጣል',
],
],
'is_min' => [
'label' => [
'direct' => 'ትንሽ የሆነ',
'inverse' => 'ያነሰ',
],
'summary' => [
'direct' => 'የ:attribute ትንሹ :number ነው',
'inverse' => ':attribute ከ:number ያንሳል',
],
],
'aggregates' => [
'average' => [
'label' => 'አማካኝ',
'summary' => 'አማካኝ :attribute',
],
'max' => [
'label' => 'ከፍተኛ',
'summary' => 'ከፍተኛ :attribute',
],
'min' => [
'label' => 'ዝቅተኛ',
'summary' => 'ዝቅተኛ :attribute',
],
'sum' => [
'label' => 'ድምር',
'summary' => 'የ:attribute ድምር',
],
],
'form' => [
'aggregate' => [
'label' => 'አጠቃላይ',
],
'number' => [
'label' => 'ቁጥር',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'አለው',
'inverse' => 'የለውም',
],
'summary' => [
'direct' => ':count :relationship አለው',
'inverse' => ':count :relationship የለውም',
],
],
'has_max' => [
'label' => [
'direct' => 'ቢበዛ ያለው',
'inverse' => 'የበለጠ ያለው',
],
'summary' => [
'direct' => 'ከፍተኛው :count :relationship አለው',
'inverse' => 'ከ:count በላይ :relationship አለው',
],
],
'has_min' => [
'label' => [
'direct' => 'ዝቅተኛ ያለው',
'inverse' => 'ያነሰ ያለው',
],
'summary' => [
'direct' => 'በትንሹ :count :relationship አለው',
'inverse' => 'ከ:count ያነሰ :relationship አለው',
],
],
'is_empty' => [
'label' => [
'direct' => 'ባዶ ነው',
'inverse' => 'ባዶ አይደለም',
],
'summary' => [
'direct' => ':relationship ባዶ ነው',
'inverse' => ':relationship ባዶ አይደለም',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'ነው',
'inverse' => 'አይደለም',
],
'multiple' => [
'direct' => 'ይዞዋል',
'inverse' => 'አልያዘም',
],
],
'summary' => [
'single' => [
'direct' => ':relationship is :values',
'inverse' => ':relationship is not :values',
],
'multiple' => [
'direct' => ':relationship contains :values',
'inverse' => ':relationship does not contain :values',
],
'values_glue' => [
0 => ', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'ዋጋ',
],
'values' => [
'label' => 'ዋጋዎች',
],
],
],
'form' => [
'count' => [
'label' => 'ብዛት',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Is',
'inverse' => 'Is not',
],
'summary' => [
'direct' => ':attribute is :values',
'inverse' => ':attribute is not :values',
'values_glue' => [
0 => ', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'ዋጋ',
],
'values' => [
'label' => 'ዋጋዎች',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'የያዘ',
'inverse' => 'ያልያዘ',
],
'summary' => [
'direct' => ':attribute :textን ይዞዋል',
'inverse' => ':attribute :textን አልያዘም',
],
],
'ends_with' => [
'label' => [
'direct' => 'ብሎ የሚያበቃ',
'inverse' => 'ብሎ የማያበቃ',
],
'summary' => [
'direct' => ':attribute የሚያበቃው በ:text ነው',
'inverse' => ':attribute የሚያበቃው በ:text አይደለም',
],
],
'equals' => [
'label' => [
'direct' => 'እኩል የሆነ',
'inverse' => 'እኩል ያልሆነ',
],
'summary' => [
'direct' => ':attribute ከ:text ጋር እኩል ነው',
'inverse' => ':attribute ከ:text ጋር እኩል እይደለም',
],
],
'starts_with' => [
'label' => [
'direct' => 'ብሎ የሚጀምር',
'inverse' => 'ብሎ የማይጀምር',
],
'summary' => [
'direct' => ':attribute ከ:text ይጀምራል',
'inverse' => ':attribute ከ:text አይጀምርም',
],
],
'form' => [
'text' => [
'label' => 'ፅሁፍ',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'ህግ ጨምር',
],
'add_rule_group' => [
'label' => 'ህጎችን በቡድን ጨምር',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'منشئ الاستعلام',
'form' => [
'operator' => [
'label' => 'العملية',
],
'or_groups' => [
'label' => 'المجموعات',
'block' => [
'label' => 'فصل (أو)',
'or' => 'أو',
],
],
'rules' => [
'label' => 'القواعد',
'item' => [
'and' => 'و',
],
],
],
'no_rules' => '(بدون قواعد)',
'item_separators' => [
'and' => 'و',
'or' => 'أو',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'معبأ',
'inverse' => 'فارغ',
],
'summary' => [
'direct' => ':attribute معبأ',
'inverse' => ':attribute فارغ',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'صحيح',
'inverse' => 'خاطئ',
],
'summary' => [
'direct' => ':attribute صحيح',
'inverse' => ':attribute خاطئ',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'بعد',
'inverse' => 'ليس بعد',
],
'summary' => [
'direct' => ':attribute بعد :date',
'inverse' => ':attribute ليس بعد :date',
],
],
'is_before' => [
'label' => [
'direct' => 'قبل',
'inverse' => 'ليس قبل',
],
'summary' => [
'direct' => ':attribute قبل :date',
'inverse' => ':attribute ليس قبل :date',
],
],
'is_date' => [
'label' => [
'direct' => 'تاريخ',
'inverse' => 'ليس تاريخ',
],
'summary' => [
'direct' => ':attribute هو :date',
'inverse' => ':attribute هو ليس :date',
],
],
'is_month' => [
'label' => [
'direct' => 'شهر',
'inverse' => 'ليس شهر',
],
'summary' => [
'direct' => ':attribute هو :month',
'inverse' => ':attribute هو ليس :month',
],
],
'is_year' => [
'label' => [
'direct' => 'سنة',
'inverse' => 'ليس سنة',
],
'summary' => [
'direct' => ':attribute هو :year',
'inverse' => ':attribute هو ليس :year',
],
],
'form' => [
'date' => [
'label' => 'التاريخ',
],
'month' => [
'label' => 'الشهر',
],
'year' => [
'label' => 'السنة',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'يساوي',
'inverse' => 'لا يساوي',
],
'summary' => [
'direct' => ':attribute يساوي :number',
'inverse' => ':attribute لا يساوي :number',
],
],
'is_max' => [
'label' => [
'direct' => 'الحد الأقصى',
'inverse' => 'أكبر من',
],
'summary' => [
'direct' => ':attribute حده الأقصى :number',
'inverse' => ':attribute أكبر من :number',
],
],
'is_min' => [
'label' => [
'direct' => 'الحد الأدنى',
'inverse' => 'أقل من',
],
'summary' => [
'direct' => ':attribute حده الأدنى :number',
'inverse' => ':attribute أقل من :number',
],
],
'aggregates' => [
'average' => [
'label' => 'المتوسط',
'summary' => 'متوسط :attribute',
],
'max' => [
'label' => 'الأعلى',
'summary' => 'الأعلى :attribute',
],
'min' => [
'label' => 'الأدنى',
'summary' => 'الأدنى :attribute',
],
'sum' => [
'label' => 'المجموع',
'summary' => 'مجموع :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'الإجمالي',
],
'number' => [
'label' => 'الرقم',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'يملك',
'inverse' => 'لا يملك',
],
'summary' => [
'direct' => 'يملك :count :relationship',
'inverse' => 'لا يملك :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'يملك الحد الأقصى',
'inverse' => 'يملك أكثر من',
],
'summary' => [
'direct' => 'يملك كحد أقصى :count :relationship',
'inverse' => 'يملك أكثر من :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'يملك الحد الأدنى',
'inverse' => 'يملك أقل من',
],
'summary' => [
'direct' => 'يملك كحد أدنى :count :relationship',
'inverse' => 'يملك أقل من :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'فارغ',
'inverse' => 'ليس فارغا',
],
'summary' => [
'direct' => ':relationship فارغ',
'inverse' => ':relationship ليس فارغاً',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'هو',
'inverse' => 'ليس',
],
'multiple' => [
'direct' => 'يحتوي',
'inverse' => 'لا يحتوي',
],
],
'summary' => [
'single' => [
'direct' => ':relationship هو :values',
'inverse' => ':relationship ليس :values',
],
'multiple' => [
'direct' => ':relationship يحتوي :values',
'inverse' => ':relationship لا يحتوي :values',
],
'values_glue' => [
0 => '، ',
'final' => ' أو ',
],
],
'form' => [
'value' => [
'label' => 'القيمة',
],
'values' => [
'label' => 'القيم',
],
],
],
'form' => [
'count' => [
'label' => 'العدد',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'هو',
'inverse' => 'ليس',
],
'summary' => [
'direct' => ':attribute هو :values',
'inverse' => ':attribute ليس :values',
'values_glue' => [
'، ',
'final' => ' أو ',
],
],
'form' => [
'value' => [
'label' => 'القيمة',
],
'values' => [
'label' => 'القيم',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'يحتوي',
'inverse' => 'لا يحتوي',
],
'summary' => [
'direct' => ':attribute يحتوي :text',
'inverse' => ':attribute لا يحتوي :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'ينتهي بـ',
'inverse' => 'لا ينتهي بـ',
],
'summary' => [
'direct' => ':attribute ينتهي بـ :text',
'inverse' => ':attribute لا ينتهي بـ :text',
],
],
'equals' => [
'label' => [
'direct' => 'يساوي',
'inverse' => 'لا يساوي',
],
'summary' => [
'direct' => ':attribute يساوي :text',
'inverse' => ':attribute لا يساوي :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'يبدأ بـ',
'inverse' => 'لا يبدأ بـ',
],
'summary' => [
'direct' => ':attribute يبدأ بـ :text',
'inverse' => ':attribute لا يبدأ بـ :text',
],
],
'form' => [
'text' => [
'label' => 'النص',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'إضافة قاعدة',
],
'add_rule_group' => [
'label' => 'إضافة مجموعة قواعد',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Sorğu qurucusu',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Qruplar',
'block' => [
'label' => 'Ayrılma (OR)',
'or' => 'YA',
],
],
'rules' => [
'label' => 'Qaydalar',
'item' => [
'and' => 'VƏ',
],
],
],
'no_rules' => '(Qayda yoxdur)',
'item_separators' => [
'and' => 'VƏ',
'or' => 'YA',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Doldurulur',
'inverse' => 'Boşdur',
],
'summary' => [
'direct' => ':attribute doldurulur',
'inverse' => ':attribute Boşdur',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Doğrudur',
'inverse' => 'Yalandır',
],
'summary' => [
'direct' => ':attribute Doğrudur',
'inverse' => ':attribute Yalandır',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Sonradır',
'inverse' => 'Sonra deyil',
],
'summary' => [
'direct' => ':attribute sonradır :date',
'inverse' => ':attribute sonra deyil :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Əvvəllərdir',
'inverse' => 'Əvvəl deyil',
],
'summary' => [
'direct' => ':attribute əvvəllərdir :date',
'inverse' => ':attribute əvvəl deyil :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Tarixdir',
'inverse' => 'Tarix deyil',
],
'summary' => [
'direct' => ':attribute edir :date',
'inverse' => ':attribute deyil :date',
],
],
'is_month' => [
'label' => [
'direct' => 'aydır',
'inverse' => 'ay deyil',
],
'summary' => [
'direct' => ':attribute edir :month',
'inverse' => ':attribute deyil :month',
],
],
'is_year' => [
'label' => [
'direct' => 'ildir',
'inverse' => 'il deyil',
],
'summary' => [
'direct' => ':attribute edir :year',
'inverse' => ':attribute deyil :year',
],
],
'form' => [
'date' => [
'label' => 'Tarix',
],
'month' => [
'label' => 'ay',
],
'year' => [
'label' => 'il',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Bərabərdir',
'inverse' => 'Bərabər deyil',
],
'summary' => [
'direct' => ':attribute bərabərdir :number',
'inverse' => ':attribute bərabər deyil :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Maksimumdur',
'inverse' => '-dən böyükdür',
],
'summary' => [
'direct' => ':attribute maksimumdur :number',
'inverse' => ':attribute -dən böyükdür :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Minimumdur',
'inverse' => '-dən azdır',
],
'summary' => [
'direct' => ':attribute minimumdur :number',
'inverse' => ':attribute -dən azdır :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Orta',
'summary' => 'Orta :attribute',
],
'max' => [
'label' => 'Maks',
'summary' => 'Maks :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'məbləğ',
'summary' => 'məbləğ of :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Ümumi',
],
'number' => [
'label' => 'Nömrə',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Var',
'inverse' => 'Yoxdur',
],
'summary' => [
'direct' => 'Var :count :relationship',
'inverse' => 'Yoxdur :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Maksimum var',
'inverse' => '-dən çoxu var',
],
'summary' => [
'direct' => 'Maksimum var :count :relationship',
'inverse' => '-dən çoxu var :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Minimum var',
'inverse' => '-dən azdır',
],
'summary' => [
'direct' => 'Minimum var :count :relationship',
'inverse' => '-dən azdır :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Boşdur',
'inverse' => 'Boş deyil',
],
'summary' => [
'direct' => ':relationship boşdur',
'inverse' => ':relationship boş deyil',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'edir',
'inverse' => 'deyil',
],
'multiple' => [
'direct' => 'ehtiva edir',
'inverse' => 'Tərkibində yoxdur',
],
],
'summary' => [
'single' => [
'direct' => ':relationship edir :values',
'inverse' => ':relationship deyil :values',
],
'multiple' => [
'direct' => ':relationship ehtiva edir :values',
'inverse' => ':relationship Tərkibində yoxdur :values',
],
'values_glue' => [
0 => ', ',
'final' => ' ya ',
],
],
'form' => [
'value' => [
'label' => 'Dəyər',
],
'values' => [
'label' => 'Dəyərlər',
],
],
],
'form' => [
'count' => [
'label' => 'saymaq',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Edir',
'inverse' => 'Deyil',
],
'summary' => [
'direct' => ':attribute edir :values',
'inverse' => ':attribute deyil :values',
'values_glue' => [
', ',
'final' => ' ya ',
],
],
'form' => [
'value' => [
'label' => 'Dəyər',
],
'values' => [
'label' => 'Dəyərlər',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Ehtiva edir',
'inverse' => 'Tərkibində yoxdur',
],
'summary' => [
'direct' => ':attribute ehtiva edir :text',
'inverse' => ':attribute tərkibində yoxdur :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'ilə bitir',
'inverse' => 'ilə bitmir',
],
'summary' => [
'direct' => ':attribute ilə bitir :text',
'inverse' => ':attribute ilə bitmir :text',
],
],
'equals' => [
'label' => [
'direct' => 'Bərabərdir',
'inverse' => 'Bərabər deyil',
],
'summary' => [
'direct' => ':attribute bərabərdir :text',
'inverse' => ':attribute bərabər deyil :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'ilə başlayır',
'inverse' => 'ilə başlamaz',
],
'summary' => [
'direct' => ':attribute ilə başlayır :text',
'inverse' => ':attribute ilə başlamaz :text',
],
],
'form' => [
'text' => [
'label' => 'Mətn',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Qayda əlavə edin',
],
'add_rule_group' => [
'label' => 'Qayda qrupu əlavə edin',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Генератор на заявки',
'form' => [
'operator' => [
'label' => 'Оператор',
],
'or_groups' => [
'label' => 'Групи',
'block' => [
'label' => 'Дизюнкция (ИЛИ)',
'or' => 'ИЛИ',
],
],
'rules' => [
'label' => 'Правила',
'item' => [
'and' => 'И',
],
],
],
'no_rules' => '(няма правила)',
'item_separators' => [
'and' => 'И',
'or' => 'ИЛИ',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Е попълнено',
'inverse' => 'Е празно',
],
'summary' => [
'direct' => ':attribute е попълнен',
'inverse' => ':attribute е празен',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Е истина',
'inverse' => 'Не е истина',
],
'summary' => [
'direct' => ':attribute е истина',
'inverse' => ':attribute не е истина',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'E след',
'inverse' => 'Не е след',
],
'summary' => [
'direct' => ':attribute е след :date',
'inverse' => ':attribute не е след :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Е преди',
'inverse' => 'Не е преди',
],
'summary' => [
'direct' => ':attribute е преди :date',
'inverse' => ':attribute не е преди :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Е дата',
'inverse' => 'Не е дата',
],
'summary' => [
'direct' => ':attribute е :date',
'inverse' => ':attribute не е :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Е месец',
'inverse' => 'Не е месец',
],
'summary' => [
'direct' => ':attribute е :month',
'inverse' => ':attribute не е :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Е година',
'inverse' => 'Не е година',
],
'summary' => [
'direct' => ':attribute е :year',
'inverse' => ':attribute не е :year',
],
],
'form' => [
'date' => [
'label' => 'Дата',
],
'month' => [
'label' => 'Месец',
],
'year' => [
'label' => 'Година',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Е равно на',
'inverse' => 'Не е равно на',
],
'summary' => [
'direct' => ':attribute е равно на :number',
'inverse' => ':attribute не е равно на :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Е максимум',
'inverse' => 'Е по-голямо от',
],
'summary' => [
'direct' => ':attribute е максимум :number',
'inverse' => ':attribute е по-голямо от :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Е минимум',
'inverse' => 'Е по-малко от',
],
'summary' => [
'direct' => ':attribute е минимум :number',
'inverse' => ':attribute е по-малко от :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Средно',
'summary' => 'Средно на :attribute',
],
'max' => [
'label' => 'Макс',
'summary' => 'Макс :attribute',
],
'min' => [
'label' => 'Мин',
'summary' => 'Мин :attribute',
],
'sum' => [
'label' => 'Сума',
'summary' => 'Сума на :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Агрегат',
],
'number' => [
'label' => 'Число',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Има',
'inverse' => 'Няма',
],
'summary' => [
'direct' => 'Има :count :relationship',
'inverse' => 'Няма :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Има максимум',
'inverse' => 'Има повече от',
],
'summary' => [
'direct' => 'Има максимум :count :relationship',
'inverse' => 'Има повече от :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Има минимум',
'inverse' => 'Има по-малко от',
],
'summary' => [
'direct' => 'Има минимум :count :relationship',
'inverse' => 'Има по-малко от :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Е празно',
'inverse' => 'Не е празно',
],
'summary' => [
'direct' => ':relationship е празно',
'inverse' => ':relationship не е празно',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Е',
'inverse' => 'Не е',
],
'multiple' => [
'direct' => 'Съдържа',
'inverse' => 'Не съдържа',
],
],
'summary' => [
'single' => [
'direct' => ':relationship е :values',
'inverse' => ':relationship не е :values',
],
'multiple' => [
'direct' => ':relationship съдържа :values',
'inverse' => ':relationship не съдържа :values',
],
'values_glue' => [
0 => ', ',
'final' => ' или ',
],
],
'form' => [
'value' => [
'label' => 'Стойност',
],
'values' => [
'label' => 'Стойности',
],
],
],
'form' => [
'count' => [
'label' => 'Брой',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Е',
'inverse' => 'Не е',
],
'summary' => [
'direct' => ':attribute е :values',
'inverse' => ':attribute не е :values',
'values_glue' => [
', ',
'final' => ' или ',
],
],
'form' => [
'value' => [
'label' => 'Стойност',
],
'values' => [
'label' => 'Стойности',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Съдържа',
'inverse' => 'Не съдържа',
],
'summary' => [
'direct' => ':attribute съдържа :text',
'inverse' => ':attribute не съдържа :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Завършва на',
'inverse' => 'Не завършва на',
],
'summary' => [
'direct' => ':attribute завършва на :text',
'inverse' => ':attribute не завършва на :text',
],
],
'equals' => [
'label' => [
'direct' => 'Е равно на',
'inverse' => 'Не е равно на',
],
'summary' => [
'direct' => ':attribute е равно на :text',
'inverse' => ':attribute не е равно на :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Започва с',
'inverse' => 'Не започва с',
],
'summary' => [
'direct' => ':attribute започва с :text',
'inverse' => ':attribute не започва с :text',
],
],
'form' => [
'text' => [
'label' => 'Текст',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Добави правило',
],
'add_rule_group' => [
'label' => 'Добави група',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Constructor de consultes',
'form' => [
'operator' => [
'label' => 'Operador',
],
'or_groups' => [
'label' => 'Grups',
'block' => [
'label' => 'Disjunció (O)',
'or' => 'O',
],
],
'rules' => [
'label' => 'Regles',
'item' => [
'and' => 'Y',
],
],
],
'no_rules' => '(Sense regles)',
'item_separators' => [
'and' => 'Y',
'or' => 'O',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Està emplenat',
'inverse' => 'Està en blanc',
],
'summary' => [
'direct' => ':attribute està emplenat',
'inverse' => ':attribute està en blanc',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'És cert',
'inverse' => 'És fals',
],
'summary' => [
'direct' => ':attribute és cert',
'inverse' => ':attribute és fals',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'És posterior a',
'inverse' => 'No és posterior a',
],
'summary' => [
'direct' => ':attribute és posterior a :date',
'inverse' => ':attribute no és posterior a :date',
],
],
'is_before' => [
'label' => [
'direct' => 'És anterior a',
'inverse' => 'No és anterior a',
],
'summary' => [
'direct' => ':attribute és anterior a :date',
'inverse' => ':attribute no és anterior a :date',
],
],
'is_date' => [
'label' => [
'direct' => 'És a la data',
'inverse' => 'No és a la data',
],
'summary' => [
'direct' => ':attribute és a :date',
'inverse' => ':attribute no és a :date',
],
],
'is_month' => [
'label' => [
'direct' => 'És en el mes de',
'inverse' => 'No és en el mes de',
],
'summary' => [
'direct' => ':attribute és al :month',
'inverse' => ':attribute no és al :month',
],
],
'is_year' => [
'label' => [
'direct' => "És a l'any",
'inverse' => "No és a l'any",
],
'summary' => [
'direct' => ':attribute és al :year',
'inverse' => ':attribute no és al :year',
],
],
'form' => [
'date' => [
'label' => 'Data',
],
'month' => [
'label' => 'Mes',
],
'year' => [
'label' => 'Any',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Igual a',
'inverse' => 'No és igual a',
],
'summary' => [
'direct' => ':attribute és igual a :number',
'inverse' => ':attribute no és igual a :number',
],
],
'is_max' => [
'label' => [
'direct' => 'És màxim',
'inverse' => 'És major que',
],
'summary' => [
'direct' => ':attribute és màxim :number',
'inverse' => ':attribute és major que :number',
],
],
'is_min' => [
'label' => [
'direct' => 'És mínim',
'inverse' => 'És menor que',
],
'summary' => [
'direct' => ':attribute és mínim :number',
'inverse' => ':attribute és menor que :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Promig',
'summary' => ':Attribute promig',
],
'max' => [
'label' => 'Màx',
'summary' => 'Màxim :attribute',
],
'min' => [
'label' => 'Mín',
'summary' => 'Mínim :attribute',
],
'sum' => [
'label' => 'Suma',
'summary' => 'Suma de :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agregat',
],
'number' => [
'label' => 'Número',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Té',
'inverse' => 'No té',
],
'summary' => [
'direct' => 'Té :count :relationship',
'inverse' => 'No té :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Té màxim',
'inverse' => 'Té més de',
],
'summary' => [
'direct' => 'Té màxim :count :relationship',
'inverse' => 'Té més de :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Té mínim',
'inverse' => 'Té menys de',
],
'summary' => [
'direct' => 'Té mínim :count :relationship',
'inverse' => 'Té menys de :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'És buit',
'inverse' => 'No és buit',
],
'summary' => [
'direct' => ':relationship és buit',
'inverse' => ':relationship no és buit',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'És',
'inverse' => 'No és',
],
'multiple' => [
'direct' => 'Conté',
'inverse' => 'No conté',
],
],
'summary' => [
'single' => [
'direct' => ':relationship són :values',
'inverse' => ':relationship no són :values',
],
'multiple' => [
'direct' => ':relationship conté :values',
'inverse' => ':relationship no conté :values',
],
'values_glue' => [
0 => ', ',
'final' => ' o ',
],
],
'form' => [
'value' => [
'label' => 'Valor',
],
'values' => [
'label' => 'Valors',
],
],
],
'form' => [
'count' => [
'label' => 'Recompte',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'És',
'inverse' => 'No és',
],
'summary' => [
'direct' => ':attribute és :values',
'inverse' => ':attribute no és :values',
'values_glue' => [
', ',
'final' => ' o ',
],
],
'form' => [
'value' => [
'label' => 'Valor',
],
'values' => [
'label' => 'Valors',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Conté',
'inverse' => 'No conté',
],
'summary' => [
'direct' => ':attribute conté :text',
'inverse' => ':attribute no conté :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Acaba en',
'inverse' => 'No acaba en',
],
'summary' => [
'direct' => ':attribute acaba en :text',
'inverse' => ':attribute no acaba en :text',
],
],
'equals' => [
'label' => [
'direct' => 'És igual a',
'inverse' => 'No és igual a',
],
'summary' => [
'direct' => ':attribute és igual a :text',
'inverse' => ':attribute no és igual a :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Comença amb',
'inverse' => 'No comença amb',
],
'summary' => [
'direct' => ':attribute comença amb :text',
'inverse' => ':attribute no comença amb :text',
],
],
'form' => [
'text' => [
'label' => 'Text',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Agregar regla',
],
'add_rule_group' => [
'label' => 'Agregar grup de regles',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'دروستکردنی Query',
'form' => [
'operator' => [
'label' => 'کردار',
],
'or_groups' => [
'label' => 'گرووپەکان',
'block' => [
'label' => 'جیاکردنەوە (یان)',
'or' => 'یان',
],
],
'rules' => [
'label' => 'ڕێساکان',
'item' => [
'and' => 'لەگەڵ',
],
],
],
'no_rules' => '(هیچ ڕێسایەک نیە)',
'item_separators' => [
'and' => 'لەگەڵ',
'or' => 'یان',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'پڕکراوەتەوە',
'inverse' => 'بەتاڵە',
],
'summary' => [
'direct' => ':attribute پڕکراوەتەوە',
'inverse' => ':attribute بەتاڵە',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'چالاکە',
'inverse' => 'ناچالاکە',
],
'summary' => [
'direct' => ':attribute چالاکە',
'inverse' => ':attribute ناچالاکە',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'لەپاش',
'inverse' => 'لەپاش نەبێت',
],
'summary' => [
'direct' => ':attribute لەدوای :date',
'inverse' => ':attribute لەپاش :date نەبێت',
],
],
'is_before' => [
'label' => [
'direct' => 'لەپێش',
'inverse' => 'لەپێش نەبێت',
],
'summary' => [
'direct' => ':attribute لەپێش :date',
'inverse' => ':attribute لەپێش :date نەبێت',
],
],
'is_date' => [
'label' => [
'direct' => 'لە بەرواری',
'inverse' => 'لە بەرواری نەبێت',
],
'summary' => [
'direct' => ':attribute لە :date',
'inverse' => ':attribute لە :date نەبێت',
],
],
'is_month' => [
'label' => [
'direct' => 'لە مانگی',
'inverse' => 'لە مانگی نەبێت',
],
'summary' => [
'direct' => ':attribute لە :month',
'inverse' => ':attribute لە :month نەبێت',
],
],
'is_year' => [
'label' => [
'direct' => 'لە ساڵی',
'inverse' => 'لە ساڵی نەبێت',
],
'summary' => [
'direct' => ':attribute لە :year',
'inverse' => ':attribute لە :year نەبێت',
],
],
'form' => [
'date' => [
'label' => 'بەروار',
],
'month' => [
'label' => 'مانگ',
],
'year' => [
'label' => 'ساڵ',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'یەکسان',
'inverse' => 'یەکسان نەبێت',
],
'summary' => [
'direct' => ':attribute یەکسانە بە :number',
'inverse' => ':attribute یەکسان نیە بە :number',
],
],
'is_max' => [
'label' => [
'direct' => 'زۆرترینە',
'inverse' => 'گەورەترە لە',
],
'summary' => [
'direct' => ':attribute زۆرترە لە :number',
'inverse' => ':attribute گەورەترە لە :number',
],
],
'is_min' => [
'label' => [
'direct' => 'کەمترە',
'inverse' => 'کەمترە لە',
],
'summary' => [
'direct' => ':attribute کەمترە لە :number',
'inverse' => ':attribute کەمترە لە :number',
],
],
'aggregates' => [
'average' => [
'label' => 'ڕێژە',
'summary' => 'ڕێژەی :attribute',
],
'max' => [
'label' => 'زۆرترین',
'summary' => 'زۆرترە لە :attribute',
],
'min' => [
'label' => 'کەمترین',
'summary' => 'کەمترە لە :attribute',
],
'sum' => [
'label' => 'کۆ',
'summary' => 'کۆی :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'کۆکراوە',
],
'number' => [
'label' => 'ژمارە',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'هەیە',
'inverse' => 'نیە',
],
'summary' => [
'direct' => ':count :relationship هەیە',
'inverse' => ':count :relationship نیە',
],
],
'has_max' => [
'label' => [
'direct' => 'زۆرترینی هەیە',
'inverse' => 'زیاتری هەیە لە',
],
'summary' => [
'direct' => 'زۆرترین :count :relationship هەیە',
'inverse' => 'زیاتری هەیە لە :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'کەمترینی هەیە',
'inverse' => 'کەمتری هەیە',
],
'summary' => [
'direct' => 'کەمترین :count :relationship هەیە',
'inverse' => 'کەمتری هەیە لە :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'بەتاڵە',
'inverse' => 'بەتاڵ نیە',
],
'summary' => [
'direct' => ':relationship بەتاڵە',
'inverse' => ':relationship بەتاڵ نیە',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'بریتییە',
'inverse' => 'بریتی نیە',
],
'multiple' => [
'direct' => 'لەخۆدەگرێت',
'inverse' => 'لەخۆناگرێت',
],
],
'summary' => [
'single' => [
'direct' => ':relationship بریتییە :values',
'inverse' => ':relationship بریتی نیە لە :values',
],
'multiple' => [
'direct' => ':relationship لەخۆدەگرێت :values',
'inverse' => ':relationship لەخۆناگرێت :values',
],
'values_glue' => [
0 => ', ',
'final' => ' یان ',
],
],
'form' => [
'value' => [
'label' => 'بەها',
],
'values' => [
'label' => 'بەهاکان',
],
],
],
'form' => [
'count' => [
'label' => 'ژماردن',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'بریتییە',
'inverse' => 'بریتی نیە',
],
'summary' => [
'direct' => ':attribute بریتییە لە :values',
'inverse' => ':attribute بریتی نیە لە :values',
'values_glue' => [
', ',
'final' => ' یان ',
],
],
'form' => [
'value' => [
'label' => 'بەها',
],
'values' => [
'label' => 'بەهاکان',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'لەخۆدەگرێت',
'inverse' => 'لەخۆناگرێت',
],
'summary' => [
'direct' => ':attribute :text لەخۆدەگرێت',
'inverse' => ':attribute :text لەخۆناگرێت',
],
],
'ends_with' => [
'label' => [
'direct' => 'کۆتایی دێت بە',
'inverse' => 'کۆتایی نایە بە',
],
'summary' => [
'direct' => ':attribute کۆتایی دێت بە :text',
'inverse' => ':attribute کۆتایی نایە بە :text',
],
],
'equals' => [
'label' => [
'direct' => 'یەکسانە',
'inverse' => 'یەکسان نیە',
],
'summary' => [
'direct' => ':attribute یەکسانە بە :text',
'inverse' => ':attribute یەکسان نیە بە :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'دەستپێدەکات بە',
'inverse' => 'دەستپێناکات بە',
],
'summary' => [
'direct' => ':attribute دەستپێدەکات بە :text',
'inverse' => ':attribute دەستپێناکات بە :text',
],
],
'form' => [
'text' => [
'label' => 'دەق',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'زیادکردنی ڕێسا',
],
'add_rule_group' => [
'label' => 'زیادکردنی گرووپی ڕێسا',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Query builder',
'form' => [
'operator' => [
'label' => 'Operátor',
],
'or_groups' => [
'label' => 'Skupiny',
'block' => [
'label' => 'Disjunkce (NEBO)',
'or' => 'NEBO',
],
],
'rules' => [
'label' => 'Pravidla',
'item' => [
'and' => 'A',
],
],
],
'no_rules' => '(Žádná pravidla)',
'item_separators' => [
'and' => 'A',
'or' => 'NEBO',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Je vyplněno',
'inverse' => 'Je prázdné',
],
'summary' => [
'direct' => ':attribute je vyplněno',
'inverse' => ':attribute je prázdné',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Je pravda',
'inverse' => 'Není pravda',
],
'summary' => [
'direct' => ':attribute je pravda',
'inverse' => ':attribute není pravda',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Je po',
'inverse' => 'Není po',
],
'summary' => [
'direct' => ':attribute je po :date',
'inverse' => ':attribute není po :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Je před',
'inverse' => 'Není před',
],
'summary' => [
'direct' => ':attribute je před :date',
'inverse' => ':attribute není před :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Je datum',
'inverse' => 'Není datum',
],
'summary' => [
'direct' => ':attribute je :date',
'inverse' => ':attribute není :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Je měsíc',
'inverse' => 'Není měsíc',
],
'summary' => [
'direct' => ':attribute je :month',
'inverse' => ':attribute není :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Je rok',
'inverse' => 'Není rok',
],
'summary' => [
'direct' => ':attribute je :year',
'inverse' => ':attribute není :year',
],
],
'form' => [
'date' => [
'label' => 'Datum',
],
'month' => [
'label' => 'Měsíc',
],
'year' => [
'label' => 'Rok',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Rovná se',
'inverse' => 'Nerovná se',
],
'summary' => [
'direct' => ':attribute se rovná :number',
'inverse' => ':attribute se nerovná :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Je maximální',
'inverse' => 'Je větší než',
],
'summary' => [
'direct' => ':attribute je maximálně :number',
'inverse' => ':attribute je větší než :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Je minimální',
'inverse' => 'Je menší než',
],
'summary' => [
'direct' => ':attribute je minimálně :number',
'inverse' => ':attribute je menší než :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Průměr',
'summary' => 'Průměr :attribute',
],
'max' => [
'label' => 'Max',
'summary' => 'Max :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Suma',
'summary' => 'Součet :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agregace',
],
'number' => [
'label' => 'Číslo',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Má',
'inverse' => 'Nemá',
],
'summary' => [
'direct' => 'Má :count :relationship',
'inverse' => 'Nemá :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Má maximálně',
'inverse' => 'Má více než',
],
'summary' => [
'direct' => 'Má maximálně :count :relationship',
'inverse' => 'Má více než :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Má minimálně',
'inverse' => 'Má méně než',
],
'summary' => [
'direct' => 'Má minimálně :count :relationship',
'inverse' => 'Má méně než :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Je prázdné',
'inverse' => 'Není prázdné',
],
'summary' => [
'direct' => ':relationship je prázdné',
'inverse' => ':relationship není prázdné',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Je',
'inverse' => 'Není',
],
'multiple' => [
'direct' => 'Obsahuje',
'inverse' => 'Neobsahuje',
],
],
'summary' => [
'single' => [
'direct' => ':relationship je :values',
'inverse' => ':relationship není :values',
],
'multiple' => [
'direct' => ':relationship obsahuje :values',
'inverse' => ':relationship neobsahuje :values',
],
'values_glue' => [
0 => ', ',
'final' => ' nebo ',
],
],
'form' => [
'value' => [
'label' => 'Hodnota',
],
'values' => [
'label' => 'Hodnoty',
],
],
],
'form' => [
'count' => [
'label' => 'Počet',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Je',
'inverse' => 'Není',
],
'summary' => [
'direct' => ':attribute je :values',
'inverse' => ':attribute není :values',
'values_glue' => [
', ',
'final' => ' nebo ',
],
],
'form' => [
'value' => [
'label' => 'Hodnota',
],
'values' => [
'label' => 'Hodnoty',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Obsahuje',
'inverse' => 'Neobsahuje',
],
'summary' => [
'direct' => ':attribute obsahuje :text',
'inverse' => ':attribute neobsahuje :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Končí na',
'inverse' => 'Nekončí na',
],
'summary' => [
'direct' => ':attribute končí na :text',
'inverse' => ':attribute nekončí na :text',
],
],
'equals' => [
'label' => [
'direct' => 'Rovná se',
'inverse' => 'Nerovná se',
],
'summary' => [
'direct' => ':attribute se rovná :text',
'inverse' => ':attribute se nerovná :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Začíná na',
'inverse' => 'Nezačíná na',
],
'summary' => [
'direct' => ':attribute začíná na :text',
'inverse' => ':attribute nezačíná na :text',
],
],
'form' => [
'text' => [
'label' => 'Text',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Přidat pravidlo',
],
'add_rule_group' => [
'label' => 'Přidat skupinu pravidel',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Query builder',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Groups',
'block' => [
'label' => 'Disjunction (OR)',
'or' => 'OR',
],
],
'rules' => [
'label' => 'Rules',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(No rules)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Is filled',
'inverse' => 'Is blank',
],
'summary' => [
'direct' => ':attribute is filled',
'inverse' => ':attribute is blank',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Is true',
'inverse' => 'Is false',
],
'summary' => [
'direct' => ':attribute is true',
'inverse' => ':attribute is false',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Is after',
'inverse' => 'Is not after',
],
'summary' => [
'direct' => ':attribute is after :date',
'inverse' => ':attribute is not after :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Is before',
'inverse' => 'Is not before',
],
'summary' => [
'direct' => ':attribute is before :date',
'inverse' => ':attribute is not before :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Is date',
'inverse' => 'Is not date',
],
'summary' => [
'direct' => ':attribute is :date',
'inverse' => ':attribute is not :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Is month',
'inverse' => 'Is not month',
],
'summary' => [
'direct' => ':attribute is :month',
'inverse' => ':attribute is not :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Is year',
'inverse' => 'Is not year',
],
'summary' => [
'direct' => ':attribute is :year',
'inverse' => ':attribute is not :year',
],
],
'form' => [
'date' => [
'label' => 'Date',
],
'month' => [
'label' => 'Month',
],
'year' => [
'label' => 'Year',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Equals',
'inverse' => 'Does not equal',
],
'summary' => [
'direct' => ':attribute equals :number',
'inverse' => ':attribute does not equal :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Is maximum',
'inverse' => 'Is greater than',
],
'summary' => [
'direct' => ':attribute is maximum :number',
'inverse' => ':attribute is greater than :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Is minimum',
'inverse' => 'Is less than',
],
'summary' => [
'direct' => ':attribute is minimum :number',
'inverse' => ':attribute is less than :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Average',
'summary' => 'Average :attribute',
],
'max' => [
'label' => 'Max',
'summary' => 'Max :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Sum',
'summary' => 'Sum of :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Aggregate',
],
'number' => [
'label' => 'Number',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Has',
'inverse' => 'Does not have',
],
'summary' => [
'direct' => 'Has :count :relationship',
'inverse' => 'Does not have :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Has maximum',
'inverse' => 'Has more than',
],
'summary' => [
'direct' => 'Has maximum :count :relationship',
'inverse' => 'Has more than :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Has minimum',
'inverse' => 'Has less than',
],
'summary' => [
'direct' => 'Has minimum :count :relationship',
'inverse' => 'Has less than :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Is empty',
'inverse' => 'Is not empty',
],
'summary' => [
'direct' => ':relationship is empty',
'inverse' => ':relationship is not empty',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Is',
'inverse' => 'Is not',
],
'multiple' => [
'direct' => 'Contains',
'inverse' => 'Does not contain',
],
],
'summary' => [
'single' => [
'direct' => ':relationship is :values',
'inverse' => ':relationship is not :values',
],
'multiple' => [
'direct' => ':relationship contains :values',
'inverse' => ':relationship does not contain :values',
],
'values_glue' => [
0 => ', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Value',
],
'values' => [
'label' => 'Values',
],
],
],
'form' => [
'count' => [
'label' => 'Count',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Is',
'inverse' => 'Is not',
],
'summary' => [
'direct' => ':attribute is :values',
'inverse' => ':attribute is not :values',
'values_glue' => [
', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Value',
],
'values' => [
'label' => 'Values',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Contains',
'inverse' => 'Does not contain',
],
'summary' => [
'direct' => ':attribute contains :text',
'inverse' => ':attribute does not contain :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Ends with',
'inverse' => 'Does not end with',
],
'summary' => [
'direct' => ':attribute ends with :text',
'inverse' => ':attribute does not end with :text',
],
],
'equals' => [
'label' => [
'direct' => 'Equals',
'inverse' => 'Does not equal',
],
'summary' => [
'direct' => ':attribute equals :text',
'inverse' => ':attribute does not equal :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Starts with',
'inverse' => 'Does not start with',
],
'summary' => [
'direct' => ':attribute starts with :text',
'inverse' => ':attribute does not start with :text',
],
],
'form' => [
'text' => [
'label' => 'Text',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Add rule',
],
'add_rule_group' => [
'label' => 'Add rule group',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Abfragegenerator',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Gruppen',
'block' => [
'label' => '(ODER) Trennung',
'or' => 'ODER',
],
],
'rules' => [
'label' => 'Bedingungen',
'item' => [
'and' => 'UND',
],
],
],
'no_rules' => '(Keine Bedingungen)',
'item_separators' => [
'and' => 'UND',
'or' => 'ODER',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'ausgefüllt',
'inverse' => 'leer',
],
'summary' => [
'direct' => ':Attribut ist vorhangen',
'inverse' => ':Attribut ist nicht vorhanden',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'ist wahr',
'inverse' => 'ist falsch',
],
'summary' => [
'direct' => ':attribute ist wahr',
'inverse' => ':attribute ist falsch',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'ist nach',
'inverse' => 'ist nicht nach',
],
'summary' => [
'direct' => ':attribute ist nach :date',
'inverse' => ':attribute ist nicht nach :date',
],
],
'is_before' => [
'label' => [
'direct' => 'ist vor',
'inverse' => 'ist nicht vor',
],
'summary' => [
'direct' => ':attribute ist vor :date',
'inverse' => ':attribute ist nicht vor :date',
],
],
'is_date' => [
'label' => [
'direct' => 'ist ein Datum',
'inverse' => 'ist kein Datum',
],
'summary' => [
'direct' => ':attribute ist :date',
'inverse' => ':attribute ist kein :date',
],
],
'is_month' => [
'label' => [
'direct' => 'ist ein Monat',
'inverse' => 'ist kein Monat',
],
'summary' => [
'direct' => ':attribute ist :month',
'inverse' => ':attribute ist kein :month',
],
],
'is_year' => [
'label' => [
'direct' => 'ist ein Jahr',
'inverse' => 'ist kein Jahr',
],
'summary' => [
'direct' => ':attribute ist ein :year',
'inverse' => ':attribute ist kein :year',
],
],
'form' => [
'date' => [
'label' => 'Datum',
],
'month' => [
'label' => 'Monat',
],
'year' => [
'label' => 'Jahr',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'ist gleich',
'inverse' => 'ist nicht gleich',
],
'summary' => [
'direct' => ':attribute ist gleich :number',
'inverse' => ':attribute ist nicht gleich :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Maximal',
'inverse' => 'Größer als',
],
'summary' => [
'direct' => ':attribute ist maximal :number',
'inverse' => ':attribute ist größer als :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Minimum',
'inverse' => 'ist kleiner als',
],
'summary' => [
'direct' => ':attribute ist Minimum von :number',
'inverse' => ':attribute ist kleiner als :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Durchschnitt',
'summary' => 'Durchschnittliches :attribute',
],
'max' => [
'label' => 'Max',
'summary' => 'Max :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Gesamt',
'summary' => 'Gesamt von :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Verknüpfung',
],
'number' => [
'label' => 'Zahl',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Hat',
'inverse' => 'Hat nicht',
],
'summary' => [
'direct' => 'Hat :count :relationship',
'inverse' => 'Hat nicht :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Hat Maximal',
'inverse' => 'Hat mehr als',
],
'summary' => [
'direct' => 'Hat maximal :count :relationship',
'inverse' => 'Hat mehr als :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Hat mindestens',
'inverse' => 'Hat weniger als',
],
'summary' => [
'direct' => 'Hat mindestens :count :relationship',
'inverse' => 'Hat weniger als:count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'ist leer',
'inverse' => 'ist nicht leer',
],
'summary' => [
'direct' => ':relationship ist leer',
'inverse' => ':relationship ist nicht leer',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'ist',
'inverse' => 'ist nicht',
],
'multiple' => [
'direct' => 'Beinhaltet',
'inverse' => 'Beinhaltet nicht',
],
],
'summary' => [
'single' => [
'direct' => ':relationship ist :values',
'inverse' => ':relationship ist nicht :values',
],
'multiple' => [
'direct' => ':relationship beinhaltet :values',
'inverse' => ':relationship beinhaltet nicht :values',
],
'values_glue' => [
0 => ', ',
'final' => ' oder ',
],
],
'form' => [
'value' => [
'label' => 'Wert',
],
'values' => [
'label' => 'Werte',
],
],
],
'form' => [
'count' => [
'label' => 'Anzahl',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'ist',
'inverse' => 'ist nicht',
],
'summary' => [
'direct' => ':attribute ist :values',
'inverse' => ':attribute ist nicht :values',
'values_glue' => [
', ',
'final' => ' oder ',
],
],
'form' => [
'value' => [
'label' => 'Wert',
],
'values' => [
'label' => 'Werte',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Beinhaltet',
'inverse' => 'Beinhaltet nicht',
],
'summary' => [
'direct' => ':attribute beinhaltet :text',
'inverse' => ':attribute beinhaltet nicht :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Endet mit',
'inverse' => 'Endet nicht mit',
],
'summary' => [
'direct' => ':attribute endet mit :text',
'inverse' => ':attribute endet nicht mit :text',
],
],
'equals' => [
'label' => [
'direct' => 'Ist gleich',
'inverse' => 'Ist nicht gleich',
],
'summary' => [
'direct' => ':attribute ist gleich :text',
'inverse' => ':attribute ist nicht gleich :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Beginnt mit',
'inverse' => 'Beginnt nicht mit',
],
'summary' => [
'direct' => ':attribute beginnt mit :text',
'inverse' => ':attribute beginnt nicht mit :text',
],
],
'form' => [
'text' => [
'label' => 'Text',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Bedingung hinzufügen',
],
'add_rule_group' => [
'label' => 'Bedingungsgruppe hinzufügen',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Query builder',
'form' => [
'operator' => [
'label' => 'Τελεστής',
],
'or_groups' => [
'label' => 'Ομάδες',
'block' => [
'label' => 'Διαχωρισμός (Ή / OR)',
'or' => 'Ή (OR)',
],
],
'rules' => [
'label' => 'Κανόνες',
'item' => [
'and' => 'ΚΑΙ (AND)',
],
],
],
'no_rules' => '(Χωρίς κανόνες)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Is filled',
'inverse' => 'Is blank',
],
'summary' => [
'direct' => ':attribute is filled',
'inverse' => ':attribute is blank',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Is true',
'inverse' => 'Is false',
],
'summary' => [
'direct' => ':attribute is true',
'inverse' => ':attribute is false',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Είναι μετά',
'inverse' => 'Δεν είναι μετά',
],
'summary' => [
'direct' => ':attribute είναι μετά από τις :date',
'inverse' => ':attribute δεν είναι μετά από τις :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Είναι πριν',
'inverse' => 'Δεν είναι πριν',
],
'summary' => [
'direct' => ':attribute είναι πριν τις :date',
'inverse' => ':attribute δεν είναι πριν τις :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Είναι ημέρα',
'inverse' => 'Δεν είναι ημέρα',
],
'summary' => [
'direct' => ':attribute είναι :date',
'inverse' => ':attribute δεν είναι :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Είναι μήνας',
'inverse' => 'Δεν είναι μήνας',
],
'summary' => [
'direct' => ':attribute είναι :month',
'inverse' => ':attribute δεν είναι :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Είναι έτος',
'inverse' => 'Δεν είναι έτος',
],
'summary' => [
'direct' => ':attribute είναι :year',
'inverse' => ':attribute δεν είναι :year',
],
],
'form' => [
'date' => [
'label' => 'Ημέρα',
],
'month' => [
'label' => 'Μήνας',
],
'year' => [
'label' => 'Έτος',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Ισούται',
'inverse' => 'Δεν ισούται',
],
'summary' => [
'direct' => ':attribute ισούται :number',
'inverse' => ':attribute δεν ισούται :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Is maximum',
'inverse' => 'Είναι μεγαλύτερο από',
],
'summary' => [
'direct' => ':attribute is maximum :number',
'inverse' => ':attribute είναι μεγαλύτερο από :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Is minimum',
'inverse' => 'Είναι μικρότερο από',
],
'summary' => [
'direct' => ':attribute is minimum :number',
'inverse' => ':attribute είναι μικρότερο από :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Μέσος όρος',
'summary' => 'Average :attribute',
],
'max' => [
'label' => 'Μέγιστο',
'summary' => 'Max :attribute',
],
'min' => [
'label' => 'Ελάχιστο',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Άθροισμα',
'summary' => 'Sum of :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Aggregate',
],
'number' => [
'label' => 'Αριθμός',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Έχει',
'inverse' => 'Δεν έχει',
],
'summary' => [
'direct' => 'Έχει :count :relationship',
'inverse' => 'Δεν έχει :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Has maximum',
'inverse' => 'Έχει περισσότερο από',
],
'summary' => [
'direct' => 'Has maximum :count :relationship',
'inverse' => 'Έχει περισσότερο από :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Has minimum',
'inverse' => 'Έχει λιγότερο από',
],
'summary' => [
'direct' => 'Has minimum :count :relationship',
'inverse' => 'Έχει λιγότερο από :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Είναι κενό',
'inverse' => 'Δεν είναι κενό',
],
'summary' => [
'direct' => ':relationship είναι κενό/ή',
'inverse' => ':relationship δεν είναι κενό/ή',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Είναι',
'inverse' => 'Δεν είναι',
],
'multiple' => [
'direct' => 'Περιέχει',
'inverse' => 'Δεν περιέχει',
],
],
'summary' => [
'single' => [
'direct' => ':relationship είναι :values',
'inverse' => ':relationship δεν είναι :values',
],
'multiple' => [
'direct' => ':relationship περιέχει :values',
'inverse' => ':relationship δεν περιέχει :values',
],
'values_glue' => [
0 => ', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Τιμή',
],
'values' => [
'label' => 'Τιμές',
],
],
],
'form' => [
'count' => [
'label' => 'Σύνολο',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Είναι',
'inverse' => 'Δεν είναι',
],
'summary' => [
'direct' => ':attribute είναι :values',
'inverse' => ':attribute δεν είναι :values',
'values_glue' => [
', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Τιμή',
],
'values' => [
'label' => 'Τιμές',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Περιέχει',
'inverse' => 'Δεν περιέχει',
],
'summary' => [
'direct' => ':attribute περιέχει :text',
'inverse' => ':attribute δεν πειέχει :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Τελειώνει με',
'inverse' => 'Δεν τελειώνει με',
],
'summary' => [
'direct' => ':attribute τελειώνει με :text',
'inverse' => ':attribute δεν τελειώνει με :text',
],
],
'equals' => [
'label' => [
'direct' => 'Ισούται',
'inverse' => 'Δεν ισούται',
],
'summary' => [
'direct' => ':attribute ισούται :text',
'inverse' => ':attribute δεν ισούται :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Ξεκινάει με',
'inverse' => 'Δεν ξεκινάει με',
],
'summary' => [
'direct' => ':attribute ξεκινάει με :text',
'inverse' => ':attribute δεν ξεκινάει με :text',
],
],
'form' => [
'text' => [
'label' => 'Κείμενο',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Προσθήκη κανόνα',
],
'add_rule_group' => [
'label' => 'Add rule group',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Query builder',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Groups',
'block' => [
'label' => 'OR condition',
'or' => 'OR',
],
],
'rules' => [
'label' => 'Rules',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(No rules)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Is filled',
'inverse' => 'Is blank',
],
'summary' => [
'direct' => ':attribute is filled',
'inverse' => ':attribute is blank',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Is true',
'inverse' => 'Is false',
],
'summary' => [
'direct' => ':attribute is true',
'inverse' => ':attribute is false',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Is after',
'inverse' => 'Is not after',
],
'summary' => [
'direct' => ':attribute is after :date',
'inverse' => ':attribute is not after :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Is before',
'inverse' => 'Is not before',
],
'summary' => [
'direct' => ':attribute is before :date',
'inverse' => ':attribute is not before :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Is date',
'inverse' => 'Is not date',
],
'summary' => [
'direct' => ':attribute is :date',
'inverse' => ':attribute is not :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Is month',
'inverse' => 'Is not month',
],
'summary' => [
'direct' => ':attribute is :month',
'inverse' => ':attribute is not :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Is year',
'inverse' => 'Is not year',
],
'summary' => [
'direct' => ':attribute is :year',
'inverse' => ':attribute is not :year',
],
],
'form' => [
'date' => [
'label' => 'Date',
],
'month' => [
'label' => 'Month',
],
'year' => [
'label' => 'Year',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Equals',
'inverse' => 'Does not equal',
],
'summary' => [
'direct' => ':attribute equals :number',
'inverse' => ':attribute does not equal :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Is maximum',
'inverse' => 'Is greater than',
],
'summary' => [
'direct' => ':attribute is maximum :number',
'inverse' => ':attribute is greater than :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Is minimum',
'inverse' => 'Is less than',
],
'summary' => [
'direct' => ':attribute is minimum :number',
'inverse' => ':attribute is less than :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Average',
'summary' => 'Average :attribute',
],
'max' => [
'label' => 'Max',
'summary' => 'Max :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Sum',
'summary' => 'Sum of :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Aggregate',
],
'number' => [
'label' => 'Number',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Has',
'inverse' => 'Does not have',
],
'summary' => [
'direct' => 'Has :count :relationship',
'inverse' => 'Does not have :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Has maximum',
'inverse' => 'Has more than',
],
'summary' => [
'direct' => 'Has maximum :count :relationship',
'inverse' => 'Has more than :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Has minimum',
'inverse' => 'Has less than',
],
'summary' => [
'direct' => 'Has minimum :count :relationship',
'inverse' => 'Has less than :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Is empty',
'inverse' => 'Is not empty',
],
'summary' => [
'direct' => ':relationship is empty',
'inverse' => ':relationship is not empty',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Is',
'inverse' => 'Is not',
],
'multiple' => [
'direct' => 'Contains',
'inverse' => 'Does not contain',
],
],
'summary' => [
'single' => [
'direct' => ':relationship is :values',
'inverse' => ':relationship is not :values',
],
'multiple' => [
'direct' => ':relationship contains :values',
'inverse' => ':relationship does not contain :values',
],
'values_glue' => [
0 => ', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Value',
],
'values' => [
'label' => 'Values',
],
],
],
'form' => [
'count' => [
'label' => 'Count',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Is',
'inverse' => 'Is not',
],
'summary' => [
'direct' => ':attribute is :values',
'inverse' => ':attribute is not :values',
'values_glue' => [
', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Value',
],
'values' => [
'label' => 'Values',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Contains',
'inverse' => 'Does not contain',
],
'summary' => [
'direct' => ':attribute contains :text',
'inverse' => ':attribute does not contain :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Ends with',
'inverse' => 'Does not end with',
],
'summary' => [
'direct' => ':attribute ends with :text',
'inverse' => ':attribute does not end with :text',
],
],
'equals' => [
'label' => [
'direct' => 'Equals',
'inverse' => 'Does not equal',
],
'summary' => [
'direct' => ':attribute equals :text',
'inverse' => ':attribute does not equal :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Starts with',
'inverse' => 'Does not start with',
],
'summary' => [
'direct' => ':attribute starts with :text',
'inverse' => ':attribute does not start with :text',
],
],
'form' => [
'text' => [
'label' => 'Text',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Add rule',
],
'add_rule_group' => [
'label' => 'Add OR',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Constructor de consultas',
'form' => [
'operator' => [
'label' => 'Operador',
],
'or_groups' => [
'label' => 'Grupos',
'block' => [
'label' => 'Disyunción (O)',
'or' => 'O',
],
],
'rules' => [
'label' => 'Reglas',
'item' => [
'and' => 'Y',
],
],
],
'no_rules' => '(Sin reglas)',
'item_separators' => [
'and' => 'Y',
'or' => 'O',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Está rellenado',
'inverse' => 'Está en blanco',
],
'summary' => [
'direct' => ':attribute está rellenado',
'inverse' => ':attribute está en blanco',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Es verdadero',
'inverse' => 'Es falso',
],
'summary' => [
'direct' => ':attribute es verdadero',
'inverse' => ':attribute es falso',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Es posterior a',
'inverse' => 'No es posterior a',
],
'summary' => [
'direct' => ':attribute es posterior a :date',
'inverse' => ':attribute no es posterior a :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Es anterior a',
'inverse' => 'No es anterior a',
],
'summary' => [
'direct' => ':attribute es anterior a :date',
'inverse' => ':attribute no es anterior a :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Es en la fecha',
'inverse' => 'No es en la fecha',
],
'summary' => [
'direct' => ':attribute es en :date',
'inverse' => ':attribute no es en :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Es en el mes de',
'inverse' => 'No es en el mes de',
],
'summary' => [
'direct' => ':attribute es en :month',
'inverse' => ':attribute no es en :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Es en el año',
'inverse' => 'No es en el año',
],
'summary' => [
'direct' => ':attribute es en :year',
'inverse' => ':attribute no es en :year',
],
],
'form' => [
'date' => [
'label' => 'Fecha',
],
'month' => [
'label' => 'Mes',
],
'year' => [
'label' => 'Año',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Igual a',
'inverse' => 'No es igual a',
],
'summary' => [
'direct' => ':attribute es igual a :number',
'inverse' => ':attribute no es igual a :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Es máximo',
'inverse' => 'Es mayor que',
],
'summary' => [
'direct' => ':attribute es máximo :number',
'inverse' => ':attribute es mayor que :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Es mínimo',
'inverse' => 'Es menor que',
],
'summary' => [
'direct' => ':attribute es mínimo :number',
'inverse' => ':attribute es menor que :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Promedio',
'summary' => ':Attribute promedio',
],
'max' => [
'label' => 'Máx',
'summary' => 'Máximo :attribute',
],
'min' => [
'label' => 'Mín',
'summary' => 'Mínimo :attribute',
],
'sum' => [
'label' => 'Suma',
'summary' => 'Suma de :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agregado',
],
'number' => [
'label' => 'Número',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Tiene',
'inverse' => 'No tiene',
],
'summary' => [
'direct' => 'Tiene :count :relationship',
'inverse' => 'No tiene :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Tiene máximo',
'inverse' => 'Tiene más de',
],
'summary' => [
'direct' => 'Tiene máximo :count :relationship',
'inverse' => 'Tiene más de :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Tiene mínimo',
'inverse' => 'Tiene menos de',
],
'summary' => [
'direct' => 'Tiene mínimo :count :relationship',
'inverse' => 'Tiene menos de :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Está vacío',
'inverse' => 'No está vacío',
],
'summary' => [
'direct' => ':relationship está vacío',
'inverse' => ':relationship no está vacío',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Es',
'inverse' => 'No es',
],
'multiple' => [
'direct' => 'Contiene',
'inverse' => 'No contiene',
],
],
'summary' => [
'single' => [
'direct' => ':relationship son :values',
'inverse' => ':relationship no son :values',
],
'multiple' => [
'direct' => ':relationship contiene :values',
'inverse' => ':relationship no contiene :values',
],
'values_glue' => [
0 => ', ',
'final' => ' o ',
],
],
'form' => [
'value' => [
'label' => 'Valor',
],
'values' => [
'label' => 'Valores',
],
],
],
'form' => [
'count' => [
'label' => 'Conteo',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Es',
'inverse' => 'No es',
],
'summary' => [
'direct' => ':attribute es :values',
'inverse' => ':attribute no es :values',
'values_glue' => [
', ',
'final' => ' o ',
],
],
'form' => [
'value' => [
'label' => 'Valor',
],
'values' => [
'label' => 'Valores',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Contiene',
'inverse' => 'No contiene',
],
'summary' => [
'direct' => ':attribute contiene :text',
'inverse' => ':attribute no contiene :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Termina en',
'inverse' => 'No termina en',
],
'summary' => [
'direct' => ':attribute termina en :text',
'inverse' => ':attribute no termina en :text',
],
],
'equals' => [
'label' => [
'direct' => 'Es igual a',
'inverse' => 'No es igual a',
],
'summary' => [
'direct' => ':attribute es igual a :text',
'inverse' => ':attribute no es igual a :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Comienza con',
'inverse' => 'No comienza con',
],
'summary' => [
'direct' => ':attribute comienza con :text',
'inverse' => ':attribute no comienza con :text',
],
],
'form' => [
'text' => [
'label' => 'Texto',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Agregar regla',
],
'add_rule_group' => [
'label' => 'Agregar grupo de reglas',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'سازنده کوئری',
'form' => [
'operator' => [
'label' => 'عملگر',
],
'or_groups' => [
'label' => 'گروه‌ها',
'block' => [
'label' => 'تفکیک (OR)',
'or' => 'یا',
],
],
'rules' => [
'label' => 'قوانین',
'item' => [
'and' => 'و',
],
],
],
'no_rules' => '(بدون قانون)',
'item_separators' => [
'and' => 'و',
'or' => 'یا',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'پر است',
'inverse' => 'خالی است',
],
'summary' => [
'direct' => ':attribute پر است',
'inverse' => ':attribute خالی است',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'درست است',
'inverse' => 'نادرست است',
],
'summary' => [
'direct' => ':attribute درست است',
'inverse' => ':attribute نادرست است',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'بعد از',
'inverse' => 'بعد از نیست',
],
'summary' => [
'direct' => ':attribute بعد از :date است',
'inverse' => ':attribute بعد از :date نیست',
],
],
'is_before' => [
'label' => [
'direct' => 'قبل از',
'inverse' => 'قبل از نیست',
],
'summary' => [
'direct' => ':attribute قبل از :date است',
'inverse' => ':attribute قبل از :date نیست',
],
],
'is_date' => [
'label' => [
'direct' => 'تاریخ است',
'inverse' => 'تاریخ نیست',
],
'summary' => [
'direct' => ':attribute :date است',
'inverse' => ':attribute :date نیست',
],
],
'is_month' => [
'label' => [
'direct' => 'ماه است',
'inverse' => 'ماه نیست',
],
'summary' => [
'direct' => ':attribute :month است',
'inverse' => ':attribute :month نیست',
],
],
'is_year' => [
'label' => [
'direct' => 'سال است',
'inverse' => 'سال نیست',
],
'summary' => [
'direct' => ':attribute :year است',
'inverse' => ':attribute :year نیست',
],
],
'form' => [
'date' => [
'label' => 'تاریخ',
],
'month' => [
'label' => 'ماه',
],
'year' => [
'label' => 'سال',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'مساوی است',
'inverse' => 'مساوی نیست',
],
'summary' => [
'direct' => ':attribute مساوی :number است',
'inverse' => ':attribute مساوی :number نیست',
],
],
'is_max' => [
'label' => [
'direct' => 'حداکثر است',
'inverse' => 'بیشتر از',
],
'summary' => [
'direct' => ':attribute حداکثر :number است',
'inverse' => ':attribute بیشتر از :number است',
],
],
'is_min' => [
'label' => [
'direct' => 'حداقل است',
'inverse' => 'کمتر از',
],
'summary' => [
'direct' => ':attribute حداقل :number است',
'inverse' => ':attribute کمتر از :number است',
],
],
'aggregates' => [
'average' => [
'label' => 'میانگین',
'summary' => 'میانگین :attribute',
],
'max' => [
'label' => 'حداکثر',
'summary' => 'حداکثر :attribute',
],
'min' => [
'label' => 'حداقل',
'summary' => 'حداقل :attribute',
],
'sum' => [
'label' => 'جمع',
'summary' => 'جمع :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'مجموع',
],
'number' => [
'label' => 'عدد',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'دارد',
'inverse' => 'ندارد',
],
'summary' => [
'direct' => ':count :relationship دارد',
'inverse' => ':count :relationship ندارد',
],
],
'has_max' => [
'label' => [
'direct' => 'حداکثر دارد',
'inverse' => 'بیشتر از',
],
'summary' => [
'direct' => 'حداکثر :count :relationship دارد',
'inverse' => 'بیشتر از :count :relationship دارد',
],
],
'has_min' => [
'label' => [
'direct' => 'حداقل دارد',
'inverse' => 'کمتر از',
],
'summary' => [
'direct' => 'حداقل :count :relationship دارد',
'inverse' => 'کمتر از :count :relationship دارد',
],
],
'is_empty' => [
'label' => [
'direct' => 'خالی است',
'inverse' => 'خالی نیست',
],
'summary' => [
'direct' => ':relationship خالی است',
'inverse' => ':relationship خالی نیست',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'است',
'inverse' => 'نیست',
],
'multiple' => [
'direct' => 'شامل',
'inverse' => 'شامل نمی‌شود',
],
],
'summary' => [
'single' => [
'direct' => ':relationship :values است',
'inverse' => ':relationship :values نیست',
],
'multiple' => [
'direct' => ':relationship شامل :values است',
'inverse' => ':relationship شامل :values نمی‌شود',
],
'values_glue' => [
0 => '، ',
'final' => ' یا ',
],
],
'form' => [
'value' => [
'label' => 'مقدار',
],
'values' => [
'label' => 'مقادیر',
],
],
],
'form' => [
'count' => [
'label' => 'تعداد',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'است',
'inverse' => 'نیست',
],
'summary' => [
'direct' => ':attribute :values است',
'inverse' => ':attribute :values نیست',
'values_glue' => [
'، ',
'final' => ' یا ',
],
],
'form' => [
'value' => [
'label' => 'مقدار',
],
'values' => [
'label' => 'مقادیر',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'شامل',
'inverse' => 'شامل نمی‌شود',
],
'summary' => [
'direct' => ':attribute شامل :text است',
'inverse' => ':attribute شامل :text نمی‌شود',
],
],
'ends_with' => [
'label' => [
'direct' => 'به پایان می‌رسد با',
'inverse' => 'به پایان نمی‌رسد با',
],
'summary' => [
'direct' => ':attribute به پایان می‌رسد با :text',
'inverse' => ':attribute به پایان نمی‌رسد با :text',
],
],
'equals' => [
'label' => [
'direct' => 'مساوی است',
'inverse' => 'مساوی نیست',
],
'summary' => [
'direct' => ':attribute مساوی :text است',
'inverse' => ':attribute مساوی :text نیست',
],
],
'starts_with' => [
'label' => [
'direct' => 'شروع می‌شود با',
'inverse' => 'شروع نمی‌شود با',
],
'summary' => [
'direct' => ':attribute شروع می‌شود با :text',
'inverse' => ':attribute شروع نمی‌شود با :text',
],
],
'form' => [
'text' => [
'label' => 'متن',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'افزودن قانون',
],
'add_rule_group' => [
'label' => 'افزودن گروه قانون',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Kyselyn rakentaja',
'form' => [
'operator' => [
'label' => 'Operaattori',
],
'or_groups' => [
'label' => 'Ryhmät',
'block' => [
'label' => 'Disjunktio (OR)',
'or' => 'OR',
],
],
'rules' => [
'label' => 'Säännöt',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(Ei sääntöjä)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'On täytetty',
'inverse' => 'On tyhjä',
],
'summary' => [
'direct' => ':attribute on täytetty',
'inverse' => ':attribute on tyhjä',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'On tosi',
'inverse' => 'On epätosi',
],
'summary' => [
'direct' => ':attribute on tosi',
'inverse' => ':attribute on epätosi',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'On jälkeen',
'inverse' => 'Ei ole jälkeen',
],
'summary' => [
'direct' => ':attribute on :date jälkeen',
'inverse' => ':attribute ei ole :date jälkeen',
],
],
'is_before' => [
'label' => [
'direct' => 'On ennen',
'inverse' => 'Ei ole ennen',
],
'summary' => [
'direct' => ':attribute on ennen :date',
'inverse' => ':attribute ei ole ennen :date',
],
],
'is_date' => [
'label' => [
'direct' => 'On päiväys',
'inverse' => 'Ei ole päiväys',
],
'summary' => [
'direct' => ':attribute on :date',
'inverse' => ':attribute ei ole :date',
],
],
'is_month' => [
'label' => [
'direct' => 'On kuukausi',
'inverse' => 'Ei ole kuukausi',
],
'summary' => [
'direct' => ':attribute on :month',
'inverse' => ':attribute ei ole :month',
],
],
'is_year' => [
'label' => [
'direct' => 'On vuosi',
'inverse' => 'Ei ole vuosi',
],
'summary' => [
'direct' => ':attribute on :year',
'inverse' => ':attribute ei ole :year',
],
],
'form' => [
'date' => [
'label' => 'Päivä',
],
'month' => [
'label' => 'Kuukausi',
],
'year' => [
'label' => 'Vuosi',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'On yhtä kuin',
'inverse' => 'Ei ole yhtä kuin',
],
'summary' => [
'direct' => ':attribute on yhtä kuin :number',
'inverse' => ':attribute ei ole yhtä kuin :number',
],
],
'is_max' => [
'label' => [
'direct' => 'On enimmillään',
'inverse' => 'On suurempi kuin',
],
'summary' => [
'direct' => ':attribute on enimmillään :number',
'inverse' => ':attribute on suurempi kuin :number',
],
],
'is_min' => [
'label' => [
'direct' => 'On vähimmillään',
'inverse' => 'On vähemmän kuin',
],
'summary' => [
'direct' => ':attribute on vähimmillään :number',
'inverse' => ':attribute on vähemmän kuin :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Keskiarvo',
'summary' => 'Keskiarvo :attribute',
],
'max' => [
'label' => 'Maks',
'summary' => 'Maks :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Summa',
'summary' => 'Summa :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Kokonaisuus',
],
'number' => [
'label' => 'Numero',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Omistaa',
'inverse' => 'Ei omista',
],
'summary' => [
'direct' => 'Omistaa :count :relationship',
'inverse' => 'Ei omista :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'On enimmillään',
'inverse' => 'On enemmän kuin',
],
'summary' => [
'direct' => 'On enimmillään :count :relationship',
'inverse' => 'On enemmän kuin :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'On vähintään',
'inverse' => 'On vähemmän kuin',
],
'summary' => [
'direct' => 'On vähintään :count :relationship',
'inverse' => 'On vähemmän kuin :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'On tyhjä',
'inverse' => 'Ei ole tyhjä',
],
'summary' => [
'direct' => ':relationship on tyhjä',
'inverse' => ':relationship ei ole tyhjä',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'On',
'inverse' => 'Ei ole',
],
'multiple' => [
'direct' => 'Sisältää',
'inverse' => 'Ei sisällä',
],
],
'summary' => [
'single' => [
'direct' => ':relationship on :values',
'inverse' => ':relationship ei ole :values',
],
'multiple' => [
'direct' => ':relationship sisältää :values',
'inverse' => ':relationship ei sisällä :values',
],
'values_glue' => [
0 => ', ',
'final' => ' tai ',
],
],
'form' => [
'value' => [
'label' => 'Arvo',
],
'values' => [
'label' => 'Arvot',
],
],
],
'form' => [
'count' => [
'label' => 'Määrä',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'On',
'inverse' => 'Ei ole',
],
'summary' => [
'direct' => ':attribute on :values',
'inverse' => ':attribute ei ole :values',
'values_glue' => [
', ',
'final' => ' tai ',
],
],
'form' => [
'value' => [
'label' => 'Arvo',
],
'values' => [
'label' => 'Arvot',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Sisältää',
'inverse' => 'Ei sisällä',
],
'summary' => [
'direct' => ':attribute sisältää :text',
'inverse' => ':attribute ei sisällä :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Loppuu',
'inverse' => 'Ei lopu',
],
'summary' => [
'direct' => ':attribute loppuu :text',
'inverse' => ':attribute ei lopu :text',
],
],
'equals' => [
'label' => [
'direct' => 'On yhtä kuin',
'inverse' => 'Ei ole yhtä kuin',
],
'summary' => [
'direct' => ':attribute equals :text',
'inverse' => ':attribute does not equal :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Alkaa',
'inverse' => 'Ei ala',
],
'summary' => [
'direct' => ':attribute alkaa :text',
'inverse' => ':attribute ei ala :text',
],
],
'form' => [
'text' => [
'label' => 'Teksti',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Lisää sääntö',
],
'add_rule_group' => [
'label' => 'Lisää sääntöryhmä',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Query builder',
'form' => [
'operator' => [
'label' => 'Opérateur',
],
'or_groups' => [
'label' => 'Groupes',
'block' => [
'label' => 'Groupe (OU)',
'or' => 'OU',
],
],
'rules' => [
'label' => 'Règles',
'item' => [
'and' => 'ET',
],
],
],
'no_rules' => '(Aucune règle)',
'item_separators' => [
'and' => 'ET',
'or' => 'OU',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Est rempli',
'inverse' => 'Est vide',
],
'summary' => [
'direct' => ':attribute est rempli',
'inverse' => ':attribute est vide',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Est true',
'inverse' => 'Est false',
],
'summary' => [
'direct' => ':attribute est true',
'inverse' => ':attribute est false',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Est après le',
'inverse' => 'N\'est pas après le',
],
'summary' => [
'direct' => ':attribute est après le :date',
'inverse' => ':attribute n\'est pas après le :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Est avant le',
'inverse' => 'N\'est pas avant le',
],
'summary' => [
'direct' => ':attribute est avant le :date',
'inverse' => ':attribute n\'est pas avant le :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Est le (date)',
'inverse' => 'N\'est pas le (date)',
],
'summary' => [
'direct' => ':attribute est le :date',
'inverse' => ':attribute n\'est pas le :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Est durant le mois de',
'inverse' => 'N\'est pas durant le mois de',
],
'summary' => [
'direct' => ':attribute est en :month',
'inverse' => ':attribute n\'est pas en :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Est durant l\'année',
'inverse' => 'N\'est pas durant l\'année',
],
'summary' => [
'direct' => ':attribute est en :year',
'inverse' => ':attribute n\'est pas en :year',
],
],
'form' => [
'date' => [
'label' => 'Date',
],
'month' => [
'label' => 'Mois',
],
'year' => [
'label' => 'Année',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Egal',
'inverse' => 'N\'est pas égal',
],
'summary' => [
'direct' => ':attribute égal :number',
'inverse' => ':attribute n\'est pas égal :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Est maximum',
'inverse' => 'Est supérieur à',
],
'summary' => [
'direct' => ':attribute est maximum :number',
'inverse' => ':attribute est supérieur à :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Est minimum',
'inverse' => 'Est inférieur à',
],
'summary' => [
'direct' => ':attribute est minimum :number',
'inverse' => ':attribute est inférieur à :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Moyenne',
'summary' => 'Moyenne :attribute',
],
'max' => [
'label' => 'Max',
'summary' => 'Max :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Somme',
'summary' => 'Somme de :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agrégat',
],
'number' => [
'label' => 'Nombre',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'A',
'inverse' => 'N\'a pas',
],
'summary' => [
'direct' => 'A :count :relationship',
'inverse' => 'N\'a pas :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'A un maximum',
'inverse' => 'A plus que',
],
'summary' => [
'direct' => 'A un maximum :count :relationship',
'inverse' => 'A plus que :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'A un minimum',
'inverse' => 'A moins de',
],
'summary' => [
'direct' => 'A un minimum :count :relationship',
'inverse' => 'A moins de :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Est vide',
'inverse' => 'N\'est pas vide',
],
'summary' => [
'direct' => ':relationship est vide',
'inverse' => ':relationship n\'est pas vide',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Est',
'inverse' => 'N\'est pas',
],
'multiple' => [
'direct' => 'Contient',
'inverse' => 'Ne contient pas',
],
],
'summary' => [
'single' => [
'direct' => ':relationship est :values',
'inverse' => ':relationship n\'est pas :values',
],
'multiple' => [
'direct' => ':relationship contient :values',
'inverse' => ':relationship ne contient pas :values',
],
'values_glue' => [
0 => ', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Valeur',
],
'values' => [
'label' => 'Valeurs',
],
],
],
'form' => [
'count' => [
'label' => 'Compter',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Est',
'inverse' => 'N\'est pas',
],
'summary' => [
'direct' => ':attribute est :values',
'inverse' => ':attribute n\'est pas :values',
'values_glue' => [
', ',
'final' => ' ou ',
],
],
'form' => [
'value' => [
'label' => 'Valeur',
],
'values' => [
'label' => 'Valeurs',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Contient',
'inverse' => 'Ne contient pas',
],
'summary' => [
'direct' => ':attribute contient :text',
'inverse' => ':attribute ne contient pas :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Se termine par',
'inverse' => 'Ne se termine pas par',
],
'summary' => [
'direct' => ':attribute se termine par :text',
'inverse' => ':attribute ne se termine pas par :text',
],
],
'equals' => [
'label' => [
'direct' => 'Egal',
'inverse' => 'N\'est pas égal',
],
'summary' => [
'direct' => ':attribute égal :text',
'inverse' => ':attribute n\'est pas égal :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Commence par',
'inverse' => 'Ne commence pas par',
],
'summary' => [
'direct' => ':attribute commence par :text',
'inverse' => ':attribute ne commence pas par :text',
],
],
'form' => [
'text' => [
'label' => 'Texte',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Ajouter une règle',
],
'add_rule_group' => [
'label' => 'Ajouter une règle de groupe',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'בונה שאילתות',
'form' => [
'operator' => [
'label' => 'תנאי',
],
'or_groups' => [
'label' => 'קבוצות',
'block' => [
'label' => 'או (OR)',
'or' => 'או',
],
],
'rules' => [
'label' => 'כללים',
'item' => [
'and' => 'וגם',
],
],
],
'no_rules' => '(אין כללים)',
'item_separators' => [
'and' => 'וגם',
'or' => 'או',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'מלא',
'inverse' => 'ריק',
],
'summary' => [
'direct' => ':attribute מלא',
'inverse' => ':attribute ריק',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'כן',
'inverse' => 'לא',
],
'summary' => [
'direct' => ':attribute הוא כן',
'inverse' => ':attribute הוא לא',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'אחרי תאריך',
'inverse' => 'לא אחרי תאריך',
],
'summary' => [
'direct' => ':attribute אחרי :date',
'inverse' => ':attribute לא אחרי :date',
],
],
'is_before' => [
'label' => [
'direct' => 'לפני תאריך',
'inverse' => 'לא לפני תאריך',
],
'summary' => [
'direct' => ':attribute לפני :date',
'inverse' => ':attribute לא לפני :date',
],
],
'is_date' => [
'label' => [
'direct' => 'תאריך זהה',
'inverse' => 'תאריך שונה',
],
'summary' => [
'direct' => ':attribute תאריך זהה ל-:date',
'inverse' => ':attribute שונה מ-:date',
],
],
'is_month' => [
'label' => [
'direct' => 'חודש זהה',
'inverse' => 'חודש שונה',
],
'summary' => [
'direct' => ':attribute זהה לחודש :month',
'inverse' => ':attribute שונה מחודש :month',
],
],
'is_year' => [
'label' => [
'direct' => 'שנה זהה',
'inverse' => 'שנה שונה',
],
'summary' => [
'direct' => ':attribute זהה לשנה :year',
'inverse' => ':attribute שונה משנה :year',
],
],
'form' => [
'date' => [
'label' => 'תאריך',
],
'month' => [
'label' => 'חודש',
],
'year' => [
'label' => 'שנה',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'שווה ל',
'inverse' => 'שונה מ',
],
'summary' => [
'direct' => ':attribute שווה ל-:number',
'inverse' => ':attribute שונה מ-:number',
],
],
'is_max' => [
'label' => [
'direct' => 'לא יותר מ',
'inverse' => 'גדול מ',
],
'summary' => [
'direct' => ':attribute לא יותר מ-:number',
'inverse' => ':attribute גדול מ-:number',
],
],
'is_min' => [
'label' => [
'direct' => 'גדול או שווה ל',
'inverse' => 'קטן מ',
],
'summary' => [
'direct' => ':attribute גדול או שווה ל-:number',
'inverse' => ':attribute קטן מ-:number',
],
],
'aggregates' => [
'average' => [
'label' => 'ממוצע',
'summary' => 'ממוצע של :attribute',
],
'max' => [
'label' => 'הערך הגבוה ביותר',
'summary' => 'מקסימום של :attribute',
],
'min' => [
'label' => 'הערך הנמוך ביותר',
'summary' => 'מינימום של :attribute',
],
'sum' => [
'label' => 'סכום כולל',
'summary' => 'סכום של :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'סוג חישוב',
],
'number' => [
'label' => 'מספר',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'יש',
'inverse' => 'אין',
],
'summary' => [
'direct' => 'יש :count :relationship',
'inverse' => 'אין :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'עד מקסימום',
'inverse' => 'יותר מ',
],
'summary' => [
'direct' => 'יש עד :count :relationship',
'inverse' => 'יש יותר מ-:count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'לפחות',
'inverse' => 'פחות מ',
],
'summary' => [
'direct' => 'יש לפחות :count :relationship',
'inverse' => 'יש פחות מ-:count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'ריק',
'inverse' => 'לא ריק',
],
'summary' => [
'direct' => ':relationship ריק',
'inverse' => ':relationship לא ריק',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'הוא',
'inverse' => 'אינו',
],
'multiple' => [
'direct' => 'מכיל',
'inverse' => 'לא מכיל',
],
],
'summary' => [
'single' => [
'direct' => ':relationship הוא :values',
'inverse' => ':relationship אינו :values',
],
'multiple' => [
'direct' => ':relationship מכיל :values',
'inverse' => ':relationship לא מכיל :values',
],
'values_glue' => [
0 => ', ',
'final' => ' או ',
],
],
'form' => [
'value' => [
'label' => 'ערך',
],
'values' => [
'label' => 'ערכים',
],
],
],
'form' => [
'count' => [
'label' => 'כמות',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'הוא',
'inverse' => 'אינו',
],
'summary' => [
'direct' => ':attribute הוא :values',
'inverse' => ':attribute אינו :values',
'values_glue' => [
', ',
'final' => ' או ',
],
],
'form' => [
'value' => [
'label' => 'ערך',
],
'values' => [
'label' => 'ערכים',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'מכיל',
'inverse' => 'לא מכיל',
],
'summary' => [
'direct' => ':attribute מכיל :text',
'inverse' => ':attribute לא מכיל :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'מסתיים ב',
'inverse' => 'לא מסתיים ב',
],
'summary' => [
'direct' => ':attribute מסתיים ב-:text',
'inverse' => ':attribute לא מסתיים ב-:text',
],
],
'equals' => [
'label' => [
'direct' => 'שווה ל',
'inverse' => 'שונה מ',
],
'summary' => [
'direct' => ':attribute שווה ל-:text',
'inverse' => ':attribute שונה מ-:text',
],
],
'starts_with' => [
'label' => [
'direct' => 'מתחיל ב',
'inverse' => 'לא מתחיל ב',
],
'summary' => [
'direct' => ':attribute מתחיל ב-:text',
'inverse' => ':attribute לא מתחיל ב-:text',
],
],
'form' => [
'text' => [
'label' => 'טקסט',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'הוסף כלל',
],
'add_rule_group' => [
'label' => 'הוסף קבוצת כללים',
],
],
];
@@ -0,0 +1,481 @@
<?php
return [
'label' => 'Izrada upita',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Grupa',
'block' => [
'label' => 'Disjunkcija (OR)',
'or' => 'OR',
],
],
'rules' => [
'label' => 'Pravila',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(No rules)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Ima vrijednost',
'inverse' => 'nema vrijednost',
],
'summary' => [
'direct' => ':attribute ima vrijednost',
'inverse' => ':attribute nema vrijednost',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Valjano',
'inverse' => 'Nije valjano',
],
'summary' => [
'direct' => ':attribute je valjan',
'inverse' => ':attribute nije valjan',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Dolazi poslije',
'inverse' => 'Ne dolazi poslije',
],
'summary' => [
'direct' => ':attribute dolazi poslije :date',
'inverse' => ':attribute ine dolazi poslije :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Dolazi prije',
'inverse' => 'Ne dolazi prije',
],
'summary' => [
'direct' => ':attribute dolazi prije :date',
'inverse' => ':attribute ne dolazi prije :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Datum',
'inverse' => 'Nije datum',
],
'summary' => [
'direct' => ':attribute je datum :date',
'inverse' => ':attribute nije datum :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Mjesec',
'inverse' => 'Nije mjesec',
],
'summary' => [
'direct' => ':attribute je :month',
'inverse' => ':attribute nije :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Godina',
'inverse' => 'Nije godina',
],
'summary' => [
'direct' => ':attribute je :year',
'inverse' => ':attribute nije :year',
],
],
'form' => [
'date' => [
'label' => 'Datum',
],
'month' => [
'label' => 'Mjesec',
],
'year' => [
'label' => 'Godina',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Jednako',
'inverse' => 'Nije jednako',
],
'summary' => [
'direct' => ':attribute equals :number',
'inverse' => ':attribute does not equal :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Jeste najveći',
'inverse' => 'Veći je od',
],
'summary' => [
'direct' => ':attribute is maximum :number',
'inverse' => ':attribute is greater than :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Jeste najmanji',
'inverse' => 'Manji je od',
],
'summary' => [
'direct' => ':attribute is minimum :number',
'inverse' => ':attribute is less than :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Prosječan',
'summary' => 'Average :attribute',
],
'max' => [
'label' => 'Najveći',
'summary' => 'Max :attribute',
],
'min' => [
'label' => 'Najmanji',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Zbroj',
'summary' => 'Sum of :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agregirano',
],
'number' => [
'label' => 'Broj',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Ima',
'inverse' => 'Nema',
],
'summary' => [
'direct' => 'Has :count :relationship',
'inverse' => 'Does not have :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Ima najviše',
'inverse' => 'Ima više od',
],
'summary' => [
'direct' => 'Has maximum :count :relationship',
'inverse' => 'Has more than :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Ima najmanje',
'inverse' => 'Ima manje od',
],
'summary' => [
'direct' => 'Has minimum :count :relationship',
'inverse' => 'Has less than :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Ne sadrži podatke',
'inverse' => 'Sadrži podatke',
],
'summary' => [
'direct' => ':relationship is empty',
'inverse' => ':relationship is not empty',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Jeste',
'inverse' => 'Nije',
],
'multiple' => [
'direct' => 'Sadrži',
'inverse' => 'Ne sadrži',
],
],
'summary' => [
'single' => [
'direct' => ':relationship is :values',
'inverse' => ':relationship is not :values',
],
'multiple' => [
'direct' => ':relationship contains :values',
'inverse' => ':relationship does not contain :values',
],
'values_glue' => [
0 => ', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Vrijednost',
],
'values' => [
'label' => 'Vrijednosti',
],
],
],
'form' => [
'count' => [
'label' => 'Broj',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Je',
'inverse' => 'Nije',
],
'summary' => [
'direct' => ':attribute is :values',
'inverse' => ':attribute is not :values',
'values_glue' => [
', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Vrijednost',
],
'values' => [
'label' => 'Vrijednosti',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Sadrži',
'inverse' => 'Ne sadrži',
],
'summary' => [
'direct' => ':attribute contains :text',
'inverse' => ':attribute does not contain :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Završava s',
'inverse' => 'Ne završava s',
],
'summary' => [
'direct' => ':attribute ends with :text',
'inverse' => ':attribute does not end with :text',
],
],
'equals' => [
'label' => [
'direct' => 'Jednako',
'inverse' => 'Nije jednako',
],
'summary' => [
'direct' => ':attribute equals :text',
'inverse' => ':attribute does not equal :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Počinje s',
'inverse' => 'Ne počinje s',
],
'summary' => [
'direct' => ':attribute starts with :text',
'inverse' => ':attribute does not start with :text',
],
],
'form' => [
'text' => [
'label' => 'Tekst',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Dodaj pravilo',
],
'add_rule_group' => [
'label' => 'Dodaj grupu pravila',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Összetett szűrés',
'form' => [
'operator' => [
'label' => 'Művelet',
],
'or_groups' => [
'label' => 'Csoportok',
'block' => [
'label' => 'Diszjunkció (VAGY)',
'or' => 'VAGY',
],
],
'rules' => [
'label' => 'Szabályok',
'item' => [
'and' => 'ÉS',
],
],
],
'no_rules' => '(Nincs megadva szabály)',
'item_separators' => [
'and' => 'ÉS',
'or' => 'VAGY',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Nem üres',
'inverse' => 'Üres',
],
'summary' => [
'direct' => ':attribute nem üres',
'inverse' => ':attribute üres',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Igaz',
'inverse' => 'Hamis',
],
'summary' => [
'direct' => ':attribute igaz',
'inverse' => ':attribute hamis',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Ez után',
'inverse' => 'Nem ez után',
],
'summary' => [
'direct' => ':attribute :date után van',
'inverse' => ':attribute nem :date után van',
],
],
'is_before' => [
'label' => [
'direct' => 'Ez előtt',
'inverse' => 'Nem ez előtt',
],
'summary' => [
'direct' => ':attribute :date előtt van',
'inverse' => ':attribute nem :date előtt van',
],
],
'is_date' => [
'label' => [
'direct' => 'Ekkor',
'inverse' => 'Nem ekkor',
],
'summary' => [
'direct' => ':attribute :date',
'inverse' => ':attribute nem :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Ebben a hónapban',
'inverse' => 'Nem ebben a hónapban',
],
'summary' => [
'direct' => ':attribute :month hónapban van',
'inverse' => ':attribute nem :month hónapban van',
],
],
'is_year' => [
'label' => [
'direct' => 'Ebben az évben',
'inverse' => 'Nem ebben az évben',
],
'summary' => [
'direct' => ':attribute :year évben van',
'inverse' => ':attribute nem :year évben van',
],
],
'form' => [
'date' => [
'label' => 'Dátum',
],
'month' => [
'label' => 'Hónap',
],
'year' => [
'label' => 'Év',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Egyenlő',
'inverse' => 'Nem egyenlő',
],
'summary' => [
'direct' => ':attribute egyenlő :number',
'inverse' => ':attribute nem egyenlő :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Maximum',
'inverse' => 'Nagyobb mint',
],
'summary' => [
'direct' => ':attribute maximum :number',
'inverse' => ':attribute nagyobb mint :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Minimum',
'inverse' => 'Kisebb mint',
],
'summary' => [
'direct' => ':attribute minimum :number',
'inverse' => ':attribute kisebb mint :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Átlag',
'summary' => 'Átlag :attribute',
],
'max' => [
'label' => 'Maximum',
'summary' => 'Maximum :attribute',
],
'min' => [
'label' => 'Minimum',
'summary' => 'Minimum :attribute',
],
'sum' => [
'label' => 'Összeg',
'summary' => ':attribute összege',
],
],
'form' => [
'aggregate' => [
'label' => 'Összesítés',
],
'number' => [
'label' => 'Szám',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Rendelkezik',
'inverse' => 'Nem rendelkezik',
],
'summary' => [
'direct' => 'Rendelkezik :count :relationship -val/vel',
'inverse' => 'Nem rendelkezik :count :relationship -val/vel',
],
],
'has_max' => [
'label' => [
'direct' => 'Maximum rendelkezik',
'inverse' => 'Többel rendelkezik',
],
'summary' => [
'direct' => 'Maximum :count :relationship -val/vel rendelkezik',
'inverse' => 'Több mint :count :relationship -val/vel rendelkezik',
],
],
'has_min' => [
'label' => [
'direct' => 'Minimum rendelkezik',
'inverse' => 'Kevesebbel rendelkezik',
],
'summary' => [
'direct' => 'Minimum :count :relationship -val/vel rendelkezik',
'inverse' => 'Kevesebb mint :count :relationship -val/vel rendelkezik',
],
],
'is_empty' => [
'label' => [
'direct' => 'Meg van adva',
'inverse' => 'Nincs megadva',
],
'summary' => [
'direct' => ':relationship meg van adva',
'inverse' => ':relationship nincs megadva',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Ez',
'inverse' => 'Nem ez',
],
'multiple' => [
'direct' => 'Tartalmazza',
'inverse' => 'Nem tartalmazza',
],
],
'summary' => [
'single' => [
'direct' => ':relationship értéke :values',
'inverse' => ':relationship értéke nem :values',
],
'multiple' => [
'direct' => ':relationship tartalmazza a(z) :values értékeket',
'inverse' => ':relationship nem tartalmazza a(z) :values értékeket',
],
'values_glue' => [
0 => ', ',
'final' => ' vagy ',
],
],
'form' => [
'value' => [
'label' => 'Érték',
],
'values' => [
'label' => 'Értékek',
],
],
],
'form' => [
'count' => [
'label' => 'Mennyiség',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Ez',
'inverse' => 'Nem ez',
],
'summary' => [
'direct' => ':attribute értéke :values',
'inverse' => ':attribute értéke nem :values',
'values_glue' => [
', ',
'final' => ' vagy ',
],
],
'form' => [
'value' => [
'label' => 'Érték',
],
'values' => [
'label' => 'Értékek',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Tartalmazza',
'inverse' => 'Nem tartalmazza',
],
'summary' => [
'direct' => ':attribute tartalmazza a(z) :text szövegrészletet',
'inverse' => ':attribute nem tartalmazza a(z) :text szövegrészletet',
],
],
'ends_with' => [
'label' => [
'direct' => 'Így végződik',
'inverse' => 'Nem így végződik',
],
'summary' => [
'direct' => ':attribute :text -val/vel végződik',
'inverse' => ':attribute nem :text -val/vel végződik',
],
],
'equals' => [
'label' => [
'direct' => 'Megegyezik',
'inverse' => 'Nem egyezik meg',
],
'summary' => [
'direct' => ':attribute megegyezik :text -val/vel',
'inverse' => ':attribute nem egyezik meg :text -val/vel',
],
],
'starts_with' => [
'label' => [
'direct' => 'Így kezdődik',
'inverse' => 'Nem így kezdődik',
],
'summary' => [
'direct' => ':attribute :text -val/vel kezdődik',
'inverse' => ':attribute nem :text -val/vel kezdődik',
],
],
'form' => [
'text' => [
'label' => 'Szöveg',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Szabály hozzáadása',
],
'add_rule_group' => [
'label' => 'Szabálycsoport hozzáadása',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Հարցման ձևավորիչ',
'form' => [
'operator' => [
'label' => 'Օպերատոր',
],
'or_groups' => [
'label' => 'Խմբեր',
'block' => [
'label' => 'Տարանջատում (կամ)',
'or' => 'կամ',
],
],
'rules' => [
'label' => 'Կանոններ',
'item' => [
'and' => 'և',
],
],
],
'no_rules' => '(Կանոններ չկան)',
'item_separators' => [
'and' => 'և',
'or' => 'կամ',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Լրացված է',
'inverse' => 'Դատարկ է',
],
'summary' => [
'direct' => ':attribute լրացված է',
'inverse' => ':attribute դատարկ է',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Ճիշտ է',
'inverse' => 'Սխալ է',
],
'summary' => [
'direct' => ':attribute ճիշտ է',
'inverse' => ':attribute սխալ է',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Հետո է',
'inverse' => 'Հետո չէ',
],
'summary' => [
'direct' => ':attributeը :date-ից հետո է',
'inverse' => ':attribute :date-ից հետո չէ ',
],
],
'is_before' => [
'label' => [
'direct' => 'Առաջ է',
'inverse' => 'Առաջ չէ',
],
'summary' => [
'direct' => ':attribute :date-ից առաջ է',
'inverse' => ':attribute :date-ից առաջ է',
],
],
'is_date' => [
'label' => [
'direct' => 'Ամսաթիվ է',
'inverse' => 'Ամսաթիվ չէ',
],
'summary' => [
'direct' => ':attributeը :date է',
'inverse' => ':attributeը :date չէ',
],
],
'is_month' => [
'label' => [
'direct' => 'Ամիս է',
'inverse' => 'Ամիս չէ',
],
'summary' => [
'direct' => ':attributeը :month է',
'inverse' => ':attributeը :month չէ',
],
],
'is_year' => [
'label' => [
'direct' => 'Տարի է',
'inverse' => 'Տարի չէ',
],
'summary' => [
'direct' => ':attributeը :year է',
'inverse' => ':attributeը :year չէ',
],
],
'form' => [
'date' => [
'label' => 'Օր',
],
'month' => [
'label' => 'Ամիս',
],
'year' => [
'label' => 'Տարի',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Հավասար է',
'inverse' => 'Հավասար չէ',
],
'summary' => [
'direct' => ':attributeը հավասար է :number',
'inverse' => ':attributeը հավասար չէ :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Առավելագույնն է',
'inverse' => 'Ավելին քան',
],
'summary' => [
'direct' => ':attribute առավելագույնն է :number',
'inverse' => ':attribute ավելին քան :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Նվազագույն է',
'inverse' => 'Ավելի քիչ, քան',
],
'summary' => [
'direct' => ':attribute նվազագույն է :number',
'inverse' => ':attribute ավելի քիչ, քան :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Միջին',
'summary' => 'Միջին :attribute',
],
'max' => [
'label' => 'Առավելագույն',
'summary' => 'Առավելագույն :attribute',
],
'min' => [
'label' => 'Նվազագույն',
'summary' => 'Նվազագույն :attribute',
],
'sum' => [
'label' => 'Գումար',
'summary' => 'Գումարը :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Կուտակային',
],
'number' => [
'label' => 'Թիվ',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Ունի',
'inverse' => 'Չունի',
],
'summary' => [
'direct' => 'Ունի :count :relationship',
'inverse' => 'Չունի :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Ունի առավելագույնը',
'inverse' => 'Ունի առավել քան',
],
'summary' => [
'direct' => 'Ունի առավելագույնը :count :relationship',
'inverse' => 'Ունի առավել քան :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Ունի նվազագույնը',
'inverse' => 'Ունի պակաս քան',
],
'summary' => [
'direct' => 'Ունի նվազագույնը :count :relationship',
'inverse' => 'Ունի պակաս քան :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Դատարկ է',
'inverse' => 'Դատարկ չէ',
],
'summary' => [
'direct' => ':relationshipը դատարկ է',
'inverse' => ':relationshipը դատարկ չէ',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Արդյոք',
'inverse' => 'Ոչ',
],
'multiple' => [
'direct' => 'Պարունակում է',
'inverse' => 'Չի պարունակում',
],
],
'summary' => [
'single' => [
'direct' => ':relationshipը :values է',
'inverse' => ':relationshipը :values չէ',
],
'multiple' => [
'direct' => ':relationship պարունակում է :values',
'inverse' => ':relationship չի պարունակում :values',
],
'values_glue' => [
0 => ', ',
'final' => ' կամ ',
],
],
'form' => [
'value' => [
'label' => 'Արժեք',
],
'values' => [
'label' => 'Արժեքներ',
],
],
],
'form' => [
'count' => [
'label' => 'Քանակ',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Արդյոք',
'inverse' => 'Ոչ',
],
'summary' => [
'direct' => ':attributeը :values է',
'inverse' => ':attributeը :values չէ',
'values_glue' => [
', ',
'final' => ' կամ ',
],
],
'form' => [
'value' => [
'label' => 'Արժեք',
],
'values' => [
'label' => 'Արժեքներ',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Պարունակում է',
'inverse' => 'Չի պարունակում',
],
'summary' => [
'direct' => ':attributeը պարունակում է :text',
'inverse' => ':attributeը չի պարունակում :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Վերջանում է',
'inverse' => 'Չի վերջանում',
],
'summary' => [
'direct' => ':attributeը վերջանում է :text-ով',
'inverse' => ':attributeը չի վերջանում :text-ով',
],
],
'equals' => [
'label' => [
'direct' => 'Հավասար է',
'inverse' => 'Հավասար չէ',
],
'summary' => [
'direct' => ':attributeը հավասար է :text-ով',
'inverse' => ':attributeը հավասար չէ :text-ով',
],
],
'starts_with' => [
'label' => [
'direct' => 'Սկսում է',
'inverse' => 'Չի սկսում',
],
'summary' => [
'direct' => ':attribute սկսում է :text-ով',
'inverse' => ':attribute չի սկսում :text-ով',
],
],
'form' => [
'text' => [
'label' => 'Տեքստ',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Ավելացնել կանոն',
],
'add_rule_group' => [
'label' => 'Ավելացնել կանոնի խումբ',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Penyusun Kueri',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Grup',
'block' => [
'label' => 'Disjungsi (ATAU)',
'or' => 'ATAU',
],
],
'rules' => [
'label' => 'Aturan',
'item' => [
'and' => 'DAN',
],
],
],
'no_rules' => '(Tanpa aturan)',
'item_separators' => [
'and' => 'DAN',
'or' => 'ATAU',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Terisi',
'inverse' => 'Kosong',
],
'summary' => [
'direct' => ':attribute terisi',
'inverse' => ':attribute kosong',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Ya',
'inverse' => 'Tidak',
],
'summary' => [
'direct' => ':attribute adalah ya',
'inverse' => ':attribute adalah tidak',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Setelah',
'inverse' => 'Tidak setelah',
],
'summary' => [
'direct' => ':attribute setelah :date',
'inverse' => ':attribute tidak setelah :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Sebelum',
'inverse' => 'Tidak sebelum',
],
'summary' => [
'direct' => ':attribute sebelum :date',
'inverse' => ':attribute tidak sebelum :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Pada tanggal',
'inverse' => 'Tidak pada tanggal',
],
'summary' => [
'direct' => ':attribute pada tanggal :date',
'inverse' => ':attribute tidak pada tanggal :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Pada bulan',
'inverse' => 'Tidak pada bulan',
],
'summary' => [
'direct' => ':attribute pada bulan :month',
'inverse' => ':attribute tidak pada bulan :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Pada tahun',
'inverse' => 'Tidak pada tahun',
],
'summary' => [
'direct' => ':attribute pada tahun :year',
'inverse' => ':attribute tidak pada tahun :year',
],
],
'form' => [
'date' => [
'label' => 'Tanggal',
],
'month' => [
'label' => 'Bulan',
],
'year' => [
'label' => 'Tahun',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Sama dengan',
'inverse' => 'Tidak sama dengan',
],
'summary' => [
'direct' => ':attribute sama dengan :number',
'inverse' => ':attribute tidak sama dengan :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Maksimum',
'inverse' => 'Lebih dari',
],
'summary' => [
'direct' => 'Maksimum :attribute adalah :number',
'inverse' => ':attribute lebih dari :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Minimum',
'inverse' => 'Kurang dari',
],
'summary' => [
'direct' => 'Minimum :attribute adalah :number',
'inverse' => ':attribute kurang dari :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Rata-rata',
'summary' => 'Rata-rata :attribute',
],
'max' => [
'label' => 'Tertinggi',
'summary' => ':attribute tertinggi',
],
'min' => [
'label' => 'Terendah',
'summary' => ':attribute terendah',
],
'sum' => [
'label' => 'Total',
'summary' => 'Total :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agregat',
],
'number' => [
'label' => 'Angka',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Memiliki',
'inverse' => 'Tidak memiliki',
],
'summary' => [
'direct' => 'Memiliki :count :relationship',
'inverse' => 'Tidak memiliki :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Memiliki hingga',
'inverse' => 'Memiliki lebih dari',
],
'summary' => [
'direct' => 'Memiliki hingga :count :relationship',
'inverse' => 'Memiliki lebih dari :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Memiliki setidaknya',
'inverse' => 'Memiliki kurang dari',
],
'summary' => [
'direct' => 'Memiliki setidaknya :count :relationship',
'inverse' => 'Memiliki kurang dari :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Tidak memiliki',
'inverse' => 'Memiliki',
],
'summary' => [
'direct' => 'tidak memiliki :relationship',
'inverse' => 'memiliki :relationship',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Adalah',
'inverse' => 'Bukan',
],
'multiple' => [
'direct' => 'Terdapat',
'inverse' => 'Tidak terdapat',
],
],
'summary' => [
'single' => [
'direct' => ':relationship adalah :values',
'inverse' => ':relationship bukanlah :values',
],
'multiple' => [
'direct' => ':relationship terdapat :values',
'inverse' => ':relationship tidak terdapat :values',
],
'values_glue' => [
0 => ', ',
'final' => ' atau ',
],
],
'form' => [
'value' => [
'label' => 'Nilai',
],
'values' => [
'label' => 'Nilai',
],
],
],
'form' => [
'count' => [
'label' => 'Jumlah',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Adalah',
'inverse' => 'Bukan',
],
'summary' => [
'direct' => ':attribute adalah :values',
'inverse' => ':attribute bukan :values',
'values_glue' => [
', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Nilai',
],
'values' => [
'label' => 'Nilai',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Terdapat',
'inverse' => 'Tidak terdapat',
],
'summary' => [
'direct' => ':attribute terdapat :text',
'inverse' => ':attribute tidak terdapat :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Diakhiri dengan',
'inverse' => 'Tidak diakhiri dengan',
],
'summary' => [
'direct' => ':attribute diakhiri dengan :text',
'inverse' => ':attribute tidak diakhiri dengan :text',
],
],
'equals' => [
'label' => [
'direct' => 'Sama dengan',
'inverse' => 'Tidak sama dengan',
],
'summary' => [
'direct' => ':attribute sama dengan :text',
'inverse' => ':attribute tidak sama dengan :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Dimulai dengan',
'inverse' => 'Tidak dimulai dengan',
],
'summary' => [
'direct' => ':attribute dimulai dengan :text',
'inverse' => ':attribute tidak dimulai dengan :text',
],
],
'form' => [
'text' => [
'label' => 'Teks',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Tambah aturan',
],
'add_rule_group' => [
'label' => 'Tambah grup aturan',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Generatore di query',
'form' => [
'operator' => [
'label' => 'Operatore',
],
'or_groups' => [
'label' => 'Gruppi',
'block' => [
'label' => 'Separatore (OR)',
'or' => 'OR',
],
],
'rules' => [
'label' => 'Regole',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(Nessuna regola)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Compilato',
'inverse' => 'Non compilato',
],
'summary' => [
'direct' => ':attribute è compilato',
'inverse' => ':attribute non è compilato',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Vero',
'inverse' => 'Falso',
],
'summary' => [
'direct' => ':attribute è vero',
'inverse' => ':attribute è falso',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Dopo il',
'inverse' => 'Fino al',
],
'summary' => [
'direct' => ':attribute dopo il :date',
'inverse' => ':attribute fino al :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Prima del',
'inverse' => 'Non prima del',
],
'summary' => [
'direct' => ':attribute è prima del :date',
'inverse' => ':attribute non è prima del :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Data uguale a',
'inverse' => 'Data diversa da',
],
'summary' => [
'direct' => ':attribute è uguale a :date',
'inverse' => ':attribute è diversa da :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Mese uguale a',
'inverse' => 'Mese diverso da',
],
'summary' => [
'direct' => ':attribute è uguale a :month',
'inverse' => ':attribute è diverso da :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Anno uguale a ',
'inverse' => 'Anno diverso da',
],
'summary' => [
'direct' => ':attribute è uguale a :year',
'inverse' => ':attribute è diverso da :year',
],
],
'form' => [
'date' => [
'label' => 'Data',
],
'month' => [
'label' => 'Mese',
],
'year' => [
'label' => 'Anno',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Uguale a ',
'inverse' => 'Diverso da',
],
'summary' => [
'direct' => ':attribute uguale a :number',
'inverse' => ':attribute diverso da :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Massimo',
'inverse' => 'Più grande di',
],
'summary' => [
'direct' => ':attribute è massimo :number',
'inverse' => ':attribute è più grande di :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Minimo',
'inverse' => 'Meno di',
],
'summary' => [
'direct' => ':attribute è minimo :number',
'inverse' => ':attribute è meno di :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Media',
'summary' => 'Media :attribute',
],
'max' => [
'label' => 'Massimo',
'summary' => 'Massimo :attribute',
],
'min' => [
'label' => 'Minimo',
'summary' => 'Minimo :attribute',
],
'sum' => [
'label' => 'Somma',
'summary' => 'Somma di :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Aggregata',
],
'number' => [
'label' => 'Numero',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Ha',
'inverse' => 'Non ha',
],
'summary' => [
'direct' => 'Ha :count :relationship',
'inverse' => 'Non ha :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Ha al massimo',
'inverse' => 'Ha più di',
],
'summary' => [
'direct' => 'Ha al massimo :count :relationship',
'inverse' => 'Ha più di :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Ha minimo',
'inverse' => 'Ha meno di',
],
'summary' => [
'direct' => 'Ha minimo :count :relationship',
'inverse' => 'Ha meno di :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'È vuoto',
'inverse' => 'Non è vuoto',
],
'summary' => [
'direct' => ':relationship è vuoto',
'inverse' => ':relationship non è vuoto',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'È uguale a',
'inverse' => 'È diverso da',
],
'multiple' => [
'direct' => 'Contiene',
'inverse' => 'Non contiene',
],
],
'summary' => [
'single' => [
'direct' => ':relationship è :values',
'inverse' => ':relationship non è :values',
],
'multiple' => [
'direct' => ':relationship contiene :values',
'inverse' => ':relationship non contiene :values',
],
'values_glue' => [
0 => ', ',
'final' => ' oppure ',
],
],
'form' => [
'value' => [
'label' => 'Valore',
],
'values' => [
'label' => 'Valori',
],
],
],
'form' => [
'count' => [
'label' => 'Conteggio',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'È uguale a',
'inverse' => 'È diverso da',
],
'summary' => [
'direct' => ':attribute è uguale a :values',
'inverse' => ':attribute diverso da :values',
'values_glue' => [
', ',
'final' => ' oppure ',
],
],
'form' => [
'value' => [
'label' => 'Valore',
],
'values' => [
'label' => 'Valori',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Contiene',
'inverse' => 'Non contiene',
],
'summary' => [
'direct' => ':attribute contiene :text',
'inverse' => ':attribute non contiene :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Finisce con',
'inverse' => 'Non finisce con',
],
'summary' => [
'direct' => ':attribute finisce con :text',
'inverse' => ':attribute non finisce con :text',
],
],
'equals' => [
'label' => [
'direct' => 'Uguale a',
'inverse' => 'Diverso da',
],
'summary' => [
'direct' => ':attribute uguale a :text',
'inverse' => ':attribute diversa da :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Inizia con',
'inverse' => 'Non inizia con',
],
'summary' => [
'direct' => ':attribute inizia con :text',
'inverse' => ':attribute non inizia con :text',
],
],
'form' => [
'text' => [
'label' => 'Testo',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Aggiungi regola',
],
'add_rule_group' => [
'label' => 'Aggiungi gruppo di regole',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'クエリビルダー',
'form' => [
'operator' => [
'label' => 'オペレーター',
],
'or_groups' => [
'label' => 'グループ',
'block' => [
'label' => '論理和 (または)',
'or' => 'または',
],
],
'rules' => [
'label' => 'ルール',
'item' => [
'and' => 'かつ',
],
],
],
'no_rules' => '(ルールなし)',
'item_separators' => [
'and' => 'かつ',
'or' => 'または',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => '入力あり',
'inverse' => '空白',
],
'summary' => [
'direct' => ':attributeは入力されています',
'inverse' => ':attribute は空白です',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => '真',
'inverse' => '偽',
],
'summary' => [
'direct' => ':attributeは真です',
'inverse' => ':attribute は偽です',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => '以降',
'inverse' => '以降ではない',
],
'summary' => [
'direct' => ':attributeは:date以降',
'inverse' => ':attributeは:date以降ではない',
],
],
'is_before' => [
'label' => [
'direct' => '以前',
'inverse' => '以前ではない',
],
'summary' => [
'direct' => ':attributeは:date以前',
'inverse' => ':attributeは:date以前ではない',
],
],
'is_date' => [
'label' => [
'direct' => '日付である',
'inverse' => '日付でない',
],
'summary' => [
'direct' => ':attributeは:dateである',
'inverse' => ':attributeは:dateではない',
],
],
'is_month' => [
'label' => [
'direct' => '月',
'inverse' => '月ではない',
],
'summary' => [
'direct' => ':attributeは:monthである',
'inverse' => ':attributeは:monthではない',
],
],
'is_year' => [
'label' => [
'direct' => '年',
'inverse' => '年ではない',
],
'summary' => [
'direct' => ':attributeは:yearである',
'inverse' => ':attributeは:yearではない',
],
],
'form' => [
'date' => [
'label' => '日',
],
'month' => [
'label' => '月',
],
'year' => [
'label' => '年',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => '等しい',
'inverse' => '等しくない',
],
'summary' => [
'direct' => ':attributeは:numberと等しい',
'inverse' => ':attributeは:numberと等しくない',
],
],
'is_max' => [
'label' => [
'direct' => '以下',
'inverse' => 'より大きい',
],
'summary' => [
'direct' => ':attributeは:number以下',
'inverse' => ':attributeは:numberより大きい',
],
],
'is_min' => [
'label' => [
'direct' => '以上',
'inverse' => 'より小さい',
],
'summary' => [
'direct' => ':attributeは:number以上',
'inverse' => ':attributeは:numberより小さい',
],
],
'aggregates' => [
'average' => [
'label' => '平均',
'summary' => ':attributeの平均',
],
'max' => [
'label' => '最大値',
'summary' => ':attributeの最大値',
],
'min' => [
'label' => '最小値',
'summary' => ':attributeの最小値',
],
'sum' => [
'label' => '合計',
'summary' => ':attributeの合計',
],
],
'form' => [
'aggregate' => [
'label' => '集計',
],
'number' => [
'label' => '数',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => '持っている',
'inverse' => '持っていない',
],
'summary' => [
'direct' => ':count個の:relationshipを保持',
'inverse' => ':count個の:relationshipを非保持',
],
],
'has_max' => [
'label' => [
'direct' => '最大である',
'inverse' => 'より多い',
],
'summary' => [
'direct' => ':count個以下の:relationshipを保持',
'inverse' => ':count個より多く:relationshipを保持',
],
],
'has_min' => [
'label' => [
'direct' => '最小である',
'inverse' => 'より少ない',
],
'summary' => [
'direct' => ':count個以上の:relationshipを保持',
'inverse' => ':count個より少ない:relationshipを保持',
],
],
'is_empty' => [
'label' => [
'direct' => '空である',
'inverse' => '空ではない',
],
'summary' => [
'direct' => ':relationshipは空である',
'inverse' => ':relationshipは空ではない',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'である',
'inverse' => 'ではない',
],
'multiple' => [
'direct' => '含む',
'inverse' => '含まない',
],
],
'summary' => [
'single' => [
'direct' => ':relationshipは:valuesである',
'inverse' => ':relationshipは:valuesではない',
],
'multiple' => [
'direct' => ':relationshipは:valuesを含む',
'inverse' => ':relationshipは:valuesを含まない',
],
'values_glue' => [
0 => ', ',
'final' => ' または ',
],
],
'form' => [
'value' => [
'label' => '値',
],
'values' => [
'label' => '値',
],
],
],
'form' => [
'count' => [
'label' => '数',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'である',
'inverse' => 'ではない',
],
'summary' => [
'direct' => ':attributeは:valuesである',
'inverse' => ':attributeは:valuesではない',
'values_glue' => [
', ',
'final' => ' または ',
],
],
'form' => [
'value' => [
'label' => '値',
],
'values' => [
'label' => '値',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => '含む',
'inverse' => '含まない',
],
'summary' => [
'direct' => ':attributeは:textを含む',
'inverse' => ':attributeは:textを含まない',
],
],
'ends_with' => [
'label' => [
'direct' => 'で終わる',
'inverse' => 'で終わらない',
],
'summary' => [
'direct' => ':attributeは:textで終わる',
'inverse' => ':attributeは:textで終わらない',
],
],
'equals' => [
'label' => [
'direct' => '等しい',
'inverse' => '等しくない',
],
'summary' => [
'direct' => ':attributeは:textと等しい',
'inverse' => ':attributeは:textと等しくない',
],
],
'starts_with' => [
'label' => [
'direct' => 'で始まる',
'inverse' => 'で始まらない',
],
'summary' => [
'direct' => ':attributeは:textで始まる',
'inverse' => ':attributeは:textで始まらない',
],
],
'form' => [
'text' => [
'label' => 'テキスト',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'ルールを追加',
],
'add_rule_group' => [
'label' => 'ルールグループを追加',
],
],
];
@@ -0,0 +1,481 @@
<?php
return [
'label' => 'ქუერი ბილდერი',
'form' => [
'operator' => [
'label' => 'ოპერატორი',
],
'or_groups' => [
'label' => 'ჯგუფები',
'block' => [
'label' => 'დისიუნქცია (OR)',
'or' => 'OR',
],
],
'rules' => [
'label' => 'წესები',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(არ არის წესები)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'შევსებულია',
'inverse' => 'ცარიელია',
],
'summary' => [
'direct' => ':attribute შევსებულია',
'inverse' => ':attribute ცარიელია',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'მართალია',
'inverse' => 'მცდარია',
],
'summary' => [
'direct' => ':attribute მართალია',
'inverse' => ':attribute მცდარია',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'შემდეგია',
'inverse' => 'არ არის შემდეგი',
],
'summary' => [
'direct' => ':attribute შემდეგია :date-ის შემდეგ',
'inverse' => ':attribute არ არის შემდეგი :date-ის შემდეგ',
],
],
'is_before' => [
'label' => [
'direct' => 'მანამდეა',
'inverse' => 'არ არის მანამდე',
],
'summary' => [
'direct' => ':attribute მანამდეა :date-მდე',
'inverse' => ':attribute არ არის მანამდე :date-მდე',
],
],
'is_date' => [
'label' => [
'direct' => 'არის თარიღი',
'inverse' => 'არ არის თარიღი',
],
'summary' => [
'direct' => ':attribute არის :date',
'inverse' => ':attribute არ არის :date',
],
],
'is_month' => [
'label' => [
'direct' => 'არის თვე',
'inverse' => 'არ არის თვე',
],
'summary' => [
'direct' => ':attribute არის :month',
'inverse' => ':attribute არ არის :month',
],
],
'is_year' => [
'label' => [
'direct' => 'არის წელი',
'inverse' => 'არ არის წელი',
],
'summary' => [
'direct' => ':attribute არის :year',
'inverse' => ':attribute არ არის :year',
],
],
'form' => [
'date' => [
'label' => 'თარიღი',
],
'month' => [
'label' => 'თვე',
],
'year' => [
'label' => 'წელი',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'თანაბარია',
'inverse' => 'არ არის თანაბარი',
],
'summary' => [
'direct' => ':attribute თანაბარია :number',
'inverse' => ':attribute არ არის თანაბარი :number',
],
],
'is_max' => [
'label' => [
'direct' => 'არის მაქსიმუმი',
'inverse' => 'მეტია ვიდრე',
],
'summary' => [
'direct' => ':attribute არის მაქსიმუმი :number',
'inverse' => ':attribute მეტია ვიდრე :number',
],
],
'is_min' => [
'label' => [
'direct' => 'არის მინიმუმი',
'inverse' => 'ნაკლებია ვიდრე',
],
'summary' => [
'direct' => ':attribute არის მინიმუმი :number',
'inverse' => ':attribute ნაკლებია ვიდრე :number',
],
],
'aggregates' => [
'average' => [
'label' => 'საშუალო',
'summary' => 'საშუალო :attribute',
],
'max' => [
'label' => 'მაქსიმუმი',
'summary' => 'მაქსიმუმი :attribute',
],
'min' => [
'label' => 'მინიმუმი',
'summary' => 'მინიმუმი :attribute',
],
'sum' => [
'label' => 'ჯამი',
'summary' => ':attribute ჯამი',
],
],
'form' => [
'aggregate' => [
'label' => 'აგრეგატი',
],
'number' => [
'label' => 'რიცხვი',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'აქვს',
'inverse' => 'არ აქვს',
],
'summary' => [
'direct' => 'აქვს :count :relationship',
'inverse' => 'არ აქვს :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'აქვს მაქსიმუმი',
'inverse' => 'მეტია ვიდრე',
],
'summary' => [
'direct' => 'აქვს მაქსიმუმი :count :relationship',
'inverse' => 'მეტია ვიდრე :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'აქვს მინიმუმი',
'inverse' => 'ნაკლებია ვიდრე',
],
'summary' => [
'direct' => 'აქვს მინიმუმი :count :relationship',
'inverse' => 'ნაკლებია ვიდრე :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'ცარიელია',
'inverse' => 'არ არის ცარიელი',
],
'summary' => [
'direct' => ':relationship ცარიელია',
'inverse' => ':relationship არ არის ცარიელი',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'არის',
'inverse' => 'არ არის',
],
'multiple' => [
'direct' => 'შეიცავს',
'inverse' => 'არ შეიცავს',
],
],
'summary' => [
'single' => [
'direct' => ':relationship არის :values',
'inverse' => ':relationship არ არის :values',
],
'multiple' => [
'direct' => ':relationship შეიცავს :values',
'inverse' => ':relationship არ შეიცავს :values',
],
'values_glue' => [
0 => ', ',
'final' => ' ან ',
],
],
'form' => [
'value' => [
'label' => 'მნიშვნელობა',
],
'values' => [
'label' => 'მნიშვნელობები',
],
],
],
'form' => [
'count' => [
'label' => 'რაოდენობა',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'არის',
'inverse' => 'არ არის',
],
'summary' => [
'direct' => ':attribute არის :values',
'inverse' => ':attribute არ არის :values',
'values_glue' => [
', ',
'final' => ' ან ',
],
],
'form' => [
'value' => [
'label' => 'მნიშვნელობა',
],
'values' => [
'label' => 'მნიშვნელობები',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'შეიცავს',
'inverse' => 'არ შეიცავს',
],
'summary' => [
'direct' => ':attribute შეიცავს :text',
'inverse' => ':attribute არ შეიცავს :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'მთავრდება',
'inverse' => 'არ მთავრდება',
],
'summary' => [
'direct' => ':attribute მთავრდება :text-ზე',
'inverse' => ':attribute არ მთავრდება :text-ზე',
],
],
'equals' => [
'label' => [
'direct' => 'თანაბარია',
'inverse' => 'არ არის თანაბარი',
],
'summary' => [
'direct' => ':attribute თანაბარია :text',
'inverse' => ':attribute არ არის თანაბარი :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'იწყება',
'inverse' => 'არ იწყება',
],
'summary' => [
'direct' => ':attribute იწყება :text-ით',
'inverse' => ':attribute არ იწყება :text-ით',
],
],
'form' => [
'text' => [
'label' => 'ტექსტი',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'დამატება წესის',
],
'add_rule_group' => [
'label' => 'დამატება წესების ჯგუფის',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Query builder',
'form' => [
'operator' => [
'label' => 'ប្រតិបត្តិករ',
],
'or_groups' => [
'label' => 'ក្រុម',
'block' => [
'label' => 'ការផ្តាច់ខ្លួន (ឬ)',
'or' => 'ឬ',
],
],
'rules' => [
'label' => 'ច្បាប់',
'item' => [
'and' => 'និង',
],
],
],
'no_rules' => '(មិន​មាន​ច្បាប់)',
'item_separators' => [
'and' => 'និង',
'or' => 'ឬ',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'ត្រូវបានបំពេញ',
'inverse' => 'គឺទទេ',
],
'summary' => [
'direct' => ':attribute ត្រូវបានបំពេញ',
'inverse' => ':attribute គឺទទេ',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'គឺពិត',
'inverse' => 'មិនពិត',
],
'summary' => [
'direct' => ':attribute គឺពិត',
'inverse' => ':attribute មិនពិត',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'គឺបន្ទាប់ពី',
'inverse' => 'គឺមិនមែនបន្ទាប់ពី',
],
'summary' => [
'direct' => ':attribute គឺបន្ទាប់ពី :date',
'inverse' => ':attribute គឺមិនមែនបន្ទាប់ពី :date',
],
],
'is_before' => [
'label' => [
'direct' => 'គឺពីមុន',
'inverse' => 'មិនមែនពីមុនទេ',
],
'summary' => [
'direct' => ':attribute គឺពីមុន :date',
'inverse' => ':attribute មិនមែនពីមុនទេ :date',
],
],
'is_date' => [
'label' => [
'direct' => 'គឺកាលបរិច្ឆេទ',
'inverse' => 'មិនមែនជាកាលបរិច្ឆេទទេ',
],
'summary' => [
'direct' => ':attribute គឺ :date',
'inverse' => ':attribute មិនមែន :date',
],
],
'is_month' => [
'label' => [
'direct' => 'គឺខែ',
'inverse' => 'មិនមែនខែទេ',
],
'summary' => [
'direct' => ':attribute គឺ :month',
'inverse' => ':attribute មិនមែន :month',
],
],
'is_year' => [
'label' => [
'direct' => 'គឺជាឆ្នាំ',
'inverse' => 'មិនមែនឆ្នាំទេ',
],
'summary' => [
'direct' => ':attribute គឺ :year',
'inverse' => ':attribute មិនមែន :year',
],
],
'form' => [
'date' => [
'label' => 'កាលបរិច្ឆេទ',
],
'month' => [
'label' => 'ខែ',
],
'year' => [
'label' => 'ឆ្នាំ',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'ស្មើ',
'inverse' => 'មិនស្មើគ្នា',
],
'summary' => [
'direct' => ':attribute ស្មើ :number',
'inverse' => ':attribute មិនស្មើគ្នា :number',
],
],
'is_max' => [
'label' => [
'direct' => 'គឺអតិបរមា',
'inverse' => 'គឺធំជាង',
],
'summary' => [
'direct' => ':attribute គឺអតិបរមា :number',
'inverse' => ':attribute គឺធំជាង :number',
],
],
'is_min' => [
'label' => [
'direct' => 'គឺអប្បបរមា',
'inverse' => 'គឺតិចជាង',
],
'summary' => [
'direct' => ':attribute គឺអប្បបរមា :number',
'inverse' => ':attribute គឺតិចជាង :number',
],
],
'aggregates' => [
'average' => [
'label' => 'មធ្យម',
'summary' => 'មធ្យម :attribute',
],
'max' => [
'label' => 'អតិបរមា',
'summary' => 'អតិបរមា :attribute',
],
'min' => [
'label' => 'អប្បបរមា',
'summary' => 'អប្បបរមា :attribute',
],
'sum' => [
'label' => 'បូក',
'summary' => 'ផលបូកនៃ :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'សរុប',
],
'number' => [
'label' => 'ចំនួន',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => '​មាន',
'inverse' => 'មិន​មាន',
],
'summary' => [
'direct' => '​មាន :count :relationship',
'inverse' => 'មិន​មាន :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'មានអតិបរមា',
'inverse' => 'មានច្រើនជាង',
],
'summary' => [
'direct' => 'មានអតិបរមា :count :relationship',
'inverse' => 'មានច្រើនជាង :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'មានអប្បបរមា',
'inverse' => 'មានតិចជាង',
],
'summary' => [
'direct' => 'មានអប្បបរមា :count :relationship',
'inverse' => 'មានតិចជាង :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'គឺ​ទទេ',
'inverse' => 'មិនទទេ',
],
'summary' => [
'direct' => ':relationship គឺ​ទទេ',
'inverse' => ':relationship មិនទទេ',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'គឺ',
'inverse' => 'មិន​មែន',
],
'multiple' => [
'direct' => 'មាន',
'inverse' => 'មិនមាន',
],
],
'summary' => [
'single' => [
'direct' => ':relationship គឺ :values',
'inverse' => ':relationship មិន​មែន :values',
],
'multiple' => [
'direct' => ':relationship មាន :values',
'inverse' => ':relationship មិនមាន :values',
],
'values_glue' => [
0 => ', ',
'final' => ' ឬ ',
],
],
'form' => [
'value' => [
'label' => 'តម្លៃ',
],
'values' => [
'label' => 'តម្លៃច្រើន',
],
],
],
'form' => [
'count' => [
'label' => 'រាប់',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'គឺ',
'inverse' => 'មិន​មែន',
],
'summary' => [
'direct' => ':attribute គឺ :values',
'inverse' => ':attribute មិន​មែន :values',
'values_glue' => [
', ',
'final' => ' ឬ ',
],
],
'form' => [
'value' => [
'label' => 'តម្លៃ',
],
'values' => [
'label' => 'តម្លៃច្រើន',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'មាន',
'inverse' => 'មិនមែន',
],
'summary' => [
'direct' => ':attribute មាន :text',
'inverse' => ':attribute មិនមែន :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'បញ្ចប់ដោយ',
'inverse' => 'មិនបញ្ចប់ដោយ',
],
'summary' => [
'direct' => ':attribute បញ្ចប់ដោយ :text',
'inverse' => ':attribute មិនបញ្ចប់ដោយ :text',
],
],
'equals' => [
'label' => [
'direct' => 'ស្មើ',
'inverse' => 'មិនស្មើគ្នា',
],
'summary' => [
'direct' => ':attribute ស្មើ :text',
'inverse' => ':attribute មិនស្មើគ្នា :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'ចាប់ផ្តើមជាមួយ',
'inverse' => 'មិនចាប់ផ្តើមជាមួយ',
],
'summary' => [
'direct' => ':attribute ចាប់ផ្តើមជាមួយ :text',
'inverse' => ':attribute មិនចាប់ផ្តើមជាមួយ :text',
],
],
'form' => [
'text' => [
'label' => 'អត្ថបទ',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'បន្ថែមច្បាប់',
],
'add_rule_group' => [
'label' => 'បន្ថែមក្រុមច្បាប់',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => '쿼리 빌더',
'form' => [
'operator' => [
'label' => '연산자',
],
'or_groups' => [
'label' => '그룹',
'block' => [
'label' => '배타적 논리 (OR)',
'or' => '또는',
],
],
'rules' => [
'label' => '조건',
'item' => [
'and' => '그리고',
],
],
],
'no_rules' => '(조건 없음)',
'item_separators' => [
'and' => '그리고',
'or' => '또는',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => '채워짐',
'inverse' => '빈 값',
],
'summary' => [
'direct' => ':attribute이(가) 채워짐',
'inverse' => ':attribute이(가) 비어 있음',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => '참',
'inverse' => '거짓',
],
'summary' => [
'direct' => ':attribute이(가) 참',
'inverse' => ':attribute이(가) 거짓',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => '이후',
'inverse' => '이후가 아님',
],
'summary' => [
'direct' => ':attribute이(가) :date 이후',
'inverse' => ':attribute이(가) :date 이후가 아님',
],
],
'is_before' => [
'label' => [
'direct' => '이전',
'inverse' => '이전이 아님',
],
'summary' => [
'direct' => ':attribute이(가) :date 이전',
'inverse' => ':attribute이(가) :date 이전이 아님',
],
],
'is_date' => [
'label' => [
'direct' => '날짜임',
'inverse' => '날짜가 아님',
],
'summary' => [
'direct' => ':attribute이(가) :date임',
'inverse' => ':attribute이(가) :date가 아님',
],
],
'is_month' => [
'label' => [
'direct' => '월임',
'inverse' => '월이 아님',
],
'summary' => [
'direct' => ':attribute이(가) :month임',
'inverse' => ':attribute이(가) :month가 아님',
],
],
'is_year' => [
'label' => [
'direct' => '년도임',
'inverse' => '년도가 아님',
],
'summary' => [
'direct' => ':attribute이(가) :year임',
'inverse' => ':attribute이(가) :year가 아님',
],
],
'form' => [
'date' => [
'label' => '날짜',
],
'month' => [
'label' => '월',
],
'year' => [
'label' => '년도',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => '같음',
'inverse' => '같지 않음',
],
'summary' => [
'direct' => ':attribute이(가) :number와 같음',
'inverse' => ':attribute이(가) :number와 같지 않음',
],
],
'is_max' => [
'label' => [
'direct' => '최대값임',
'inverse' => '보다 큼',
],
'summary' => [
'direct' => ':attribute이(가) 최대값 :number임',
'inverse' => ':attribute이(가) :number보다 큼',
],
],
'is_min' => [
'label' => [
'direct' => '최소값임',
'inverse' => '보다 작음',
],
'summary' => [
'direct' => ':attribute이(가) 최소값 :number임',
'inverse' => ':attribute이(가) :number보다 작음',
],
],
'aggregates' => [
'average' => [
'label' => '평균',
'summary' => ':attribute의 평균',
],
'max' => [
'label' => '최대값',
'summary' => ':attribute의 최대값',
],
'min' => [
'label' => '최소값',
'summary' => ':attribute의 최소값',
],
'sum' => [
'label' => '합계',
'summary' => ':attribute의 합계',
],
],
'form' => [
'aggregate' => [
'label' => '집계',
],
'number' => [
'label' => '숫자',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => '포함함',
'inverse' => '포함하지 않음',
],
'summary' => [
'direct' => ':count :relationship을(를) 가짐',
'inverse' => ':count :relationship을(를) 가지지 않음',
],
],
'has_max' => [
'label' => [
'direct' => '최대값을 가짐',
'inverse' => '보다 많음',
],
'summary' => [
'direct' => '최대값 :count :relationship을(를) 가짐',
'inverse' => ':count보다 많은 :relationship을(를) 가짐',
],
],
'has_min' => [
'label' => [
'direct' => '최소값을 가짐',
'inverse' => '보다 작음',
],
'summary' => [
'direct' => '최소값 :count :relationship을(를) 가짐',
'inverse' => ':count보다 작은 :relationship을(를) 가짐',
],
],
'is_empty' => [
'label' => [
'direct' => '비어 있음',
'inverse' => '비어 있지 않음',
],
'summary' => [
'direct' => ':relationship이(가) 비어 있음',
'inverse' => ':relationship이(가) 비어 있지 않음',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => '일치함',
'inverse' => '일치하지 않음',
],
'multiple' => [
'direct' => '포함함',
'inverse' => '포함하지 않음',
],
],
'summary' => [
'single' => [
'direct' => ':relationship이(가) :values와 일치함',
'inverse' => ':relationship이(가) :values와 일치하지 않음',
],
'multiple' => [
'direct' => ':relationship이(가) :values를 포함함',
'inverse' => ':relationship이(가) :values를 포함하지 않음',
],
'values_glue' => [
0 => ', ',
'final' => ' 또는 ',
],
],
'form' => [
'value' => [
'label' => '값',
],
'values' => [
'label' => '값들',
],
],
],
'form' => [
'count' => [
'label' => '개수',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => '일치함',
'inverse' => '일치하지 않음',
],
'summary' => [
'direct' => ':attribute이(가) :values와 일치함',
'inverse' => ':attribute이(가) :values와 일치하지 않음',
'values_glue' => [
', ',
'final' => ' 또는 ',
],
],
'form' => [
'value' => [
'label' => '값',
],
'values' => [
'label' => '값들',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => '포함함',
'inverse' => '포함하지 않음',
],
'summary' => [
'direct' => ':attribute이(가) :text를 포함함',
'inverse' => ':attribute이(가) :text를 포함하지 않음',
],
],
'ends_with' => [
'label' => [
'direct' => '끝이 일치함',
'inverse' => '끝이 일치하지 않음',
],
'summary' => [
'direct' => ':attribute이(가) :text로 끝남',
'inverse' => ':attribute이(가) :text로 끝나지 않음',
],
],
'equals' => [
'label' => [
'direct' => '같음',
'inverse' => '같지 않음',
],
'summary' => [
'direct' => ':attribute이(가) :text와 같음',
'inverse' => ':attribute이(가) :text와 같지 않음',
],
],
'starts_with' => [
'label' => [
'direct' => '시작함',
'inverse' => '시작하지 않음',
],
'summary' => [
'direct' => ':attribute이(가) :text로 시작함',
'inverse' => ':attribute이(가) :text로 시작하지 않음',
],
],
'form' => [
'text' => [
'label' => '텍스트',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => '조건 추가',
],
'add_rule_group' => [
'label' => '조건 그룹 추가',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Užklausos kūrimas',
'form' => [
'operator' => [
'label' => 'Palyginimas',
],
'or_groups' => [
'label' => 'Grupės',
'block' => [
'label' => 'Blokas (ARBA)',
'or' => 'ARBA',
],
],
'rules' => [
'label' => 'Taisyklės',
'item' => [
'and' => 'IR',
],
],
],
'no_rules' => '(Nėra taisyklių)',
'item_separators' => [
'and' => 'IR',
'or' => 'ARBA',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Užpildyta',
'inverse' => 'Neužpildyta',
],
'summary' => [
'direct' => ':attribute užpildyta',
'inverse' => ':attribute neužpildyta',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Yra teigiamas',
'inverse' => 'Nėra teigiamas',
],
'summary' => [
'direct' => ':attribute yra teigiamas',
'inverse' => ':attribute nėra teigiamas',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Yra po',
'inverse' => 'Nėra po',
],
'summary' => [
'direct' => ':attribute yra po :date',
'inverse' => ':attribute nėra po :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Yra prieš',
'inverse' => 'Nėra prieš',
],
'summary' => [
'direct' => ':attribute yra prieš :date',
'inverse' => ':attribute nėra prieš :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Yra data',
'inverse' => 'Nėra data',
],
'summary' => [
'direct' => ':attribute yra :date',
'inverse' => ':attribute nėra :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Yra mėnesis',
'inverse' => 'Nėra mėnesis',
],
'summary' => [
'direct' => ':attribute yra :month',
'inverse' => ':attribute nėra :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Yra metai',
'inverse' => 'Nėra metai',
],
'summary' => [
'direct' => ':attribute yra :year',
'inverse' => ':attribute nėra :year',
],
],
'form' => [
'date' => [
'label' => 'Data',
],
'month' => [
'label' => 'Mėnesis',
],
'year' => [
'label' => 'Metai',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Lygu',
'inverse' => 'Nelygu',
],
'summary' => [
'direct' => ':attribute lygu :number',
'inverse' => ':attribute nelygu :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Yra didžiausias',
'inverse' => 'Yra didesnis už',
],
'summary' => [
'direct' => ':attribute yra didžiausias :number',
'inverse' => ':attribute yra didesnis už :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Yra mažiausias',
'inverse' => 'Yra mažesnis už',
],
'summary' => [
'direct' => ':attribute yra mažiausias :number',
'inverse' => ':attribute yra mažesnis už :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Vidurkis',
'summary' => ':attribute vidurkis',
],
'max' => [
'label' => 'Maksimumas',
'summary' => 'Didžiausias :attribute',
],
'min' => [
'label' => 'Minimumas',
'summary' => 'Mažiausias :attribute',
],
'sum' => [
'label' => 'Suma',
'summary' => ':attribute suma',
],
],
'form' => [
'aggregate' => [
'label' => 'Suminis rodiklis',
],
'number' => [
'label' => 'Skaičius',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Turi',
'inverse' => 'Neturi',
],
'summary' => [
'direct' => 'Turi :count :relationship',
'inverse' => 'Neturi :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Turi daugiausiai',
'inverse' => 'Turi daugiau nei',
],
'summary' => [
'direct' => 'Turi daugiausiai :count :relationship',
'inverse' => 'Turi daugiau nei :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Turi mažiausiai',
'inverse' => 'Turi mažiau nei',
],
'summary' => [
'direct' => 'Turi mažiausiai :count :relationship',
'inverse' => 'Turi mažiau nei :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Yra tuščias',
'inverse' => 'Nėra tuščias',
],
'summary' => [
'direct' => ':relationship yra tuščias',
'inverse' => ':relationship nėra tuščias',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Yra',
'inverse' => 'Nėra',
],
'multiple' => [
'direct' => 'Yra vienas iš',
'inverse' => 'Nėra nė vienas iš',
],
],
'summary' => [
'single' => [
'direct' => ':relationship yra :values',
'inverse' => ':relationship nėra :values',
],
'multiple' => [
'direct' => ':relationship turi :values',
'inverse' => ':relationship neturi :values',
],
'values_glue' => [
0 => ', ',
'final' => ' arba ',
],
],
'form' => [
'value' => [
'label' => 'Reikšmė',
],
'values' => [
'label' => 'Reikšmės',
],
],
],
'form' => [
'count' => [
'label' => 'Kiekis',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Yra',
'inverse' => 'Nėra',
],
'summary' => [
'direct' => ':attribute yra :values',
'inverse' => ':attribute nėra :values',
'values_glue' => [
', ',
'final' => ' arba ',
],
],
'form' => [
'value' => [
'label' => 'Reikšmė',
],
'values' => [
'label' => 'Reikšmės',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Turi',
'inverse' => 'Neturi',
],
'summary' => [
'direct' => ':attribute turi :text',
'inverse' => ':attribute neturi :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Turi pabaigą',
'inverse' => 'Neturi pabaigos',
],
'summary' => [
'direct' => ':attribute baigiasi :text',
'inverse' => ':attribute nesibaigia :text',
],
],
'equals' => [
'label' => [
'direct' => 'Yra',
'inverse' => 'Nėra',
],
'summary' => [
'direct' => ':attribute lygus :text',
'inverse' => ':attribute nelygus :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Turi pradžią',
'inverse' => 'Neturi pradžios',
],
'summary' => [
'direct' => ':attribute prasideda :text',
'inverse' => ':attribute neprasideda :text',
],
],
'form' => [
'text' => [
'label' => 'Tekstas',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Pridėti taisyklę',
],
'add_rule_group' => [
'label' => 'Pridėti taisyklių grupę',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Query builder',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Groups',
'block' => [
'label' => 'OR condition',
'or' => 'OR',
],
],
'rules' => [
'label' => 'Dân',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(Dân a awmlo)',
'item_separators' => [
'and' => 'LEH',
'or' => 'EMAW',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Is filled',
'inverse' => 'Is blank',
],
'summary' => [
'direct' => ':attribute is filled',
'inverse' => ':attribute is blank',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Is true',
'inverse' => 'Is false',
],
'summary' => [
'direct' => ':attribute is true',
'inverse' => ':attribute is false',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Is after',
'inverse' => 'Is not after',
],
'summary' => [
'direct' => ':attribute is after :date',
'inverse' => ':attribute is not after :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Is before',
'inverse' => 'Is not before',
],
'summary' => [
'direct' => ':attribute is before :date',
'inverse' => ':attribute is not before :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Is date',
'inverse' => 'Is not date',
],
'summary' => [
'direct' => ':attribute is :date',
'inverse' => ':attribute is not :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Is month',
'inverse' => 'Is not month',
],
'summary' => [
'direct' => ':attribute is :month',
'inverse' => ':attribute is not :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Is year',
'inverse' => 'Is not year',
],
'summary' => [
'direct' => ':attribute is :year',
'inverse' => ':attribute is not :year',
],
],
'form' => [
'date' => [
'label' => 'Date',
],
'month' => [
'label' => 'Month',
],
'year' => [
'label' => 'Year',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Intluk',
'inverse' => 'Intluklo',
],
'summary' => [
'direct' => ':attribute hi :number nen a intluk',
'inverse' => ':attribute hi :number nen a intluklo',
],
],
'is_max' => [
'label' => [
'direct' => 'Is maximum',
'inverse' => 'Is greater than',
],
'summary' => [
'direct' => ':attribute is maximum :number',
'inverse' => ':attribute is greater than :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Is minimum',
'inverse' => 'Is less than',
],
'summary' => [
'direct' => ':attribute is minimum :number',
'inverse' => ':attribute is less than :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Average',
'summary' => 'Average :attribute',
],
'max' => [
'label' => 'Max',
'summary' => 'Max :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Sum',
'summary' => 'Sum of :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'A vaiin',
],
'number' => [
'label' => 'Number',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Has',
'inverse' => 'Does not have',
],
'summary' => [
'direct' => 'Has :count :relationship',
'inverse' => 'Does not have :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Has maximum',
'inverse' => 'Has more than',
],
'summary' => [
'direct' => 'Has maximum :count :relationship',
'inverse' => 'Has more than :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Has minimum',
'inverse' => 'Has less than',
],
'summary' => [
'direct' => 'Has minimum :count :relationship',
'inverse' => 'Has less than :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Is empty',
'inverse' => 'Is not empty',
],
'summary' => [
'direct' => ':relationship is empty',
'inverse' => ':relationship is not empty',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Is',
'inverse' => 'Is not',
],
'multiple' => [
'direct' => 'Contains',
'inverse' => 'Does not contain',
],
],
'summary' => [
'single' => [
'direct' => ':relationship is :values',
'inverse' => ':relationship is not :values',
],
'multiple' => [
'direct' => ':relationship contains :values',
'inverse' => ':relationship does not contain :values',
],
'values_glue' => [
0 => ', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Value',
],
'values' => [
'label' => 'Values',
],
],
],
'form' => [
'count' => [
'label' => 'Count',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Is',
'inverse' => 'Is not',
],
'summary' => [
'direct' => ':attribute is :values',
'inverse' => ':attribute is not :values',
'values_glue' => [
', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Value',
],
'values' => [
'label' => 'Values',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Pai tel',
'inverse' => 'Pai tello',
],
'summary' => [
'direct' => ':attribute in :text a pai tel',
'inverse' => ':attribute in :text a pai tello',
],
],
'ends_with' => [
'label' => [
'direct' => 'A tâwpna',
'inverse' => 'A tâwplo',
],
'summary' => [
'direct' => ':attribute hi :text a tâwp',
'inverse' => ':attribute hi :text a tâwplo',
],
],
'equals' => [
'label' => [
'direct' => 'Intluk',
'inverse' => 'Intluklo',
],
'summary' => [
'direct' => ':attribute hi :text nen a intluk',
'inverse' => ':attribute hi :text nen a intluklo',
],
],
'starts_with' => [
'label' => [
'direct' => 'Inṭan',
'inverse' => 'Inṭanlo',
],
'summary' => [
'direct' => ':attribute hi :text a inṭan',
'inverse' => ':attribute hi :text a inṭanlo',
],
],
'form' => [
'text' => [
'label' => 'Thu',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Dân belhna',
],
'add_rule_group' => [
'label' => 'Add OR',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Query бүтээгч',
'form' => [
'operator' => [
'label' => 'Оператор',
],
'or_groups' => [
'label' => 'Бүлгүүд',
'block' => [
'label' => 'Disjunction (OR)',
'or' => 'OR',
],
],
'rules' => [
'label' => 'Дүрмүүд',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(Дүрмүүд алга)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'бөглөгдсөн',
'inverse' => 'хоосон',
],
'summary' => [
'direct' => ':attribute бөглөгдсөн',
'inverse' => ':attribute хоосон',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Үнэн',
'inverse' => 'Худал',
],
'summary' => [
'direct' => ':attribute бол үнэн',
'inverse' => ':attributeбол худал',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Дараа нь',
'inverse' => 'Дараа нь биш',
],
'summary' => [
'direct' => ':attribute нь :date -ний дараа',
'inverse' => ':attribute нь :date -ний дараа биш',
],
],
'is_before' => [
'label' => [
'direct' => 'өмнө',
'inverse' => 'өмнө нь биш',
],
'summary' => [
'direct' => ':attribute нь :date - ний өмнө',
'inverse' => ':attribute нь :date - ний өмнө биш',
],
],
'is_date' => [
'label' => [
'direct' => 'Огноо',
'inverse' => 'Огноо биш',
],
'summary' => [
'direct' => ':attribute нь :date',
'inverse' => ':attribute бнь биш :date',
],
],
'is_month' => [
'label' => [
'direct' => 'сар',
'inverse' => 'сар биш',
],
'summary' => [
'direct' => ':attribute нь :month',
'inverse' => ':attribute нь биш :month',
],
],
'is_year' => [
'label' => [
'direct' => 'жил',
'inverse' => 'жил биш',
],
'summary' => [
'direct' => ':attribute нь :year',
'inverse' => ':attribute нь биш :year',
],
],
'form' => [
'date' => [
'label' => 'Огноо',
],
'month' => [
'label' => 'Сар',
],
'year' => [
'label' => 'Жил',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Тэнцүү',
'inverse' => 'Тэнцүү биш',
],
'summary' => [
'direct' => ':attribute тэнцүү :number',
'inverse' => ':attribute тэнцүү биш :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Хамгийн их',
'inverse' => '-ээс их',
],
'summary' => [
'direct' => ':attribute нь хамгийн их :number',
'inverse' => ':attribute нь :number - ээс их',
],
],
'is_min' => [
'label' => [
'direct' => 'Хамгийн бага',
'inverse' => '-ээс бага',
],
'summary' => [
'direct' => ':attribute нь хамгийн бага :number',
'inverse' => ':attribute нь :number - ээс бага',
],
],
'aggregates' => [
'average' => [
'label' => 'Дундаж',
'summary' => 'Дундаж :attribute',
],
'max' => [
'label' => 'Хамгийн их',
'summary' => 'Хамгийн их :attribute',
],
'min' => [
'label' => 'Хамгийн бага',
'summary' => 'Хамгийн бага :attribute',
],
'sum' => [
'label' => 'Нийлбэр',
'summary' => 'Нийлбэр :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Агрегат',
],
'number' => [
'label' => 'Тоо',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Агуулсан',
'inverse' => 'Агуулаагүй',
],
'summary' => [
'direct' => ':count агуулсан :relationship',
'inverse' => ':count агуулаагүй :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Хамгийн их',
'inverse' => 'Илүү',
],
'summary' => [
'direct' => 'Хамгийн их :count :relationship',
'inverse' => 'Ихийг агуулсан :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Хамгийн багыг агуулсан',
'inverse' => 'Багыг агуулсан',
],
'summary' => [
'direct' => 'Хамгийн бага :count :relationship',
'inverse' => 'Багыг агуулсан :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Хоосон',
'inverse' => 'Хоосон биш',
],
'summary' => [
'direct' => ':relationship хоосон',
'inverse' => ':relationship хоосон биш',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Бол',
'inverse' => 'бол биш',
],
'multiple' => [
'direct' => 'Агуулсан',
'inverse' => 'Агуулаагүй',
],
],
'summary' => [
'single' => [
'direct' => ':relationship нь :values',
'inverse' => ':relationship нь :values биш',
],
'multiple' => [
'direct' => ':relationship агуулсан утгууд :values',
'inverse' => ':relationship агуулаагүй утгууд :values',
],
'values_glue' => [
0 => ', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Утга',
],
'values' => [
'label' => 'Утгууд',
],
],
],
'form' => [
'count' => [
'label' => 'Тоолох',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'мөн',
'inverse' => 'биш',
],
'summary' => [
'direct' => ':attribute нь :values',
'inverse' => ':attribute нь :values биш',
'values_glue' => [
', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'Утга',
],
'values' => [
'label' => 'Утгууд',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Агуулсан',
'inverse' => 'Агуулаагүй',
],
'summary' => [
'direct' => ':attribute нь :text - ийг агуулсан',
'inverse' => ':attribute нь :text - ийг агуулаагүй',
],
],
'ends_with' => [
'label' => [
'direct' => 'Төгссөн',
'inverse' => 'Төгсөөгүй',
],
'summary' => [
'direct' => ':attribute нь :text -ээр төгссөн',
'inverse' => ':attribute нь :text -ээр төгсөөгүй',
],
],
'equals' => [
'label' => [
'direct' => 'Тэнцүү',
'inverse' => 'Тэнцүү биш',
],
'summary' => [
'direct' => ':attribute нь :text -тэй тэнцүү',
'inverse' => ':attribute нь :text -тэй тэнцүү биш',
],
],
'starts_with' => [
'label' => [
'direct' => 'Эхлэсэн',
'inverse' => 'Эхлээгүй',
],
'summary' => [
'direct' => ':attribute нь :text - ээр эхлэсэн',
'inverse' => ':attribute нь :text - эээр эхлээгүй',
],
],
'form' => [
'text' => [
'label' => 'Тэкст',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Дүрэм нэмэх',
],
'add_rule_group' => [
'label' => 'Бүлэг дүрэм нэмэх',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Pembina pertanyaan',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Kumpulan',
'block' => [
'label' => 'Disjunction (ATAU)',
'or' => 'ATAU',
],
],
'rules' => [
'label' => 'Peraturan',
'item' => [
'and' => 'DAN',
],
],
],
'no_rules' => '(Tiada peraturan)',
'item_separators' => [
'and' => 'DAN',
'or' => 'ATAU',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Dipenuhi',
'inverse' => 'Kosong',
],
'summary' => [
'direct' => ':attribute dipenuhi',
'inverse' => ':attribute kosong',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Betul',
'inverse' => 'Salah',
],
'summary' => [
'direct' => ':attribute adalah betul',
'inverse' => ':attribute adalah salah',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Adalah selepas',
'inverse' => 'Adalah tidak selepas',
],
'summary' => [
'direct' => ':attribute adalah selepas :date',
'inverse' => ':attribute adalah tidak selepas :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Adalah sebelum',
'inverse' => 'Adalah tidak sebelum',
],
'summary' => [
'direct' => ':attribute adalah sebelum :date',
'inverse' => ':attribute adalah tidak sebelum :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Adalah tarikh',
'inverse' => 'Adalah bukan tarikh',
],
'summary' => [
'direct' => ':attribute adalah :date',
'inverse' => ':attribute bukan :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Adalah bulan',
'inverse' => 'Adalah bukan bulan',
],
'summary' => [
'direct' => ':attribute adalah :month',
'inverse' => ':attribute bukan :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Adalah tahun',
'inverse' => 'Adalah bukan tahun',
],
'summary' => [
'direct' => ':attribute adalah :year',
'inverse' => ':attribute bukan :year',
],
],
'form' => [
'date' => [
'label' => 'Tarikh',
],
'month' => [
'label' => 'Bulan',
],
'year' => [
'label' => 'Tahun',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Sama',
'inverse' => 'Tidak sama',
],
'summary' => [
'direct' => ':attribute sama :number',
'inverse' => ':attribute tidak sama :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Adalah maksimum',
'inverse' => 'Adalah lebih besar daripada',
],
'summary' => [
'direct' => ':attribute adalah maksimum :number',
'inverse' => ':attribute adalah lebih besar daripada :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Adalah minimum',
'inverse' => 'Adalah kurang daripada',
],
'summary' => [
'direct' => ':attribute adalah minimum :number',
'inverse' => ':attribute adalah kurang daripada :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Purata',
'summary' => 'Purata :attribute',
],
'max' => [
'label' => 'Maks',
'summary' => 'Maks :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Jumlah',
'summary' => 'Jumlah :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agregat',
],
'number' => [
'label' => 'Nombor',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Mempunyai',
'inverse' => 'Tidak mempunyai',
],
'summary' => [
'direct' => 'Mempunyai :count :relationship',
'inverse' => 'Tidak mempunyai :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Mempunyai maksimum',
'inverse' => 'Mempunyai lebih daripada',
],
'summary' => [
'direct' => 'Mempunyai maksimum :count :relationship',
'inverse' => 'Mempunyai lebih daripada :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Mempunyai minimum',
'inverse' => 'Mempunyai kurang daripada',
],
'summary' => [
'direct' => 'Mempunyai minimum :count :relationship',
'inverse' => 'Mempunyai kurang daripada :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Kosong',
'inverse' => 'Tidak kosong',
],
'summary' => [
'direct' => ':relationship kosong',
'inverse' => ':relationship tidak kosong',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Adalah',
'inverse' => 'Adalah tidak',
],
'multiple' => [
'direct' => 'Mengandungi',
'inverse' => 'Tidak mengandungi',
],
],
'summary' => [
'single' => [
'direct' => ':relationship adalah :values',
'inverse' => ':relationship bukan :values',
],
'multiple' => [
'direct' => ':relationship mengandungi :values',
'inverse' => ':relationship tidak mengandungi :values',
],
'values_glue' => [
0 => ', ',
'final' => ' atau ',
],
],
'form' => [
'value' => [
'label' => 'Nilai',
],
'values' => [
'label' => 'Nilai',
],
],
],
'form' => [
'count' => [
'label' => 'Kira',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Adalah',
'inverse' => 'Bukan',
],
'summary' => [
'direct' => ':attribute adalah :values',
'inverse' => ':attribute bukan :values',
'values_glue' => [
', ',
'final' => ' atau ',
],
],
'form' => [
'value' => [
'label' => 'Nilai',
],
'values' => [
'label' => 'Nilai',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Mengandungi',
'inverse' => 'Tidak mengandungi',
],
'summary' => [
'direct' => ':attribute mengandungi :text',
'inverse' => ':attribute tidak mengandungi :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Berakhir dengan',
'inverse' => 'Tidak berakhir dengan',
],
'summary' => [
'direct' => ':attribute berakhir dengan :text',
'inverse' => ':attribute tidak berakhir dengan :text',
],
],
'equals' => [
'label' => [
'direct' => 'Sama',
'inverse' => 'Tidak sama',
],
'summary' => [
'direct' => ':attribute sama :text',
'inverse' => ':attribute tidak sama :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Bermula dengan',
'inverse' => 'Tidak bermula dengan',
],
'summary' => [
'direct' => ':attribute bermula dengan :text',
'inverse' => ':attribute tidak bermula dengan :text',
],
],
'form' => [
'text' => [
'label' => 'Teks',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Tambah peraturan',
],
'add_rule_group' => [
'label' => 'Tambahkan kumpulan peraturan',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Spørringsbygger',
'form' => [
'operator' => [
'label' => 'Operatør',
],
'or_groups' => [
'label' => 'Grupper',
'block' => [
'label' => 'Disjunksjon (ELLER)',
'or' => 'ELLER',
],
],
'rules' => [
'label' => 'Regler',
'item' => [
'and' => 'OG',
],
],
],
'no_rules' => '(Ingen regler)',
'item_separators' => [
'and' => 'OG',
'or' => 'ELLER',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Er fylt',
'inverse' => 'Er blank',
],
'summary' => [
'direct' => ':attribute er fylt',
'inverse' => ':attribute er blank',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Er sant',
'inverse' => 'Er usant',
],
'summary' => [
'direct' => ':attribute er sant',
'inverse' => ':attribute er usant',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Er etter',
'inverse' => 'Er ikke etter',
],
'summary' => [
'direct' => ':attribute er etter :date',
'inverse' => ':attribute er ikke etter :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Er før',
'inverse' => 'Er ikke før',
],
'summary' => [
'direct' => ':attribute er før :date',
'inverse' => ':attribute er ikke før :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Er dato',
'inverse' => 'Er ikke dato',
],
'summary' => [
'direct' => ':attribute er :date',
'inverse' => ':attribute er ikke :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Er måned',
'inverse' => 'Er ikke måned',
],
'summary' => [
'direct' => ':attribute er :month',
'inverse' => ':attribute er ikke :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Er år',
'inverse' => 'er ikke år',
],
'summary' => [
'direct' => ':attribute er :year',
'inverse' => ':attribute er ikke :year',
],
],
'form' => [
'date' => [
'label' => 'Dato',
],
'month' => [
'label' => 'Måned',
],
'year' => [
'label' => 'År',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Er lik',
'inverse' => 'Er ikke lik',
],
'summary' => [
'direct' => ':attribute er lik :number',
'inverse' => ':attribute er ikke lik :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Er maks',
'inverse' => 'Er større enn',
],
'summary' => [
'direct' => ':attribute er maks :number',
'inverse' => ':attribute er større enn :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Er minimum',
'inverse' => 'Er mindre enn',
],
'summary' => [
'direct' => ':attribute er minimum :number',
'inverse' => ':attribute er mindre enn :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Gjennomsnitt',
'summary' => 'Gjennomsnitt :attribute',
],
'max' => [
'label' => 'Maks',
'summary' => 'Maks :attribute',
],
'min' => [
'label' => 'Minimum',
'summary' => 'Minimum :attribute',
],
'sum' => [
'label' => 'Sum',
'summary' => 'Sum av :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Samlet',
],
'number' => [
'label' => 'Nummer',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Har',
'inverse' => 'Har ikke',
],
'summary' => [
'direct' => 'Har :count :relationship',
'inverse' => 'Har ikke :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Har maks',
'inverse' => 'Har mer enn',
],
'summary' => [
'direct' => 'Har maks :count :relationship',
'inverse' => 'Har mer enn :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Har minimum',
'inverse' => 'Har mindre enn',
],
'summary' => [
'direct' => 'Har minimum :count :relationship',
'inverse' => 'Har mindre enn :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Er tom',
'inverse' => 'Er ikke tom',
],
'summary' => [
'direct' => ':relationship er tom',
'inverse' => ':relationship er ikke tom',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Er',
'inverse' => 'Er ikke',
],
'multiple' => [
'direct' => 'Inneholder',
'inverse' => 'Inneholder ikke',
],
],
'summary' => [
'single' => [
'direct' => ':relationship er :values',
'inverse' => ':relationship er ikke :values',
],
'multiple' => [
'direct' => ':relationship inneholder :values',
'inverse' => ':relationship inneholder ikke :values',
],
'values_glue' => [
0 => ', ',
'final' => ' eller ',
],
],
'form' => [
'value' => [
'label' => 'Verdi',
],
'values' => [
'label' => 'Verdier',
],
],
],
'form' => [
'count' => [
'label' => 'Telle',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Er',
'inverse' => 'Er ikke',
],
'summary' => [
'direct' => ':attribute er :values',
'inverse' => ':attribute er ikke :values',
'values_glue' => [
', ',
'final' => ' eller ',
],
],
'form' => [
'value' => [
'label' => 'Verdi',
],
'values' => [
'label' => 'Verdier',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Inneholder',
'inverse' => 'Inneholder ikke',
],
'summary' => [
'direct' => ':attribute inneholder :text',
'inverse' => ':attribute inneholder ikke :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Ender med',
'inverse' => 'Ender ikke med',
],
'summary' => [
'direct' => ':attribute ender med :text',
'inverse' => ':attribute ender ikke med :text',
],
],
'equals' => [
'label' => [
'direct' => 'Er lik',
'inverse' => 'Er ikke lik',
],
'summary' => [
'direct' => ':attribute er lik :text',
'inverse' => ':attribute er ikke lik :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Starter med',
'inverse' => 'Starter ikke med',
],
'summary' => [
'direct' => ':attribute starter med :text',
'inverse' => ':attribute starter ikke med :text',
],
],
'form' => [
'text' => [
'label' => 'Tekst',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Legg til regel',
],
'add_rule_group' => [
'label' => 'Legg til grupperegel',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Geavanceerd filteren',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Groepen',
'block' => [
'label' => 'Disjunctie (OF)',
'or' => 'OF',
],
],
'rules' => [
'label' => 'Regels',
'item' => [
'and' => 'EN',
],
],
],
'no_rules' => '(Geen regels)',
'item_separators' => [
'and' => 'EN',
'or' => 'OF',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Is gevuld',
'inverse' => 'Is leeg',
],
'summary' => [
'direct' => ':attribute is gevuld',
'inverse' => ':attribute is leeg',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Is waar',
'inverse' => 'Is onwaar',
],
'summary' => [
'direct' => ':attribute is waar',
'inverse' => ':attribute is onwaar',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Is na',
'inverse' => 'Is niet na',
],
'summary' => [
'direct' => ':attribute is na :date',
'inverse' => ':attribute is niet na :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Is voor',
'inverse' => 'Is niet voor',
],
'summary' => [
'direct' => ':attribute is voor :date',
'inverse' => ':attribute is niet voor :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Is datum',
'inverse' => 'Is niet datum',
],
'summary' => [
'direct' => ':attribute is :date',
'inverse' => ':attribute is niet :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Is maand',
'inverse' => 'Is niet maand',
],
'summary' => [
'direct' => ':attribute is :month',
'inverse' => ':attribute is niet :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Is jaar',
'inverse' => 'Is niet jaar',
],
'summary' => [
'direct' => ':attribute is :year',
'inverse' => ':attribute is niet :year',
],
],
'form' => [
'date' => [
'label' => 'Datum',
],
'month' => [
'label' => 'Maand',
],
'year' => [
'label' => 'Jaar',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Is gelijk aan',
'inverse' => 'Is niet gelijk aan',
],
'summary' => [
'direct' => ':attribute is gelijk aan :number',
'inverse' => ':attribute is niet gelijk aan :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Is maximaal',
'inverse' => 'Is groter dan',
],
'summary' => [
'direct' => ':attribute is maximaal :number',
'inverse' => ':attribute is groter dan :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Is minimaal',
'inverse' => 'Is kleiner dan',
],
'summary' => [
'direct' => ':attribute is minimaal :number',
'inverse' => ':attribute is kleiner dan :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Gemiddelde',
'summary' => 'Gemiddelde van :attribute',
],
'max' => [
'label' => 'Maximum',
'summary' => 'Maximum van :attribute',
],
'min' => [
'label' => 'Minimum',
'summary' => 'Minimum van :attribute',
],
'sum' => [
'label' => 'Som',
'summary' => 'Som van :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Aggregaat',
],
'number' => [
'label' => 'Getal',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Heeft',
'inverse' => 'Heeft niet',
],
'summary' => [
'direct' => 'Heeft :count :relationship',
'inverse' => 'Heeft niet :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Heeft maximaal',
'inverse' => 'Heeft meer dan',
],
'summary' => [
'direct' => 'Heeft maximaal :count :relationship',
'inverse' => 'Heeft meer dan :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Heeft minimaal',
'inverse' => 'Heeft minder dan',
],
'summary' => [
'direct' => 'Heeft minimaal :count :relationship',
'inverse' => 'Heeft minder dan :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Is leeg',
'inverse' => 'Is niet leeg',
],
'summary' => [
'direct' => ':relationship is leeg',
'inverse' => ':relationship is niet leeg',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Is',
'inverse' => 'Is niet',
],
'multiple' => [
'direct' => 'Bevat',
'inverse' => 'Bevat niet',
],
],
'summary' => [
'single' => [
'direct' => ':relationship is :values',
'inverse' => ':relationship is niet :values',
],
'multiple' => [
'direct' => ':relationship bevat :values',
'inverse' => ':relationship bevat niet :values',
],
'values_glue' => [
0 => ', ',
'final' => ' of ',
],
],
'form' => [
'value' => [
'label' => 'Waarde',
],
'values' => [
'label' => 'Waarden',
],
],
],
'form' => [
'count' => [
'label' => 'Aantal',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Is',
'inverse' => 'Is niet',
],
'summary' => [
'direct' => ':attribute is :values',
'inverse' => ':attribute is niet :values',
'values_glue' => [
', ',
'final' => ' of ',
],
],
'form' => [
'value' => [
'label' => 'Waarde',
],
'values' => [
'label' => 'Waarden',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Bevat',
'inverse' => 'Bevat niet',
],
'summary' => [
'direct' => ':attribute bevat :text',
'inverse' => ':attribute bevat niet :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Eindigt op',
'inverse' => 'Eindigt niet op',
],
'summary' => [
'direct' => ':attribute eindigt op :text',
'inverse' => ':attribute eindigt niet op :text',
],
],
'equals' => [
'label' => [
'direct' => 'Is gelijk aan',
'inverse' => 'Is niet gelijk aan',
],
'summary' => [
'direct' => ':attribute is gelijk aan :text',
'inverse' => ':attribute is niet gelijk aan :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Begint met',
'inverse' => 'Begint niet met',
],
'summary' => [
'direct' => ':attribute begint met :text',
'inverse' => ':attribute begint niet met :text',
],
],
'form' => [
'text' => [
'label' => 'Tekst',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Regel toevoegen',
],
'add_rule_group' => [
'label' => 'Regelgroep toevoegen',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Kreator zapytań',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Grupy',
'block' => [
'label' => 'Alternatywa (OR)',
'or' => 'OR',
],
],
'rules' => [
'label' => 'Reguły',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(Brak reguł)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Jest wypełnione',
'inverse' => 'Jest puste',
],
'summary' => [
'direct' => ':attribute jest wypełnione',
'inverse' => ':attribute jest puste',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Jest prawdą',
'inverse' => 'Jest fałszem',
],
'summary' => [
'direct' => ':attribute jest prawdą',
'inverse' => ':attribute jest fałszem',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Jest po',
'inverse' => 'Nie jest po',
],
'summary' => [
'direct' => ':attribute jest po :date',
'inverse' => ':attribute nie jest po :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Jest przed',
'inverse' => 'Nie jest przed',
],
'summary' => [
'direct' => ':attribute jest przed :date',
'inverse' => ':attribute nie jest przed :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Jest datą',
'inverse' => 'Nie jest datą',
],
'summary' => [
'direct' => ':attribute jest datą',
'inverse' => ':attribute nie jest datą',
],
],
'is_month' => [
'label' => [
'direct' => 'Jest miesiącem',
'inverse' => 'Nie jest miesiącem',
],
'summary' => [
'direct' => ':attribute jest :month',
'inverse' => ':attribute nie jest :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Jest rokiem',
'inverse' => 'Nie jest rokiem',
],
'summary' => [
'direct' => ':attribute jest :year',
'inverse' => ':attribute nie jest :year',
],
],
'form' => [
'date' => [
'label' => 'Data',
],
'month' => [
'label' => 'Miesiąc',
],
'year' => [
'label' => 'Rok',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Jest równe',
'inverse' => 'Nie jest równe',
],
'summary' => [
'direct' => ':attribute jest równe :number',
'inverse' => ':attribute nie jest równe :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Jest maksymalnie',
'inverse' => 'Jest większe niż',
],
'summary' => [
'direct' => ':attribute jest maksymalnie :number',
'inverse' => ':attribute jest większe niż :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Jest minimalnie',
'inverse' => 'Jest mniejsze niż',
],
'summary' => [
'direct' => ':attribute jest minimalnie :number',
'inverse' => ':attribute jest mniejsze niż :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Średnia',
'summary' => 'Średnia :attribute',
],
'max' => [
'label' => 'Maksimum',
'summary' => 'Maksimum :attribute',
],
'min' => [
'label' => 'Minimum',
'summary' => 'Minimum :attribute',
],
'sum' => [
'label' => 'Suma',
'summary' => 'Suma :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Średnia',
],
'number' => [
'label' => 'Numer',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Ma',
'inverse' => 'Nie ma',
],
'summary' => [
'direct' => 'Ma :count :relationship',
'inverse' => 'Nie ma :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Ma maksymalnie',
'inverse' => 'Ma więcej niż',
],
'summary' => [
'direct' => 'Ma maksymalnie :count :relationship',
'inverse' => 'Ma więcej niż :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Ma minimum',
'inverse' => 'Ma mniej niż',
],
'summary' => [
'direct' => 'Ma minimum :count :relationship',
'inverse' => 'Ma mniej niż :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Jest puste',
'inverse' => 'Nie jest puste',
],
'summary' => [
'direct' => ':relationship jest puste',
'inverse' => ':relationship nie jest puste',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Jest',
'inverse' => 'Nie jest',
],
'multiple' => [
'direct' => 'Zawiera',
'inverse' => 'Nie zawiera',
],
],
'summary' => [
'single' => [
'direct' => ':relationship jest :values',
'inverse' => ':relationship nie jest :values',
],
'multiple' => [
'direct' => ':relationship zawiera :values',
'inverse' => ':relationship nie zawiera :values',
],
'values_glue' => [
0 => ', ',
'final' => ' lub ',
],
],
'form' => [
'value' => [
'label' => 'Wartość',
],
'values' => [
'label' => 'Wartości',
],
],
],
'form' => [
'count' => [
'label' => 'Liczba',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Jest',
'inverse' => 'Nie jest',
],
'summary' => [
'direct' => ':attribute jest :values',
'inverse' => ':attribute nie jest :values',
'values_glue' => [
', ',
'final' => ' lub ',
],
],
'form' => [
'value' => [
'label' => 'Wartość',
],
'values' => [
'label' => 'Wartości',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Zawiera',
'inverse' => 'Nie zawiera',
],
'summary' => [
'direct' => ':attribute zawiera :text',
'inverse' => ':attribute nie zawiera :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Kończy się na',
'inverse' => 'Nie kończy się na',
],
'summary' => [
'direct' => ':attribute kończy się na :text',
'inverse' => ':attribute nie kończy się na :text',
],
],
'equals' => [
'label' => [
'direct' => 'Jest równe',
'inverse' => 'Nie jest równe',
],
'summary' => [
'direct' => ':attribute jest równe :text',
'inverse' => ':attribute nie jest równe :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Zaczyna się od',
'inverse' => 'Nie zaczyna się od',
],
'summary' => [
'direct' => ':attribute zaczyna się od :text',
'inverse' => ':attribute nie zaczyna się od :text',
],
],
'form' => [
'text' => [
'label' => 'Tekst',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Dodaj regułę',
],
'add_rule_group' => [
'label' => 'Dodaj grupę reguł',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Constructor de Consultas',
'form' => [
'operator' => [
'label' => 'Operador',
],
'or_groups' => [
'label' => 'Grupos',
'block' => [
'label' => 'Disjunção (OU)',
'or' => 'OU',
],
],
'rules' => [
'label' => 'Regras',
'item' => [
'and' => 'E',
],
],
],
'no_rules' => '(Sem regras)',
'item_separators' => [
'and' => 'E',
'or' => 'OU',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Preenchido',
'inverse' => 'Em branco',
],
'summary' => [
'direct' => ':attribute preenchido',
'inverse' => ':attribute em branco',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'É verdadeiro',
'inverse' => 'É falso',
],
'summary' => [
'direct' => ':attribute é verdadeiro',
'inverse' => ':attribute é falso',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'É posterior',
'inverse' => 'Não é posterior',
],
'summary' => [
'direct' => ':attribute é posterior a :date',
'inverse' => ':attribute não é posterir a :date',
],
],
'is_before' => [
'label' => [
'direct' => 'É anterior',
'inverse' => 'Não é anterior',
],
'summary' => [
'direct' => ':attribute é anterior a :date',
'inverse' => ':attribute não é anterior a :date',
],
],
'is_date' => [
'label' => [
'direct' => 'É data',
'inverse' => 'Não é data',
],
'summary' => [
'direct' => ':attribute é :date',
'inverse' => ':attribute não é :date',
],
],
'is_month' => [
'label' => [
'direct' => 'É mês',
'inverse' => 'Não é mês',
],
'summary' => [
'direct' => ':attribute é :month',
'inverse' => ':attribute não é :month',
],
],
'is_year' => [
'label' => [
'direct' => 'É ano',
'inverse' => 'Não é ano',
],
'summary' => [
'direct' => ':attribute é :year',
'inverse' => ':attribute não é :year',
],
],
'form' => [
'date' => [
'label' => 'Data',
],
'month' => [
'label' => 'Mês',
],
'year' => [
'label' => 'Ano',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'É igual',
'inverse' => 'É diferente',
],
'summary' => [
'direct' => ':attribute é igual a :number',
'inverse' => ':attribute é diferente de :number',
],
],
'is_max' => [
'label' => [
'direct' => 'É máximo',
'inverse' => 'É maior que',
],
'summary' => [
'direct' => ':attribute é máximo :number',
'inverse' => ':attribute é maior que :number',
],
],
'is_min' => [
'label' => [
'direct' => 'É mínimo',
'inverse' => 'É menor que',
],
'summary' => [
'direct' => ':attribute é mínimo :number',
'inverse' => ':attribute é menor que :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Média',
'summary' => 'Média de :attribute',
],
'max' => [
'label' => 'Máx.',
'summary' => 'Máx. de :attribute',
],
'min' => [
'label' => 'Mín.',
'summary' => 'Mín. de :attribute',
],
'sum' => [
'label' => 'Soma',
'summary' => 'Soma de :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agregação',
],
'number' => [
'label' => 'Número',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Contém',
'inverse' => 'Não contém',
],
'summary' => [
'direct' => 'Tem :count :relationship',
'inverse' => 'Não tem :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Tem máximo',
'inverse' => 'Tem mais de',
],
'summary' => [
'direct' => 'Tem máximo de :count :relationship',
'inverse' => 'Tem mais de :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Tem mínimo',
'inverse' => 'Tem menos de',
],
'summary' => [
'direct' => 'Tem mínimo de :count :relationship',
'inverse' => 'Tem emnos de :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'É vazio',
'inverse' => 'Não é vazio',
],
'summary' => [
'direct' => ':relationship é vazio',
'inverse' => ':relationship não é vazio',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'É',
'inverse' => 'Não é',
],
'multiple' => [
'direct' => 'Contém',
'inverse' => 'Não contém',
],
],
'summary' => [
'single' => [
'direct' => ':relationship é :values',
'inverse' => ':relationship não é :values',
],
'multiple' => [
'direct' => ':relationship contém :values',
'inverse' => ':relationship não contém :values',
],
'values_glue' => [
0 => ', ',
'final' => ' ou ',
],
],
'form' => [
'value' => [
'label' => 'Valor',
],
'values' => [
'label' => 'Valores',
],
],
],
'form' => [
'count' => [
'label' => 'Contagem',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'É',
'inverse' => 'Não é',
],
'summary' => [
'direct' => ':attribute é :values',
'inverse' => ':attribute não é :values',
'values_glue' => [
', ',
'final' => ' ou ',
],
],
'form' => [
'value' => [
'label' => 'Valor',
],
'values' => [
'label' => 'Valores',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Contém',
'inverse' => 'Não contém',
],
'summary' => [
'direct' => ':attribute contém :text',
'inverse' => ':attribute não contém :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Termina em',
'inverse' => 'Não termina em',
],
'summary' => [
'direct' => ':attribute termina em :text',
'inverse' => ':attribute não termina em :text',
],
],
'equals' => [
'label' => [
'direct' => 'É igual',
'inverse' => 'Não é igual',
],
'summary' => [
'direct' => ':attribute é igual :text',
'inverse' => ':attribute não é igual :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Inicia por',
'inverse' => 'Não inicia por',
],
'summary' => [
'direct' => ':attribute inicia por :text',
'inverse' => ':attribute não inicia por :text',
],
],
'form' => [
'text' => [
'label' => 'Texto',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Adicionar regra',
],
'add_rule_group' => [
'label' => 'Adicionar grupo de regras',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Construtor de Consultas',
'form' => [
'operator' => [
'label' => 'Operador',
],
'or_groups' => [
'label' => 'Grupos',
'block' => [
'label' => 'Disjunção (OU)',
'or' => 'OU',
],
],
'rules' => [
'label' => 'Regras',
'item' => [
'and' => 'E',
],
],
],
'no_rules' => '(Sem regras)',
'item_separators' => [
'and' => 'E',
'or' => 'OU',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Preenchido',
'inverse' => 'Em branco',
],
'summary' => [
'direct' => ':attribute preenchido',
'inverse' => ':attribute em branco',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'É verdadeiro',
'inverse' => 'É falso',
],
'summary' => [
'direct' => ':attribute é verdadeiro',
'inverse' => ':attribute é falso',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'É posterior',
'inverse' => 'Não é posterior',
],
'summary' => [
'direct' => ':attribute é posterior a :date',
'inverse' => ':attribute não é posterir a :date',
],
],
'is_before' => [
'label' => [
'direct' => 'É anterior',
'inverse' => 'Não é anterior',
],
'summary' => [
'direct' => ':attribute é anterior a :date',
'inverse' => ':attribute não é anterior a :date',
],
],
'is_date' => [
'label' => [
'direct' => 'É data',
'inverse' => 'Não é data',
],
'summary' => [
'direct' => ':attribute é :date',
'inverse' => ':attribute não é :date',
],
],
'is_month' => [
'label' => [
'direct' => 'É mês',
'inverse' => 'Não é mês',
],
'summary' => [
'direct' => ':attribute é :month',
'inverse' => ':attribute não é :month',
],
],
'is_year' => [
'label' => [
'direct' => 'É ano',
'inverse' => 'Não é ano',
],
'summary' => [
'direct' => ':attribute é :year',
'inverse' => ':attribute não é :year',
],
],
'form' => [
'date' => [
'label' => 'Data',
],
'month' => [
'label' => 'Mês',
],
'year' => [
'label' => 'Ano',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'É igual',
'inverse' => 'É diferente',
],
'summary' => [
'direct' => ':attribute é igual a :number',
'inverse' => ':attribute é diferente de :number',
],
],
'is_max' => [
'label' => [
'direct' => 'É máximo',
'inverse' => 'É maior que',
],
'summary' => [
'direct' => ':attribute é máximo :number',
'inverse' => ':attribute é maior que :number',
],
],
'is_min' => [
'label' => [
'direct' => 'É mínimo',
'inverse' => 'É menor que',
],
'summary' => [
'direct' => ':attribute é mínimo :number',
'inverse' => ':attribute é menor que :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Média',
'summary' => 'Média de :attribute',
],
'max' => [
'label' => 'Máx.',
'summary' => 'Máx. de :attribute',
],
'min' => [
'label' => 'Mín.',
'summary' => 'Mín. de :attribute',
],
'sum' => [
'label' => 'Soma',
'summary' => 'Soma de :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agregação',
],
'number' => [
'label' => 'Número',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Contém',
'inverse' => 'Não contém',
],
'summary' => [
'direct' => 'Tem :count :relationship',
'inverse' => 'Não tem :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Tem máximo',
'inverse' => 'Tem mais de',
],
'summary' => [
'direct' => 'Tem máximo de :count :relationship',
'inverse' => 'Tem mais de :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Tem mínimo',
'inverse' => 'Tem menos de',
],
'summary' => [
'direct' => 'Tem mínimo de :count :relationship',
'inverse' => 'Tem emnos de :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'É vazio',
'inverse' => 'Não é vazio',
],
'summary' => [
'direct' => ':relationship é vazio',
'inverse' => ':relationship não é vazio',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'É',
'inverse' => 'Não é',
],
'multiple' => [
'direct' => 'Contém',
'inverse' => 'Não contém',
],
],
'summary' => [
'single' => [
'direct' => ':relationship é :values',
'inverse' => ':relationship não é :values',
],
'multiple' => [
'direct' => ':relationship contém :values',
'inverse' => ':relationship não contém :values',
],
'values_glue' => [
0 => ', ',
'final' => ' ou ',
],
],
'form' => [
'value' => [
'label' => 'Valor',
],
'values' => [
'label' => 'Valores',
],
],
],
'form' => [
'count' => [
'label' => 'Contagem',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'É',
'inverse' => 'Não é',
],
'summary' => [
'direct' => ':attribute é :values',
'inverse' => ':attribute não é :values',
'values_glue' => [
', ',
'final' => ' ou ',
],
],
'form' => [
'value' => [
'label' => 'Valor',
],
'values' => [
'label' => 'Valores',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Contém',
'inverse' => 'Não contém',
],
'summary' => [
'direct' => ':attribute contém :text',
'inverse' => ':attribute não contém :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Termina em',
'inverse' => 'Não termina em',
],
'summary' => [
'direct' => ':attribute termina em :text',
'inverse' => ':attribute não termina em :text',
],
],
'equals' => [
'label' => [
'direct' => 'É igual',
'inverse' => 'Não é igual',
],
'summary' => [
'direct' => ':attribute é igual :text',
'inverse' => ':attribute não é igual :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Inicia por',
'inverse' => 'Não inicia por',
],
'summary' => [
'direct' => ':attribute inicia por :text',
'inverse' => ':attribute não inicia por :text',
],
],
'form' => [
'text' => [
'label' => 'Texto',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Adicionar regra',
],
'add_rule_group' => [
'label' => 'Adicionar grupo de regras',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Конструктор запросов',
'form' => [
'operator' => [
'label' => 'Оператор',
],
'or_groups' => [
'label' => 'Группы',
'block' => [
'label' => 'Дизъюнкция (ИЛИ)',
'or' => 'ИЛИ',
],
],
'rules' => [
'label' => 'Правила',
'item' => [
'and' => 'И',
],
],
],
'no_rules' => '(Нет правил)',
'item_separators' => [
'and' => 'И',
'or' => 'ИЛИ',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Заполнено',
'inverse' => 'Пусто',
],
'summary' => [
'direct' => ':attribute заполнено',
'inverse' => ':attribute пусто',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Истина',
'inverse' => 'Ложь',
],
'summary' => [
'direct' => ':attribute истинно',
'inverse' => ':attribute ложно',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'После',
'inverse' => 'Не после',
],
'summary' => [
'direct' => ':attribute после :date',
'inverse' => ':attribute не после :date',
],
],
'is_before' => [
'label' => [
'direct' => 'До',
'inverse' => 'Не до',
],
'summary' => [
'direct' => ':attribute до :date',
'inverse' => ':attribute не до :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Дата',
'inverse' => 'Не дата',
],
'summary' => [
'direct' => ':attribute это :date',
'inverse' => ':attribute не это :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Месяц',
'inverse' => 'Не месяц',
],
'summary' => [
'direct' => ':attribute это :month',
'inverse' => ':attribute не это :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Год',
'inverse' => 'Не год',
],
'summary' => [
'direct' => ':attribute это :year',
'inverse' => ':attribute не это :year',
],
],
'form' => [
'date' => [
'label' => 'Дата',
],
'month' => [
'label' => 'Месяц',
],
'year' => [
'label' => 'Год',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Равно',
'inverse' => 'Не равно',
],
'summary' => [
'direct' => ':attribute равно :number',
'inverse' => ':attribute не равно :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Максимум',
'inverse' => 'Больше чем',
],
'summary' => [
'direct' => ':attribute максимум :number',
'inverse' => ':attribute больше чем :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Минимум',
'inverse' => 'Меньше чем',
],
'summary' => [
'direct' => ':attribute минимум :number',
'inverse' => ':attribute меньше чем :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Среднее',
'summary' => 'Среднее :attribute',
],
'max' => [
'label' => 'Макс',
'summary' => 'Макс :attribute',
],
'min' => [
'label' => 'Мин',
'summary' => 'Мин :attribute',
],
'sum' => [
'label' => 'Сумма',
'summary' => 'Сумма :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Сводка',
],
'number' => [
'label' => 'Число',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Имеет',
'inverse' => 'Не имеет',
],
'summary' => [
'direct' => 'Имеет :count :relationship',
'inverse' => 'Не имеет :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Имеет максимум',
'inverse' => 'Имеет больше чем',
],
'summary' => [
'direct' => 'Имеет максимум :count :relationship',
'inverse' => 'Имеет больше чем :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Имеет минимум',
'inverse' => 'Имеет меньше чем',
],
'summary' => [
'direct' => 'Имеет минимум :count :relationship',
'inverse' => 'Имеет меньше чем :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Пусто',
'inverse' => 'Не пусто',
],
'summary' => [
'direct' => ':relationship пусто',
'inverse' => ':relationship не пусто',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Является',
'inverse' => 'Не является',
],
'multiple' => [
'direct' => 'Содержит',
'inverse' => 'Не содержит',
],
],
'summary' => [
'single' => [
'direct' => ':relationship это :values',
'inverse' => ':relationship не это :values',
],
'multiple' => [
'direct' => ':relationship содержит :values',
'inverse' => ':relationship не содержит :values',
],
'values_glue' => [
0 => ', ',
'final' => ' или ',
],
],
'form' => [
'value' => [
'label' => 'Значение',
],
'values' => [
'label' => 'Значения',
],
],
],
'form' => [
'count' => [
'label' => 'Количество',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Является',
'inverse' => 'Не является',
],
'summary' => [
'direct' => ':attribute это :values',
'inverse' => ':attribute не это :values',
'values_glue' => [
', ',
'final' => ' или ',
],
],
'form' => [
'value' => [
'label' => 'Значение',
],
'values' => [
'label' => 'Значения',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Содержит',
'inverse' => 'Не содержит',
],
'summary' => [
'direct' => ':attribute содержит :text',
'inverse' => ':attribute не содержит :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Заканчивается на',
'inverse' => 'Не заканчивается на',
],
'summary' => [
'direct' => ':attribute заканчивается на :text',
'inverse' => ':attribute не заканчивается на :text',
],
],
'equals' => [
'label' => [
'direct' => 'Равно',
'inverse' => 'Не равно',
],
'summary' => [
'direct' => ':attribute равно :text',
'inverse' => ':attribute не равно :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Начинается с',
'inverse' => 'Не начинается с',
],
'summary' => [
'direct' => ':attribute начинается с :text',
'inverse' => ':attribute не начинается с :text',
],
],
'form' => [
'text' => [
'label' => 'Текст',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Добавить правило',
],
'add_rule_group' => [
'label' => 'Добавить группу правил',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Query builder',
'form' => [
'operator' => [
'label' => 'Operátor',
],
'or_groups' => [
'label' => 'Skupiny',
'block' => [
'label' => 'Disjunkcia (ALEBO)',
'or' => 'ALEBO',
],
],
'rules' => [
'label' => 'Pravidlá',
'item' => [
'and' => 'A',
],
],
],
'no_rules' => '(Žiadne pravidlá)',
'item_separators' => [
'and' => 'A',
'or' => 'ALEBO',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Je vyplnené',
'inverse' => 'Je prázdne',
],
'summary' => [
'direct' => ':attribute je vyplnené',
'inverse' => ':attribute je prázdne',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Je pravda',
'inverse' => 'Nie je pravda',
],
'summary' => [
'direct' => ':attribute je pravda',
'inverse' => ':attribute nie je pravda',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Je po',
'inverse' => 'Nie je po',
],
'summary' => [
'direct' => ':attribute je po :date',
'inverse' => ':attribute nie je po :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Je pred',
'inverse' => 'Nie je pred',
],
'summary' => [
'direct' => ':attribute je pred :date',
'inverse' => ':attribute nie je pred :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Je dátum',
'inverse' => 'Nie je dátum',
],
'summary' => [
'direct' => ':attribute je :date',
'inverse' => ':attribute nie je :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Je mesiac',
'inverse' => 'Nie je mesiac',
],
'summary' => [
'direct' => ':attribute je :month',
'inverse' => ':attribute nie je :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Je rok',
'inverse' => 'Nie je rok',
],
'summary' => [
'direct' => ':attribute je :year',
'inverse' => ':attribute nie je :year',
],
],
'form' => [
'date' => [
'label' => 'Dátum',
],
'month' => [
'label' => 'Mesiac',
],
'year' => [
'label' => 'Rok',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Rovná sa',
'inverse' => 'Nerovná sa',
],
'summary' => [
'direct' => ':attribute sa rovná :number',
'inverse' => ':attribute sa nerovná :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Je maximálny',
'inverse' => 'Je väčší ako',
],
'summary' => [
'direct' => ':attribute je maximálne :number',
'inverse' => ':attribute je väčší ako :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Je minimálny',
'inverse' => 'Je menšie ako',
],
'summary' => [
'direct' => ':attribute je minimálne :number',
'inverse' => ':attribute je menšie ako :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Priemer',
'summary' => 'Priemer :attribute',
],
'max' => [
'label' => 'Max',
'summary' => 'Max :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Suma',
'summary' => 'Súčet :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agregácia',
],
'number' => [
'label' => 'Číslo',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Má',
'inverse' => 'Nemá',
],
'summary' => [
'direct' => 'Má :count :relationship',
'inverse' => 'Nemá :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Má maximálne',
'inverse' => 'Má viac ako',
],
'summary' => [
'direct' => 'Má maximálne :count :relationship',
'inverse' => 'Má viac ako :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Má minimálne',
'inverse' => 'Má menej ako',
],
'summary' => [
'direct' => 'Má minimálne :count :relationship',
'inverse' => 'Má menej ako :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Je prázdne',
'inverse' => 'Nie je prázdne',
],
'summary' => [
'direct' => ':relationship je prázdne',
'inverse' => ':relationship nie je prázdne',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Je',
'inverse' => 'Nie je',
],
'multiple' => [
'direct' => 'Obsahuje',
'inverse' => 'Neobsahuje',
],
],
'summary' => [
'single' => [
'direct' => ':relationship je :values',
'inverse' => ':relationship nie je :values',
],
'multiple' => [
'direct' => ':relationship obsahuje :values',
'inverse' => ':relationship neobsahuje :values',
],
'values_glue' => [
0 => ', ',
'final' => ' alebo ',
],
],
'form' => [
'value' => [
'label' => 'Hodnota',
],
'values' => [
'label' => 'Hodnoty',
],
],
],
'form' => [
'count' => [
'label' => 'Počet',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Je',
'inverse' => 'Nie je',
],
'summary' => [
'direct' => ':attribute je :values',
'inverse' => ':attribute nie je :values',
'values_glue' => [
', ',
'final' => ' alebo ',
],
],
'form' => [
'value' => [
'label' => 'Hodnota',
],
'values' => [
'label' => 'Hodnoty',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Obsahuje',
'inverse' => 'Neobsahuje',
],
'summary' => [
'direct' => ':attribute obsahuje :text',
'inverse' => ':attribute neobsahuje :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Končí na',
'inverse' => 'Nekončí na',
],
'summary' => [
'direct' => ':attribute končí na :text',
'inverse' => ':attribute nekončí na :text',
],
],
'equals' => [
'label' => [
'direct' => 'Rovná sa',
'inverse' => 'Nerovná sa',
],
'summary' => [
'direct' => ':attribute sa rovná :text',
'inverse' => ':attribute sa nerovná :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Začína na',
'inverse' => 'Nezačína na',
],
'summary' => [
'direct' => ':attribute začína na :text',
'inverse' => ':attribute nezačína na :text',
],
],
'form' => [
'text' => [
'label' => 'Text',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Pridať pravidlo',
],
'add_rule_group' => [
'label' => 'Pridať skupinu pravidiel',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Graditelj poizvedb',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Skupine',
'block' => [
'label' => 'Disjunkcija (ALI)',
'or' => 'ALI',
],
],
'rules' => [
'label' => 'Pravila',
'item' => [
'and' => 'IN',
],
],
],
'no_rules' => '(Brez pravil)',
'item_separators' => [
'and' => 'IN',
'or' => 'ALI',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Je izpolnjeno',
'inverse' => 'Je prazno',
],
'summary' => [
'direct' => ':attribute je izpolnjeno',
'inverse' => ':attribute je prazno',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Je res',
'inverse' => 'Ni res',
],
'summary' => [
'direct' => ':attribute je res',
'inverse' => ':attribute ni res',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Je po',
'inverse' => 'Ni po',
],
'summary' => [
'direct' => ':attribute je po :date',
'inverse' => ':attribute ni po :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Je pred',
'inverse' => 'Ni pred',
],
'summary' => [
'direct' => ':attribute je pred :date',
'inverse' => ':attribute ni pred :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Je datum',
'inverse' => 'Ni datum',
],
'summary' => [
'direct' => ':attribute je :date',
'inverse' => ':attribute ni :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Je mesec',
'inverse' => 'Ni mesec',
],
'summary' => [
'direct' => ':attribute je :month',
'inverse' => ':attribute ni :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Je leto',
'inverse' => 'Ni leto',
],
'summary' => [
'direct' => ':attribute je :year',
'inverse' => ':attribute ni :year',
],
],
'form' => [
'date' => [
'label' => 'Datum',
],
'month' => [
'label' => 'Mesec',
],
'year' => [
'label' => 'Leto',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Je enako',
'inverse' => 'Ni enako',
],
'summary' => [
'direct' => ':attribute je enako :number',
'inverse' => ':attribute ni enako :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Je največje',
'inverse' => 'Je večje kot',
],
'summary' => [
'direct' => ':attribute je največje :number',
'inverse' => ':attribute je večje kot :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Je najmanjše',
'inverse' => 'Je manjše kot',
],
'summary' => [
'direct' => ':attribute je najmanjše :number',
'inverse' => ':attribute je manjše kot :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Povprečje',
'summary' => 'Povprečje :attribute',
],
'max' => [
'label' => 'Največ',
'summary' => 'Največ :attribute',
],
'min' => [
'label' => 'Najmanj',
'summary' => 'Najmanj :attribute',
],
'sum' => [
'label' => 'Vsota',
'summary' => 'Vsota :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Skupni seštevek',
],
'number' => [
'label' => 'Število',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Ima',
'inverse' => 'Nima',
],
'summary' => [
'direct' => 'Ima :count :relationship',
'inverse' => 'Nima :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Ima največ',
'inverse' => 'Ima več kot',
],
'summary' => [
'direct' => 'Ima največ :count :relationship',
'inverse' => 'Ima več kot :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Ima najmanj',
'inverse' => 'Ima manj kot',
],
'summary' => [
'direct' => 'Ima najmanj :count :relationship',
'inverse' => 'Ima manj kot :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Je prazno',
'inverse' => 'Ni prazno',
],
'summary' => [
'direct' => ':relationship je prazno',
'inverse' => ':relationship ni prazno',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Je',
'inverse' => 'Ni',
],
'multiple' => [
'direct' => 'Vsebuje',
'inverse' => 'Ne vsebuje',
],
],
'summary' => [
'single' => [
'direct' => ':relationship je :values',
'inverse' => ':relationship ni :values',
],
'multiple' => [
'direct' => ':relationship vsebuje :values',
'inverse' => ':relationship ne vsebuje :values',
],
'values_glue' => [
0 => ', ',
'final' => ' ali ',
],
],
'form' => [
'value' => [
'label' => 'Vrednost',
],
'values' => [
'label' => 'Vrednosti',
],
],
],
'form' => [
'count' => [
'label' => 'Število',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Je',
'inverse' => 'Ni',
],
'summary' => [
'direct' => ':attribute je :values',
'inverse' => ':attribute ni :values',
'values_glue' => [
', ',
'final' => ' ali ',
],
],
'form' => [
'value' => [
'label' => 'Vrednost',
],
'values' => [
'label' => 'Vrednosti',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Vsebuje',
'inverse' => 'Ne vsebuje',
],
'summary' => [
'direct' => ':attribute vsebuje :text',
'inverse' => ':attribute ne vsebuje :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Se konča z',
'inverse' => 'Se ne konča z',
],
'summary' => [
'direct' => ':attribute se konča z :text',
'inverse' => ':attribute se ne konča z :text',
],
],
'equals' => [
'label' => [
'direct' => 'Je enako',
'inverse' => 'Ni enako',
],
'summary' => [
'direct' => ':attribute je enako :text',
'inverse' => ':attribute ni enako :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Se začne z',
'inverse' => 'Se ne začne z',
],
'summary' => [
'direct' => ':attribute se začne z :text',
'inverse' => ':attribute se ne začne z :text',
],
],
'form' => [
'text' => [
'label' => 'Besedilo',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Dodaj pravilo',
],
'add_rule_group' => [
'label' => 'Dodaj skupino pravil',
],
],
];
@@ -0,0 +1,481 @@
<?php
return [
'label' => 'Израда упита',
'form' => [
'operator' => [
'label' => 'Оператор',
],
'or_groups' => [
'label' => 'Група',
'block' => [
'label' => 'Или (OR)',
'or' => 'OR',
],
],
'rules' => [
'label' => 'Правила',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(Без правила)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Има вредност',
'inverse' => 'Нема вредност',
],
'summary' => [
'direct' => ':attribute има вредност',
'inverse' => ':attribute нема вредност',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Исправо',
'inverse' => 'Није исправно',
],
'summary' => [
'direct' => ':attribute је исправан',
'inverse' => ':attribute није исправан',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Долази после',
'inverse' => 'Не долази после',
],
'summary' => [
'direct' => ':attribute долази после :date',
'inverse' => ':attribute не долази после :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Долази пре',
'inverse' => 'Не долази пре',
],
'summary' => [
'direct' => ':attribute долази пре :date',
'inverse' => ':attribute не долази пре :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Датум',
'inverse' => 'Није датум',
],
'summary' => [
'direct' => ':attribute је датум :date',
'inverse' => ':attribute није датум :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Месец',
'inverse' => 'Није месец',
],
'summary' => [
'direct' => ':attribute је :month',
'inverse' => ':attribute није :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Година',
'inverse' => 'Није година',
],
'summary' => [
'direct' => ':attribute је :year',
'inverse' => ':attribute није :year',
],
],
'form' => [
'date' => [
'label' => 'Датум',
],
'month' => [
'label' => 'Месец',
],
'year' => [
'label' => 'Година',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Једнако',
'inverse' => 'Неједнако',
],
'summary' => [
'direct' => ':attribute је :number',
'inverse' => ':attribute није :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Највећи',
'inverse' => 'Већи је од',
],
'summary' => [
'direct' => ':attribute је највећи :number',
'inverse' => ':attribute је већи од :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Најмањи',
'inverse' => 'Мањи је од',
],
'summary' => [
'direct' => ':attribute је најмањи :number',
'inverse' => ':attribute је мањи од :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Просечан',
'summary' => 'Просек :attribute',
],
'max' => [
'label' => 'Највећи',
'summary' => 'Највећи :attribute',
],
'min' => [
'label' => 'Најмањи',
'summary' => 'Најмањи :attribute',
],
'sum' => [
'label' => 'Збир',
'summary' => 'Sum of :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Агрегирано',
],
'number' => [
'label' => 'Број',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Има',
'inverse' => 'Нема',
],
'summary' => [
'direct' => 'Има :count :relationship',
'inverse' => 'Нема :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Има највише',
'inverse' => 'Има више од',
],
'summary' => [
'direct' => 'Има највише :count :relationship',
'inverse' => 'Има више од :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Има најмање',
'inverse' => 'Има мање од',
],
'summary' => [
'direct' => 'Има најмање :count :relationship',
'inverse' => 'Има мање од :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Не садржи податке',
'inverse' => 'Садржи податке',
],
'summary' => [
'direct' => ':relationship је празно',
'inverse' => ':relationship није празно',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Јесте',
'inverse' => 'Није',
],
'multiple' => [
'direct' => 'Садржи',
'inverse' => 'Не садржи',
],
],
'summary' => [
'single' => [
'direct' => ':relationship је :values',
'inverse' => ':relationship није :values',
],
'multiple' => [
'direct' => ':relationship садржи :values',
'inverse' => ':relationship не садржи :values',
],
'values_glue' => [
0 => ', ',
'final' => ' или ',
],
],
'form' => [
'value' => [
'label' => 'Вредност',
],
'values' => [
'label' => 'Вредности',
],
],
],
'form' => [
'count' => [
'label' => 'Број',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Је',
'inverse' => 'Није',
],
'summary' => [
'direct' => ':attribute је :values',
'inverse' => ':attribute није :values',
'values_glue' => [
', ',
'final' => ' или ',
],
],
'form' => [
'value' => [
'label' => 'Вредност',
],
'values' => [
'label' => 'Вредности',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Садржи',
'inverse' => 'Не садржи',
],
'summary' => [
'direct' => ':attribute садржи :text',
'inverse' => ':attribute не садржи :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Завршава са',
'inverse' => 'Не завршава са',
],
'summary' => [
'direct' => ':attribute завршава са :text',
'inverse' => ':attribute не завршава са :text',
],
],
'equals' => [
'label' => [
'direct' => 'Једнако',
'inverse' => 'Различито',
],
'summary' => [
'direct' => ':attribute исто као :text',
'inverse' => ':attribute различито од :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Почиње са',
'inverse' => 'Не почиње са',
],
'summary' => [
'direct' => ':attribute почиње са :text',
'inverse' => ':attribute не почиње са :text',
],
],
'form' => [
'text' => [
'label' => 'Текст',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Дода правило',
],
'add_rule_group' => [
'label' => 'Дода групу пра',
],
],
];
@@ -0,0 +1,481 @@
<?php
return [
'label' => 'Izrada upita',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Grupa',
'block' => [
'label' => 'Ili (OR)',
'or' => 'OR',
],
],
'rules' => [
'label' => 'Pravila',
'item' => [
'and' => 'AND',
],
],
],
'no_rules' => '(Bez pravila)',
'item_separators' => [
'and' => 'AND',
'or' => 'OR',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Ima vrednost',
'inverse' => 'Nema vrednost',
],
'summary' => [
'direct' => ':attribute ima vrednost',
'inverse' => ':attribute nema vrednost',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Ispravo',
'inverse' => 'Nije ispravno',
],
'summary' => [
'direct' => ':attribute je ispravan',
'inverse' => ':attribute nije ispravan',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Dolazi posle',
'inverse' => 'Ne dolazi posle',
],
'summary' => [
'direct' => ':attribute dolazi posle :date',
'inverse' => ':attribute ne dolazi posle :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Dolazi pre',
'inverse' => 'Ne dolazi pre',
],
'summary' => [
'direct' => ':attribute dolazi pre :date',
'inverse' => ':attribute ne dolazi pre :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Datum',
'inverse' => 'Nije datum',
],
'summary' => [
'direct' => ':attribute je datum :date',
'inverse' => ':attribute nije datum :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Mesec',
'inverse' => 'Nije mesec',
],
'summary' => [
'direct' => ':attribute je :month',
'inverse' => ':attribute nije :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Godina',
'inverse' => 'Nije godina',
],
'summary' => [
'direct' => ':attribute je :year',
'inverse' => ':attribute nije :year',
],
],
'form' => [
'date' => [
'label' => 'Datum',
],
'month' => [
'label' => 'Mesec',
],
'year' => [
'label' => 'Godina',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Jednako',
'inverse' => 'Nejednako',
],
'summary' => [
'direct' => ':attribute je :number',
'inverse' => ':attribute nije :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Najveći',
'inverse' => 'Veći je od',
],
'summary' => [
'direct' => ':attribute je najveći :number',
'inverse' => ':attribute je veći od :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Najmanji',
'inverse' => 'Manji je od',
],
'summary' => [
'direct' => ':attribute je najmanji :number',
'inverse' => ':attribute je manji od :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Prosečan',
'summary' => 'Prosek :attribute',
],
'max' => [
'label' => 'Najveći',
'summary' => 'Najveći :attribute',
],
'min' => [
'label' => 'Najmanji',
'summary' => 'Najmanji :attribute',
],
'sum' => [
'label' => 'Zbir',
'summary' => 'Sum of :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agregirano',
],
'number' => [
'label' => 'Broj',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Ima',
'inverse' => 'Nema',
],
'summary' => [
'direct' => 'Ima :count :relationship',
'inverse' => 'Nema :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Ima najviše',
'inverse' => 'Ima više od',
],
'summary' => [
'direct' => 'Ima najviše :count :relationship',
'inverse' => 'Ima više od :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Ima najmanje',
'inverse' => 'Ima manje od',
],
'summary' => [
'direct' => 'Ima najmanje :count :relationship',
'inverse' => 'Ima manje od :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Ne sadrži podatke',
'inverse' => 'Sadrži podatke',
],
'summary' => [
'direct' => ':relationship je prazno',
'inverse' => ':relationship nije prazno',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Jeste',
'inverse' => 'Nije',
],
'multiple' => [
'direct' => 'Sadrži',
'inverse' => 'Ne sadrži',
],
],
'summary' => [
'single' => [
'direct' => ':relationship je :values',
'inverse' => ':relationship nije :values',
],
'multiple' => [
'direct' => ':relationship sadrži :values',
'inverse' => ':relationship ne sadrži :values',
],
'values_glue' => [
0 => ', ',
'final' => ' ili ',
],
],
'form' => [
'value' => [
'label' => 'Vrednost',
],
'values' => [
'label' => 'Vrednosti',
],
],
],
'form' => [
'count' => [
'label' => 'Broj',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Je',
'inverse' => 'Nije',
],
'summary' => [
'direct' => ':attribute je :values',
'inverse' => ':attribute nije :values',
'values_glue' => [
', ',
'final' => ' ili ',
],
],
'form' => [
'value' => [
'label' => 'Vrednost',
],
'values' => [
'label' => 'Vrednosti',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Sadrži',
'inverse' => 'Ne sadrži',
],
'summary' => [
'direct' => ':attribute sadrži :text',
'inverse' => ':attribute ne sadrži :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Završava sa',
'inverse' => 'Ne završava sa',
],
'summary' => [
'direct' => ':attribute završava sa :text',
'inverse' => ':attribute ne završava sa :text',
],
],
'equals' => [
'label' => [
'direct' => 'Jednako',
'inverse' => 'Različito',
],
'summary' => [
'direct' => ':attribute isto kao :text',
'inverse' => ':attribute različito od :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Počinje sa',
'inverse' => 'Ne počinje sa',
],
'summary' => [
'direct' => ':attribute počinje sa :text',
'inverse' => ':attribute ne počinje sa :text',
],
],
'form' => [
'text' => [
'label' => 'Tekst',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Doda pravilo',
],
'add_rule_group' => [
'label' => 'Doda grupu pra',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Frågebyggare',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Grupper',
'block' => [
'label' => 'Disjunktion (ELLER)',
'or' => 'ELLER',
],
],
'rules' => [
'label' => 'Regler',
'item' => [
'and' => 'OCH',
],
],
],
'no_rules' => '(Inga regler)',
'item_separators' => [
'and' => 'OCH',
'or' => 'ELLER',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Är ifyllt',
'inverse' => 'Är tomt',
],
'summary' => [
'direct' => ':attribute är ifyllt',
'inverse' => ':attribute är tomt',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Är sann',
'inverse' => 'Är falsk',
],
'summary' => [
'direct' => ':attribute är sann',
'inverse' => ':attribute är falsk',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Är efter',
'inverse' => 'Är inte efter',
],
'summary' => [
'direct' => ':attribute är efter :date',
'inverse' => ':attribute är inte efter :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Är före',
'inverse' => 'Är inte före',
],
'summary' => [
'direct' => ':attribute är före :date',
'inverse' => ':attribute är inte före :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Är datum',
'inverse' => 'Är inte datum',
],
'summary' => [
'direct' => ':attribute är :date',
'inverse' => ':attribute är inte :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Är månad',
'inverse' => 'Är inte månad',
],
'summary' => [
'direct' => ':attribute är :month',
'inverse' => ':attribute är inte :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Är år',
'inverse' => 'Är inte år',
],
'summary' => [
'direct' => ':attribute är :year',
'inverse' => ':attribute är inte :year',
],
],
'form' => [
'date' => [
'label' => 'Datum',
],
'month' => [
'label' => 'Månad',
],
'year' => [
'label' => 'År',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Är lika med',
'inverse' => 'Är inte lika med',
],
'summary' => [
'direct' => ':attribute är lika med :number',
'inverse' => ':attribute är inte lika med :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Är maximalt',
'inverse' => 'Är större än',
],
'summary' => [
'direct' => ':attribute är maximalt :number',
'inverse' => ':attribute är större än :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Är minst',
'inverse' => 'Är mindre än',
],
'summary' => [
'direct' => ':attribute är minst :number',
'inverse' => ':attribute är mindre än :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Genomsnitt',
'summary' => 'Genomsnitt av :attribute',
],
'max' => [
'label' => 'Max',
'summary' => 'Max av :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min av :attribute',
],
'sum' => [
'label' => 'Summa',
'summary' => 'Summa av :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Aggregat',
],
'number' => [
'label' => 'Nummer',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Har',
'inverse' => 'Har inte',
],
'summary' => [
'direct' => 'Har :count :relationship',
'inverse' => 'Har inte :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Har maximalt',
'inverse' => 'Har fler än',
],
'summary' => [
'direct' => 'Har maximalt :count :relationship',
'inverse' => 'Har fler än :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Har minst',
'inverse' => 'Har färre än',
],
'summary' => [
'direct' => 'Har minst :count :relationship',
'inverse' => 'Har färre än :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Är tom',
'inverse' => 'Är inte tom',
],
'summary' => [
'direct' => ':relationship är tom',
'inverse' => ':relationship är inte tom',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Är',
'inverse' => 'Är inte',
],
'multiple' => [
'direct' => 'Innehåller',
'inverse' => 'Innehåller inte',
],
],
'summary' => [
'single' => [
'direct' => ':relationship är :values',
'inverse' => ':relationship är inte :values',
],
'multiple' => [
'direct' => ':relationship innehåller :values',
'inverse' => ':relationship innehåller inte :values',
],
'values_glue' => [
0 => ', ',
'final' => ' eller ',
],
],
'form' => [
'value' => [
'label' => 'Värde',
],
'values' => [
'label' => 'Värden',
],
],
],
'form' => [
'count' => [
'label' => 'Antal',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Är',
'inverse' => 'Är inte',
],
'summary' => [
'direct' => ':attribute är :values',
'inverse' => ':attribute är inte :values',
'values_glue' => [
', ',
'final' => ' eller ',
],
],
'form' => [
'value' => [
'label' => 'Värde',
],
'values' => [
'label' => 'Värden',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Innehåller',
'inverse' => 'Innehåller inte',
],
'summary' => [
'direct' => ':attribute innehåller :text',
'inverse' => ':attribute innehåller inte :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Slutar med',
'inverse' => 'Slutar inte med',
],
'summary' => [
'direct' => ':attribute slutar med :text',
'inverse' => ':attribute slutar inte med :text',
],
],
'equals' => [
'label' => [
'direct' => 'Är lika med',
'inverse' => 'Är inte lika med',
],
'summary' => [
'direct' => ':attribute är lika med :text',
'inverse' => ':attribute är inte lika med :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Börjar med',
'inverse' => 'Börjar inte med',
],
'summary' => [
'direct' => ':attribute börjar med :text',
'inverse' => ':attribute börjar inte med :text',
],
],
'form' => [
'text' => [
'label' => 'Text',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Lägg till regel',
],
'add_rule_group' => [
'label' => 'Lägg till regelgrupp',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'สร้างคำค้น',
'form' => [
'operator' => [
'label' => 'ดำเนินการ',
],
'or_groups' => [
'label' => 'กลุ่ม',
'block' => [
'label' => 'แยกเงื่อนไข (หรือ)',
'or' => 'หรือ',
],
],
'rules' => [
'label' => 'เงื่อนไข',
'item' => [
'and' => 'และ',
],
],
],
'no_rules' => '(ไม่มีเงื่อนไข)',
'item_separators' => [
'and' => 'และ',
'or' => 'หรือ',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'มีข้อมูล',
'inverse' => 'ว่าง',
],
'summary' => [
'direct' => ':attribute มีข้อมูล',
'inverse' => ':attribute ว่าง',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'เป็นจริง',
'inverse' => 'เป็นเท็จ',
],
'summary' => [
'direct' => ':attribute เป็นจริง',
'inverse' => ':attribute เป็นเท็จ',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'หลังจาก',
'inverse' => 'ไม่เกิน',
],
'summary' => [
'direct' => ':attribute หลังจาก :date',
'inverse' => ':attribute ไม่เกิน :date',
],
],
'is_before' => [
'label' => [
'direct' => 'ก่อน',
'inverse' => 'ตั้งแต่',
],
'summary' => [
'direct' => ':attribute ก่อน :date',
'inverse' => ':attribute ตั้งแต่ :date',
],
],
'is_date' => [
'label' => [
'direct' => 'วันที่',
'inverse' => 'ไม่ใช่วันที่',
],
'summary' => [
'direct' => ':attribute เป็น :date',
'inverse' => ':attribute ไม่ใช่ :date',
],
],
'is_month' => [
'label' => [
'direct' => 'เดือน',
'inverse' => 'ไม่ใช่เดือน',
],
'summary' => [
'direct' => ':attribute is :month',
'inverse' => ':attribute is not :month',
],
],
'is_year' => [
'label' => [
'direct' => 'ปี',
'inverse' => 'ไม่ใช่ปี',
],
'summary' => [
'direct' => ':attribute ปี :year',
'inverse' => ':attribute ไม่ใช่ปี :year',
],
],
'form' => [
'date' => [
'label' => 'วัน',
],
'month' => [
'label' => 'เดือน',
],
'year' => [
'label' => 'ปี',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'เท่ากับ',
'inverse' => 'ไม่เท่ากับ',
],
'summary' => [
'direct' => ':attribute เท่ากับ :number',
'inverse' => ':attribute ไม่เท่ากับ :number',
],
],
'is_max' => [
'label' => [
'direct' => 'ไม่เกิน',
'inverse' => 'มากกว่า',
],
'summary' => [
'direct' => ':attribute ไม่เกิน :number',
'inverse' => ':attribute มากกว่า :number',
],
],
'is_min' => [
'label' => [
'direct' => 'อย่างน้อย',
'inverse' => 'น้อยกว่า',
],
'summary' => [
'direct' => ':attribute อย่างน้อย :number',
'inverse' => ':attribute น้อยกว่า :number',
],
],
'aggregates' => [
'average' => [
'label' => 'ค่าเฉลี่ย',
'summary' => ':attribute เฉลี่ย',
],
'max' => [
'label' => 'สูงสุด',
'summary' => ':attribute สูงสุด',
],
'min' => [
'label' => 'ต่ำสุด',
'summary' => ':attribute ต่ำสุด',
],
'sum' => [
'label' => 'รวม',
'summary' => ':attribute รวม',
],
],
'form' => [
'aggregate' => [
'label' => 'ผลรวม',
],
'number' => [
'label' => 'ตัวเลข',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'มี',
'inverse' => 'ไม่มี',
],
'summary' => [
'direct' => 'มี :count :relationship',
'inverse' => 'ไม่มี :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'มีสูงสุด',
'inverse' => 'มีมากกว่า',
],
'summary' => [
'direct' => 'มีสูงสุด :count :relationship',
'inverse' => 'มีมากกว่า :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'มีขั้นต่ำ',
'inverse' => 'มีน้อยกว่า',
],
'summary' => [
'direct' => 'มีขั้นต่ำ :count :relationship',
'inverse' => 'มีน้อยกว่า :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'ว่าง',
'inverse' => 'ไม่ว่าง',
],
'summary' => [
'direct' => ':relationship ว่าง',
'inverse' => ':relationship ไม่ว่าง',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'เกี่ยวกับ',
'inverse' => 'ไม่เกี่ยวกับ',
],
'multiple' => [
'direct' => 'มี',
'inverse' => 'ไม่มี',
],
],
'summary' => [
'single' => [
'direct' => ':relationship คือ :values',
'inverse' => ':relationship ไม่ใช่ :values',
],
'multiple' => [
'direct' => ':relationship มี :values',
'inverse' => ':relationship ไม่มี :values',
],
'values_glue' => [
0 => ', ',
'final' => ' หรือ ',
],
],
'form' => [
'value' => [
'label' => 'ค่า',
],
'values' => [
'label' => 'ค่า',
],
],
],
'form' => [
'count' => [
'label' => 'จำนวน',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'คือ',
'inverse' => 'ไม่ใช่',
],
'summary' => [
'direct' => ':attribute :values',
'inverse' => ':attribute ไม่ใช่ :values',
'values_glue' => [
', ',
'final' => ' or ',
],
],
'form' => [
'value' => [
'label' => 'ค่า',
],
'values' => [
'label' => 'ค่า',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'มีคำว่า',
'inverse' => 'ไม่มีคำว่า',
],
'summary' => [
'direct' => ':attribute มีคำว่า :text',
'inverse' => ':attribute ไม่มีคำว่า :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'ลงท้ายด้วย',
'inverse' => 'ไม่ลงท้ายด้วย',
],
'summary' => [
'direct' => ':attribute ลงท้ายด้วย :text',
'inverse' => ':attribute ไม่ลงท้ายด้วย :text',
],
],
'equals' => [
'label' => [
'direct' => 'เท่ากับ',
'inverse' => 'ไม่เท่ากับ',
],
'summary' => [
'direct' => ':attribute เท่ากับ :text',
'inverse' => ':attribute ไม่เท่ากับ :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'ขึ้นต้นด้วย',
'inverse' => 'ไม่ขึ้นต้นด้วย',
],
'summary' => [
'direct' => ':attribute ขึ้นต้นด้วย :text',
'inverse' => ':attribute ไม่ขึ้นต้นด้วย :text',
],
],
'form' => [
'text' => [
'label' => 'ข้อความ',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'เพิ่มเงื่อนไข',
],
'add_rule_group' => [
'label' => 'เพิ่มกลุ่มเงื่อนไข',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Sorgu oluşturucu',
'form' => [
'operator' => [
'label' => 'Operatör',
],
'or_groups' => [
'label' => 'Gruplar',
'block' => [
'label' => 'Veya (OR)',
'or' => 'VEYA',
],
],
'rules' => [
'label' => 'Kurallar',
'item' => [
'and' => 'VE',
],
],
],
'no_rules' => '(Kural yok)',
'item_separators' => [
'and' => 'VE',
'or' => 'VEYA',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Dolu',
'inverse' => 'Boş',
],
'summary' => [
'direct' => ':attribute dolu',
'inverse' => ':attribute boş',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Doğru',
'inverse' => 'Yanlış',
],
'summary' => [
'direct' => ':attribute doğru',
'inverse' => ':attribute yanlış',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Sonra',
'inverse' => 'Sonra değil',
],
'summary' => [
'direct' => ':attribute :date tarihinden sonra',
'inverse' => ':attribute :date tarihinden sonra değil',
],
],
'is_before' => [
'label' => [
'direct' => 'Önce',
'inverse' => 'Önce değil',
],
'summary' => [
'direct' => ':attribute :date tarihinden önce',
'inverse' => ':attribute :date tarihinden önce değil',
],
],
'is_date' => [
'label' => [
'direct' => 'Tarihtir',
'inverse' => 'Tarih değildir',
],
'summary' => [
'direct' => ':attribute :date',
'inverse' => ':attribute :date değil',
],
],
'is_month' => [
'label' => [
'direct' => 'Aydır',
'inverse' => 'Ay değildir',
],
'summary' => [
'direct' => ':attribute :month',
'inverse' => ':attribute :month değil',
],
],
'is_year' => [
'label' => [
'direct' => 'Yıldır',
'inverse' => 'Yıl değildir',
],
'summary' => [
'direct' => ':attribute :year',
'inverse' => ':attribute :year değil',
],
],
'form' => [
'date' => [
'label' => 'Tarih',
],
'month' => [
'label' => 'Ay',
],
'year' => [
'label' => 'Yıl',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Eşittir',
'inverse' => 'Eşit değildir',
],
'summary' => [
'direct' => ':attribute :number\'a eşittir',
'inverse' => ':attribute :number\'a eşit değildir',
],
],
'is_max' => [
'label' => [
'direct' => 'Maksimum',
'inverse' => 'Büyüktür',
],
'summary' => [
'direct' => ':attribute maksimum :number',
'inverse' => ':attribute :number\'dan büyük',
],
],
'is_min' => [
'label' => [
'direct' => 'Minimum',
'inverse' => 'Küçüktür',
],
'summary' => [
'direct' => ':attribute minimum :number',
'inverse' => ':attribute :number\'dan küçük',
],
],
'aggregates' => [
'average' => [
'label' => 'Ortalama',
'summary' => 'Ortalama :attribute',
],
'max' => [
'label' => 'Maksimum',
'summary' => 'Maksimum :attribute',
],
'min' => [
'label' => 'Min',
'summary' => 'Min :attribute',
],
'sum' => [
'label' => 'Toplam',
'summary' => ':attribute toplamı',
],
],
'form' => [
'aggregate' => [
'label' => 'Toplam',
],
'number' => [
'label' => 'Sayı',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Sahip',
'inverse' => 'Sahip değil',
],
'summary' => [
'direct' => ':count :relationship mevcut',
'inverse' => ':count :relationship mevcut değil',
],
],
'has_max' => [
'label' => [
'direct' => 'En fazla',
'inverse' => 'Daha fazla',
],
'summary' => [
'direct' => 'En fazla :count :relationship',
'inverse' => ':count adetten fazla :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'En az',
'inverse' => 'Daha az',
],
'summary' => [
'direct' => 'En az :count :relationship',
'inverse' => ':count adetten az :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Boş',
'inverse' => 'Boş değil',
],
'summary' => [
'direct' => ':relationship boş',
'inverse' => ':relationship boş değil',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Eşittir',
'inverse' => 'Eşit değildir',
],
'multiple' => [
'direct' => 'İçerir',
'inverse' => 'İçermez',
],
],
'summary' => [
'single' => [
'direct' => ':relationship :values',
'inverse' => ':relationship :values değil',
],
'multiple' => [
'direct' => ':relationship :values içerir',
'inverse' => ':relationship :values içermez',
],
'values_glue' => [
0 => ', ',
'final' => ' veya ',
],
],
'form' => [
'value' => [
'label' => 'Değer',
],
'values' => [
'label' => 'Değerler',
],
],
],
'form' => [
'count' => [
'label' => 'Sayı',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Eşittir',
'inverse' => 'Eşit değildir',
],
'summary' => [
'direct' => ':attribute :values',
'inverse' => ':attribute :values değil',
'values_glue' => [
', ',
'final' => ' veya ',
],
],
'form' => [
'value' => [
'label' => 'Değer',
],
'values' => [
'label' => 'Değerler',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'İçerir',
'inverse' => 'İçermez',
],
'summary' => [
'direct' => ':attribute :text içerir',
'inverse' => ':attribute :text içermez',
],
],
'ends_with' => [
'label' => [
'direct' => 'Şununla biter',
'inverse' => 'Şununla bitmez',
],
'summary' => [
'direct' => ':attribute :text ile biter',
'inverse' => ':attribute :text ile bitmez',
],
],
'equals' => [
'label' => [
'direct' => 'Eşittir',
'inverse' => 'Eşit değildir',
],
'summary' => [
'direct' => ':attribute :text\'e eşittir',
'inverse' => ':attribute :text\'e eşit değildir',
],
],
'starts_with' => [
'label' => [
'direct' => 'Şununla başlar',
'inverse' => 'Şununla başlamaz',
],
'summary' => [
'direct' => ':attribute :text ile başlar',
'inverse' => ':attribute :text ile başlamaz',
],
],
'form' => [
'text' => [
'label' => 'Metin',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Kural ekle',
],
'add_rule_group' => [
'label' => 'Kural grubu ekle',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Конструктор запитів',
'form' => [
'operator' => [
'label' => 'Оператор',
],
'or_groups' => [
'label' => 'Групи',
'block' => [
'label' => 'Дизґ\'юнкція (OR)',
'or' => 'АБО',
],
],
'rules' => [
'label' => 'Правила',
'item' => [
'and' => 'ТА',
],
],
],
'no_rules' => '(Правила відсутні)',
'item_separators' => [
'and' => 'ТА',
'or' => 'АБО',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Заповнений',
'inverse' => 'Пустий',
],
'summary' => [
'direct' => ':attribute заповнений',
'inverse' => ':attribute пустий',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Правда',
'inverse' => 'Неправда',
],
'summary' => [
'direct' => ':attribute правда',
'inverse' => ':attribute неправда',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Після того',
'inverse' => 'Не після того',
],
'summary' => [
'direct' => ':attribute після :date',
'inverse' => ':attribute не після :date',
],
],
'is_before' => [
'label' => [
'direct' => 'До того',
'inverse' => 'Не раніше',
],
'summary' => [
'direct' => ':attribute до :date',
'inverse' => ':attribute не раніше :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Є датою',
'inverse' => 'Не є датою',
],
'summary' => [
'direct' => ':attribute є :date',
'inverse' => ':attribute не є :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Є місяцем',
'inverse' => 'Не є місяцем',
],
'summary' => [
'direct' => ':attribute є :month',
'inverse' => ':attribute не є :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Є роком',
'inverse' => 'Не є роком',
],
'summary' => [
'direct' => ':attribute є :year',
'inverse' => ':attribute не є :year',
],
],
'form' => [
'date' => [
'label' => 'Число',
],
'month' => [
'label' => 'Місяць',
],
'year' => [
'label' => 'Рік',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Дорівнює',
'inverse' => 'Не дорівнює',
],
'summary' => [
'direct' => ':attribute дорівнює :number',
'inverse' => ':attribute не дорівнює :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Максимальний',
'inverse' => 'Більше, ніж',
],
'summary' => [
'direct' => ':attribute максимальний :number',
'inverse' => ':attribute більше ніж :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Мінімальний',
'inverse' => 'Менший, ніж',
],
'summary' => [
'direct' => ':attribute мінімальний :number',
'inverse' => ':attribute менший ніж :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Середнє',
'summary' => 'Середнє :attribute',
],
'max' => [
'label' => 'Максимальний',
'summary' => 'Максимальний :attribute',
],
'min' => [
'label' => 'Мінімальний',
'summary' => 'Мінімальний :attribute',
],
'sum' => [
'label' => 'Сума',
'summary' => 'Сума :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Агрегація',
],
'number' => [
'label' => 'Число',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Має',
'inverse' => 'Не має',
],
'summary' => [
'direct' => 'Має :count :relationship',
'inverse' => 'Не має :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Має максимум',
'inverse' => 'Має більше, ніж',
],
'summary' => [
'direct' => 'Має максимум :count :relationship',
'inverse' => 'Має більше ніж :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Має мінімум',
'inverse' => 'Має менше, ніж',
],
'summary' => [
'direct' => 'Має мінімум :count :relationship',
'inverse' => 'Має менше ніж :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Порожній',
'inverse' => 'Непорожній',
],
'summary' => [
'direct' => ':relationship порожній',
'inverse' => ':relationship непорожній',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Є',
'inverse' => 'Не є',
],
'multiple' => [
'direct' => 'Містить',
'inverse' => 'Не містить',
],
],
'summary' => [
'single' => [
'direct' => ':relationship є :values',
'inverse' => ':relationship не є :values',
],
'multiple' => [
'direct' => ':relationship містить :values',
'inverse' => ':relationship не містить :values',
],
'values_glue' => [
0 => ', ',
'final' => ' або ',
],
],
'form' => [
'value' => [
'label' => 'Значення',
],
'values' => [
'label' => 'Декілька значеннь',
],
],
],
'form' => [
'count' => [
'label' => 'Кількість',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Є',
'inverse' => 'Не є',
],
'summary' => [
'direct' => ':attribute є :values',
'inverse' => ':attribute не є :values',
'values_glue' => [
', ',
'final' => ' або ',
],
],
'form' => [
'value' => [
'label' => 'Значення',
],
'values' => [
'label' => 'Декілька значеннь',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Містить',
'inverse' => 'Не містить',
],
'summary' => [
'direct' => ':attribute містить :text',
'inverse' => ':attribute не містить :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Закінчується на',
'inverse' => 'Не закінчується на',
],
'summary' => [
'direct' => ':attribute закінчується на :text',
'inverse' => ':attribute не закінчується на :text',
],
],
'equals' => [
'label' => [
'direct' => 'Дорівнює',
'inverse' => 'Не дорівнює',
],
'summary' => [
'direct' => ':attribute дорівнює :text',
'inverse' => ':attribute не дорівнює :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Починається з',
'inverse' => 'Не починається з',
],
'summary' => [
'direct' => ':attribute починається з :text',
'inverse' => ':attribute не починається з :text',
],
],
'form' => [
'text' => [
'label' => 'Текст',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Додати правили',
],
'add_rule_group' => [
'label' => 'Додати групу правил',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'کوئری بلڈر',
'form' => [
'operator' => [
'label' => 'آپریٹر',
],
'or_groups' => [
'label' => 'گروپس',
'block' => [
'label' => 'یا (OR)',
'or' => 'یا',
],
],
'rules' => [
'label' => 'قوانین',
'item' => [
'and' => 'اور',
],
],
],
'no_rules' => '(کوئی قانون نہیں)',
'item_separators' => [
'and' => 'اور',
'or' => 'یا',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'بھرا ہوا ہے',
'inverse' => 'خالی ہے',
],
'summary' => [
'direct' => ':attribute بھرا ہوا ہے',
'inverse' => ':attribute خالی ہے',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'سچ ہے',
'inverse' => 'جھوٹ ہے',
],
'summary' => [
'direct' => ':attribute سچ ہے',
'inverse' => ':attribute جھوٹ ہے',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'کے بعد ہے',
'inverse' => 'کے بعد نہیں ہے',
],
'summary' => [
'direct' => ':attribute :date کے بعد ہے',
'inverse' => ':attribute :date کے بعد نہیں ہے',
],
],
'is_before' => [
'label' => [
'direct' => 'سے پہلے ہے',
'inverse' => 'سے پہلے نہیں ہے',
],
'summary' => [
'direct' => ':attribute :date سے پہلے ہے',
'inverse' => ':attribute :date سے پہلے نہیں ہے',
],
],
'is_date' => [
'label' => [
'direct' => 'تاریخ ہے',
'inverse' => 'تاریخ نہیں ہے',
],
'summary' => [
'direct' => ':attribute :date ہے',
'inverse' => ':attribute :date نہیں ہے',
],
],
'is_month' => [
'label' => [
'direct' => 'مہینہ ہے',
'inverse' => 'مہینہ نہیں ہے',
],
'summary' => [
'direct' => ':attribute :month ہے',
'inverse' => ':attribute :month نہیں ہے',
],
],
'is_year' => [
'label' => [
'direct' => 'سال ہے',
'inverse' => 'سال نہیں ہے',
],
'summary' => [
'direct' => ':attribute :year ہے',
'inverse' => ':attribute :year نہیں ہے',
],
],
'form' => [
'date' => [
'label' => 'تاریخ',
],
'month' => [
'label' => 'مہینہ',
],
'year' => [
'label' => 'سال',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'برابر ہے',
'inverse' => 'برابر نہیں ہے',
],
'summary' => [
'direct' => ':attribute :number کے برابر ہے',
'inverse' => ':attribute :number کے برابر نہیں ہے',
],
],
'is_max' => [
'label' => [
'direct' => 'زیادہ سے زیادہ ہے',
'inverse' => 'اس سے زیادہ ہے',
],
'summary' => [
'direct' => ':attribute زیادہ سے زیادہ :number ہے',
'inverse' => ':attribute :number سے زیادہ ہے',
],
],
'is_min' => [
'label' => [
'direct' => 'کم سے کم ہے',
'inverse' => 'اس سے کم ہے',
],
'summary' => [
'direct' => ':attribute کم سے کم :number ہے',
'inverse' => ':attribute :number سے کم ہے',
],
],
'aggregates' => [
'average' => [
'label' => 'اوسط',
'summary' => ':attribute کی اوسط',
],
'max' => [
'label' => 'زیادہ سے زیادہ',
'summary' => ':attribute کا زیادہ سے زیادہ',
],
'min' => [
'label' => 'کم سے کم',
'summary' => ':attribute کا کم سے کم',
],
'sum' => [
'label' => 'مجموعہ',
'summary' => ':attribute کا مجموعہ',
],
],
'form' => [
'aggregate' => [
'label' => 'مجموعی حساب',
],
'number' => [
'label' => 'نمبر',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'ہے',
'inverse' => 'نہیں ہے',
],
'summary' => [
'direct' => ':count :relationship ہے',
'inverse' => ':count :relationship نہیں ہے',
],
],
'has_max' => [
'label' => [
'direct' => 'زیادہ سے زیادہ ہے',
'inverse' => 'اس سے زیادہ ہے',
],
'summary' => [
'direct' => 'زیادہ سے زیادہ :count :relationship ہے',
'inverse' => ':count سے زیادہ :relationship ہے',
],
],
'has_min' => [
'label' => [
'direct' => 'کم سے کم ہے',
'inverse' => 'اس سے کم ہے',
],
'summary' => [
'direct' => 'کم سے کم :count :relationship ہے',
'inverse' => ':count سے کم :relationship ہے',
],
],
'is_empty' => [
'label' => [
'direct' => 'خالی ہے',
'inverse' => 'خالی نہیں ہے',
],
'summary' => [
'direct' => ':relationship خالی ہے',
'inverse' => ':relationship خالی نہیں ہے',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'ہے',
'inverse' => 'نہیں ہے',
],
'multiple' => [
'direct' => 'پر مشتمل ہے',
'inverse' => 'پر مشتمل نہیں ہے',
],
],
'summary' => [
'single' => [
'direct' => ':relationship :values ہے',
'inverse' => ':relationship :values نہیں ہے',
],
'multiple' => [
'direct' => ':relationship میں :values شامل ہے',
'inverse' => ':relationship میں :values شامل نہیں ہے',
],
'values_glue' => [
0 => ', ',
'final' => ' یا ',
],
],
'form' => [
'value' => [
'label' => 'قدر',
],
'values' => [
'label' => 'قدریں',
],
],
],
'form' => [
'count' => [
'label' => 'تعداد',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'ہے',
'inverse' => 'نہیں ہے',
],
'summary' => [
'direct' => ':attribute :values ہے',
'inverse' => ':attribute :values نہیں ہے',
'values_glue' => [
', ',
'final' => ' یا ',
],
],
'form' => [
'value' => [
'label' => 'قدر',
],
'values' => [
'label' => 'قدریں',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'پر مشتمل ہے',
'inverse' => 'پر مشتمل نہیں ہے',
],
'summary' => [
'direct' => ':attribute میں :text شامل ہے',
'inverse' => ':attribute میں :text شامل نہیں ہے',
],
],
'ends_with' => [
'label' => [
'direct' => 'پر ختم ہوتا ہے',
'inverse' => 'پر ختم نہیں ہوتا',
],
'summary' => [
'direct' => ':attribute کا اختتام :text پر ہوتا ہے',
'inverse' => ':attribute کا اختتام :text پر نہیں ہوتا',
],
],
'equals' => [
'label' => [
'direct' => 'برابر ہے',
'inverse' => 'برابر نہیں ہے',
],
'summary' => [
'direct' => ':attribute :text کے برابر ہے',
'inverse' => ':attribute :text کے برابر نہیں ہے',
],
],
'starts_with' => [
'label' => [
'direct' => 'سے شروع ہوتا ہے',
'inverse' => 'سے شروع نہیں ہوتا',
],
'summary' => [
'direct' => ':attribute :text سے شروع ہوتا ہے',
'inverse' => ':attribute :text سے شروع نہیں ہوتا',
],
],
'form' => [
'text' => [
'label' => 'متن',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'قانون شامل کریں',
],
'add_rule_group' => [
'label' => 'قانونی گروپ شامل کریں',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'So\'rov yaratuvchi',
'form' => [
'operator' => [
'label' => 'Operator',
],
'or_groups' => [
'label' => 'Guruhlar',
'block' => [
'label' => 'Ajralish (YOKI)',
'or' => 'yoki',
],
],
'rules' => [
'label' => 'Qoidalar',
'item' => [
'and' => 'VA',
],
],
],
'no_rules' => '(Qoidalar yo\'q)',
'item_separators' => [
'and' => 'VA',
'or' => 'YOKI',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'To\'ldirilgan bo\'lsa',
'inverse' => 'Bo\'sh bo\'lsa',
],
'summary' => [
'direct' => ':attribute to\'lgan bo\'lsa',
'inverse' => ':attribute bo\'sh bo\'lsa',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Rost bo\'lsa',
'inverse' => 'Yolg\'on bo\'lsa',
],
'summary' => [
'direct' => ':attribute rost bo\'lsa',
'inverse' => ':attribute yolg\'on bo\'lsa',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Keyin',
'inverse' => 'Keyin emas',
],
'summary' => [
'direct' => ':date dan keyin :attribute bo\'lsa',
'inverse' => ':date :attribute dan keyin bo\'lmasa',
],
],
'is_before' => [
'label' => [
'direct' => 'Oldin bo\'lsa',
'inverse' => 'Oldin bo\'lmasa',
],
'summary' => [
'direct' => ':date dan oldin :attribute bo\'lsa',
'inverse' => ':date :attribute dan oldin bo\'lmasa',
],
],
'is_date' => [
'label' => [
'direct' => 'Sana bo\'lsa',
'inverse' => 'Sana bo\'lmasa',
],
'summary' => [
'direct' => ':attribute :date bo\'lsa',
'inverse' => ':attribute :date bo\'lmasa',
],
],
'is_month' => [
'label' => [
'direct' => 'Oy bo\'lsa',
'inverse' => 'Oy bo\'lmasa',
],
'summary' => [
'direct' => ':attribute :month bo\'lsa',
'inverse' => ':attribute :month bo\'lmasa',
],
],
'is_year' => [
'label' => [
'direct' => 'Yil bo\'lsa',
'inverse' => 'Yil bo\'lmasa',
],
'summary' => [
'direct' => ':attribute :year bo\'lsa',
'inverse' => ':attribute :year bo\'lmasa',
],
],
'form' => [
'date' => [
'label' => 'Sana',
],
'month' => [
'label' => 'Oy',
],
'year' => [
'label' => 'Yil',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Teng',
'inverse' => 'Teng emas',
],
'summary' => [
'direct' => ':attribute teng :number ga ',
'inverse' => ':attribute teng emas :number ga',
],
],
'is_max' => [
'label' => [
'direct' => 'Maksimal bo\'lsa',
'inverse' => 'Dan katta bo\'lsa',
],
'summary' => [
'direct' => ':attribute maksimal :number',
'inverse' => ':attribute :number dan katta',
],
],
'is_min' => [
'label' => [
'direct' => 'Minimal',
'inverse' => 'Dan kichkina',
],
'summary' => [
'direct' => ':attribute minimal :number',
'inverse' => ':attribute :number dan kichkina',
],
],
'aggregates' => [
'average' => [
'label' => 'O\'rtacha',
'summary' => 'O\'rtacha :attribute',
],
'max' => [
'label' => 'Maksimal',
'summary' => 'Maksimal :attribute',
],
'min' => [
'label' => 'Minimal',
'summary' => 'Minimal :attribute',
],
'sum' => [
'label' => 'Umumiy natija (SUM)',
'summary' => 'Umumiy natija (SUM) :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Agregat',
],
'number' => [
'label' => 'Raqam',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Mavjud',
'inverse' => 'Mavjud emas',
],
'summary' => [
'direct' => ':relationship mavjud :count ta',
'inverse' => ':relationship mavjud emas :count',
],
],
'has_max' => [
'label' => [
'direct' => 'Maksimalga ega',
'inverse' => 'Dan ortiq',
],
'summary' => [
'direct' => ':relationship :count maksimalga ega',
'inverse' => ':relationship :count dan ortiq',
],
],
'has_min' => [
'label' => [
'direct' => 'Minimalga ega',
'inverse' => 'Dan kam',
],
'summary' => [
'direct' => ':relationship :count minimalga ega',
'inverse' => ':count :relationship dan ortiq',
],
],
'is_empty' => [
'label' => [
'direct' => 'Bo\'sh bo\'lsa',
'inverse' => 'Bo\'sh bo\'lmasa',
],
'summary' => [
'direct' => ':relationship bo\'sh',
'inverse' => ':relationship bo\'sh emas',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Hisoblanadi',
'inverse' => 'Hisoblanmaydi',
],
'multiple' => [
'direct' => 'O\'z ichiga oladi',
'inverse' => 'O\'z ichiga olmaydi',
],
],
'summary' => [
'single' => [
'direct' => ':values :relationship',
'inverse' => ':values :relationship emas',
],
'multiple' => [
'direct' => ':relationship :values ni o\'z ichiga oladi',
'inverse' => ':relationship :values ni o\'z ichiga olmaydi',
],
'values_glue' => [
0 => ', ',
'final' => ' yoki ',
],
],
'form' => [
'value' => [
'label' => 'Qiymat',
],
'values' => [
'label' => 'Qiymatlar',
],
],
],
'form' => [
'count' => [
'label' => 'Soni',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Hisoblanadi',
'inverse' => 'Hisoblanmaydi',
],
'summary' => [
'direct' => ':attribute :values hisoblanadi',
'inverse' => ':attribute :values hisoblanmaydi',
'values_glue' => [
', ',
'final' => ' yoki ',
],
],
'form' => [
'value' => [
'label' => 'Qiymat',
],
'values' => [
'label' => 'Qiymatlar',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'O\'z ichiga oladi',
'inverse' => 'O\'z ichiga olmagan',
],
'summary' => [
'direct' => ':attribute :text ni o\'z ichiga oladi',
'inverse' => ':attribute :text o\'z ichiga olmaydi',
],
],
'ends_with' => [
'label' => [
'direct' => 'Bilan tugaydi',
'inverse' => 'Bilan tugamaydi',
],
'summary' => [
'direct' => ':attribute :text bilan tugaydi',
'inverse' => ':attribute :text bilan tugamaydi',
],
],
'equals' => [
'label' => [
'direct' => 'Teng',
'inverse' => 'Teng emas',
],
'summary' => [
'direct' => ':attribute :text ga teng',
'inverse' => ':attribute :text ga teng emas',
],
],
'starts_with' => [
'label' => [
'direct' => 'Bilan boshlanadi',
'inverse' => 'Bilan boshlanmaydi',
],
'summary' => [
'direct' => ':attribute :text bilan boshlanadi',
'inverse' => ':attribute :text bilan boshlanmaydi',
],
],
'form' => [
'text' => [
'label' => 'Matn',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Qoida qo\'shish',
],
'add_rule_group' => [
'label' => 'Qoida guruhini qo\'shish',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => 'Trình xây dựng truy vấn',
'form' => [
'operator' => [
'label' => 'Toán tử',
],
'or_groups' => [
'label' => 'Nhóm',
'block' => [
'label' => 'Hoặc (OR)',
'or' => 'HOẶC',
],
],
'rules' => [
'label' => 'Quy tắc',
'item' => [
'and' => 'VÀ',
],
],
],
'no_rules' => '(Không có quy tắc)',
'item_separators' => [
'and' => 'VÀ',
'or' => 'HOẶC',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => 'Giá trị khác rỗng',
'inverse' => 'Giá trị rỗng',
],
'summary' => [
'direct' => ':attribute có giá trị khác rỗng',
'inverse' => ':attribute có giá trị rỗng',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => 'Đúng',
'inverse' => 'Sai',
],
'summary' => [
'direct' => ':attribute đúng',
'inverse' => ':attribute sai',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => 'Sau ngày',
'inverse' => 'Không sau ngày',
],
'summary' => [
'direct' => ':attribute sau ngày :date',
'inverse' => ':attribute không sau ngày :date',
],
],
'is_before' => [
'label' => [
'direct' => 'Trước ngày',
'inverse' => 'Không trước ngày',
],
'summary' => [
'direct' => ':attribute trước ngày :date',
'inverse' => ':attribute không trước ngày :date',
],
],
'is_date' => [
'label' => [
'direct' => 'Là ngày',
'inverse' => 'Không là ngày',
],
'summary' => [
'direct' => ':attribute là ngày :date',
'inverse' => ':attribute không là ngày :date',
],
],
'is_month' => [
'label' => [
'direct' => 'Là tháng',
'inverse' => 'Không là tháng',
],
'summary' => [
'direct' => ':attribute là tháng :month',
'inverse' => ':attribute không là tháng :month',
],
],
'is_year' => [
'label' => [
'direct' => 'Là năm',
'inverse' => 'Không là năm',
],
'summary' => [
'direct' => ':attribute là năm :year',
'inverse' => ':attribute không là năm :year',
],
],
'form' => [
'date' => [
'label' => 'Ngày',
],
'month' => [
'label' => 'Tháng',
],
'year' => [
'label' => 'Năm',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => 'Bằng',
'inverse' => 'Không bằng',
],
'summary' => [
'direct' => ':attribute bằng :number',
'inverse' => ':attribute không bằng :number',
],
],
'is_max' => [
'label' => [
'direct' => 'Là tối đa',
'inverse' => 'Lớn hơn',
],
'summary' => [
'direct' => ':attribute là tối đa :number',
'inverse' => ':attribute lớn hơn :number',
],
],
'is_min' => [
'label' => [
'direct' => 'Là tối thiểu',
'inverse' => 'Nhỏ hơn',
],
'summary' => [
'direct' => ':attribute là tối thiểu :number',
'inverse' => ':attribute nhỏ hơn :number',
],
],
'aggregates' => [
'average' => [
'label' => 'Trung bình',
'summary' => 'Trung bình :attribute',
],
'max' => [
'label' => 'Tối đa',
'summary' => 'Tối đa :attribute',
],
'min' => [
'label' => 'Tối thiểu',
'summary' => 'Tối thiểu :attribute',
],
'sum' => [
'label' => 'Tổng',
'summary' => 'Tổng của :attribute',
],
],
'form' => [
'aggregate' => [
'label' => 'Tổng hợp',
],
'number' => [
'label' => 'Số',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => 'Có',
'inverse' => 'Không có',
],
'summary' => [
'direct' => 'Có :count :relationship',
'inverse' => 'Không có :count :relationship',
],
],
'has_max' => [
'label' => [
'direct' => 'Có tối đa',
'inverse' => 'Có nhiều hơn',
],
'summary' => [
'direct' => 'Có tối đa :count :relationship',
'inverse' => 'Có nhiều hơn :count :relationship',
],
],
'has_min' => [
'label' => [
'direct' => 'Có tối thiểu',
'inverse' => 'Có ít hơn',
],
'summary' => [
'direct' => 'Có tối thiểu :count :relationship',
'inverse' => 'Có ít hơn :count :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => 'Trống',
'inverse' => 'Không trống',
],
'summary' => [
'direct' => ':relationship trống',
'inverse' => ':relationship không trống',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => 'Là',
'inverse' => 'Không là',
],
'multiple' => [
'direct' => 'Chứa',
'inverse' => 'Không chứa',
],
],
'summary' => [
'single' => [
'direct' => ':relationship là :values',
'inverse' => ':relationship không là :values',
],
'multiple' => [
'direct' => ':relationship chứa :values',
'inverse' => ':relationship không chứa :values',
],
'values_glue' => [
0 => ', ',
'final' => ' hoặc ',
],
],
'form' => [
'value' => [
'label' => 'Giá trị',
],
'values' => [
'label' => 'Các giá trị',
],
],
],
'form' => [
'count' => [
'label' => 'Số lượng',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => 'Là',
'inverse' => 'Không phải là',
],
'summary' => [
'direct' => ':attribute là :values',
'inverse' => ':attribute không phải là :values',
'values_glue' => [
', ',
'final' => ' hoặc ',
],
],
'form' => [
'value' => [
'label' => 'Giá trị',
],
'values' => [
'label' => 'Các giá trị',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => 'Chứa',
'inverse' => 'Không chứa',
],
'summary' => [
'direct' => ':attribute chứa :text',
'inverse' => ':attribute không chứa :text',
],
],
'ends_with' => [
'label' => [
'direct' => 'Kết thúc bằng',
'inverse' => 'Không kết thúc bằng',
],
'summary' => [
'direct' => ':attribute kết thúc bằng :text',
'inverse' => ':attribute không kết thúc bằng :text',
],
],
'equals' => [
'label' => [
'direct' => 'Bằng',
'inverse' => 'Không bằng',
],
'summary' => [
'direct' => ':attribute bằng :text',
'inverse' => ':attribute không bằng :text',
],
],
'starts_with' => [
'label' => [
'direct' => 'Bắt đầu bằng',
'inverse' => 'Không bắt đầu bằng',
],
'summary' => [
'direct' => ':attribute bắt đầu bằng :text',
'inverse' => ':attribute không bắt đầu bằng :text',
],
],
'form' => [
'text' => [
'label' => 'Văn bản',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => 'Thêm quy tắc',
],
'add_rule_group' => [
'label' => 'Thêm nhóm quy tắc',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => '查询构建器',
'form' => [
'operator' => [
'label' => '运算符',
],
'or_groups' => [
'label' => '条件组',
'block' => [
'label' => '或条件组 (OR)',
'or' => '或',
],
],
'rules' => [
'label' => '规则',
'item' => [
'and' => '且',
],
],
],
'no_rules' => '(无规则)',
'item_separators' => [
'and' => '且',
'or' => '或',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => '已填写',
'inverse' => '未填写',
],
'summary' => [
'direct' => ':attribute 已填写',
'inverse' => ':attribute 未填写',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => '为真',
'inverse' => '为假',
],
'summary' => [
'direct' => ':attribute 为真',
'inverse' => ':attribute 为假',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => '晚于',
'inverse' => '不晚于',
],
'summary' => [
'direct' => ':attribute 晚于 :date',
'inverse' => ':attribute 不晚于 :date',
],
],
'is_before' => [
'label' => [
'direct' => '早于',
'inverse' => '不早于',
],
'summary' => [
'direct' => ':attribute 早于 :date',
'inverse' => ':attribute 不早于 :date',
],
],
'is_date' => [
'label' => [
'direct' => '等于日期',
'inverse' => '不等于日期',
],
'summary' => [
'direct' => ':attribute 等于 :date',
'inverse' => ':attribute 不等于 :date',
],
],
'is_month' => [
'label' => [
'direct' => '等于月份',
'inverse' => '不等于月份',
],
'summary' => [
'direct' => ':attribute 等于 :month',
'inverse' => ':attribute 不等于 :month',
],
],
'is_year' => [
'label' => [
'direct' => '等于年份',
'inverse' => '不等于年份',
],
'summary' => [
'direct' => ':attribute 等于 :year',
'inverse' => ':attribute 不等于 :year',
],
],
'form' => [
'date' => [
'label' => '日期',
],
'month' => [
'label' => '月份',
],
'year' => [
'label' => '年份',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => '等于',
'inverse' => '不等于',
],
'summary' => [
'direct' => ':attribute 等于 :number',
'inverse' => ':attribute 不等于 :number',
],
],
'is_max' => [
'label' => [
'direct' => '最大为',
'inverse' => '大于',
],
'summary' => [
'direct' => ':attribute 最大为 :number',
'inverse' => ':attribute 大于 :number',
],
],
'is_min' => [
'label' => [
'direct' => '最小为',
'inverse' => '小于',
],
'summary' => [
'direct' => ':attribute 最小为 :number',
'inverse' => ':attribute 小于 :number',
],
],
'aggregates' => [
'average' => [
'label' => '平均值',
'summary' => ':attribute 平均值',
],
'max' => [
'label' => '最大值',
'summary' => ':attribute 最大值',
],
'min' => [
'label' => '最小值',
'summary' => ':attribute 最小值',
],
'sum' => [
'label' => '求和',
'summary' => ':attribute 总和',
],
],
'form' => [
'aggregate' => [
'label' => '聚合函数',
],
'number' => [
'label' => '数值',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => '包含',
'inverse' => '不包含',
],
'summary' => [
'direct' => '包含 :count 个 :relationship',
'inverse' => '不包含 :count 个 :relationship',
],
],
'has_max' => [
'label' => [
'direct' => '最多包含',
'inverse' => '超过',
],
'summary' => [
'direct' => '最多包含 :count 个 :relationship',
'inverse' => '超过 :count 个 :relationship',
],
],
'has_min' => [
'label' => [
'direct' => '至少包含',
'inverse' => '少于',
],
'summary' => [
'direct' => '至少包含 :count 个 :relationship',
'inverse' => '少于 :count 个 :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => '为空',
'inverse' => '不为空',
],
'summary' => [
'direct' => ':relationship 为空',
'inverse' => ':relationship 不为空',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => '等于',
'inverse' => '不等于',
],
'multiple' => [
'direct' => '包含',
'inverse' => '不包含',
],
],
'summary' => [
'single' => [
'direct' => ':relationship 等于 :values',
'inverse' => ':relationship 不等于 :values',
],
'multiple' => [
'direct' => ':relationship 包含 :values',
'inverse' => ':relationship 不包含 :values',
],
'values_glue' => [
0 => '、',
'final' => ' 或 ',
],
],
'form' => [
'value' => [
'label' => '值',
],
'values' => [
'label' => '值列表',
],
],
],
'form' => [
'count' => [
'label' => '数量',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => '等于',
'inverse' => '不等于',
],
'summary' => [
'direct' => ':attribute 等于 :values',
'inverse' => ':attribute 不等于 :values',
'values_glue' => [
'、',
'final' => ' 或 ',
],
],
'form' => [
'value' => [
'label' => '值',
],
'values' => [
'label' => '值列表',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => '包含',
'inverse' => '不包含',
],
'summary' => [
'direct' => ':attribute 包含 ":text"',
'inverse' => ':attribute 不包含 ":text"',
],
],
'ends_with' => [
'label' => [
'direct' => '以...结尾',
'inverse' => '不以...结尾',
],
'summary' => [
'direct' => ':attribute 以 ":text" 结尾',
'inverse' => ':attribute 不以 ":text" 结尾',
],
],
'equals' => [
'label' => [
'direct' => '等于',
'inverse' => '不等于',
],
'summary' => [
'direct' => ':attribute 等于 ":text"',
'inverse' => ':attribute 不等于 ":text"',
],
],
'starts_with' => [
'label' => [
'direct' => '以...开头',
'inverse' => '不以...开头',
],
'summary' => [
'direct' => ':attribute 以 ":text" 开头',
'inverse' => ':attribute 不以 ":text" 开头',
],
],
'form' => [
'text' => [
'label' => '文本',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => '添加规则',
],
'add_rule_group' => [
'label' => '添加规则组',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => '查詢建構器',
'form' => [
'operator' => [
'label' => '運算子',
],
'or_groups' => [
'label' => '條件群組',
'block' => [
'label' => '或條件群組 (OR)',
'or' => '或',
],
],
'rules' => [
'label' => '規則',
'item' => [
'and' => '且',
],
],
],
'no_rules' => '(無規則)',
'item_separators' => [
'and' => '且',
'or' => '或',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => '已填寫',
'inverse' => '未填寫',
],
'summary' => [
'direct' => ':attribute 已填寫',
'inverse' => ':attribute 未填寫',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => '為真',
'inverse' => '為假',
],
'summary' => [
'direct' => ':attribute 為真',
'inverse' => ':attribute 為假',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => '晚於',
'inverse' => '不晚於',
],
'summary' => [
'direct' => ':attribute 晚於 :date',
'inverse' => ':attribute 不晚於 :date',
],
],
'is_before' => [
'label' => [
'direct' => '早於',
'inverse' => '不早於',
],
'summary' => [
'direct' => ':attribute 早於 :date',
'inverse' => ':attribute 不早於 :date',
],
],
'is_date' => [
'label' => [
'direct' => '等於日期',
'inverse' => '不等於日期',
],
'summary' => [
'direct' => ':attribute 等於 :date',
'inverse' => ':attribute 不等於 :date',
],
],
'is_month' => [
'label' => [
'direct' => '等於月份',
'inverse' => '不等於月份',
],
'summary' => [
'direct' => ':attribute 等於 :month',
'inverse' => ':attribute 不等於 :month',
],
],
'is_year' => [
'label' => [
'direct' => '等於年份',
'inverse' => '不等於年份',
],
'summary' => [
'direct' => ':attribute 等於 :year',
'inverse' => ':attribute 不等於 :year',
],
],
'form' => [
'date' => [
'label' => '日期',
],
'month' => [
'label' => '月份',
],
'year' => [
'label' => '年份',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => '等於',
'inverse' => '不等於',
],
'summary' => [
'direct' => ':attribute 等於 :number',
'inverse' => ':attribute 不等於 :number',
],
],
'is_max' => [
'label' => [
'direct' => '最大為',
'inverse' => '大於',
],
'summary' => [
'direct' => ':attribute 最大為 :number',
'inverse' => ':attribute 大於 :number',
],
],
'is_min' => [
'label' => [
'direct' => '最小為',
'inverse' => '小於',
],
'summary' => [
'direct' => ':attribute 最小為 :number',
'inverse' => ':attribute 小於 :number',
],
],
'aggregates' => [
'average' => [
'label' => '平均值',
'summary' => ':attribute 平均值',
],
'max' => [
'label' => '最大值',
'summary' => ':attribute 最大值',
],
'min' => [
'label' => '最小值',
'summary' => ':attribute 最小值',
],
'sum' => [
'label' => '總和',
'summary' => ':attribute 總和',
],
],
'form' => [
'aggregate' => [
'label' => '聚合函數',
],
'number' => [
'label' => '數值',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => '包含',
'inverse' => '不包含',
],
'summary' => [
'direct' => '包含 :count 個 :relationship',
'inverse' => '不包含 :count 個 :relationship',
],
],
'has_max' => [
'label' => [
'direct' => '最多包含',
'inverse' => '超過',
],
'summary' => [
'direct' => '最多包含 :count 個 :relationship',
'inverse' => '超過 :count 個 :relationship',
],
],
'has_min' => [
'label' => [
'direct' => '至少包含',
'inverse' => '少於',
],
'summary' => [
'direct' => '至少包含 :count 個 :relationship',
'inverse' => '少於 :count 個 :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => '為空',
'inverse' => '不為空',
],
'summary' => [
'direct' => ':relationship 為空',
'inverse' => ':relationship 不為空',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => '等於',
'inverse' => '不等於',
],
'multiple' => [
'direct' => '包含',
'inverse' => '不包含',
],
],
'summary' => [
'single' => [
'direct' => ':relationship 等於 :values',
'inverse' => ':relationship 不等於 :values',
],
'multiple' => [
'direct' => ':relationship 包含 :values',
'inverse' => ':relationship 不包含 :values',
],
'values_glue' => [
0 => '、',
'final' => ' 或 ',
],
],
'form' => [
'value' => [
'label' => '值',
],
'values' => [
'label' => '值清單',
],
],
],
'form' => [
'count' => [
'label' => '數量',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => '等於',
'inverse' => '不等於',
],
'summary' => [
'direct' => ':attribute 等於 :values',
'inverse' => ':attribute 不等於 :values',
'values_glue' => [
'、',
'final' => ' 或 ',
],
],
'form' => [
'value' => [
'label' => '值',
],
'values' => [
'label' => '值清單',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => '包含',
'inverse' => '不包含',
],
'summary' => [
'direct' => ':attribute 包含 ":text"',
'inverse' => ':attribute 不包含 ":text"',
],
],
'ends_with' => [
'label' => [
'direct' => '以...結尾',
'inverse' => '不以...結尾',
],
'summary' => [
'direct' => ':attribute 以 ":text" 結尾',
'inverse' => ':attribute 不以 ":text" 結尾',
],
],
'equals' => [
'label' => [
'direct' => '等於',
'inverse' => '不等於',
],
'summary' => [
'direct' => ':attribute 等於 ":text"',
'inverse' => ':attribute 不等於 ":text"',
],
],
'starts_with' => [
'label' => [
'direct' => '以...開頭',
'inverse' => '不以...開頭',
],
'summary' => [
'direct' => ':attribute 以 ":text" 開頭',
'inverse' => ':attribute 不以 ":text" 開頭',
],
],
'form' => [
'text' => [
'label' => '文字',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => '新增規則',
],
'add_rule_group' => [
'label' => '新增規則群組',
],
],
];
@@ -0,0 +1,482 @@
<?php
return [
'label' => '查詢建構器',
'form' => [
'operator' => [
'label' => '運算子',
],
'or_groups' => [
'label' => '條件群組',
'block' => [
'label' => '或條件群組 (OR)',
'or' => '或',
],
],
'rules' => [
'label' => '規則',
'item' => [
'and' => '且',
],
],
],
'no_rules' => '(無規則)',
'item_separators' => [
'and' => '且',
'or' => '或',
],
'operators' => [
'is_filled' => [
'label' => [
'direct' => '已填寫',
'inverse' => '未填寫',
],
'summary' => [
'direct' => ':attribute 已填寫',
'inverse' => ':attribute 未填寫',
],
],
'boolean' => [
'is_true' => [
'label' => [
'direct' => '為真',
'inverse' => '為假',
],
'summary' => [
'direct' => ':attribute 為真',
'inverse' => ':attribute 為假',
],
],
],
'date' => [
'is_after' => [
'label' => [
'direct' => '晚於',
'inverse' => '不晚於',
],
'summary' => [
'direct' => ':attribute 晚於 :date',
'inverse' => ':attribute 不晚於 :date',
],
],
'is_before' => [
'label' => [
'direct' => '早於',
'inverse' => '不早於',
],
'summary' => [
'direct' => ':attribute 早於 :date',
'inverse' => ':attribute 不早於 :date',
],
],
'is_date' => [
'label' => [
'direct' => '等於日期',
'inverse' => '不等於日期',
],
'summary' => [
'direct' => ':attribute 等於 :date',
'inverse' => ':attribute 不等於 :date',
],
],
'is_month' => [
'label' => [
'direct' => '等於月份',
'inverse' => '不等於月份',
],
'summary' => [
'direct' => ':attribute 等於 :month',
'inverse' => ':attribute 不等於 :month',
],
],
'is_year' => [
'label' => [
'direct' => '等於年份',
'inverse' => '不等於年份',
],
'summary' => [
'direct' => ':attribute 等於 :year',
'inverse' => ':attribute 不等於 :year',
],
],
'form' => [
'date' => [
'label' => '日期',
],
'month' => [
'label' => '月份',
],
'year' => [
'label' => '年份',
],
],
],
'number' => [
'equals' => [
'label' => [
'direct' => '等於',
'inverse' => '不等於',
],
'summary' => [
'direct' => ':attribute 等於 :number',
'inverse' => ':attribute 不等於 :number',
],
],
'is_max' => [
'label' => [
'direct' => '最大為',
'inverse' => '大於',
],
'summary' => [
'direct' => ':attribute 最大為 :number',
'inverse' => ':attribute 大於 :number',
],
],
'is_min' => [
'label' => [
'direct' => '最小為',
'inverse' => '小於',
],
'summary' => [
'direct' => ':attribute 最小為 :number',
'inverse' => ':attribute 小於 :number',
],
],
'aggregates' => [
'average' => [
'label' => '平均值',
'summary' => ':attribute 平均值',
],
'max' => [
'label' => '最大值',
'summary' => ':attribute 最大值',
],
'min' => [
'label' => '最小值',
'summary' => ':attribute 最小值',
],
'sum' => [
'label' => '總和',
'summary' => ':attribute 總和',
],
],
'form' => [
'aggregate' => [
'label' => '聚合函數',
],
'number' => [
'label' => '數值',
],
],
],
'relationship' => [
'equals' => [
'label' => [
'direct' => '包含',
'inverse' => '不包含',
],
'summary' => [
'direct' => '包含 :count 個 :relationship',
'inverse' => '不包含 :count 個 :relationship',
],
],
'has_max' => [
'label' => [
'direct' => '最多包含',
'inverse' => '超過',
],
'summary' => [
'direct' => '最多包含 :count 個 :relationship',
'inverse' => '超過 :count 個 :relationship',
],
],
'has_min' => [
'label' => [
'direct' => '至少包含',
'inverse' => '少於',
],
'summary' => [
'direct' => '至少包含 :count 個 :relationship',
'inverse' => '少於 :count 個 :relationship',
],
],
'is_empty' => [
'label' => [
'direct' => '為空',
'inverse' => '不為空',
],
'summary' => [
'direct' => ':relationship 為空',
'inverse' => ':relationship 不為空',
],
],
'is_related_to' => [
'label' => [
'single' => [
'direct' => '等於',
'inverse' => '不等於',
],
'multiple' => [
'direct' => '包含',
'inverse' => '不包含',
],
],
'summary' => [
'single' => [
'direct' => ':relationship 等於 :values',
'inverse' => ':relationship 不等於 :values',
],
'multiple' => [
'direct' => ':relationship 包含 :values',
'inverse' => ':relationship 不包含 :values',
],
'values_glue' => [
0 => '、',
'final' => ' 或 ',
],
],
'form' => [
'value' => [
'label' => '值',
],
'values' => [
'label' => '值清單',
],
],
],
'form' => [
'count' => [
'label' => '數量',
],
],
],
'select' => [
'is' => [
'label' => [
'direct' => '等於',
'inverse' => '不等於',
],
'summary' => [
'direct' => ':attribute 等於 :values',
'inverse' => ':attribute 不等於 :values',
'values_glue' => [
'、',
'final' => ' 或 ',
],
],
'form' => [
'value' => [
'label' => '值',
],
'values' => [
'label' => '值清單',
],
],
],
],
'text' => [
'contains' => [
'label' => [
'direct' => '包含',
'inverse' => '不包含',
],
'summary' => [
'direct' => ':attribute 包含 ":text"',
'inverse' => ':attribute 不包含 ":text"',
],
],
'ends_with' => [
'label' => [
'direct' => '以...結尾',
'inverse' => '不以...結尾',
],
'summary' => [
'direct' => ':attribute 以 ":text" 結尾',
'inverse' => ':attribute 不以 ":text" 結尾',
],
],
'equals' => [
'label' => [
'direct' => '等於',
'inverse' => '不等於',
],
'summary' => [
'direct' => ':attribute 等於 ":text"',
'inverse' => ':attribute 不等於 ":text"',
],
],
'starts_with' => [
'label' => [
'direct' => '以...開頭',
'inverse' => '不以...開頭',
],
'summary' => [
'direct' => ':attribute 以 ":text" 開頭',
'inverse' => ':attribute 不以 ":text" 開頭',
],
],
'form' => [
'text' => [
'label' => '文字',
],
],
],
],
'actions' => [
'add_rule' => [
'label' => '新增規則',
],
'add_rule_group' => [
'label' => '新增規則群組',
],
],
];
@@ -0,0 +1,27 @@
<?php
namespace Filament\QueryBuilder\Constraints;
use Filament\QueryBuilder\Constraints\BooleanConstraint\Operators\IsTrueOperator;
use Filament\QueryBuilder\Constraints\Operators\IsFilledOperator;
use Filament\QueryBuilder\View\QueryBuilderIconAlias;
use Filament\Support\Facades\FilamentIcon;
use Filament\Support\Icons\Heroicon;
class BooleanConstraint extends Constraint
{
use Concerns\CanBeNullable;
protected function setUp(): void
{
parent::setUp();
$this->icon(FilamentIcon::resolve(QueryBuilderIconAlias::CONSTRAINTS_BOOLEAN) ?? Heroicon::CheckCircle);
$this->operators([
IsTrueOperator::class,
IsFilledOperator::make()
->visible(fn (): bool => $this->isNullable()),
]);
}
}
@@ -0,0 +1,45 @@
<?php
namespace Filament\QueryBuilder\Constraints\BooleanConstraint\Operators;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
class IsTrueOperator extends Operator
{
public function getName(): string
{
return 'isTrue';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.boolean.is_true.label.inverse' :
'filament-query-builder::query-builder.operators.boolean.is_true.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.boolean.is_true.summary.inverse' :
'filament-query-builder::query-builder.operators.boolean.is_true.summary.direct',
['attribute' => $this->getConstraint()->getAttributeLabel()],
);
}
/**
* @template TModel of Model
*
* @param Builder<TModel> $query
* @return Builder<TModel>
*/
public function apply(Builder $query, string $qualifiedColumn): Builder
{
return $query->where($qualifiedColumn, ! $this->isInverse());
}
}
@@ -0,0 +1,22 @@
<?php
namespace Filament\QueryBuilder\Constraints\Concerns;
use Closure;
trait CanBeNullable
{
protected bool | Closure $isNullable = false;
public function nullable(bool | Closure $condition = true): static
{
$this->isNullable = $condition;
return $this;
}
public function isNullable(): bool
{
return (bool) $this->evaluate($this->isNullable);
}
}
@@ -0,0 +1,37 @@
<?php
namespace Filament\QueryBuilder\Constraints\Concerns;
use Closure;
trait HasLabel
{
protected string | Closure | null $label = null;
protected bool $shouldTranslateLabel = false;
public function label(string | Closure | null $label): static
{
$this->label = $label;
return $this;
}
public function translateLabel(bool $shouldTranslateLabel = true): static
{
$this->shouldTranslateLabel = $shouldTranslateLabel;
return $this;
}
public function getLabel(): string
{
$label = $this->evaluate($this->label) ?? (string) str($this->getName())
->before('.')
->kebab()
->replace(['-', '_'], ' ')
->ucfirst();
return $this->shouldTranslateLabel ? __($label) : $label;
}
}
@@ -0,0 +1,20 @@
<?php
namespace Filament\QueryBuilder\Constraints\Concerns;
trait HasName
{
protected string $name;
public function name(string $name): static
{
$this->name = $name;
return $this;
}
public function getName(): string
{
return $this->name;
}
}
@@ -0,0 +1,79 @@
<?php
namespace Filament\QueryBuilder\Constraints\Concerns;
use Filament\QueryBuilder\Constraints\Operators\Operator;
trait HasOperators
{
/** @var array<Operator> */
protected array $operators = [];
/**
* @param array<class-string<Operator> | Operator> $operators
*/
public function unshiftOperators(array $operators): static
{
foreach ($operators as $operator) {
if (is_string($operator)) {
$operator = $operator::make();
}
$operatorName = $operator->getName();
if (array_key_exists($operatorName, $this->operators)) {
unset($this->operators[$operatorName]);
}
$this->operators = [
$operatorName => $operator,
...$this->operators,
];
}
return $this;
}
/**
* @param array<class-string<Operator> | Operator> $operators
*/
public function operators(array $operators): static
{
$this->operators = [];
$this->pushOperators($operators);
return $this;
}
/**
* @param array<class-string<Operator> | Operator> $operators
*/
public function pushOperators(array $operators): static
{
foreach ($operators as $operator) {
if (is_string($operator)) {
$operator = $operator::make();
}
$this->operators[$operator->getName()] = $operator;
}
return $this;
}
/**
* @return array<Operator>
*/
public function getOperators(): array
{
return array_filter(
$this->operators,
fn (Operator $operator): bool => $operator->isVisible(),
);
}
public function getOperator(string $name): ?Operator
{
return $this->getOperators()[$name] ?? null;
}
}
@@ -0,0 +1,309 @@
<?php
namespace Filament\QueryBuilder\Constraints;
use Closure;
use Filament\Actions\Action;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\Builder\Block;
use Filament\Forms\Components\Select;
use Filament\Forms\View\FormsIconAlias;
use Filament\Schemas\Components\Actions;
use Filament\Schemas\Components\Flex;
use Filament\Schemas\Components\Grid;
use Filament\Schemas\Components\Group;
use Filament\Schemas\Components\Utilities\Get;
use Filament\Support\Components\Component;
use Filament\Support\Concerns\HasIcon;
use Filament\Support\Enums\Size;
use Filament\Support\Facades\FilamentIcon;
use Filament\Support\Icons\Heroicon;
use Illuminate\Database\Eloquent\Model;
use LogicException;
class Constraint extends Component
{
use Concerns\HasLabel;
use Concerns\HasName;
use Concerns\HasOperators;
use HasIcon;
public const OPERATOR_SELECT_NAME = 'operator';
protected string $evaluationIdentifier = 'constraint';
protected string | Closure | null $attribute = null;
protected string | Closure | null $attributeLabel = null;
protected string | Closure | null $relationship = null;
protected ?Closure $modifyRelationshipQueryUsing = null;
/**
* @var array<string, mixed> | null
*/
protected ?array $settings = null;
protected ?bool $isInverse = null;
/**
* @var ?class-string<Model>
*/
protected ?string $model = null;
final public function __construct(string $name)
{
$this->name($name);
}
public static function make(?string $name = null): static
{
$constraintClass = static::class;
$name ??= static::getDefaultName();
if (blank($name)) {
throw new LogicException("Constraint of class [$constraintClass] must have a unique name, passed to the [make()] method.");
}
$static = app($constraintClass, ['name' => $name]);
$static->configure();
return $static;
}
public static function getDefaultName(): ?string
{
return null;
}
public function getBuilderBlock(): Block
{
return Block::make($this->getName())
->label($this->getLabel())
->icon($this->getIcon())
->schema(function (): array {
$operatorSelectOptions = $this->getOperatorSelectOptions();
return [
Flex::make(function (Flex $component) use ($operatorSelectOptions): array {
/** @var Builder $builder */
$builder = $component->getContainer()->getParentComponent()->getContainer()->getParentComponent();
return [
Grid::make(['@md' => 2, '@xl' => 3, '!@sm' => 2, '!@md' => 3])
->schema([
Select::make(static::OPERATOR_SELECT_NAME)
->label($this->getLabel())
->options($operatorSelectOptions)
->default(array_key_first($operatorSelectOptions))
->live()
->afterStateUpdated(fn (Select $component, Get $get) => $component
->getContainer()
->getComponent('settings', withHidden: true)
->getChildSchema()
->fill($get('settings'))),
Group::make(function (Get $get): array {
$operator = $get(static::OPERATOR_SELECT_NAME);
if (blank($operator)) {
return [];
}
[$operatorName] = $this->parseOperatorString($operator);
$operator = $this->getOperator($operatorName);
if (! $operator) {
return [];
}
$operator->constraint($this);
try {
return $operator->getFormSchema();
} finally {
$operator->constraint(null);
}
})
->dense()
->statePath('settings')
->key('settings')
->columnSpan(['@xl' => 2, '!@md' => 2])
->columns(['@xl' => 2, '!@md' => 2])
->visible(fn (Group $component): bool => filled($component->getChildSchema()->getComponents())),
])
->dense(),
Actions::make([
Action::make($cloneActionName = $builder->getCloneActionName())
->label(__('filament-forms::components.builder.actions.clone.label'))
->icon(FilamentIcon::resolve(FormsIconAlias::COMPONENTS_BUILDER_ACTIONS_CLONE) ?? Heroicon::Square2Stack)
->color('gray')
->iconButton()
->size(Size::Small)
->action($builder->getAction($cloneActionName)->arguments(['item' => (string) str($component->getContainer()->getStatePath(isAbsolute: false))->beforeLast('.data')])->getLivewireClickHandler()),
Action::make($deleteActionName = $builder->getDeleteActionName())
->label(__('filament-forms::components.builder.actions.delete.label'))
->icon(FilamentIcon::resolve(FormsIconAlias::COMPONENTS_BUILDER_ACTIONS_DELETE) ?? Heroicon::Trash)
->color('danger')
->iconButton()
->size(Size::Small)
->action($builder->getAction($deleteActionName)->arguments(['item' => (string) str($component->getContainer()->getStatePath(isAbsolute: false))->beforeLast('.data')])->getLivewireClickHandler()),
])->grow(false),
];
})->gridContainer(),
];
});
}
/**
* @return array<string, string>
*/
public function getOperatorSelectOptions(): array
{
$options = [];
foreach ($this->getOperators() as $operatorName => $operator) {
$operator->constraint($this);
$options[$operatorName] = $operator->inverse(false)->getLabel();
$options["{$operatorName}.inverse"] = $operator->inverse()->getLabel();
$operator->constraint(null);
$operator->inverse(null);
}
return $options;
}
/**
* @return array{string, bool}
*/
public function parseOperatorString(string $operator): array
{
if (str($operator)->endsWith('.inverse')) {
return [(string) str($operator)->beforeLast('.'), true];
}
return [$operator, false];
}
public function attribute(string | Closure | null $name): static
{
$this->attribute = $name;
return $this;
}
public function attributeLabel(string | Closure | null $label): static
{
$this->attributeLabel = $label;
return $this;
}
public function modifyRelationshipQueryUsing(?Closure $modifyQueryUsing): static
{
$this->modifyRelationshipQueryUsing = $modifyQueryUsing;
return $this;
}
public function relationship(string $name, string $titleAttribute, ?Closure $modifyQueryUsing = null): static
{
$this->attribute("{$name}.{$titleAttribute}");
$this->modifyRelationshipQueryUsing($modifyQueryUsing);
return $this;
}
/**
* @param ?class-string<Model> $model
*/
public function model(?string $model): static
{
$this->model = $model;
return $this;
}
/**
* @return ?class-string<Model>
*/
public function getModel(): ?string
{
return $this->model;
}
public function getAttribute(): string
{
return $this->evaluate($this->attribute) ?? $this->getName();
}
public function getAttributeLabel(): string
{
return $this->evaluate($this->attributeLabel) ?? $this->getLabel();
}
public function queriesRelationships(): bool
{
return str($this->getAttribute())->contains('.');
}
public function getRelationshipName(): string
{
return (string) str($this->getAttribute())->beforeLast('.');
}
public function getAttributeForQuery(): string
{
return (string) str($this->getAttribute())->afterLast('.');
}
public function getModifyRelationshipQueryUsing(): ?Closure
{
return $this->modifyRelationshipQueryUsing;
}
/**
* @param array<string, mixed> | null $settings
*/
public function settings(?array $settings): static
{
$this->settings = $settings;
return $this;
}
public function inverse(?bool $condition = true): static
{
$this->isInverse = $condition;
return $this;
}
/**
* @return array<string, mixed> | null
*/
public function getSettings(): ?array
{
return $this->settings;
}
public function isInverse(): ?bool
{
return $this->isInverse;
}
protected function resolveDefaultClosureDependencyForEvaluationByName(string $parameterName): array
{
return match ($parameterName) {
'isInverse' => [$this->isInverse()],
'settings' => [$this->getSettings()],
default => parent::resolveDefaultClosureDependencyForEvaluationByName($parameterName),
};
}
}
@@ -0,0 +1,35 @@
<?php
namespace Filament\QueryBuilder\Constraints;
use Filament\QueryBuilder\Constraints\DateConstraint\Operators\IsAfterOperator;
use Filament\QueryBuilder\Constraints\DateConstraint\Operators\IsBeforeOperator;
use Filament\QueryBuilder\Constraints\DateConstraint\Operators\IsDateOperator;
use Filament\QueryBuilder\Constraints\DateConstraint\Operators\IsMonthOperator;
use Filament\QueryBuilder\Constraints\DateConstraint\Operators\IsYearOperator;
use Filament\QueryBuilder\Constraints\Operators\IsFilledOperator;
use Filament\QueryBuilder\View\QueryBuilderIconAlias;
use Filament\Support\Facades\FilamentIcon;
use Filament\Support\Icons\Heroicon;
class DateConstraint extends Constraint
{
use Concerns\CanBeNullable;
protected function setUp(): void
{
parent::setUp();
$this->icon(FilamentIcon::resolve(QueryBuilderIconAlias::CONSTRAINTS_DATE) ?? Heroicon::Calendar);
$this->operators([
IsAfterOperator::class,
IsBeforeOperator::class,
IsDateOperator::class,
IsMonthOperator::class,
IsYearOperator::class,
IsFilledOperator::make()
->visible(fn (): bool => $this->isNullable()),
]);
}
}
@@ -0,0 +1,58 @@
<?php
namespace Filament\QueryBuilder\Constraints\DateConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\DatePicker;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Carbon;
class IsAfterOperator extends Operator
{
public function getName(): string
{
return 'isAfter';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.date.is_after.label.inverse' :
'filament-query-builder::query-builder.operators.date.is_after.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.date.is_after.summary.inverse' :
'filament-query-builder::query-builder.operators.date.is_after.summary.direct',
[
'attribute' => $this->getConstraint()->getAttributeLabel(),
'date' => Carbon::parse($this->getSettings()['date'])->toFormattedDateString(),
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
DatePicker::make('date')
->label(__('filament-query-builder::query-builder.operators.date.form.date.label'))
->required(),
];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
return $query->whereDate($qualifiedColumn, $this->isInverse() ? '<' : '>=', $this->getSettings()['date']);
}
}
@@ -0,0 +1,58 @@
<?php
namespace Filament\QueryBuilder\Constraints\DateConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\DatePicker;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Carbon;
class IsBeforeOperator extends Operator
{
public function getName(): string
{
return 'isBefore';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.date.is_before.label.inverse' :
'filament-query-builder::query-builder.operators.date.is_before.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.date.is_before.summary.inverse' :
'filament-query-builder::query-builder.operators.date.is_before.summary.direct',
[
'attribute' => $this->getConstraint()->getAttributeLabel(),
'date' => Carbon::parse($this->getSettings()['date'])->toFormattedDateString(),
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
DatePicker::make('date')
->label(__('filament-query-builder::query-builder.operators.date.form.date.label'))
->required(),
];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
return $query->whereDate($qualifiedColumn, $this->isInverse() ? '>' : '<=', $this->getSettings()['date']);
}
}
@@ -0,0 +1,58 @@
<?php
namespace Filament\QueryBuilder\Constraints\DateConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\DatePicker;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Carbon;
class IsDateOperator extends Operator
{
public function getName(): string
{
return 'isDate';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.date.is_date.label.inverse' :
'filament-query-builder::query-builder.operators.date.is_date.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.date.is_date.summary.inverse' :
'filament-query-builder::query-builder.operators.date.is_date.summary.direct',
[
'attribute' => $this->getConstraint()->getAttributeLabel(),
'date' => Carbon::parse($this->getSettings()['date'])->toFormattedDateString(),
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
DatePicker::make('date')
->label(__('filament-query-builder::query-builder.operators.date.form.date.label'))
->required(),
];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
return $query->whereDate($qualifiedColumn, $this->isInverse() ? '!=' : '=', $this->getSettings()['date']);
}
}
@@ -0,0 +1,70 @@
<?php
namespace Filament\QueryBuilder\Constraints\DateConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\Select;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
class IsMonthOperator extends Operator
{
public function getName(): string
{
return 'isMonth';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.date.is_month.label.inverse' :
'filament-query-builder::query-builder.operators.date.is_month.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.date.is_month.summary.inverse' :
'filament-query-builder::query-builder.operators.date.is_month.summary.direct',
[
'attribute' => $this->getConstraint()->getAttributeLabel(),
'month' => $this->getMonths()[$this->getSettings()['month']] ?? null,
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
Select::make('month')
->label(__('filament-query-builder::query-builder.operators.date.form.month.label'))
->options($this->getMonths())
->required(),
];
}
/**
* @return array<string>
*/
protected function getMonths(): array
{
return collect(range(1, 12))
->mapWithKeys(fn (int $month): array => [
$month => now()->setMonth($month)->setDay(1)->getTranslatedMonthName(),
])
->all();
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
return $query->whereMonth($qualifiedColumn, $this->isInverse() ? '!=' : '=', $this->getSettings()['month']);
}
}
@@ -0,0 +1,58 @@
<?php
namespace Filament\QueryBuilder\Constraints\DateConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\TextInput;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
class IsYearOperator extends Operator
{
public function getName(): string
{
return 'isYear';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.date.is_year.label.inverse' :
'filament-query-builder::query-builder.operators.date.is_year.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.date.is_year.summary.inverse' :
'filament-query-builder::query-builder.operators.date.is_year.summary.direct',
[
'attribute' => $this->getConstraint()->getAttributeLabel(),
'year' => $this->getSettings()['year'],
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
TextInput::make('year')
->label(__('filament-query-builder::query-builder.operators.date.form.year.label'))
->integer()
->required(),
];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
return $query->whereYear($qualifiedColumn, $this->isInverse() ? '!=' : '=', $this->getSettings()['year']);
}
}
@@ -0,0 +1,63 @@
<?php
namespace Filament\QueryBuilder\Constraints;
use Closure;
use Filament\QueryBuilder\Constraints\NumberConstraint\Operators\EqualsOperator;
use Filament\QueryBuilder\Constraints\NumberConstraint\Operators\IsMaxOperator;
use Filament\QueryBuilder\Constraints\NumberConstraint\Operators\IsMinOperator;
use Filament\QueryBuilder\Constraints\Operators\IsFilledOperator;
use Filament\QueryBuilder\View\QueryBuilderIconAlias;
use Filament\Support\Facades\FilamentIcon;
use Filament\Support\Icons\Heroicon;
class NumberConstraint extends Constraint
{
use Concerns\CanBeNullable;
/**
* @var array<string, string>
*/
protected array $existingAggregateAliases = [];
protected bool | Closure $isInteger = false;
protected function setUp(): void
{
parent::setUp();
$this->icon(FilamentIcon::resolve(QueryBuilderIconAlias::CONSTRAINTS_NUMBER) ?? Heroicon::Variable);
$this->operators([
IsMinOperator::class,
IsMaxOperator::class,
EqualsOperator::class,
IsFilledOperator::make()
->visible(fn (): bool => $this->isNullable()),
]);
}
public function integer(bool | Closure $condition = true): static
{
$this->isInteger = $condition;
return $this;
}
public function isInteger(): bool
{
return (bool) $this->evaluate($this->isInteger);
}
public function reportAggregateAlias(string $alias): static
{
$this->existingAggregateAliases[$alias] = $alias;
return $this;
}
public function isExistingAggregateAlias(string $alias): bool
{
return array_key_exists($alias, $this->existingAggregateAliases);
}
}
@@ -0,0 +1,143 @@
<?php
namespace Filament\QueryBuilder\Constraints\NumberConstraint\Operators\Concerns;
use Filament\Forms\Components\Select;
use Filament\QueryBuilder\Constraints\NumberConstraint;
use Illuminate\Database\Connection;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasOneOrMany;
use Illuminate\Database\Eloquent\Relations\Relation;
use LogicException;
trait CanAggregateRelationships
{
public static function getAggregateSelectName(): string
{
return 'aggregate';
}
public static function getAggregateAverageKey(): string
{
return 'avg';
}
public static function getAggregateMaxKey(): string
{
return 'max';
}
public static function getAggregateMinKey(): string
{
return 'min';
}
public static function getAggregateSumKey(): string
{
return 'sum';
}
public function queriesRelationshipsUsingSubSelect(): bool
{
return parent::queriesRelationshipsUsingSubSelect() && blank($this->getSettings()[static::getAggregateSelectName()]);
}
protected function getNumericCastType(Builder $query): string
{
/** @var Connection $databaseConnection */
$databaseConnection = $query->getConnection();
$driver = $databaseConnection->getDriverName();
return match ($driver) {
'sqlite' => 'real',
'pgsql' => 'numeric',
default => 'decimal(10,2)',
};
}
protected function applyAggregateComparison(Builder $query, string $operator, float $value): Builder
{
$relationshipName = $this->getConstraint()->getRelationshipName();
$attributeForQuery = $this->getConstraint()->getAttributeForQuery();
$aggregate = $this->getAggregate();
/** @var Relation $relationship */
$relationship = $query->getModel()->{$relationshipName}();
$relatedModel = $relationship->getModel();
$attributeForQuery = $relatedModel->qualifyColumn($attributeForQuery);
$castType = $this->getNumericCastType($query);
if ($relationship instanceof BelongsToMany) {
$pivotTable = $relationship->getTable();
$foreignPivotKey = $relationship->getQualifiedForeignPivotKeyName();
$relatedPivotKey = $relationship->getQualifiedRelatedPivotKeyName();
$parentKey = $relationship->getQualifiedParentKeyName();
$relatedKey = $relationship->getQualifiedRelatedKeyName();
$subQuery = $relatedModel->query()
->selectRaw("cast({$aggregate}({$attributeForQuery}) as {$castType})")
->join($pivotTable, $relatedKey, '=', $relatedPivotKey)
->whereColumn($foreignPivotKey, $parentKey);
return $query->whereRaw("({$subQuery->toSql()}) {$operator} ?", [...$subQuery->getBindings(), $value]);
}
if ($relationship instanceof HasOneOrMany) {
$foreignKeyName = $relationship->getQualifiedForeignKeyName();
$parentKeyName = $relationship->getQualifiedParentKeyName();
$subQuery = $relatedModel->query()
->selectRaw("cast({$aggregate}({$attributeForQuery}) as {$castType})")
->whereColumn($foreignKeyName, $parentKeyName);
return $query->whereRaw("({$subQuery->toSql()}) {$operator} ?", [...$subQuery->getBindings(), $value]);
}
throw new LogicException('Relationship type [' . get_class($relationship) . '] is not supported for aggregate queries.');
}
protected function getAggregateSelect(): Select
{
return Select::make(static::getAggregateSelectName())
->label(__('filament-query-builder::query-builder.operators.number.form.aggregate.label'))
->options([
static::getAggregateSumKey() => __('filament-query-builder::query-builder.operators.number.aggregates.sum.label'),
static::getAggregateAverageKey() => __('filament-query-builder::query-builder.operators.number.aggregates.average.label'),
static::getAggregateMinKey() => __('filament-query-builder::query-builder.operators.number.aggregates.max.label'),
static::getAggregateMaxKey() => __('filament-query-builder::query-builder.operators.number.aggregates.min.label'),
])
->visible($this->getConstraint()->queriesRelationships());
}
protected function getAggregate(): ?string
{
return $this->getSettings()[static::getAggregateSelectName()] ?? null;
}
protected function getAttributeLabel(): string
{
$attributeLabel = $this->getConstraint()->getAttributeLabel();
return __(match ($this->getAggregate()) {
static::getAggregateAverageKey() => 'filament-query-builder::query-builder.operators.number.aggregates.average.summary',
static::getAggregateMaxKey() => 'filament-query-builder::query-builder.operators.number.aggregates.max.summary',
static::getAggregateMinKey() => 'filament-query-builder::query-builder.operators.number.aggregates.min.summary',
static::getAggregateSumKey() => 'filament-query-builder::query-builder.operators.number.aggregates.sum.summary',
default => $attributeLabel,
}, ['attribute' => $attributeLabel]);
}
public function getConstraint(): ?NumberConstraint
{
$constraint = parent::getConstraint();
if (! ($constraint instanceof NumberConstraint)) {
throw new LogicException('Constraint must be an instance of [' . NumberConstraint::class . '].');
}
return $constraint;
}
}
@@ -0,0 +1,70 @@
<?php
namespace Filament\QueryBuilder\Constraints\NumberConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\TextInput;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Number;
class EqualsOperator extends Operator
{
use Concerns\CanAggregateRelationships;
public function getName(): string
{
return 'equals';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.number.equals.label.inverse' :
'filament-query-builder::query-builder.operators.number.equals.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.number.equals.summary.inverse' :
'filament-query-builder::query-builder.operators.number.equals.summary.direct',
[
'attribute' => $this->getAttributeLabel(),
'number' => Number::format($this->getSettings()['number']),
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
TextInput::make('number')
->label(__('filament-query-builder::query-builder.operators.number.form.number.label'))
->numeric()
->integer($this->getConstraint()->isInteger())
->required(),
$this->getAggregateSelect(),
];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
if (filled($this->getAggregate())) {
$operator = $this->isInverse() ? '!=' : '=';
$value = floatval($this->getSettings()['number']);
return $this->applyAggregateComparison($query, $operator, $value);
}
return $query->where($qualifiedColumn, $this->isInverse() ? '!=' : '=', floatval($this->getSettings()['number']));
}
}
@@ -0,0 +1,70 @@
<?php
namespace Filament\QueryBuilder\Constraints\NumberConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\TextInput;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Number;
class IsMaxOperator extends Operator
{
use Concerns\CanAggregateRelationships;
public function getName(): string
{
return 'isMax';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.number.is_max.label.inverse' :
'filament-query-builder::query-builder.operators.number.is_max.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.number.is_max.summary.inverse' :
'filament-query-builder::query-builder.operators.number.is_max.summary.direct',
[
'attribute' => $this->getAttributeLabel(),
'number' => Number::format($this->getSettings()['number']),
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
TextInput::make('number')
->label(__('filament-query-builder::query-builder.operators.number.form.number.label'))
->numeric()
->integer($this->getConstraint()->isInteger())
->required(),
$this->getAggregateSelect(),
];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
if (filled($this->getAggregate())) {
$operator = $this->isInverse() ? '>' : '<=';
$value = floatval($this->getSettings()['number']);
return $this->applyAggregateComparison($query, $operator, $value);
}
return $query->where($qualifiedColumn, $this->isInverse() ? '>' : '<=', floatval($this->getSettings()['number']));
}
}
@@ -0,0 +1,70 @@
<?php
namespace Filament\QueryBuilder\Constraints\NumberConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\TextInput;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Number;
class IsMinOperator extends Operator
{
use Concerns\CanAggregateRelationships;
public function getName(): string
{
return 'isMin';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.number.is_min.label.inverse' :
'filament-query-builder::query-builder.operators.number.is_min.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.number.is_min.summary.inverse' :
'filament-query-builder::query-builder.operators.number.is_min.summary.direct',
[
'attribute' => $this->getAttributeLabel(),
'number' => Number::format($this->getSettings()['number']),
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
TextInput::make('number')
->label(__('filament-query-builder::query-builder.operators.number.form.number.label'))
->numeric()
->integer($this->getConstraint()->isInteger())
->required(),
$this->getAggregateSelect(),
];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
if (filled($this->getAggregate())) {
$operator = $this->isInverse() ? '<' : '>=';
$value = floatval($this->getSettings()['number']);
return $this->applyAggregateComparison($query, $operator, $value);
}
return $query->where($qualifiedColumn, $this->isInverse() ? '<' : '>=', floatval($this->getSettings()['number']));
}
}
@@ -0,0 +1,40 @@
<?php
namespace Filament\QueryBuilder\Constraints\Operators\Concerns;
use Closure;
trait CanBeHidden
{
protected bool | Closure $isHidden = false;
protected bool | Closure $isVisible = true;
public function hidden(bool | Closure $condition = true): static
{
$this->isHidden = $condition;
return $this;
}
public function visible(bool | Closure $condition = true): static
{
$this->isVisible = $condition;
return $this;
}
public function isHidden(): bool
{
if ($this->evaluate($this->isHidden)) {
return true;
}
return ! $this->evaluate($this->isVisible);
}
public function isVisible(): bool
{
return ! $this->isHidden();
}
}
@@ -0,0 +1,59 @@
<?php
namespace Filament\QueryBuilder\Constraints\Operators;
use Illuminate\Database\Connection;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Query\Expression;
use Illuminate\Support\Str;
class IsFilledOperator extends Operator
{
public function getName(): string
{
return 'isFilled';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.is_filled.label.inverse' :
'filament-query-builder::query-builder.operators.is_filled.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.is_filled.summary.inverse' :
'filament-query-builder::query-builder.operators.is_filled.summary.direct',
['attribute' => $this->getConstraint()->getAttributeLabel()],
);
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
$qualifiedStringColumn = $qualifiedColumn;
/** @var Connection $databaseConnection */
$databaseConnection = $query->getConnection();
$isPostgres = $databaseConnection->getDriverName() === 'pgsql';
if ((Str::lower($qualifiedColumn) !== $qualifiedColumn) && $isPostgres) {
$qualifiedColumn = (string) str($qualifiedColumn)->wrap('"');
}
if ($isPostgres) {
$qualifiedStringColumn = new Expression("{$qualifiedColumn}::text");
}
return $query->where(
fn (Builder $query) => $query
->{$this->isInverse() ? 'whereNull' : 'whereNotNull'}($qualifiedColumn)
->{$this->isInverse() ? 'orWhere' : 'whereNot'}($qualifiedStringColumn, ''),
);
}
}
@@ -0,0 +1,249 @@
<?php
namespace Filament\QueryBuilder\Constraints\Operators;
use Closure;
use Filament\QueryBuilder\Constraints\Constraint;
use Filament\QueryBuilder\Constraints\Operators\Concerns\CanBeHidden;
use Filament\Support\Components\Component;
use Illuminate\Database\Eloquent\Builder;
class Operator extends Component
{
use CanBeHidden;
protected string $evaluationIdentifier = 'operator';
protected ?Constraint $constraint = null;
/**
* @var array<string, mixed> | null
*/
protected ?array $settings = null;
protected ?bool $isInverse = null;
protected ?string $name = null;
protected string | Closure | null $label = null;
protected string | Closure | null $summary = null;
protected ?Closure $modifyQueryUsing = null;
protected ?Closure $modifyBaseQueryUsing = null;
final public function __construct(?string $name = null)
{
$this->name($name);
}
public static function make(?string $name = null): static
{
$static = app(static::class, ['name' => $name]);
$static->configure();
return $static;
}
public function name(?string $name): static
{
$this->name = $name;
return $this;
}
public function label(string | Closure | null $label): static
{
$this->label = $label;
return $this;
}
public function summary(string | Closure | null $summary): static
{
$this->summary = $summary;
return $this;
}
public function query(?Closure $callback): static
{
$this->modifyQueryUsing($callback);
return $this;
}
public function baseQuery(?Closure $callback): static
{
$this->modifyBaseQueryUsing($callback);
return $this;
}
public function modifyQueryUsing(?Closure $callback): static
{
$this->modifyQueryUsing = $callback;
return $this;
}
public function modifyBaseQueryUsing(?Closure $callback): static
{
$this->modifyBaseQueryUsing = $callback;
return $this;
}
public function getName(): string
{
return $this->name;
}
public function getLabel(): string
{
return $this->evaluate($this->label) ?? (string) str($this->getName())
->before('.')
->kebab()
->replace(['-', '_'], ' ')
->ucfirst();
}
public function getSummary(): string
{
return $this->evaluate($this->summary);
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
return $query;
}
public function applyToBaseQuery(Builder $query): Builder
{
if ($this->hasBaseQueryModificationCallback()) {
return $this->evaluate($this->modifyBaseQueryUsing, [
'query' => $query,
]) ?? $query;
}
if ($this->queriesRelationshipsUsingSubSelect()) {
return $query->whereHas(
$this->getConstraint()->getRelationshipName(),
function (Builder $query): Builder {
$modifyRelationshipQueryUsing = $this->getConstraint()->getModifyRelationshipQueryUsing();
if ($modifyRelationshipQueryUsing) {
$query = $this->evaluate($modifyRelationshipQueryUsing, [
'query' => $query,
]) ?? $query;
}
$qualifiedColumn = $query->qualifyColumn($this->getConstraint()->getAttributeForQuery());
if ($this->hasQueryModificationCallback()) {
return $this->evaluate($this->modifyQueryUsing, [
'column' => $qualifiedColumn,
'qualifiedColumn' => $qualifiedColumn,
'query' => $query,
]) ?? $query;
}
return $this->apply($query, $qualifiedColumn);
},
);
}
$qualifiedColumn = $query->qualifyColumn($this->getConstraint()->getAttributeForQuery());
if ($this->hasQueryModificationCallback()) {
return $this->evaluate($this->modifyQueryUsing, [
'column' => $qualifiedColumn,
'qualifiedColumn' => $qualifiedColumn,
'query' => $query,
]) ?? $query;
}
return $this->apply($query, $qualifiedColumn);
}
public function applyToBaseFilterQuery(Builder $query): Builder
{
return $query;
}
/**
* @return array<\Filament\Schemas\Components\Component>
*/
public function getFormSchema(): array
{
return [];
}
public function constraint(?Constraint $constraint): static
{
$this->constraint = $constraint;
return $this;
}
/**
* @param array<string, mixed> | null $settings
*/
public function settings(?array $settings): static
{
$this->settings = $settings;
return $this;
}
public function inverse(?bool $condition = true): static
{
$this->isInverse = $condition;
return $this;
}
public function getConstraint(): ?Constraint
{
return $this->constraint;
}
/**
* @return array<string, mixed> | null
*/
public function getSettings(): ?array
{
return $this->settings;
}
public function isInverse(): ?bool
{
return $this->isInverse;
}
public function queriesRelationshipsUsingSubSelect(): bool
{
return $this->getConstraint()->queriesRelationships();
}
protected function hasQueryModificationCallback(): bool
{
return $this->modifyQueryUsing instanceof Closure;
}
protected function hasBaseQueryModificationCallback(): bool
{
return $this->modifyBaseQueryUsing instanceof Closure;
}
protected function resolveDefaultClosureDependencyForEvaluationByName(string $parameterName): array
{
return match ($parameterName) {
'constraint' => [$this->getConstraint()],
'isInverse' => [$this->isInverse()],
'settings' => [$this->getSettings()],
default => parent::resolveDefaultClosureDependencyForEvaluationByName($parameterName),
};
}
}
@@ -0,0 +1,69 @@
<?php
namespace Filament\QueryBuilder\Constraints;
use Closure;
use Filament\QueryBuilder\Constraints\RelationshipConstraint\Operators\EqualsOperator;
use Filament\QueryBuilder\Constraints\RelationshipConstraint\Operators\HasMaxOperator;
use Filament\QueryBuilder\Constraints\RelationshipConstraint\Operators\HasMinOperator;
use Filament\QueryBuilder\Constraints\RelationshipConstraint\Operators\IsEmptyOperator;
use Filament\QueryBuilder\Constraints\RelationshipConstraint\Operators\IsRelatedToOperator;
use Filament\QueryBuilder\View\QueryBuilderIconAlias;
use Filament\Support\Facades\FilamentIcon;
use Filament\Support\Icons\Heroicon;
class RelationshipConstraint extends Constraint
{
protected bool | Closure $isMultiple = false;
protected bool | Closure | null $canBeEmpty = false;
protected function setUp(): void
{
parent::setUp();
$this->icon(FilamentIcon::resolve(QueryBuilderIconAlias::CONSTRAINTS_RELATIONSHIP) ?? Heroicon::ArrowsPointingOut);
$this->operators([
HasMinOperator::make()
->visible(fn (): bool => $this->isMultiple()),
HasMaxOperator::make()
->visible(fn (): bool => $this->isMultiple()),
EqualsOperator::make()
->visible(fn (): bool => $this->isMultiple()),
IsEmptyOperator::make()
->visible(fn (): bool => $this->canBeEmpty()),
]);
}
public function selectable(IsRelatedToOperator $operator): static
{
$this->unshiftOperators([$operator]);
return $this;
}
public function multiple(bool | Closure $condition = true): static
{
$this->isMultiple = $condition;
return $this;
}
public function isMultiple(): bool
{
return (bool) $this->evaluate($this->isMultiple);
}
public function emptyable(bool | Closure | null $condition = true): static
{
$this->canBeEmpty = $condition;
return $this;
}
public function canBeEmpty(): bool
{
return $this->evaluate($this->canBeEmpty) ?? $this->isMultiple();
}
}
@@ -0,0 +1,59 @@
<?php
namespace Filament\QueryBuilder\Constraints\RelationshipConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\TextInput;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
class EqualsOperator extends Operator
{
public function getName(): string
{
return 'equals';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.equals.label.inverse' :
'filament-query-builder::query-builder.operators.relationship.equals.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.equals.summary.inverse' :
'filament-query-builder::query-builder.operators.relationship.equals.summary.direct',
[
'relationship' => $this->getConstraint()->getAttributeLabel(),
'count' => $this->getSettings()['count'],
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
TextInput::make('count')
->label(__('filament-query-builder::query-builder.operators.relationship.form.count.label'))
->numeric()
->required()
->minValue(1),
];
}
public function applyToBaseQuery(Builder $query): Builder
{
return $query->has($this->getConstraint()->getRelationshipName(), $this->isInverse() ? '!=' : '=', intval($this->getSettings()['count']));
}
}
@@ -0,0 +1,59 @@
<?php
namespace Filament\QueryBuilder\Constraints\RelationshipConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\TextInput;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
class HasMaxOperator extends Operator
{
public function getName(): string
{
return 'hasMax';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.has_max.label.inverse' :
'filament-query-builder::query-builder.operators.relationship.has_max.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.has_max.summary.inverse' :
'filament-query-builder::query-builder.operators.relationship.has_max.summary.direct',
[
'relationship' => $this->getConstraint()->getAttributeLabel(),
'count' => $this->getSettings()['count'],
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
TextInput::make('count')
->label(__('filament-query-builder::query-builder.operators.relationship.form.count.label'))
->numeric()
->required()
->minValue(1),
];
}
public function applyToBaseQuery(Builder $query): Builder
{
return $query->has($this->getConstraint()->getRelationshipName(), $this->isInverse() ? '>' : '<=', intval($this->getSettings()['count']));
}
}
@@ -0,0 +1,59 @@
<?php
namespace Filament\QueryBuilder\Constraints\RelationshipConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\TextInput;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
class HasMinOperator extends Operator
{
public function getName(): string
{
return 'hasMin';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.has_min.label.inverse' :
'filament-query-builder::query-builder.operators.relationship.has_min.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.has_min.summary.inverse' :
'filament-query-builder::query-builder.operators.relationship.has_min.summary.direct',
[
'relationship' => $this->getConstraint()->getAttributeLabel(),
'count' => $this->getSettings()['count'],
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
TextInput::make('count')
->label(__('filament-query-builder::query-builder.operators.relationship.form.count.label'))
->numeric()
->required()
->minValue(1),
];
}
public function applyToBaseQuery(Builder $query): Builder
{
return $query->has($this->getConstraint()->getRelationshipName(), $this->isInverse() ? '<' : '>=', intval($this->getSettings()['count']));
}
}
@@ -0,0 +1,38 @@
<?php
namespace Filament\QueryBuilder\Constraints\RelationshipConstraint\Operators;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Illuminate\Database\Eloquent\Builder;
class IsEmptyOperator extends Operator
{
public function getName(): string
{
return 'isEmpty';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.is_empty.label.inverse' :
'filament-query-builder::query-builder.operators.relationship.is_empty.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.is_empty.summary.inverse' :
'filament-query-builder::query-builder.operators.relationship.is_empty.summary.direct',
['relationship' => $this->getConstraint()->getAttributeLabel()],
);
}
public function applyToBaseQuery(Builder $query): Builder
{
return $query->{$this->isInverse() ? 'has' : 'doesntHave'}($this->getConstraint()->getRelationshipName());
}
}
@@ -0,0 +1,345 @@
<?php
namespace Filament\QueryBuilder\Constraints\RelationshipConstraint\Operators;
use Closure;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\Select;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\QueryBuilder\Constraints\RelationshipConstraint;
use Filament\Schemas\Components\Component;
use Filament\Support\Services\RelationshipJoiner;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Relations\Relation;
use Illuminate\Support\Arr;
use LogicException;
use Znck\Eloquent\Relations\BelongsToThrough;
class IsRelatedToOperator extends Operator
{
protected string | Closure | null $titleAttribute = null;
protected ?Closure $modifyRelationshipQueryUsing = null;
protected bool | Closure $isPreloaded = false;
protected bool | Closure $isMultiple = false;
protected bool | Closure $isNative = true;
protected bool | Closure $isStatic = false;
protected bool | Closure $isSearchable = false;
protected int | Closure $optionsLimit = 50;
protected bool | Closure | null $isSearchForcedCaseInsensitive = null;
protected ?Closure $getOptionLabelUsing = null;
protected ?Closure $getOptionLabelsUsing = null;
protected ?Closure $getSearchResultsUsing = null;
protected ?Closure $getOptionLabelFromRecordUsing = null;
public function getName(): string
{
return 'isRelatedTo';
}
public function getLabel(): string
{
return __(
$this->getConstraint()->isMultiple() ?
(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.is_related_to.label.multiple.inverse' :
'filament-query-builder::query-builder.operators.relationship.is_related_to.label.multiple.direct'
) :
(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.is_related_to.label.single.inverse' :
'filament-query-builder::query-builder.operators.relationship.is_related_to.label.single.direct'
),
);
}
public function getSummary(): string
{
$constraint = $this->getConstraint();
$values = Arr::wrap($this->getSettings()[$constraint->isMultiple() ? 'values' : 'value']);
$relationshipQuery = $this->getRelationshipQuery();
$values = $relationshipQuery
->when(
$this->getRelationship() instanceof BelongsToThrough,
fn (Builder $query) => $query->distinct(),
)
->whereKey($values)
->pluck($relationshipQuery->qualifyColumn($this->getTitleAttribute()))
->join(glue: __('filament-query-builder::query-builder.operators.relationship.is_related_to.summary.values_glue.0'), finalGlue: __('filament-query-builder::query-builder.operators.relationship.is_related_to.summary.values_glue.final'));
return __(
$this->getConstraint()->isMultiple() ?
(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.is_related_to.summary.multiple.inverse' :
'filament-query-builder::query-builder.operators.relationship.is_related_to.summary.multiple.direct'
) :
(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.relationship.is_related_to.summary.single.inverse' :
'filament-query-builder::query-builder.operators.relationship.is_related_to.summary.single.direct'
),
[
'relationship' => $constraint->getAttributeLabel(),
'values' => $values,
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
$constraint = $this->getConstraint();
$field = Select::make($constraint->isMultiple() ? 'values' : 'value')
->label(__($constraint->isMultiple() ? 'filament-query-builder::query-builder.operators.relationship.is_related_to.form.values.label' : 'filament-query-builder::query-builder.operators.relationship.is_related_to.form.value.label'))
->multiple($this->isMultiple())
->searchable($this->isSearchable())
->preload($this->isPreloaded())
->native($this->isNative())
->optionsLimit($this->getOptionsLimit())
->required()
->model($constraint->getModel())
->relationship(
$constraint->getRelationshipName(),
$this->getTitleAttribute(),
$this->modifyRelationshipQueryUsing,
)
->forceSearchCaseInsensitive($this->isSearchForcedCaseInsensitive())
->columnSpanFull();
if ($this->getOptionLabelUsing) {
$field->getOptionLabelUsing($this->getOptionLabelUsing);
}
if ($this->getOptionLabelsUsing) {
$field->getOptionLabelsUsing($this->getOptionLabelsUsing);
}
if ($this->getOptionLabelFromRecordUsing) {
$field->getOptionLabelFromRecordUsing($this->getOptionLabelFromRecordUsing);
}
if ($this->getSearchResultsUsing) {
$field->getSearchResultsUsing($this->getSearchResultsUsing);
}
return [$field];
}
public function titleAttribute(string | Closure | null $attribute): static
{
$this->titleAttribute = $attribute;
return $this;
}
public function modifyRelationshipQueryUsing(?Closure $modifyQueryUsing = null): static
{
$this->modifyRelationshipQueryUsing = $modifyQueryUsing;
return $this;
}
public function getOptionLabelUsing(?Closure $callback): static
{
$this->getOptionLabelUsing = $callback;
return $this;
}
public function getOptionLabelsUsing(?Closure $callback): static
{
$this->getOptionLabelsUsing = $callback;
return $this;
}
public function getSearchResultsUsing(?Closure $callback): static
{
$this->getSearchResultsUsing = $callback;
return $this;
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
$constraint = $this->getConstraint();
$value = $this->getSettings()[$constraint->isMultiple() ? 'values' : 'value'];
return $query->{$this->isInverse() ? 'whereDoesntHave' : 'whereHas'}(
$constraint->getRelationshipName(),
fn (Builder $query) => $query->whereKey($value),
);
}
public function getConstraint(): ?RelationshipConstraint
{
$constraint = parent::getConstraint();
if (! $constraint) {
return null;
}
if (! ($constraint instanceof RelationshipConstraint)) {
throw new LogicException('Is operator can only be used with relationship constraints.');
}
return $constraint;
}
public function forceSearchCaseInsensitive(bool | Closure | null $condition = true): static
{
$this->isSearchForcedCaseInsensitive = $condition;
return $this;
}
public function isSearchForcedCaseInsensitive(): ?bool
{
return $this->evaluate($this->isSearchForcedCaseInsensitive);
}
public function getModifyRelationshipQueryUsing(): ?Closure
{
return $this->modifyRelationshipQueryUsing;
}
public function getRelationship(): Relation | Builder
{
$constraint = $this->getConstraint();
$record = app($constraint->getModel());
$relationship = null;
foreach (explode('.', $constraint->getRelationshipName()) as $nestedRelationshipName) {
if ($record->hasAttribute($nestedRelationshipName)) {
$relationship = null;
break;
}
if (! $record->isRelation($nestedRelationshipName)) {
$relationship = null;
break;
}
$relationship = $record->{$nestedRelationshipName}();
$record = $relationship->getRelated();
}
return $relationship;
}
public function getRelationshipQuery(): ?Builder
{
$relationship = Relation::noConstraints(fn () => $this->getRelationship());
$relationshipQuery = app(RelationshipJoiner::class)->prepareQueryForNoConstraints($relationship);
if ($this->getModifyRelationshipQueryUsing()) {
$relationshipQuery = $this->evaluate($this->modifyRelationshipQueryUsing, [
'query' => $relationshipQuery,
]) ?? $relationshipQuery;
}
if (empty($relationshipQuery->getQuery()->orders)) {
$relationshipQuery->orderBy($relationshipQuery->qualifyColumn($this->getTitleAttribute()));
}
return $relationshipQuery;
}
public function getTitleAttribute(): ?string
{
return $this->evaluate($this->titleAttribute);
}
public function multiple(bool | Closure $condition = true): static
{
$this->isMultiple = $condition;
return $this;
}
public function isMultiple(): bool
{
return (bool) $this->evaluate($this->isMultiple);
}
public function searchable(bool | Closure $condition = true): static
{
$this->isSearchable = $condition;
return $this;
}
public function isSearchable(): bool
{
return (bool) $this->evaluate($this->isSearchable);
}
public function optionsLimit(int | Closure $limit): static
{
$this->optionsLimit = $limit;
return $this;
}
public function getOptionsLimit(): int
{
return $this->evaluate($this->optionsLimit);
}
public function native(bool | Closure $condition = true): static
{
$this->isNative = $condition;
return $this;
}
public function isNative(): bool
{
return (bool) $this->evaluate($this->isNative);
}
public function getOptionLabelFromRecordUsing(?Closure $callback): static
{
$this->getOptionLabelFromRecordUsing = $callback;
return $this;
}
public function preload(bool | Closure $condition = true): static
{
$this->isPreloaded = $condition;
return $this;
}
public function isPreloaded(): bool
{
return (bool) $this->evaluate($this->isPreloaded);
}
}
@@ -0,0 +1,191 @@
<?php
namespace Filament\QueryBuilder\Constraints;
use Closure;
use Filament\QueryBuilder\Constraints\Operators\IsFilledOperator;
use Filament\QueryBuilder\Constraints\SelectConstraint\Operators\IsOperator;
use Filament\QueryBuilder\View\QueryBuilderIconAlias;
use Filament\Support\Contracts\HasLabel as LabelInterface;
use Filament\Support\Facades\FilamentIcon;
use Filament\Support\Icons\Heroicon;
use Illuminate\Contracts\Support\Arrayable;
use UnitEnum;
class SelectConstraint extends Constraint
{
use Concerns\CanBeNullable;
protected bool | Closure $isMultiple = false;
protected bool | Closure $isNative = true;
protected bool | Closure $isSearchable = false;
protected int | Closure $optionsLimit = 50;
protected ?Closure $getOptionLabelFromRecordUsing = null;
/**
* @var array<string | array<string>> | Arrayable | class-string | Closure | null
*/
protected array | Arrayable | string | Closure | null $options = null;
protected ?Closure $getOptionLabelUsing = null;
protected ?Closure $getOptionLabelsUsing = null;
protected ?Closure $getSearchResultsUsing = null;
protected function setUp(): void
{
parent::setUp();
$this->icon(FilamentIcon::resolve(QueryBuilderIconAlias::CONSTRAINTS_SELECT) ?? Heroicon::ChevronUpDown);
$this->operators([
IsOperator::class,
IsFilledOperator::make()
->visible(fn (): bool => $this->isNullable()),
]);
}
public function multiple(bool | Closure $condition = true): static
{
$this->isMultiple = $condition;
return $this;
}
public function searchable(bool | Closure $condition = true): static
{
$this->isSearchable = $condition;
return $this;
}
public function isMultiple(): bool
{
return (bool) $this->evaluate($this->isMultiple);
}
public function isSearchable(): bool
{
return (bool) $this->evaluate($this->isSearchable);
}
public function optionsLimit(int | Closure $limit): static
{
$this->optionsLimit = $limit;
return $this;
}
public function getOptionsLimit(): int
{
return $this->evaluate($this->optionsLimit);
}
public function native(bool | Closure $condition = true): static
{
$this->isNative = $condition;
return $this;
}
public function isNative(): bool
{
return (bool) $this->evaluate($this->isNative);
}
public function getOptionLabelFromRecordUsing(?Closure $callback): static
{
$this->getOptionLabelFromRecordUsing = $callback;
return $this;
}
public function getOptionLabelFromRecordUsingCallback(): ?Closure
{
return $this->getOptionLabelFromRecordUsing;
}
/**
* @param array<string | array<string>> | Arrayable | class-string | Closure | null $options
*/
public function options(array | Arrayable | string | Closure | null $options): static
{
$this->options = $options;
return $this;
}
/**
* @return array<string | array<string>>
*/
public function getOptions(): array
{
$options = $this->evaluate($this->options);
if (
is_string($options) &&
enum_exists($enum = $options)
) {
if (is_a($enum, LabelInterface::class, allow_string: true)) {
return array_reduce($enum::cases(), function (array $carry, LabelInterface & UnitEnum $case): array {
$carry[$case->value ?? $case->name] = $case->getLabel() ?? $case->name;
return $carry;
}, []);
}
return array_reduce($enum::cases(), function (array $carry, UnitEnum $case): array {
$carry[$case->value ?? $case->name] = $case->name;
return $carry;
}, []);
}
if ($options instanceof Arrayable) {
$options = $options->toArray();
}
return $options ?? [];
}
public function getOptionLabelUsing(?Closure $callback): static
{
$this->getOptionLabelUsing = $callback;
return $this;
}
public function getOptionLabelsUsing(?Closure $callback): static
{
$this->getOptionLabelsUsing = $callback;
return $this;
}
public function getSearchResultsUsing(?Closure $callback): static
{
$this->getSearchResultsUsing = $callback;
return $this;
}
public function getOptionLabelUsingCallback(): ?Closure
{
return $this->getOptionLabelUsing;
}
public function getOptionLabelsUsingCallback(): ?Closure
{
return $this->getOptionLabelsUsing;
}
public function getSearchResultsUsingCallback(): ?Closure
{
return $this->getSearchResultsUsing;
}
}
@@ -0,0 +1,122 @@
<?php
namespace Filament\QueryBuilder\Constraints\SelectConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\Select;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\QueryBuilder\Constraints\SelectConstraint;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Arr;
use LogicException;
class IsOperator extends Operator
{
public function getName(): string
{
return 'is';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.select.is.label.inverse' :
'filament-query-builder::query-builder.operators.select.is.label.direct',
);
}
public function getSummary(): string
{
$constraint = $this->getConstraint();
$settings = $this->getSettings();
if ($constraint->isMultiple()) {
$getLabels = $constraint->getOptionLabelsUsingCallback();
$valuesKey = 'values';
} else {
$getLabels = $constraint->getOptionLabelUsingCallback();
$valuesKey = 'value';
}
$labels = $getLabels ?
Arr::wrap($this->evaluate($getLabels, [$valuesKey => $settings[$valuesKey]])) :
Arr::only($constraint->getOptions(), $settings[$valuesKey]);
$joinedValues = Arr::join(
$labels,
glue: __('filament-query-builder::query-builder.operators.select.is.summary.values_glue.0'),
finalGlue: __('filament-query-builder::query-builder.operators.select.is.summary.values_glue.final'),
);
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.select.is.summary.inverse' :
'filament-query-builder::query-builder.operators.select.is.summary.direct',
[
'attribute' => $constraint->getAttributeLabel(),
'values' => $joinedValues,
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
$constraint = $this->getConstraint();
$field = Select::make($constraint->isMultiple() ? 'values' : 'value')
->label(__($constraint->isMultiple() ? 'filament-query-builder::query-builder.operators.select.is.form.values.label' : 'filament-query-builder::query-builder.operators.select.is.form.value.label'))
->options($constraint->getOptions())
->multiple($constraint->isMultiple())
->searchable($constraint->isSearchable())
->native($constraint->isNative())
->optionsLimit($constraint->getOptionsLimit())
->required()
->columnSpanFull();
if ($getOptionLabelUsing = $constraint->getOptionLabelUsingCallback()) {
$field->getOptionLabelUsing($getOptionLabelUsing);
}
if ($getOptionLabelsUsing = $constraint->getOptionLabelsUsingCallback()) {
$field->getOptionLabelsUsing($getOptionLabelsUsing);
}
if ($getOptionLabelFromRecordUsing = $constraint->getOptionLabelFromRecordUsingCallback()) {
$field->getOptionLabelFromRecordUsing($getOptionLabelFromRecordUsing);
}
if ($getSearchResultsUsing = $constraint->getSearchResultsUsingCallback()) {
$field->getSearchResultsUsing($getSearchResultsUsing);
}
return [$field];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
$value = $this->getSettings()[$this->getConstraint()->isMultiple() ? 'values' : 'value'];
if (is_array($value)) {
return $query->{$this->isInverse() ? 'whereNotIn' : 'whereIn'}($qualifiedColumn, $value);
}
return $query->{$this->isInverse() ? 'whereNot' : 'where'}($qualifiedColumn, $value);
}
public function getConstraint(): ?SelectConstraint
{
$constraint = parent::getConstraint();
if (! ($constraint instanceof SelectConstraint)) {
throw new LogicException('Is operator can only be used with select constraints.');
}
return $constraint;
}
}
@@ -0,0 +1,33 @@
<?php
namespace Filament\QueryBuilder\Constraints;
use Filament\QueryBuilder\Constraints\Operators\IsFilledOperator;
use Filament\QueryBuilder\Constraints\TextConstraint\Operators\ContainsOperator;
use Filament\QueryBuilder\Constraints\TextConstraint\Operators\EndsWithOperator;
use Filament\QueryBuilder\Constraints\TextConstraint\Operators\EqualsOperator;
use Filament\QueryBuilder\Constraints\TextConstraint\Operators\StartsWithOperator;
use Filament\QueryBuilder\View\QueryBuilderIconAlias;
use Filament\Support\Facades\FilamentIcon;
use Filament\Support\Icons\Heroicon;
class TextConstraint extends Constraint
{
use Concerns\CanBeNullable;
protected function setUp(): void
{
parent::setUp();
$this->icon(FilamentIcon::resolve(QueryBuilderIconAlias::CONSTRAINTS_TEXT) ?? Heroicon::Language);
$this->operators([
ContainsOperator::class,
StartsWithOperator::class,
EndsWithOperator::class,
EqualsOperator::class,
IsFilledOperator::make()
->visible(fn (): bool => $this->isNullable()),
]);
}
}
@@ -0,0 +1,92 @@
<?php
namespace Filament\QueryBuilder\Constraints\TextConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\TextInput;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Connection;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Query\Expression;
use Illuminate\Support\Str;
class ContainsOperator extends Operator
{
public function getName(): string
{
return 'contains';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.text.contains.label.inverse' :
'filament-query-builder::query-builder.operators.text.contains.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.text.contains.summary.inverse' :
'filament-query-builder::query-builder.operators.text.contains.summary.direct',
[
'attribute' => $this->getConstraint()->getAttributeLabel(),
'text' => $this->getSettings()['text'],
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
TextInput::make('text')
->label(__('filament-query-builder::query-builder.operators.text.form.text.label'))
->required()
->columnSpanFull(),
];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
$text = trim($this->getSettings()['text']);
/** @var Connection $databaseConnection */
$databaseConnection = $query->getConnection();
$isPostgres = $databaseConnection->getDriverName() === 'pgsql';
if ($isPostgres) {
$parts = explode('.', $qualifiedColumn);
if (count($parts) === 3) {
[$schema, $table, $column] = $parts;
$table = "{$schema}.{$table}";
} else {
[$table, $column] = $parts;
}
if (Str::lower($table) !== $table) {
$table = collect(explode('.', $table))
->map(fn (string $segment): string => "\"{$segment}\"")
->implode('.');
}
if (Str::lower($column) !== $column) {
$column = "\"{$column}\"";
}
$qualifiedColumn = new Expression("lower({$table}.{$column}::text)");
$text = Str::lower($text);
}
return $query->{$this->isInverse() ? 'whereNot' : 'where'}($qualifiedColumn, 'like', "%{$text}%");
}
}
@@ -0,0 +1,92 @@
<?php
namespace Filament\QueryBuilder\Constraints\TextConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\TextInput;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Connection;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Query\Expression;
use Illuminate\Support\Str;
class EndsWithOperator extends Operator
{
public function getName(): string
{
return 'endsWith';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.text.ends_with.label.inverse' :
'filament-query-builder::query-builder.operators.text.ends_with.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.text.ends_with.summary.inverse' :
'filament-query-builder::query-builder.operators.text.ends_with.summary.direct',
[
'attribute' => $this->getConstraint()->getAttributeLabel(),
'text' => $this->getSettings()['text'],
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
TextInput::make('text')
->label(__('filament-query-builder::query-builder.operators.text.form.text.label'))
->required()
->columnSpanFull(),
];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
$text = trim($this->getSettings()['text']);
/** @var Connection $databaseConnection */
$databaseConnection = $query->getConnection();
$isPostgres = $databaseConnection->getDriverName() === 'pgsql';
if ($isPostgres) {
$parts = explode('.', $qualifiedColumn);
if (count($parts) === 3) {
[$schema, $table, $column] = $parts;
$table = "{$schema}.{$table}";
} else {
[$table, $column] = $parts;
}
if (Str::lower($table) !== $table) {
$table = collect(explode('.', $table))
->map(fn (string $segment): string => "\"{$segment}\"")
->implode('.');
}
if (Str::lower($column) !== $column) {
$column = "\"{$column}\"";
}
$qualifiedColumn = new Expression("lower({$table}.{$column}::text)");
$text = Str::lower($text);
}
return $query->{$this->isInverse() ? 'whereNot' : 'where'}($qualifiedColumn, 'like', "%{$text}");
}
}
@@ -0,0 +1,92 @@
<?php
namespace Filament\QueryBuilder\Constraints\TextConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\TextInput;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Connection;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Query\Expression;
use Illuminate\Support\Str;
class EqualsOperator extends Operator
{
public function getName(): string
{
return 'equals';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.text.equals.label.inverse' :
'filament-query-builder::query-builder.operators.text.equals.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.text.equals.summary.inverse' :
'filament-query-builder::query-builder.operators.text.equals.summary.direct',
[
'attribute' => $this->getConstraint()->getAttributeLabel(),
'text' => $this->getSettings()['text'],
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
TextInput::make('text')
->label(__('filament-query-builder::query-builder.operators.text.form.text.label'))
->required()
->columnSpanFull(),
];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
$text = trim($this->getSettings()['text']);
/** @var Connection $databaseConnection */
$databaseConnection = $query->getConnection();
$isPostgres = $databaseConnection->getDriverName() === 'pgsql';
if ($isPostgres) {
$parts = explode('.', $qualifiedColumn);
if (count($parts) === 3) {
[$schema, $table, $column] = $parts;
$table = "{$schema}.{$table}";
} else {
[$table, $column] = $parts;
}
if (Str::lower($table) !== $table) {
$table = collect(explode('.', $table))
->map(fn (string $segment): string => "\"{$segment}\"")
->implode('.');
}
if (Str::lower($column) !== $column) {
$column = "\"{$column}\"";
}
$qualifiedColumn = new Expression("lower({$table}.{$column}::text)");
$text = Str::lower($text);
}
return $query->{$this->isInverse() ? 'whereNot' : 'where'}($qualifiedColumn, 'like', $text);
}
}
@@ -0,0 +1,92 @@
<?php
namespace Filament\QueryBuilder\Constraints\TextConstraint\Operators;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Forms\Components\TextInput;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\Schemas\Components\Component;
use Illuminate\Database\Connection;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Query\Expression;
use Illuminate\Support\Str;
class StartsWithOperator extends Operator
{
public function getName(): string
{
return 'startsWith';
}
public function getLabel(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.text.starts_with.label.inverse' :
'filament-query-builder::query-builder.operators.text.starts_with.label.direct',
);
}
public function getSummary(): string
{
return __(
$this->isInverse() ?
'filament-query-builder::query-builder.operators.text.starts_with.summary.inverse' :
'filament-query-builder::query-builder.operators.text.starts_with.summary.direct',
[
'attribute' => $this->getConstraint()->getAttributeLabel(),
'text' => $this->getSettings()['text'],
],
);
}
/**
* @return array<Component | Action | ActionGroup>
*/
public function getFormSchema(): array
{
return [
TextInput::make('text')
->label(__('filament-query-builder::query-builder.operators.text.form.text.label'))
->required()
->columnSpanFull(),
];
}
public function apply(Builder $query, string $qualifiedColumn): Builder
{
$text = trim($this->getSettings()['text']);
/** @var Connection $databaseConnection */
$databaseConnection = $query->getConnection();
$isPostgres = $databaseConnection->getDriverName() === 'pgsql';
if ($isPostgres) {
$parts = explode('.', $qualifiedColumn);
if (count($parts) === 3) {
[$schema, $table, $column] = $parts;
$table = "{$schema}.{$table}";
} else {
[$table, $column] = $parts;
}
if (Str::lower($table) !== $table) {
$table = collect(explode('.', $table))
->map(fn (string $segment): string => "\"{$segment}\"")
->implode('.');
}
if (Str::lower($column) !== $column) {
$column = "\"{$column}\"";
}
$qualifiedColumn = new Expression("lower({$table}.{$column}::text)");
$text = Str::lower($text);
}
return $query->{$this->isInverse() ? 'whereNot' : 'where'}($qualifiedColumn, 'like', "{$text}%");
}
}
@@ -0,0 +1,158 @@
<?php
namespace Filament\QueryBuilder\Forms\Components;
use Filament\Actions\Action;
use Filament\Forms\Components\Builder;
use Filament\Forms\Components\Repeater;
use Filament\Forms\View\FormsIconAlias;
use Filament\QueryBuilder\Constraints\Constraint;
use Filament\QueryBuilder\View\QueryBuilderIconAlias;
use Filament\Schemas\Components\Actions;
use Filament\Schemas\Components\Flex;
use Filament\Schemas\Components\Utilities\Get;
use Filament\Support\Enums\Alignment;
use Filament\Support\Enums\Size;
use Filament\Support\Facades\FilamentIcon;
use Filament\Support\Icons\Heroicon;
use Illuminate\Support\Str;
class RuleBuilder extends Builder
{
public const OR_BLOCK_NAME = 'or';
public const OR_BLOCK_GROUPS_REPEATER_NAME = 'groups';
/** @var array<Constraint> */
protected array $constraints = [];
protected function setUp(): void
{
parent::setUp();
$this
->label(__('filament-query-builder::query-builder.form.rules.label'))
->blocks(function (): array {
return [
...array_map(
fn (Constraint $constraint): Builder\Block => $constraint->getBuilderBlock(),
$this->getConstraints(),
),
Builder\Block::make(static::OR_BLOCK_NAME)
->label(__('filament-query-builder::query-builder.form.or_groups.block.label'))
->icon(FilamentIcon::resolve(QueryBuilderIconAlias::OR_GROUP_BLOCK) ?? Heroicon::Slash)
->schema([
Flex::make(function (Flex $component): array {
/** @var Builder $builder */
$builder = $component->getContainer()->getParentComponent()->getContainer()->getParentComponent();
return [
Repeater::make(static::OR_BLOCK_GROUPS_REPEATER_NAME)
->label(__('filament-query-builder::query-builder.form.or_groups.label'))
->schema([
Flex::make([
static::make('rules')
->hiddenLabel()
->partiallyRenderAfterActionsCalled($builder->shouldPartiallyRenderAfterActionsCalled())
->constraints($this->getConstraints())
->blockPickerColumns($this->getBlockPickerColumns())
->blockPickerWidth($this->getBlockPickerWidth()),
Actions::make(function (Actions $component): array {
/** @var Repeater $repeater */
$repeater = $component->getContainer()->getParentComponent()->getContainer()->getParentComponent();
return [
Action::make($deleteActionName = $repeater->getDeleteActionName())
->label(__('filament-forms::components.repeater.actions.delete.label'))
->icon(FilamentIcon::resolve(FormsIconAlias::COMPONENTS_REPEATER_ACTIONS_DELETE) ?? Heroicon::Trash)
->color('danger')
->iconButton()
->size(Size::Small)
->action($repeater->getAction($deleteActionName)->arguments(['item' => (string) str($component->getContainer()->getParentComponent()->getContainer()->getStatePath(isAbsolute: false))->beforeLast('.data')])->getLivewireClickHandler())
->visible(fn (Get $get): bool => blank($get('rules')) && (count($repeater->getRawState()) > 2)),
];
})->grow(false),
])->verticallyAlignCenter(),
])
->addAction(fn (Action $action, Repeater $component) => $action
->label(__('filament-query-builder::query-builder.actions.add_rule_group.label'))
->icon(FilamentIcon::resolve(QueryBuilderIconAlias::OR_GROUP_ADD_GROUP_ACTION) ?? Heroicon::Plus)
->hidden(fn (): bool => filled(array_filter($component->getRawState(), fn (array $itemState): bool => blank($itemState['rules'])))))
->addActionAlignment(Alignment::End)
->labelBetweenItems(__('filament-query-builder::query-builder.item_separators.or'))
->itemHeaders(false)
->defaultItems(2)
->minItems(2)
->cloneable()
->hiddenLabel()
->generateUuidUsing(fn (): string => Str::random(4))
->partiallyRenderAfterActionsCalled($builder->shouldPartiallyRenderAfterActionsCalled()),
Actions::make([
Action::make($cloneActionName = $builder->getCloneActionName())
->label(__('filament-forms::components.builder.actions.clone.label'))
->icon(FilamentIcon::resolve(FormsIconAlias::COMPONENTS_BUILDER_ACTIONS_CLONE) ?? Heroicon::Square2Stack)
->color('gray')
->iconButton()
->size(Size::Small)
->action($builder->getAction($cloneActionName)->arguments(['item' => (string) str($component->getContainer()->getStatePath(isAbsolute: false))->beforeLast('.data')])->getLivewireClickHandler()),
Action::make($deleteActionName = $builder->getDeleteActionName())
->label(__('filament-forms::components.builder.actions.delete.label'))
->icon(FilamentIcon::resolve(FormsIconAlias::COMPONENTS_BUILDER_ACTIONS_DELETE) ?? Heroicon::Trash)
->color('danger')
->iconButton()
->size(Size::Small)
->action($builder->getAction($deleteActionName)->arguments(['item' => (string) str($component->getContainer()->getStatePath(isAbsolute: false))->beforeLast('.data')])->getLivewireClickHandler()),
])->grow(false),
];
}),
]),
];
})
->addAction(fn (Action $action) => $action
->label(__('filament-query-builder::query-builder.actions.add_rule.label'))
->icon(FilamentIcon::resolve(QueryBuilderIconAlias::ADD_RULE_ACTION) ?? Heroicon::Plus))
->addBetweenAction(fn (Action $action) => $action->hidden())
->addActionAlignment(Alignment::Start)
->labelBetweenItems(__('filament-query-builder::query-builder.item_separators.and'))
->blockHeaders(false)
->cloneable()
->generateUuidUsing(fn (): string => Str::random(4))
->partiallyRenderAfterActionsCalled(false)
->extraAttributes(['class' => 'fi-fo-builder-not-contained']);
}
/**
* @param array<Constraint> $constraints
*/
public function constraints(array $constraints): static
{
foreach ($constraints as $constraint) {
$this->constraints[$constraint->getName()] = $constraint;
}
return $this;
}
/**
* @return array<Constraint>
*/
public function getConstraints(): array
{
return $this->evaluate($this->constraints);
}
public function getConstraint(string $name): ?Constraint
{
return $this->getConstraints()[$name] ?? null;
}
/**
* @param array<string, ?int> | int | null $columns
*/
public function constraintPickerColumns(array | int | null $columns = 2): static
{
$this->blockPickerColumns($columns);
return $this;
}
}
@@ -0,0 +1,153 @@
<?php
namespace Filament\QueryBuilder\Models\Scopes;
use Closure;
use Filament\QueryBuilder\Constraints\Constraint;
use Filament\QueryBuilder\Constraints\Operators\Operator;
use Filament\QueryBuilder\Forms\Components\RuleBuilder;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\Arr;
class QueryBuilderScope
{
/**
* @param array<string, mixed> $rules
* @param array<Constraint> $constraints
*/
public function __construct(protected array $rules, protected array $constraints)
{
$this->constraints = Arr::mapWithKeys(
$this->constraints,
fn (Constraint $constraint) => [$constraint->getName() => $constraint],
);
}
/**
* @param array<string, mixed> $rules
* @param array<Constraint> $constraints
*/
public static function make(array $rules, array $constraints): static
{
return app(static::class, ['rules' => $rules, 'constraints' => $constraints]);
}
public function __invoke(Builder $query): Builder
{
$this->applyToBaseQuery($query);
$query->where(fn (Builder $query) => $this->applyToQuery($query));
return $query;
}
/**
* @param array<string, mixed> | null $rules
*/
public function applyToBaseQuery(Builder $query, ?array $rules = null): Builder
{
$rules ??= $this->rules;
foreach ($rules as $rule) {
if ($rule['type'] === RuleBuilder::OR_BLOCK_NAME) {
foreach ($rule['data'][RuleBuilder::OR_BLOCK_GROUPS_REPEATER_NAME] as $orGroup) {
$this->applyToBaseQuery(
$query,
$orGroup['rules'],
);
}
continue;
}
$this->tapOperatorFromRule(
$rule,
fn (Operator $operator) => $operator->applyToBaseFilterQuery($query),
);
}
return $query;
}
/**
* @param array<string, mixed> | null $rules
*/
public function applyToQuery(Builder $query, ?array $rules = null): Builder
{
$rules ??= $this->rules;
foreach ($rules as $rule) {
if ($rule['type'] === RuleBuilder::OR_BLOCK_NAME) {
$query->where(function (Builder $query) use ($rule): void {
$isFirst = true;
foreach ($rule['data'][RuleBuilder::OR_BLOCK_GROUPS_REPEATER_NAME] as $orGroup) {
$query->{$isFirst ? 'where' : 'orWhere'}(function (Builder $query) use ($orGroup): void {
$this->applyToQuery(
$query,
$orGroup['rules'],
);
});
$isFirst = false;
}
});
continue;
}
$this->tapOperatorFromRule(
$rule,
fn (Operator $operator) => $operator->applyToBaseQuery($query),
);
}
return $query;
}
/**
* @param array<string, mixed> $rule
*/
protected function tapOperatorFromRule(array $rule, Closure $callback): void
{
$constraint = $this->constraints[$rule['type']] ?? null;
if (! $constraint) {
return;
}
$operator = $rule['data'][$constraint::OPERATOR_SELECT_NAME];
if (blank($operator)) {
return;
}
[$operatorName, $isInverseOperator] = $constraint->parseOperatorString($operator);
$operator = $constraint->getOperator($operatorName);
if (! $operator) {
return;
}
$constraint
->settings($rule['data']['settings'] ?? [])
->inverse($isInverseOperator);
$operator
->constraint($constraint)
->settings($rule['data']['settings'] ?? [])
->inverse($isInverseOperator);
$callback($operator);
$constraint
->settings(null)
->inverse(null);
$operator
->constraint(null)
->settings(null)
->inverse(null);
}
}
@@ -0,0 +1,13 @@
<?php
namespace Filament\QueryBuilder;
use Illuminate\Support\ServiceProvider;
class QueryBuilderServiceProvider extends ServiceProvider
{
public function boot(): void
{
$this->loadTranslationsFrom(__DIR__ . '/../resources/lang', 'filament-query-builder');
}
}
@@ -0,0 +1,24 @@
<?php
namespace Filament\QueryBuilder\View;
class QueryBuilderIconAlias
{
const ADD_RULE_ACTION = 'query-builder::add-rule-action';
const CONSTRAINTS_BOOLEAN = 'query-builder::constraints.boolean';
const CONSTRAINTS_DATE = 'query-builder::constraints.date';
const CONSTRAINTS_NUMBER = 'query-builder::constraints.number';
const CONSTRAINTS_RELATIONSHIP = 'query-builder::constraints.relationship';
const CONSTRAINTS_SELECT = 'query-builder::constraints.select';
const CONSTRAINTS_TEXT = 'query-builder::constraints.text';
const OR_GROUP_BLOCK = 'query-builder::or-group.block';
const OR_GROUP_ADD_GROUP_ACTION = 'query-builder::or-group.add-group-action';
}