diff --git a/src/bundle/Resources/translations/bookmark.en.xliff b/src/bundle/Resources/translations/bookmark.en.xliff index da942a91db..d61739679a 100644 --- a/src/bundle/Resources/translations/bookmark.en.xliff +++ b/src/bundle/Resources/translations/bookmark.en.xliff @@ -41,11 +41,6 @@ Path key: bookmark.list.path - - Bookmarks - Bookmarks - key: bookmark.table.header - diff --git a/src/bundle/Resources/translations/content_type.en.xliff b/src/bundle/Resources/translations/content_type.en.xliff index 77dcdeb66d..fb3cb1affc 100644 --- a/src/bundle/Resources/translations/content_type.en.xliff +++ b/src/bundle/Resources/translations/content_type.en.xliff @@ -356,11 +356,6 @@ Name key: content_type.view.list.column.name - - Content Types in '%identifier%' - Content Types in '%identifier%' - key: content_type.view.list.title - %name% %name% @@ -491,6 +486,11 @@ Description key: field_definition.description + + Enabled + Enabled + key: field_definition.enabled + Default value Default value diff --git a/src/bundle/Resources/translations/drafts.en.xliff b/src/bundle/Resources/translations/drafts.en.xliff index e664d7e1d5..411df69090 100644 --- a/src/bundle/Resources/translations/drafts.en.xliff +++ b/src/bundle/Resources/translations/drafts.en.xliff @@ -66,11 +66,6 @@ Version key: drafts.list.version - - Drafts - Drafts - key: drafts.table.header - diff --git a/src/bundle/Resources/translations/ezplatform_url_wildcard.en.xliff b/src/bundle/Resources/translations/ezplatform_url_wildcard.en.xliff index b9158fa7d8..10329d4875 100644 --- a/src/bundle/Resources/translations/ezplatform_url_wildcard.en.xliff +++ b/src/bundle/Resources/translations/ezplatform_url_wildcard.en.xliff @@ -51,11 +51,6 @@ Type key: url_wildcard.label.type - - URL wildcards - URL wildcards - key: url_wildcard.list.title - Cancel Cancel diff --git a/src/bundle/Resources/translations/fieldtypes_preview.en.xliff b/src/bundle/Resources/translations/fieldtypes_preview.en.xliff index c6e0cdd480..a9245b5f69 100644 --- a/src/bundle/Resources/translations/fieldtypes_preview.en.xliff +++ b/src/bundle/Resources/translations/fieldtypes_preview.en.xliff @@ -171,6 +171,11 @@ Content Type key: ezobjectrelation.content_type + + Created + Created + key: ezobjectrelation.created + Name Name diff --git a/src/bundle/Resources/translations/ibexa_headline.en.xliff b/src/bundle/Resources/translations/ibexa_headline.en.xliff new file mode 100644 index 0000000000..079902e877 --- /dev/null +++ b/src/bundle/Resources/translations/ibexa_headline.en.xliff @@ -0,0 +1,26 @@ + + + +
+ + The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. +
+ + + List (%count%) + List (%count%) + key: headline.list + + + Results (%count%) + Results (%count%) + key: headline.results + + + Results for "%phrase%" (%count%) + Results for "%phrase%" (%count%) + key: headline.results.search + + +
+
diff --git a/src/bundle/Resources/translations/language.en.xliff b/src/bundle/Resources/translations/language.en.xliff index 5834de43d4..e2c6ce09e4 100644 --- a/src/bundle/Resources/translations/language.en.xliff +++ b/src/bundle/Resources/translations/language.en.xliff @@ -91,11 +91,6 @@ Languages key: language.list
- - List (%number_of_results%) - List (%number_of_results%) - key: language.list.number_of_results - Do you want to delete the language(s)? Do you want to delete the language(s)? diff --git a/src/bundle/Resources/translations/object_state.en.xliff b/src/bundle/Resources/translations/object_state.en.xliff index 24ea0a967c..062f0a4da1 100644 --- a/src/bundle/Resources/translations/object_state.en.xliff +++ b/src/bundle/Resources/translations/object_state.en.xliff @@ -121,11 +121,6 @@ Edit key: object_state.view.list.action.edit - - Object states (%count%) - Object states (%count%) - key: object_state.view.list.title - Object state: %name% Object state: %name% diff --git a/src/bundle/Resources/translations/role.en.xliff b/src/bundle/Resources/translations/role.en.xliff index c343af19c2..4fd45dba2c 100644 --- a/src/bundle/Resources/translations/role.en.xliff +++ b/src/bundle/Resources/translations/role.en.xliff @@ -111,11 +111,6 @@ Policies key: policy.view.list.title - - Policies (%count%) - Policies (%count%) - key: policy.view.list.title.count - Policy type: Policy type: @@ -231,11 +226,6 @@ Name key: role.view.list.column.name - - Roles - Roles - key: role.view.list.title - Role "%identifier%" Role "%identifier%" @@ -291,10 +281,10 @@ User/Group key: role_assignment.view.list.panel.assignments.column.user_group - - Assignments (%count%) - Assignments (%count%) - key: role_assignment.view.list.title.count + + Assignments + Assignments + key: role_assignment.view.list.title Select User Groups diff --git a/src/bundle/Resources/translations/section.en.xliff b/src/bundle/Resources/translations/section.en.xliff index d8cb2b9091..5a105f2aa9 100644 --- a/src/bundle/Resources/translations/section.en.xliff +++ b/src/bundle/Resources/translations/section.en.xliff @@ -41,11 +41,6 @@ Content items you assign to this Section will show up here. key: section.assigned_content.empty_desc - - Content items in '%name%' (%count%) - Content items in '%name%' (%count%) - key: section.assigned_content.header - Name Name diff --git a/src/bundle/Resources/translations/trash.en.xliff b/src/bundle/Resources/translations/trash.en.xliff index 9b5de69345..eef5e3ad14 100644 --- a/src/bundle/Resources/translations/trash.en.xliff +++ b/src/bundle/Resources/translations/trash.en.xliff @@ -111,11 +111,6 @@ Section key: trash.section - - Trash - Trash - key: trash.table.header - diff --git a/src/bundle/Resources/views/themes/admin/account/bookmarks/list.html.twig b/src/bundle/Resources/views/themes/admin/account/bookmarks/list.html.twig index 44f746f2ee..cdd5e2c722 100644 --- a/src/bundle/Resources/views/themes/admin/account/bookmarks/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/account/bookmarks/list.html.twig @@ -1,5 +1,7 @@ {% extends "@ibexadesign/ui/layout.html.twig" %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% trans_default_domain 'bookmark' %} {% form_theme form_remove '@ibexadesign/ui/form_fields.html.twig' %} @@ -80,7 +82,7 @@ 'attr': { 'class': 'ibexa-toggle-btn-state', 'data-toggle-button-id': '#bookmark_remove_remove' } }) }} {% include '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'bookmark.table.header'|trans|desc('Bookmarks') ~ ' (' ~ pager.count ~ ')', + headline: custom_results_headline ?? results_headline(pager.getNbResults()), head_cols: [ { has_checkbox: true }, { has_icon: true }, diff --git a/src/bundle/Resources/views/themes/admin/content/draft/draft_list.html.twig b/src/bundle/Resources/views/themes/admin/content/draft/draft_list.html.twig index 42af276dfe..d0b52efc62 100644 --- a/src/bundle/Resources/views/themes/admin/content/draft/draft_list.html.twig +++ b/src/bundle/Resources/views/themes/admin/content/draft/draft_list.html.twig @@ -1,5 +1,7 @@ {% extends "@ibexadesign/ui/layout.html.twig" %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% trans_default_domain 'drafts' %} {% form_theme form_remove '@ibexadesign/ui/form_fields.html.twig' %} @@ -115,7 +117,7 @@ } }) }} {% include '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'drafts.table.header'|trans|desc('Drafts') ~ ' (' ~ pager.count ~ ')', + headline: custom_results_headline ?? results_headline(pager.getNbResults()), head_cols: [ { has_checkbox: true }, { has_icon: true }, diff --git a/src/bundle/Resources/views/themes/admin/content_type/content_type_group/list.html.twig b/src/bundle/Resources/views/themes/admin/content_type/content_type_group/list.html.twig index cc3133eb78..784a293673 100644 --- a/src/bundle/Resources/views/themes/admin/content_type/content_type_group/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/content_type/content_type_group/list.html.twig @@ -1,5 +1,7 @@ {% extends "@ibexadesign/ui/layout.html.twig" %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% form_theme form_content_type_groups_delete '@ibexadesign/ui/form_fields.html.twig' %} {% trans_default_domain 'content_type' %} @@ -113,7 +115,7 @@ {% endfor %} {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'content_type_group.view.list.title'|trans|desc('Content Type groups'), + headline: custom_results_headline ?? results_headline(pager.getNbResults()), head_cols: [ { has_checkbox: true }, { content: 'content_type_group.view.list.column.identifier'|trans|desc('Name') }, diff --git a/src/bundle/Resources/views/themes/admin/content_type/list.html.twig b/src/bundle/Resources/views/themes/admin/content_type/list.html.twig index 425d42c221..1926333e6f 100644 --- a/src/bundle/Resources/views/themes/admin/content_type/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/content_type/list.html.twig @@ -1,6 +1,7 @@ {% trans_default_domain 'content_type' %} {% import "@ibexadesign/content_type/macros.html.twig" as macros %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} {% form_theme form_content_types_delete '@ibexadesign/ui/form_fields.html.twig' %} @@ -76,7 +77,7 @@ {% endfor %} {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'content_type.view.list.title'|trans({ '%identifier%': content_type_group.identifier })|desc('Content Types in \'%identifier%\''), + headline: custom_results_headline ?? results_headline(pager.getNbResults()), head_cols: [ { has_checkbox: true }, { has_icon: true }, diff --git a/src/bundle/Resources/views/themes/admin/language/list.html.twig b/src/bundle/Resources/views/themes/admin/language/list.html.twig index ed5d668086..1bf6d1ea28 100644 --- a/src/bundle/Resources/views/themes/admin/language/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/language/list.html.twig @@ -1,5 +1,7 @@ {% extends "@ibexadesign/ui/layout.html.twig" %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% form_theme form_languages_delete '@ibexadesign/ui/form_fields.html.twig' %} {% trans_default_domain 'language' %} @@ -114,7 +116,7 @@ {% endfor %} {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'language.list.number_of_results'|trans({ '%number_of_results%': pager.nbResults })|desc('List (%number_of_results%)'), + headline: custom_results_headline ?? results_headline(pager.getNbResults()), head_cols: [ { has_checkbox: true }, { content: 'language.name'|trans|desc('Name') }, diff --git a/src/bundle/Resources/views/themes/admin/object_state/list.html.twig b/src/bundle/Resources/views/themes/admin/object_state/list.html.twig index 3c2d0fd625..743611eb61 100644 --- a/src/bundle/Resources/views/themes/admin/object_state/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/object_state/list.html.twig @@ -1,5 +1,7 @@ {% form_theme form_states_delete '@ibexadesign/ui/form_fields.html.twig' %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% trans_default_domain 'object_state' %} {% block content %} @@ -58,7 +60,7 @@ {% endfor %} {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'object_state.view.list.title'|trans({'%count%': object_states|length})|desc('Object states (%count%)'), + headline: custom_results_headline ?? results_headline(object_states|length), head_cols: [ { has_checkbox: true }, { content: 'object_state.name'|trans|desc('Object state name') }, diff --git a/src/bundle/Resources/views/themes/admin/object_state/object_state_group/list.html.twig b/src/bundle/Resources/views/themes/admin/object_state/object_state_group/list.html.twig index 3e678885e0..b9fb7be2d6 100644 --- a/src/bundle/Resources/views/themes/admin/object_state/object_state_group/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/object_state/object_state_group/list.html.twig @@ -1,5 +1,7 @@ {% extends "@ibexadesign/ui/layout.html.twig" %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% form_theme form_state_groups_delete '@ibexadesign/ui/form_fields.html.twig' %} {% trans_default_domain 'object_state' %} @@ -102,7 +104,7 @@ {% endfor %} {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'object_state_group.view.list.title'|trans|desc('Object state groups'), + headline: custom_results_headline ?? results_headline(object_state_groups|length), head_cols: [ { has_checkbox: true }, { content: 'object_state_group.name'|trans|desc('Object state group name') }, diff --git a/src/bundle/Resources/views/themes/admin/section/assigned_content.html.twig b/src/bundle/Resources/views/themes/admin/section/assigned_content.html.twig index ff2f71b8ca..de1123bdef 100644 --- a/src/bundle/Resources/views/themes/admin/section/assigned_content.html.twig +++ b/src/bundle/Resources/views/themes/admin/section/assigned_content.html.twig @@ -1,5 +1,7 @@ {% trans_default_domain 'section' %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% form_theme form_section_content_assign '@ibexadesign/ui/form_fields.html.twig' '@ibexadesign/ui/form/assign_section_widget.html.twig' %} {% set body_rows = [] %} @@ -43,10 +45,7 @@ {% endfor %} {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'section.assigned_content.header'|trans({ - '%name%': section.name, - '%count%': pagerfanta.nbResults - })|desc('Content items in \'%name%\' (%count%)'), + headline: custom_results_headline ?? results_headline(pagerfanta.nbResults), head_cols: [ { content: 'section.assigned_content.name'|trans|desc('Name') }, { content: 'section.assigned_content.type'|trans|desc('Content Type') }, diff --git a/src/bundle/Resources/views/themes/admin/section/list.html.twig b/src/bundle/Resources/views/themes/admin/section/list.html.twig index 3354cec000..201fc9f350 100644 --- a/src/bundle/Resources/views/themes/admin/section/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/section/list.html.twig @@ -1,5 +1,7 @@ {% extends '@ibexadesign/ui/layout.html.twig' %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% form_theme form_sections_delete '@ibexadesign/ui/form_fields.html.twig' %} {% form_theme form_section_content_assign '@ibexadesign/ui/form_fields.html.twig' %} @@ -124,7 +126,7 @@ {% endfor %} {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'section.list.title'|trans|desc('Sections'), + headline: custom_results_headline ?? results_headline(pager.getNbResults()), head_cols: [ { has_checkbox: true }, { content: 'section.name'|trans|desc('Name') }, diff --git a/src/bundle/Resources/views/themes/admin/trash/list.html.twig b/src/bundle/Resources/views/themes/admin/trash/list.html.twig index fc02af6523..8a74fc2328 100644 --- a/src/bundle/Resources/views/themes/admin/trash/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/trash/list.html.twig @@ -1,5 +1,7 @@ {% extends "@ibexadesign/ui/layout.html.twig" %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% trans_default_domain 'trash' %} {% form_theme form_trash_item_restore '@ibexadesign/ui/form_fields.html.twig' %} @@ -230,8 +232,10 @@ }, ]) %} + {% set has_search_params = trash_search_params ? trash_search_params.creator or trash_search_params.content_type or trash_search_params.trashed or trash_search_params.section : false %} + {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'trash.table.header'|trans|desc('Trash'), + headline: custom_results_headline ?? results_headline(pager.getNbResults(), has_search_params), head_cols, body_rows, empty_table_info_text: 'trash.empty'|trans|desc('Trash is empty. Content you send to Trash will show up here.'), diff --git a/src/bundle/Resources/views/themes/admin/ui/component/macros.html.twig b/src/bundle/Resources/views/themes/admin/ui/component/macros.html.twig index 6026875797..cf5f41f95c 100644 --- a/src/bundle/Resources/views/themes/admin/ui/component/macros.html.twig +++ b/src/bundle/Resources/views/themes/admin/ui/component/macros.html.twig @@ -8,3 +8,18 @@ {%- endif -%} {%- endfor -%} {%- endmacro -%} + +{% macro results_headline(count, has_filters = false, phrase = null) %} + {% trans_default_domain 'ibexa_headline' %} + {% set headline_content = 'headline.list'|trans({ '%count%': count })|desc('List (%count%)') %} + + {% if has_filters %} + {% set headline_content = 'headline.results'|trans({ '%count%': count })|desc('Results (%count%)') %} + {% endif %} + + {% if phrase %} + {% set headline_content = 'headline.results.search'|trans({ '%count%': count, '%phrase%': phrase })|desc('Results for "%phrase%" (%count%)') %} + {% endif %} + + {{ headline_content }} +{% endmacro %} diff --git a/src/bundle/Resources/views/themes/admin/url_wildcard/list.html.twig b/src/bundle/Resources/views/themes/admin/url_wildcard/list.html.twig index 40d1133017..7024b16cb9 100644 --- a/src/bundle/Resources/views/themes/admin/url_wildcard/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/url_wildcard/list.html.twig @@ -1,5 +1,7 @@ {% trans_default_domain "ezplatform_url_wildcard" %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% form_theme form '@ibexadesign/ui/form_fields.html.twig' %} {% form_theme form_list '@ibexadesign/ui/form_fields.html.twig' %} @@ -91,7 +93,7 @@ {% endfor %} {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'url_wildcard.list.title'|trans|desc('URL wildcards'), + headline: custom_results_headline ?? results_headline(url_wildcards.getNbResults()), head_cols: [ { has_checkbox: true }, { content: 'url_wildcard.label.alias'|trans|desc('URL alias wildcard') }, diff --git a/src/bundle/Resources/views/themes/admin/user/policy/list.html.twig b/src/bundle/Resources/views/themes/admin/user/policy/list.html.twig index 9515050ea3..ce6e0a5135 100644 --- a/src/bundle/Resources/views/themes/admin/user/policy/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/user/policy/list.html.twig @@ -1,5 +1,7 @@ {% trans_default_domain 'role' %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% form_theme form_policies_delete '@ibexadesign/ui/form_fields.html.twig' %}
@@ -72,7 +74,7 @@ {% endfor %} {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'policy.view.list.title.count'|trans({'%count%': role.policies|length})|desc('Policies (%count%)'), + headline: custom_results_headline ?? results_headline(role.policies|length), head_cols: [ { has_checkbox: true }, { content: 'policy.view.list.panel.policies.column.module'|trans|desc('Module') }, diff --git a/src/bundle/Resources/views/themes/admin/user/role/index.html.twig b/src/bundle/Resources/views/themes/admin/user/role/index.html.twig index e5a83b4285..fa8a67f0d0 100644 --- a/src/bundle/Resources/views/themes/admin/user/role/index.html.twig +++ b/src/bundle/Resources/views/themes/admin/user/role/index.html.twig @@ -25,7 +25,7 @@ {% embed '@ibexadesign/ui/component/tab/tabs.html.twig' with { tabs: [ { id: 'policies', label: 'policy.view.list.title'|trans|desc('Policies'), active: true }, - { id: 'users-and-groups', label: 'role_assignment.view.list.title.count'|trans({'%count%': assignments|length})|desc('Assignments (%count%)') }, + { id: 'users-and-groups', label: 'role_assignment.view.list.title'|trans|desc('Assignments') }, ] } %} {% block tab_content %} diff --git a/src/bundle/Resources/views/themes/admin/user/role/list.html.twig b/src/bundle/Resources/views/themes/admin/user/role/list.html.twig index d9a24e464b..28fd2e93d7 100644 --- a/src/bundle/Resources/views/themes/admin/user/role/list.html.twig +++ b/src/bundle/Resources/views/themes/admin/user/role/list.html.twig @@ -1,5 +1,7 @@ {% extends "@ibexadesign/ui/layout.html.twig" %} +{% from '@ibexadesign/ui/component/macros.html.twig' import results_headline %} + {% trans_default_domain 'role' %} {% form_theme form_roles_delete '@ibexadesign/ui/form_fields.html.twig' %} @@ -110,7 +112,7 @@ {% endfor %} {% embed '@ibexadesign/ui/component/table/table.html.twig' with { - headline: 'role.view.list.title'|trans|desc('Roles'), + headline: custom_results_headline ?? results_headline(pager.getNbResults()), head_cols: [ { has_checkbox: true }, { content: 'role.view.list.column.name'|trans|desc('Name') }, diff --git a/src/lib/Behat/Page/ContentTypeGroupPage.php b/src/lib/Behat/Page/ContentTypeGroupPage.php index 2cdb1d3652..ee99cf4347 100644 --- a/src/lib/Behat/Page/ContentTypeGroupPage.php +++ b/src/lib/Behat/Page/ContentTypeGroupPage.php @@ -102,7 +102,7 @@ public function verifyIsLoaded(): void ->assert()->textEquals($this->expectedName); $this->getHTMLPage() ->find($this->getLocator('listHeader')) - ->assert()->textContains(sprintf("Content Types in '%s'", $this->expectedName)); + ->assert()->textContains('List'); } public function setExpectedContentTypeGroupName(string $expectedName) diff --git a/src/lib/Behat/Page/ContentTypeGroupsPage.php b/src/lib/Behat/Page/ContentTypeGroupsPage.php index 9b34889c0d..638424930a 100644 --- a/src/lib/Behat/Page/ContentTypeGroupsPage.php +++ b/src/lib/Behat/Page/ContentTypeGroupsPage.php @@ -66,7 +66,7 @@ public function verifyIsLoaded(): void $this->getHTMLPage()->find($this->getLocator('pageTitle'))->getText() ); $this->getHTMLPage() - ->find($this->getLocator('listHeader'))->assert()->textContains('Content Type groups'); + ->find($this->getLocator('listHeader'))->assert()->textContains('List'); } public function getName(): string