Merge pull request #1838 from pavel-mironchik/search-translation

Allow modules to provide a translation for a search filter.
This commit is contained in:
Cüneyt Şentürk 2021-02-08 11:39:04 +03:00 committed by GitHub
commit 0f11fc3dea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -101,19 +101,29 @@ class SearchString extends Component
$plural = Str::plural($column, 2); $plural = Str::plural($column, 2);
if (trans_choice('general.' . $plural, 1) !== 'general.' . $plural) { if (strpos($this->model, 'Modules') !== false) {
return trans_choice('general.' . $plural, 1); $module_class = explode('\\', $this->model);
} elseif (trans_choice('search_string.columns.' . $plural, 1) !== 'search_string.columns.' . $plural) {
return trans_choice('search_string.columns.' . $plural, 1); $prefix = Str::slug($module_class[1], '-') . '::';
$translation_keys[] = $prefix . 'general.';
$translation_keys[] = $prefix . 'search_string.columns.';
} }
$name = trans('general.' . $column); $translation_keys[] = 'general.';
$translation_keys[] = 'search_string.columns.';
if ($name == 'general.' . $column) { foreach ($translation_keys as $translation_key) {
$name = trans('search_string.columns.' . $column); if (trans_choice($translation_key . $plural, 1) !== $translation_key . $plural) {
return trans_choice($translation_key . $plural, 1);
}
if (trans($translation_key . $column) !== $translation_key . $column) {
return trans($translation_key . $column);
}
} }
return $name; return $column;
} }
protected function getFilterType($options) protected function getFilterType($options)